# Error Codes (/connectors/aws/reference/error-codes)



The connector emits **genuine AWS SQS/SNS error codes** over the AWS JSON (SQS) and Query → XML
(SNS) wire protocols, so standard AWS SDKs surface them as the normal typed exceptions. You handle
them with the same `try`/`catch` and error-type checks you already use against real AWS.

## Error code table [#error-code-table]

| AWS error code                                                 | HTTP | Trigger                                                                                                                                                                                                                   |
| -------------------------------------------------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `MissingAction`                                                | 400  | no / unparseable `Action`                                                                                                                                                                                                 |
| `InvalidAction`                                                | 400  | unknown action (including all out-of-scope ops: `AddPermission`, message-move, mobile/SMS, etc.); a GET with `Action ≠ ConfirmSubscription`                                                                               |
| `IncompleteSignature`                                          | 400  | malformed SigV4 (including an unsigned non-`ConfirmSubscription` request)                                                                                                                                                 |
| `InvalidClientTokenId`                                         | 403  | unknown access key (configured-credentials mode)                                                                                                                                                                          |
| `SignatureDoesNotMatch`                                        | 403  | bad signature / clock skew / tampered body                                                                                                                                                                                |
| `AccessDeniedException`                                        | 403  | an authorization deny on a data-plane op                                                                                                                                                                                  |
| `NonExistentQueue` (`AWS.SimpleQueueService.NonExistentQueue`) | 400  | queue not in the registry                                                                                                                                                                                                 |
| `QueueNameExists`                                              | 400  | `CreateQueue` with the same name + different attributes                                                                                                                                                                   |
| `PurgeQueueInProgress`                                         | 403  | `PurgeQueue` within the 60 s cooldown                                                                                                                                                                                     |
| `InvalidAttributeName`                                         | 400  | unknown / KMS attribute on `SetQueueAttributes`                                                                                                                                                                           |
| `InvalidParameterValue`                                        | 400  | bad attribute / oversize batch entry / non-`AWSTraceHeader` system attribute / FIFO send without `MessageGroupId` / FIFO per-message `DelaySeconds`                                                                       |
| `BatchRequestTooLong`                                          | 400  | `SendMessageBatch` aggregate > 262,144 B                                                                                                                                                                                  |
| `ReceiptHandleIsInvalid`                                       | 400  | receipt handle from another node / malformed                                                                                                                                                                              |
| `OverLimit`                                                    | 403  | in-flight > `MaxInflightPerQueue`                                                                                                                                                                                         |
| `InvalidParameter` (SNS)                                       | 400  | unsupported SNS protocol / `Policy` set / `TargetArn` / `PhoneNumber` / `FilterPolicyScope=MessageBody` / topic-level `ContentBasedDeduplication` / `MessageGroupId` on a standard topic / FIFO-topic non-`sqs` subscribe |
| `NotFound` (SNS)                                               | 404  | topic / subscription not in the registry                                                                                                                                                                                  |

## Common triggers by scenario [#common-triggers-by-scenario]

| Scenario                                                             | Code                                                         |
| -------------------------------------------------------------------- | ------------------------------------------------------------ |
| `ReceiveMessage` on an empty queue (short poll)                      | *none — returns within \~1 s, no messages*                   |
| `SendMessageBatch` with one oversize entry                           | per-entry `InvalidParameterValue` (9 ok, 1 failed)           |
| `SendMessageBatch` aggregate > 262,144 B                             | `BatchRequestTooLong` (whole batch)                          |
| Receive without delete, visibility expires                           | *none — redelivery; `ApproximateReceiveCount`++*             |
| `DeleteMessage` with an unknown receipt handle                       | *none — idempotent success*                                  |
| Receipt handle from another cluster node                             | `ReceiptHandleIsInvalid`                                     |
| In-flight > `MaxInflightPerQueue`                                    | `OverLimit`                                                  |
| FIFO send without `MessageGroupId` / with per-message `DelaySeconds` | `InvalidParameterValue`                                      |
| FIFO duplicate within the 5-min window                               | *none — the original MessageId is returned, not re-enqueued* |
| `Subscribe` with `FilterPolicyScope=MessageBody`                     | `InvalidParameter`                                           |
| `Subscribe` with an `email` / `sms` / `lambda` / … protocol          | `InvalidParameter`                                           |
| `Publish` to a topic with zero matching subscriptions                | *none — succeeds, message dropped*                           |
| `Publish` with `MessageGroupId` to a standard topic                  | `InvalidParameter`                                           |
| FIFO topic `Subscribe` with `http` / a non-FIFO queue                | `InvalidParameter`                                           |
| Set a KMS / SSE queue attribute                                      | `InvalidAttributeName`                                       |
| `CreateQueue` with the same name + different attributes              | `QueueNameExists`                                            |
| `PurgeQueue` within the 60 s cooldown                                | `PurgeQueueInProgress`                                       |
| Operate on a queue / topic not in the registry                       | `NonExistentQueue` / SNS `NotFound`                          |
| Unknown access key (configured-credentials mode)                     | `InvalidClientTokenId`                                       |
| Wrong secret / tampered body / clock skew                            | `SignatureDoesNotMatch`                                      |
| Unsigned request (non-`ConfirmSubscription`)                         | `IncompleteSignature`                                        |
| An authorization deny on a data-plane op                             | `AccessDeniedException`                                      |
| Unknown / out-of-scope action (`AddPermission`, message-move, etc.)  | `InvalidAction`                                              |
| Broker not ready (traffic gate)                                      | an AWS-shaped 503                                            |

## Related [#related]

<Cards>
  <Card title="Capabilities" href="/connectors/aws/reference/capabilities" description="The supported actions and the out-of-scope operations that raise these codes." />

  <Card title="Authentication" href="/connectors/aws/how-to/authentication" description="How SigV4 accept-any mode maps to IncompleteSignature / SignatureDoesNotMatch." />

  <Card title="SQS queues & consumers" href="/connectors/aws/how-to/sqs-queues-and-consumers" description="The SQS error quick-reference for receipt handles, in-flight, and batches." />

  <Card title="SNS fan-out" href="/connectors/aws/how-to/sns-fan-out" description="The SNS error quick-reference for subscriptions and filter policies." />
</Cards>
