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 Control API docs.
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 queues 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 queue 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 queue 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 Ably docs.