Cloudflare Queues Queue API
Operations for managing Cloudflare Queues and their configuration
Operations for managing Cloudflare Queues and their configuration
openapi: 3.0.3
info:
title: Cloudflare Queues Consumer Queue API
description: REST API for creating and managing Cloudflare Queues, sending and receiving messages, configuring consumers (Worker push or HTTP pull), managing dead letter queues, purging queues, and retrieving queue metrics and event subscriptions. Authenticated with Cloudflare API tokens via Bearer authorization.
version: 1.0.0
contact:
name: Cloudflare Developer Docs
url: https://developers.cloudflare.com/queues/
license:
name: Cloudflare Terms of Service
url: https://www.cloudflare.com/terms/
servers:
- url: https://api.cloudflare.com/client/v4
description: Cloudflare API v4
security:
- api_token: []
tags:
- name: Queue
description: Operations for managing Cloudflare Queues and their configuration
paths:
/accounts/{account_id}/queues:
get:
description: Returns the queues owned by an account.
operationId: queues-list
summary: List Queues
tags:
- Queue
parameters:
- in: path
name: account_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
responses:
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_api-v4-failure'
description: Failure response
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/mq_api-v4-success'
- properties:
result:
items:
$ref: '#/components/schemas/mq_queue'
type: array
result_info:
properties:
count:
description: Total number of queues
example: 1
type: number
page:
description: Current page within paginated list of queues
example: 1
type: number
per_page:
description: Number of queues per page
example: 20
type: number
total_count:
description: Total queues available without any search parameters
example: 2000
type: number
total_pages:
description: Total pages available without any search parameters
example: 100
type: number
type: object
type: object
type: object
description: List of all Queues that belong to this account
post:
description: Create a new queue
operationId: queues-create
summary: Create Queue
tags:
- Queue
parameters:
- in: path
name: account_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
requestBody:
content:
application/json:
schema:
properties:
queue_name:
$ref: '#/components/schemas/mq_queue-name'
required:
- queue_name
type: object
responses:
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_api-v4-failure'
description: Failure response
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/mq_api-v4-success'
- properties:
result:
$ref: '#/components/schemas/mq_queue'
type: object
type: object
description: Created Queue
/accounts/{account_id}/queues/{queue_id}:
delete:
description: Deletes a queue
operationId: queues-delete
summary: Delete Queue
tags:
- Queue
parameters:
- in: path
name: queue_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
- in: path
name: account_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
responses:
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_api-v4-failure'
description: Failure response
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/mq_api-v4-success'
description: Successful delete
get:
description: Get details about a specific queue.
operationId: queues-get
summary: Get Queue
tags:
- Queue
parameters:
- in: path
name: queue_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
- in: path
name: account_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
responses:
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_api-v4-failure'
description: Failure response
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/mq_api-v4-success'
- properties:
result:
$ref: '#/components/schemas/mq_queue'
type: object
type: object
description: Details of the requested Queue
patch:
description: Updates a Queue (partial update).
operationId: queues-update-partial
summary: Update Queue (Partial)
tags:
- Queue
parameters:
- in: path
name: queue_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
- in: path
name: account_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_queue'
responses:
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_api-v4-failure'
description: Failure response
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/mq_api-v4-success'
- properties:
result:
allOf:
- $ref: '#/components/schemas/mq_queue'
type: object
type: object
type: object
description: Updated Queue
put:
description: Updates a Queue. Note that this endpoint does not support partial updates. If successful, the Queue's configuration is overwritten with the supplied configuration.
operationId: queues-update
summary: Update Queue
tags:
- Queue
parameters:
- in: path
name: queue_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
- in: path
name: account_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_queue'
responses:
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_api-v4-failure'
description: Failure response
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/mq_api-v4-success'
- properties:
result:
allOf:
- $ref: '#/components/schemas/mq_queue'
type: object
type: object
type: object
description: Updated Queue
/accounts/{account_id}/queues/{queue_id}/purge:
get:
description: Get details about a Queue's purge status.
operationId: queues-purge-get
summary: Get Queue Purge Status
tags:
- Queue
parameters:
- in: path
name: queue_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
- in: path
name: account_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
responses:
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_api-v4-failure'
description: Failure response
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/mq_api-v4-success'
- properties:
result:
properties:
completed:
description: Indicates if the last purge operation completed successfully.
readOnly: true
type: string
started_at:
description: Timestamp when the last purge operation started.
readOnly: true
type: string
type: object
type: object
type: object
description: Details of the requested Queue purge status
post:
description: Deletes all messages from the Queue.
operationId: queues-purge
summary: Purge Queue
tags:
- Queue
parameters:
- in: path
name: queue_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
- in: path
name: account_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
requestBody:
content:
application/json:
schema:
properties:
delete_messages_permanently:
description: Confirmation that all messages will be deleted permanently.
example: true
type: boolean
type: object
responses:
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_api-v4-failure'
description: Failure response
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/mq_api-v4-success'
- properties:
result:
allOf:
- $ref: '#/components/schemas/mq_queue'
type: object
type: object
type: object
description: Updated Queue after purge
components:
schemas:
mq_queue-name:
example: example-queue
type: string
mq_api-v4-failure:
properties:
errors:
$ref: '#/components/schemas/mq_api-v4-error'
messages:
$ref: '#/components/schemas/mq_api-v4-message'
success:
description: Indicates if the API call was successful or not.
enum:
- false
example: false
type: boolean
type: object
mq_api-v4-message:
example: []
items:
type: string
type: array
mq_identifier:
description: A Resource identifier.
example: 023e105f4ecef8ad9ca31a8372d0c353
maxLength: 32
readOnly: true
type: string
mq_api-v4-error:
example:
- code: 7003
message: No route for the URI
items:
properties:
code:
minimum: 1000
type: integer
message:
type: string
required:
- code
- message
type: object
uniqueItems: true
minLength: 1
type: array
mq_retry-delay:
description: The number of seconds to delay before making the message available for another attempt.
example: 10
type: number
mq_producer:
oneOf:
- $ref: '#/components/schemas/mq_worker-producer'
- $ref: '#/components/schemas/mq_r2-producer'
type: object
mq_queue-settings:
properties:
delivery_delay:
description: Number of seconds to delay delivery of all messages to consumers.
example: 5
type: number
delivery_paused:
description: Indicates if message delivery to consumers is currently paused.
example: true
type: boolean
message_retention_period:
description: Number of seconds after which an unconsumed message will be delayed.
example: 345600
type: number
type: object
mq_max-wait-time:
description: The number of milliseconds to wait for a batch to fill up before attempting to deliver it
example: 5000
type: number
mq_batch-size:
description: The maximum number of messages to include in a batch.
example: 50
type: number
mq_queue:
properties:
consumers:
items:
$ref: '#/components/schemas/mq_consumer-response'
readOnly: true
type: array
consumers_total_count:
readOnly: true
type: number
created_on:
readOnly: true
type: string
modified_on:
readOnly: true
type: string
producers:
items:
$ref: '#/components/schemas/mq_producer'
readOnly: true
type: array
producers_total_count:
readOnly: true
type: number
queue_id:
readOnly: true
type: string
queue_name:
$ref: '#/components/schemas/mq_queue-name'
settings:
$ref: '#/components/schemas/mq_queue-settings'
type: object
mq_worker-producer:
properties:
script:
type: string
type:
enum:
- worker
type: string
type: object
mq_script-name:
description: Name of a Worker
example: my-consumer-worker
type: string
mq_max-retries:
description: The maximum number of retries
example: 3
type: number
mq_api-v4-success:
properties:
errors:
$ref: '#/components/schemas/mq_api-v4-error'
messages:
$ref: '#/components/schemas/mq_api-v4-message'
success:
description: Indicates if the API call was successful or not.
enum:
- true
type: boolean
type: object
mq_max-concurrency:
description: Maximum number of concurrent consumers that may consume from this Queue. Set to null to automatically opt in to the platform's maximum (recommended).
example: 10
type: number
mq_r2-producer:
properties:
bucket_name:
type: string
type:
enum:
- r2_bucket
type: string
type: object
mq_worker-consumer-response:
properties:
consumer_id:
$ref: '#/components/schemas/mq_identifier'
created_on:
format: date-time
type: string
dead_letter_queue:
description: Name of the dead letter queue, or empty string if not configured
type: string
queue_name:
$ref: '#/components/schemas/mq_queue-name'
script_name:
$ref: '#/components/schemas/mq_script-name'
settings:
properties:
batch_size:
$ref: '#/components/schemas/mq_batch-size'
max_concurrency:
$ref: '#/components/schemas/mq_max-concurrency'
max_retries:
$ref: '#/components/schemas/mq_max-retries'
max_wait_time_ms:
$ref: '#/components/schemas/mq_max-wait-time'
retry_delay:
$ref: '#/components/schemas/mq_retry-delay'
type: object
type:
enum:
- worker
type: string
type: object
mq_http-consumer-response:
properties:
consumer_id:
$ref: '#/components/schemas/mq_identifier'
created_on:
format: date-time
type: string
dead_letter_queue:
description: Name of the dead letter queue, or empty string if not configured
type: string
queue_name:
$ref: '#/components/schemas/mq_queue-name'
settings:
properties:
batch_size:
$ref: '#/components/schemas/mq_batch-size'
max_retries:
$ref: '#/components/schemas/mq_max-retries'
retry_delay:
$ref: '#/components/schemas/mq_retry-delay'
visibility_timeout_ms:
$ref: '#/components/schemas/mq_visibility-timeout'
type: object
type:
enum:
- http_pull
type: string
type: object
mq_consumer-response:
description: Response body representing a consumer
discriminator:
mapping:
http_pull: '#/components/schemas/mq_http-consumer-response'
worker: '#/components/schemas/mq_worker-consumer-response'
propertyName: type
oneOf:
- $ref: '#/components/schemas/mq_worker-consumer-response'
- $ref: '#/components/schemas/mq_http-consumer-response'
type: object
mq_visibility-timeout:
description: The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt.
example: 6000
type: number
securitySchemes:
api_token:
type: http
scheme: bearer
description: Cloudflare API Token (Bearer)
api_email:
type: apiKey
in: header
name: X-Auth-Email
description: Cloudflare account email address
api_key:
type: apiKey
in: header
name: X-Auth-Key
description: Cloudflare Global API Key
externalDocs:
description: Cloudflare Queues Documentation
url: https://developers.cloudflare.com/queues/