Cloudflare Queues Consumer API
Operations for managing queue consumers (Worker push or HTTP pull)
Operations for managing queue consumers (Worker push or HTTP pull)
openapi: 3.0.3
info:
title: Cloudflare Queues Consumer 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: Consumer
description: Operations for managing queue consumers (Worker push or HTTP pull)
paths:
/accounts/{account_id}/queues/{queue_id}/consumers:
get:
description: Returns the consumers for a Queue
operationId: queues-list-consumers
summary: List Queue Consumers
tags:
- Consumer
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:
items:
$ref: '#/components/schemas/mq_consumer-response'
type: array
type: object
type: object
description: All consumers attached to this Queue
post:
description: Creates a new consumer for a Queue
operationId: queues-create-consumer
summary: Create a Queue Consumer
tags:
- Consumer
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_consumer-request'
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_consumer-response'
type: object
type: object
description: Create Queue Consumer response.
/accounts/{account_id}/queues/{queue_id}/consumers/{consumer_id}:
delete:
description: Deletes the consumer for a queue.
operationId: queues-delete-consumer
summary: Delete Queue Consumer
tags:
- Consumer
parameters:
- in: path
name: consumer_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
- 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 consumer delete
get:
description: Fetches the consumer for a queue by consumer id
operationId: queues-get-consumer
summary: Get Queue Consumer
tags:
- Consumer
parameters:
- in: path
name: consumer_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
- 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: Get Queue Consumer response failure.
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/mq_api-v4-success'
- properties:
result:
$ref: '#/components/schemas/mq_consumer-response'
type: object
type: object
description: Get Queue Consumer response.
put:
description: Updates the consumer for a queue, or creates one if it does not exist.
operationId: queues-update-consumer
summary: Update Queue Consumer
tags:
- Consumer
parameters:
- in: path
name: consumer_id
required: true
schema:
$ref: '#/components/schemas/mq_identifier'
- 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_consumer-request'
required: true
responses:
4XX:
content:
application/json:
schema:
$ref: '#/components/schemas/mq_api-v4-failure'
description: Update Queue Consumer response failure.
'200':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/mq_api-v4-success'
- properties:
result:
$ref: '#/components/schemas/mq_consumer-response'
type: object
type: object
description: Update Queue Consumer response.
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_worker-consumer-request:
properties:
dead_letter_queue:
$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
required:
- type
- script_name
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_consumer-request:
description: Request body for creating or updating a consumer
discriminator:
mapping:
http_pull: '#/components/schemas/mq_http-consumer-request'
worker: '#/components/schemas/mq_worker-consumer-request'
propertyName: type
oneOf:
- $ref: '#/components/schemas/mq_worker-consumer-request'
- $ref: '#/components/schemas/mq_http-consumer-request'
type: object
mq_retry-delay:
description: The number of seconds to delay before making the message available for another attempt.
example: 10
type: number
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_http-consumer-request:
properties:
dead_letter_queue:
$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
required:
- type
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_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_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_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/