Skip to main content
When a call flow hits an <Enqueue> verb, the caller waits in a named queue and rings the agents who are logged into it. Queues are created on demand — there’s nothing to provision. This API signs agents in and out and shows you who’s waiting.
Queue control uses a production API key (sk_live_) with the queues:write / queues:read scopes. Sandbox keys can’t manage queues.

Sign an agent in

POST /v1/queues/agents/login — the agent starts ringing for calls in that queue.

Sign an agent out

POST /v1/queues/agents/logout signs the agent out of all queues.
cURL

See who’s waiting

GET /v1/queues/members?queue=support returns a live snapshot of the callers in a queue.
Queue control talks to the live voice engine. If the engine is unreachable you’ll get QUEUE_SERVICE_UNAVAILABLE (503) or QUEUE_CONTROL_FAILED (502) — retry with backoff.

Putting it together

1

Your call flow enqueues the caller

An <Enqueue> verb names the queue, e.g. support.
2

Agents log in

Call the login endpoint for each available agent on support.
3

Callers ring logged-in agents

Wave rings them by your queue strategy (ring-all or round-robin).
4

You monitor the queue

Poll GET /v1/queues/members for a live view; queue KPI events also ride your event stream.

Next steps

WaveML: Enqueue

The verb that puts a caller in a queue.

How voice works

Where queues sit in the call lifecycle.