Amazon SQS website screenshot

Amazon SQS

Amazon Simple Queue Service (SQS) is a fully managed message queuing service that enables you to decouple and scale microservices, distributed systems, and serverless applications.

1 APIs 6 Features
CloudDistributed SystemsMessagingMicroservicesQueue

APIs

Amazon SQS API

RESTful API for Amazon Simple Queue Service operations including queue management, message sending and receiving, batch operations, dead-letter queues, and access control.

Collections

Pricing Plans

Amazon Sqs Plans Pricing

3 plans

PLANS

Rate Limits

Amazon Sqs Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Standard Queues

Maximum throughput, best-effort ordering, and at-least-once delivery for high-volume messaging workloads.

FIFO Queues

Exactly-once processing and strict ordering guarantees for applications requiring message sequence preservation.

Dead-Letter Queues

Automatic routing of failed messages to dead-letter queues for debugging and reprocessing.

Message Move Tasks

Bulk movement of messages between queues for reprocessing dead-letter queue contents.

Server-Side Encryption

Automatic encryption of messages at rest using AWS KMS keys for data protection.

Long Polling

Reduced API costs and latency by allowing consumers to wait for messages to arrive before responding.

Use Cases

Microservices Decoupling

Decouple microservices by using SQS queues as asynchronous communication buffers between services.

Serverless Event Processing

Trigger AWS Lambda functions from SQS messages for event-driven serverless architectures.

Order Processing Pipelines

Use FIFO queues to ensure ordered processing of e-commerce orders and financial transactions.

Work Queue Distribution

Distribute compute-intensive tasks across multiple workers using standard queues for parallel processing.

Batch Job Orchestration

Queue batch processing jobs and manage their execution across distributed compute resources.

Integrations

AWS Lambda

Automatically invoke Lambda functions when messages arrive in SQS queues for serverless processing.

Amazon SNS

Fan out SNS notifications to multiple SQS queues for parallel processing of published messages.

Amazon EventBridge

Route events from EventBridge to SQS queues for reliable event-driven architectures.

AWS CloudFormation

Provision and manage SQS queues as infrastructure-as-code using CloudFormation templates.

Terraform

Create and manage SQS resources using HashiCorp Terraform infrastructure-as-code provider.

Event Specifications

Amazon Simple Queue Service (SQS) Event Source Mapping

AsyncAPI specification for Amazon SQS event-driven messaging patterns. Amazon SQS provides reliable, highly-scalable hosted queues for storing messages as they travel between ap...

ASYNCAPI

Semantic Vocabularies

Amazon Sqs Context

0 classes · 0 properties

JSON-LD

API Governance Rules

Amazon SQS API Rules

7 rules · 7 errors

SPECTRAL

JSON Structure

Amazon Sqs Batch Result Error Entry Structure

4 properties

JSON STRUCTURE

Amazon Sqs Create Queue Response Structure

1 properties

JSON STRUCTURE

Amazon Sqs Error Response Structure

2 properties

JSON STRUCTURE

Amazon Sqs Generic Response Structure

0 properties

JSON STRUCTURE

Amazon Sqs Get Queue Url Response Structure

1 properties

JSON STRUCTURE

Amazon Sqs List Queue Tags Response Structure

1 properties

JSON STRUCTURE

Amazon Sqs List Queues Response Structure

1 properties

JSON STRUCTURE

Amazon Sqs Message Structure

6 properties

JSON STRUCTURE

Amazon Sqs Receive Message Response Structure

1 properties

JSON STRUCTURE

Amazon Sqs Response Metadata Structure

1 properties

JSON STRUCTURE

Amazon Sqs Send Message Response Structure

1 properties

JSON STRUCTURE

Example Payloads

Amazon Sqs Message Example

6 fields

EXAMPLE

Resources

📰
Blog
Blog
🌐
Console
Console
🟢
StatusPage
StatusPage
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
💬
Support
Support
🔗
KnowledgeCenter
KnowledgeCenter
💻
CodeExamples
CodeExamples
👥
GitHubRepository
GitHubRepository

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Amazon SQS Amazon Simple Queue Service (SQS) API
  version: '2012-11-05'
request:
  auth:
    type: apikey
    key: Authorization
    value: '{{Authorization}}'
    placement: header
items:
- info:
    name: Queues
    type: folder
  items:
  - info:
      name: Amazon Sqs Create a New Sqs Queue
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: QueueName
          value: ''
        - name: Attribute.1.Name
          value: ''
        - name: Attribute.1.Value
          value: ''
        - name: Tag.1.Key
          value: ''
        - name: Tag.1.Value
          value: ''
    docs: Creates a new standard or FIFO queue. You can pass one or more attributes in the request. If you do not provide
      a value for an attribute, the queue is created with the default value for the attribute. A FIFO queue name must end
      with the .fifo suffix.
  - info:
      name: Amazon Sqs Delete a Queue
      type: http
    http:
      method: DELETE
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      - name: Action
        value: ''
        type: query
    docs: Deletes the queue specified by the QueueUrl, regardless of the queue's contents. When you delete a queue, any messages
      in the queue are no longer available. When you delete a queue, the deletion process takes up to 60 seconds.
  - info:
      name: Amazon Sqs Get Attributes for a Queue
      type: http
    http:
      method: GET
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/attributes
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      - name: Action
        value: ''
        type: query
      - name: AttributeName.1
        value: ''
        type: query
        description: An attribute name to retrieve information for.
    docs: Gets attributes for the specified queue. To determine whether a queue is FIFO, you can check whether QueueName ends
      with the .fifo suffix.
  - info:
      name: Amazon Sqs Set Attributes for a Queue
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/attributes
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: Attribute.1.Name
          value: ''
        - name: Attribute.1.Value
          value: ''
    docs: Sets the value of one or more queue attributes, like a policy. When you change a queue's attributes, the change
      can take up to 60 seconds for most of the attributes to propagate throughout the Amazon SQS system.
  - info:
      name: Amazon Sqs Purge All Messages From a Queue
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/purge
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
    docs: Deletes all messages in a queue. When you use the PurgeQueue action, you cannot retrieve any messages deleted from
      a queue. The message deletion process takes up to 60 seconds. You cannot purge a queue more than once every 60 seconds.
  - info:
      name: Amazon Sqs List All Queues in the Account
      type: http
    http:
      method: GET
      url: https://sqs.{region}.amazonaws.com/queues
      params:
      - name: Action
        value: ''
        type: query
      - name: QueueNamePrefix
        value: ''
        type: query
        description: A string to use for filtering the list results. Only those queues whose name begins with the specified
          string are returned.
      - name: MaxResults
        value: ''
        type: query
        description: Maximum number of results to include in the response. Value range is 1 to 1000.
      - name: NextToken
        value: ''
        type: query
        description: Pagination token to request the next set of results.
    docs: Returns a list of your queues in the current region. The response includes a maximum of 1,000 results. If you specify
      a value for the optional QueueNamePrefix parameter, only queues with a name that begins with the specified value are
      returned. The listQueues methods supports pagination.
  - info:
      name: Amazon Sqs Get the Url for a Queue
      type: http
    http:
      method: GET
      url: https://sqs.{region}.amazonaws.com/queue-url
      params:
      - name: Action
        value: ''
        type: query
      - name: QueueName
        value: ''
        type: query
        description: The name of the queue
      - name: QueueOwnerAWSAccountId
        value: ''
        type: query
        description: The account ID of the account that created the queue.
    docs: Returns the URL of an existing Amazon SQS queue. To access a queue that belongs to another AWS account, use the
      QueueOwnerAWSAccountId parameter to specify the account ID of the queue's owner.
  - info:
      name: Amazon Sqs List Queues That Have This Queue as a Dead-letter Queue
      type: http
    http:
      method: GET
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/dead-letter-source-queues
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      - name: Action
        value: ''
        type: query
      - name: MaxResults
        value: ''
        type: query
        description: Maximum number of results to include in the response
      - name: NextToken
        value: ''
        type: query
        description: Pagination token to request the next set of results
    docs: Returns a list of your queues that have the RedrivePolicy queue attribute configured with a dead-letter queue.
- info:
    name: Messages
    type: folder
  items:
  - info:
      name: Amazon Sqs Receive Messages From a Queue
      type: http
    http:
      method: GET
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      - name: Action
        value: ''
        type: query
      - name: MaxNumberOfMessages
        value: ''
        type: query
        description: The maximum number of messages to return. Amazon SQS never returns more messages than this value. Valid
          values are 1 to 10. Default is 1.
      - name: VisibilityTimeout
        value: ''
        type: query
        description: The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after
          being retrieved by a ReceiveMessage request.
      - name: WaitTimeSeconds
        value: ''
        type: query
        description: The duration (in seconds) for which the call waits for a message to arrive in the queue before returning.
          If a message is available, the call returns sooner than WaitTimeSeconds.
      - name: AttributeName.1
        value: ''
        type: query
        description: A list of attributes that need to be returned along with each message.
      - name: MessageAttributeName.1
        value: ''
        type: query
        description: The name of the message attribute to include. Use All or .* to return all message attributes.
      - name: MessageSystemAttributeName.1
        value: ''
        type: query
        description: The name of the message system attribute to include.
      - name: ReceiveRequestAttemptId
        value: ''
        type: query
        description: Used for FIFO queues. The token used for deduplication of ReceiveMessage calls.
    docs: Retrieves one or more messages (up to 10) from the specified queue. Using the WaitTimeSeconds parameter enables
      long-poll support. Short poll is the default behavior where a weighted random set of machines is sampled on a ReceiveMessage
      call. Long polling reduces the number of empty responses and false empty responses.
  - info:
      name: Amazon Sqs Send a Message to a Queue
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: MessageBody
          value: ''
        - name: DelaySeconds
          value: ''
        - name: MessageAttribute.1.Name
          value: ''
        - name: MessageAttribute.1.Value.StringValue
          value: ''
        - name: MessageAttribute.1.Value.DataType
          value: ''
        - name: MessageDeduplicationId
          value: ''
        - name: MessageGroupId
          value: ''
        - name: MessageSystemAttribute.1.Name
          value: ''
        - name: MessageSystemAttribute.1.Value.StringValue
          value: ''
        - name: MessageSystemAttribute.1.Value.DataType
          value: ''
    docs: Delivers a message to the specified queue. A message can include only XML, JSON, and unformatted text. The following
      Unicode characters are allowed. The maximum message size is 256 KiB.
  - info:
      name: Amazon Sqs Delete a Message From a Queue
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/delete-message
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: ReceiptHandle
          value: ''
    docs: Deletes the specified message from the specified queue. To select the message to delete, use the ReceiptHandle of
      the message (not the MessageId which you receive when you send the message). Amazon SQS can delete a message from a
      queue even if a visibility timeout setting causes the message to be locked by another consumer.
  - info:
      name: Amazon Sqs Send up to 10 Messages to a Queue in a Single Request
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/send-message-batch
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: SendMessageBatchRequestEntry.1.Id
          value: ''
        - name: SendMessageBatchRequestEntry.1.MessageBody
          value: ''
        - name: SendMessageBatchRequestEntry.1.DelaySeconds
          value: ''
        - name: SendMessageBatchRequestEntry.1.MessageDeduplicationId
          value: ''
        - name: SendMessageBatchRequestEntry.1.MessageGroupId
          value: ''
    docs: Delivers up to ten messages to the specified queue. This is a batch version of SendMessage. For a FIFO queue, multiple
      messages within a single batch are enqueued in the order they are sent. The maximum allowed individual message size
      and the maximum total payload size (the sum of the individual lengths of all of the batched messages) are both 256 KiB.
  - info:
      name: Amazon Sqs Delete up to 10 Messages From a Queue in a Single Request
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/delete-message-batch
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: DeleteMessageBatchRequestEntry.1.Id
          value: ''
        - name: DeleteMessageBatchRequestEntry.1.ReceiptHandle
          value: ''
    docs: Deletes up to ten messages from the specified queue. This is a batch version of DeleteMessage. The result of the
      action on each message is reported individually in the response.
  - info:
      name: Amazon Sqs Change the Visibility Timeout of a Message
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/change-message-visibility
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: ReceiptHandle
          value: ''
        - name: VisibilityTimeout
          value: ''
    docs: Changes the visibility timeout of a specified message in a queue to a new value. The default visibility timeout
      for a message is 30 seconds. The minimum is 0 seconds. The maximum is 12 hours.
  - info:
      name: Amazon Sqs Change the Visibility Timeout of Multiple Messages
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/change-message-visibility-batch
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: ChangeMessageVisibilityBatchRequestEntry.1.Id
          value: ''
        - name: ChangeMessageVisibilityBatchRequestEntry.1.ReceiptHandle
          value: ''
        - name: ChangeMessageVisibilityBatchRequestEntry.1.VisibilityTimeout
          value: ''
    docs: Changes the visibility timeout of multiple messages. This is a batch version of ChangeMessageVisibility. The result
      of each action is reported individually in the response. Up to 10 messages can be changed per request.
  - info:
      name: Amazon Sqs Start an Asynchronous Task to Move Messages
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/start-message-move-task
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: SourceArn
          value: ''
        - name: DestinationArn
          value: ''
        - name: MaxNumberOfMessagesPerSecond
          value: ''
    docs: Starts an asynchronous task to move messages from a specified source queue to a specified destination queue. This
      action is currently limited to supporting message redrive from queues that are configured as dead-letter queues.
  - info:
      name: Amazon Sqs List Message Move Tasks
      type: http
    http:
      method: GET
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/list-message-move-tasks
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      - name: Action
        value: ''
        type: query
      - name: MaxResults
        value: ''
        type: query
        description: The maximum number of results to include in the response
    docs: Gets the most recent message movement tasks (up to 10) under a specific source queue.
  - info:
      name: Amazon Sqs Cancel a Message Move Task
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/cancel-message-move-task
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: TaskHandle
          value: ''
    docs: Cancels a specified message movement task. A message movement can only be cancelled when the current status is RUNNING.
- info:
    name: Default
    type: folder
  items:
  - info:
      name: Amazon Sqs List All Tags for a Queue
      type: http
    http:
      method: GET
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/tags
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      - name: Action
        value: ''
        type: query
    docs: List all cost allocation tags added to the specified Amazon SQS queue.
  - info:
      name: Amazon Sqs Add Tags to a Queue
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/tags
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: Tag.1.Key
          value: ''
        - name: Tag.1.Value
          value: ''
    docs: Add cost allocation tags to the specified Amazon SQS queue. Tags are key-value pairs. For a full list of tag restrictions,
      see Quotas related to queues in the Amazon SQS Developer Guide. When you use queue tags, keep in mind that SQS supports
      a maximum of 50 tags per queue.
  - info:
      name: Amazon Sqs Remove Tags From a Queue
      type: http
    http:
      method: DELETE
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/tags
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      - name: Action
        value: ''
        type: query
      - name: TagKey.1
        value: ''
        type: query
        description: The tag key to remove
    docs: Remove cost allocation tags from the specified Amazon SQS queue.
- info:
    name: Permissions
    type: folder
  items:
  - info:
      name: Amazon Sqs Add a Permission to a Queue
      type: http
    http:
      method: POST
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/permissions
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      body:
        type: form-urlencoded
        data:
        - name: Action
          value: ''
        - name: Label
          value: ''
        - name: AWSAccountId.1
          value: ''
        - name: ActionName.1
          value: ''
    docs: Adds a permission to a queue for a specific principal. This allows sharing access to the queue. When you create
      a queue, you have full control access rights for the queue.
  - info:
      name: Amazon Sqs Remove a Permission From a Queue
      type: http
    http:
      method: DELETE
      url: https://sqs.{region}.amazonaws.com/:accountId/:queueName/permissions
      params:
      - name: accountId
        value: ''
        type: path
        description: The AWS account ID of the queue owner
      - name: queueName
        value: ''
        type: path
        description: The name of the queue. For FIFO queues, the name must end with the .fifo suffix.
      - name: Action
        value: ''
        type: query
      - name: Label
        value: ''
        type: query
        description: The identification of the permission to remove. This is the label added using the AddPermission action.
    docs: Revokes any permissions in the queue policy that matches the specified Label parameter.
bundled: true