Ably queues API

The queues API from Ably — 2 operation(s) for queues.

OpenAPI Specification

ably-queues-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Control API v1 apps queues API
  version: 1.0.32
  description: 'Use the Control API to manage your applications, namespaces, keys, queues, rules, and more.


    Detailed information on using this API can be found in the Ably <a href="https://ably.com/docs/account/control-api">Control API docs</a>.


    Control API is currently in Preview.

    '
servers:
- url: https://control.ably.net/v1
tags:
- name: queues
paths:
  /apps/{app_id}/queues:
    get:
      summary: Lists queues
      description: Lists the <a href="https://ably.com/docs/general/queues">queues</a> associated with the specified application ID.
      tags:
      - queues
      parameters:
      - name: app_id
        description: The application ID.
        in: path
        required: true
        schema:
          type: string
      security:
      - bearer_auth: []
      responses:
        '200':
          description: Queue list
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/queue_response'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: App not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '503':
          description: 503 Service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
    post:
      summary: Creates a queue
      description: Creates a <a href="https://ably.com/docs/general/queues">queue</a> for the application specified by application ID. The properties for the queue to be created are specified in the request body.
      tags:
      - queues
      parameters:
      - name: app_id
        description: The application ID.
        in: path
        required: true
        schema:
          type: string
      security:
      - bearer_auth: []
      responses:
        '201':
          description: Queue created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/queue_response'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: App not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '422':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/queue'
  /apps/{app_id}/queues/{queue_id}:
    delete:
      summary: Deletes a queue
      description: Delete the <a href="https://ably.com/docs/general/queues">queue</a> with the specified queue name, from the application with the specified application ID.
      tags:
      - queues
      parameters:
      - name: app_id
        description: The application ID.
        in: path
        required: true
        schema:
          type: string
      - name: queue_id
        description: The queue ID.
        in: path
        required: true
        schema:
          type: string
      security:
      - bearer_auth: []
      responses:
        '204':
          description: Queue deleted
          content: {}
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '404':
          description: App not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
        '503':
          description: 503 Service unavailable
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error'
components:
  schemas:
    queue:
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
          description: A friendly name for your queue.
          example: My queue
        ttl:
          type: integer
          description: TTL in minutes.
          example: 60
        maxLength:
          type: integer
          description: Message limit in number of messages.
          example: 10000
        region:
          type: string
          description: The data center region. US East (Virginia) or EU West (Ireland). Values are `us-east-1-a` or `eu-west-1-a`.
          example: us-east-1-a
      required:
      - name
      - ttl
      - maxLength
      - region
    queue_response:
      type: object
      additionalProperties: false
      properties:
        id:
          type: string
          description: The ID of the Ably queue
          example: 28AB6w:us-east-1-a:My queue
        appId:
          type: string
          description: The Ably application ID.
          example: 28AB6w
        name:
          type: string
          description: The friendly name of the queue.
          example: My queue
        region:
          type: string
          description: The data center region for the queue.
          example: eu-west-1-a
        amqp:
          type: object
          additionalProperties: false
          properties:
            uri:
              type: string
              description: URI for the AMQP queue interface.
              example: amqps://us-east-1-a-queue.ably.io:5671/shared
            queueName:
              type: string
              description: Name of the Ably queue.
              example: 28AB6w:My queue
        stomp:
          type: object
          additionalProperties: false
          properties:
            uri:
              type: string
              description: URI for the STOMP queue interface.
              example: stomp://us-east-1-a-queue.ably.io:61614
            host:
              type: string
              description: The host type for the queue.
              example: shared
            destination:
              type: string
              description: Destination queue.
              example: /amqp/queue/28AB6w:My queue
        state:
          type: string
          description: The current state of the queue.
          example: Running
        messages:
          type: object
          additionalProperties: false
          description: Details of messages in the queue.
          properties:
            ready:
              type: integer
              nullable: true
              description: The number of ready messages in the queue.
              example: 0
            unacknowledged:
              type: integer
              nullable: true
              description: The number of unacknowledged messages in the queue.
              example: 0
            total:
              type: integer
              nullable: true
              description: The total number of messages in the queue.
              example: 0
        stats:
          type: object
          additionalProperties: false
          properties:
            publishRate:
              type: number
              nullable: true
              description: The rate at which messages are published to the queue. Rate is messages per minute.
            deliveryRate:
              type: number
              nullable: true
              description: The rate at which messages are delivered from the queue. Rate is messages per minute.
            acknowledgementRate:
              type: number
              nullable: true
              description: The rate at which messages are acknowledged. Rate is messages per minute.
        ttl:
          type: integer
          description: TTL in minutes.
          example: 60
        maxLength:
          type: integer
          description: Message limit in number of messages.
          example: 10000
        deadletter:
          type: boolean
          description: A boolean that indicates whether this is a dead letter queue or not.
          example: false
        deadletterId:
          type: string
          description: The ID of the dead letter queue.
          nullable: true
          example: 28AB6w:us-east-1-a:deadletter
    error:
      type: object
      additionalProperties: false
      properties:
        message:
          type: string
          description: The error message.
        code:
          type: integer
          description: The HTTP status code returned.
        statusCode:
          type: integer
          description: The Ably error code.
        href:
          type: string
          description: The URL to documentation about the error code.
        details:
          type: object
          nullable: true
          description: Any additional details about the error message.
      required:
      - message
      - code
      - statusCode
      - href
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer
      description: Control API uses bearer authentication. You need to generate an access token for use with this API. More details can be found in the <a href="https://ably.com/docs/account/control-api/#authentication">Ably docs</a>.