Appearance
Queues
| Method | Path | Body | Response |
|---|---|---|---|
PUT | /v1/tenants/{t}/queues/{queueRef} | see below | { queue } |
GET | /v1/tenants/{t}/queues | — | { queues } |
GET | /v1/tenants/{t}/queues/{queueRef}/members | — | { members } |
PUT | /v1/tenants/{t}/queues/{queueRef}/members | { members: [{ agent_ref, priority? }] } — replaces the list | { members } |
DELETE | /v1/tenants/{t}/queues/{queueRef} | — | 204 — see Deleting |
json
{
"name": "Sales",
"strategy": "ROUND_ROBIN",
"ring_timeout_seconds": 20,
"max_wait_seconds": 120,
"overflow_queue_ref": "sales-backup",
"max_active_calls": null,
"hold_audio_asset_id": 12,
"status": "ACTIVE"
}queue: { id, ref, name, strategy, ringTimeoutSeconds, maxActiveCalls, maxWaitSeconds, overflowQueueId, holdAudioAssetId, status }. members: [{ id, ref, name, role, availability, priority }].
| Field | Values | Omitted |
|---|---|---|
name | required, ≤255 chars | — |
strategy | RING_ALL, ROUND_ROBIN, PRIORITY | ROUND_ROBIN |
ring_timeout_seconds | 5–60 | null |
max_wait_seconds | 5–86400 | null |
overflow_queue_ref | another queue of this tenant (not the queue itself) | null |
max_active_calls | 1–10000 | null |
hold_audio_asset_id | an audio asset id (a positive integer) | null |
status | ACTIVE, DISABLED | ACTIVE |
members | at most 1000, each agent once | — |
member agent_ref | an agent of this tenant | — |
member priority | 1–1000 | 1 |
strategy:RING_ALL— every available member is offered the call at once; the first to accept takes it; a decline withdraws it only for that agent.ROUND_ROBIN— one available member at a time, longest-available first.PRIORITY— lowestprioritymember first, then by agent id.- With
ROUND_ROBINandPRIORITY, a decline passes the call to the next member; the customer keeps waiting. An agent who declined is not offered that call again. Once every member has declined, the call waits until someone new becomes available, itsmax_wait_secondsruns out, or the customer hangs up.
ring_timeout_seconds(ROUND_ROBIN/PRIORITY) — how long one member is offered a call before it passes to the next member. It counts as a missed offer for the tenant's auto-offline policy. A member who missed it is skipped until every other available member has had it; then a new round starts, so a lone member is offered it again.null: an offer rings until it is answered or the customer hangs up.RING_ALLignores it.max_wait_seconds— how long a call may wait unanswered after entering the queue (on arrival, or when an IVR transfers it). After that it moves tooverflow_queue_refand waits again there, up to 3 hops. With no overflow queue, or after 3 hops, it ends asTIMEOUT(terminatedBy: SYSTEM).null: no limit. Calloop still ends a call that has rung unanswered for about a minute, the lifetime of a ringing WhatsApp call, in case the provider's end event is lost.max_active_calls— cap on calls being handled from this queue at once (e.g.1for a single shared line).hold_audio_asset_id— what customers hear while waiting after an IVR transfer.