AWS Credentials - POST Request

Hey everyone :waving_hand:

tl;dr:
Postman AWS Signature → works :white_check_mark:
n8n AWS auth → InvalidSignatureException: Credential should be scoped to a valid region. :face_with_steam_from_nose:

I’ve been working on an n8n workflow that creates shipments by sending a POST request to an AWS API Gateway endpoint.

It works perfectly in Postman, but when I run it in n8n, I keep getting the following error:

{
  "message": "Credential should be scoped to a valid region."
}

In Postman, I’m using AWS Signature (SigV4) auth with the same access key, secret key, region (ca-central-1), and service (execute-api), and it works perfectly.

In n8n, I’m using the built-in AWS credentials, and while the request signs and sends, AWS rejects it with the “invalid region scope” error.

Current n8n HTTP Request Node setup:

- Authentication: Predefined Credential Type → AWS
- Region: ca-central-1
- Service: execute-api
- Method: POST
- URL: https://lzj4acib8d.execute-api.ca-central-1.amazonaws.com/prod/shipments
- Headers:
    Content-Type: application/json
    x-api-key: <API key>

I know the JSON payloads are valid — I manually posted them from Postman successfully.
The API key is correct (you can see it in the screenshots).
I even tried switching the region to us-east-1 as some suggested, but that didn’t fix it either.

r/n8n - AWS Credentials - POST Request|526.4672036823936xauto

Additional context

I actually had this same setup working in our demo environment (screenshot below).
In that case, the request succeeded when I used a Bearer token + API key, both sent through headers.

For production, the Bearer token is not required, since I’m already authenticated via AWS keys.

r/n8n - AWS Credentials - POST Request|542.2297297297298xauto

My theory: n8n might not be properly scoping the signature to ca-central-1/execute-api,
or API Gateway expects a slightly different canonical header order than n8n generates.

Any help or working example configs would be super appreciated — I’m 99% sure the setup is right, but AWS keeps saying my signature is scoped wrong :sweat_smile:

I’m experiencing the same issue.

It looks like n8n is not generating the standard headers correctly. It used to work fine for me before, so I hope this can be fixed/updated quickly.