See Stacksync in action with a solution architect. Book a demo ↗
Queues

Queues

Create a queue

POST
/v1/workspaces/{workspace_id}/queues

A queue, running unless sent paused: records added by workflows (and syncs) wait in it until its flush rules send them to its consumer workflow. Send the status, rate limit and strategy of a queue read with GET to copy it. Send an Idempotency-Key to retry safely.

Authorization

Authorizationstringheaderrequired

Bearer <key>, where <key> is a workspace API key or a user API key. See Authentication.

Path Parameters

workspace_id*integer

The workspace. List the ones your key can reach with GET /v1/workspaces.

Query Parameters

region*Regions

Region of the resource: besg (Europe) or usnv (United States), as GET /v1/regions lists them

Value in"besg""usnv"

Header Parameters

Idempotency-Key?|

Makes the create retry-safe for 24 hours: a retry with the same key answers the resource the first call created, with the Idempotent-Replayed: true header, and creates nothing. 1 to 255 visible ASCII characters. The same key with a different request answers 422; while the first call still runs, 409.

Defaultnull

Request Body

application/json
  1. body
queue_name*Queue Name
Length1 <= length <= 255
queue_resource_id?|

The id workflow steps name the queue by; generated from the name when absent

Defaultnull
flush_batch_size*Flush Batch Size
Range1 <= value <= 10000
flush_record_max_age*Flush Record Max Age
Range1 <= value <= 86400
parent_folder_id?|

The folder to create the queue in, the root when absent

Defaultnull
status?|

running when absent

Defaultnull
flush_rate_limit_max_flush_count?|

10 when absent

Defaultnull
flush_rate_limit_time_window?|

1 second when absent

Defaultnull
flush_strategy?|

fifo when absent

Defaultnull
validate_only?Validate Only

Run every check of the write and answer 204 without writing: a refused write answers the error the write would

Defaultfalse

Response Body

Created

application/json
  1. response
queue_id*Queue Id
queue_name*Queue Name
queue_resource_id*Queue Resource Id
status*QueueStatus
Value in"running""paused"
consumer_workflow_id*|

The workflow that receives the flushed records, if any

flush_batch_size*Flush Batch Size

Records sent to the consumer workflow per flush

flush_record_max_age*|

Seconds a record may wait before the queue flushes

flush_rate_limit_max_flush_count*|

Maximum flushes per rate limit window

flush_rate_limit_time_window*|

The rate limit window, in seconds

flush_strategy*AppQueueFlushStrategy

fifo sends the oldest records first, lifo the newest

Value in"fifo""lifo"
parent_folder_id*string|null
created_time*Created Time
Formatdate-time
last_modified_time*Last Modified Time
Formatdate-time
region*Regions
Value in"besg""usnv"
Create a queue
curl -X POST 'https://api.stacksync.com/v1/workspaces/0/queues?region=besg' \  -H 'Content-Type: application/json' \  -d '{  "queue_name": "<queue_name>",  "flush_batch_size": 1,  "flush_record_max_age": 1}'
{  "queue_id": "<queue_id>",  "queue_name": "<queue_name>",  "queue_resource_id": "<queue_resource_id>",  "status": "running",  "consumer_workflow_id": "<consumer_workflow_id>",  "flush_batch_size": 0,  "flush_record_max_age": 0,  "flush_rate_limit_max_flush_count": 0,  "flush_rate_limit_time_window": 0,  "flush_strategy": "fifo",  "parent_folder_id": "<parent_folder_id>",  "created_time": "2027-01-15T09:00:00Z",  "last_modified_time": "2027-01-15T09:00:00Z",  "region": "besg"}