Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.astradial.com/llms.txt

Use this file to discover all available pages before exploring further.

A queue holds callers in MOH while distributing incoming calls to available agents.

Authentication

JWT or API key with queues.* permission.

List queues

GET /api/v1/queues
curl -X GET https://your-server:8000/api/v1/queues \
  -H "Authorization: Bearer $JWT"

Create a queue

POST /api/v1/queues
curl -X POST https://your-server:8000/api/v1/queues \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "number": "5099",
    "name": "Sales Queue",
    "ring_strategy": "ringall",
    "timeout": 30,
    "timeout_destination_type": "voicemail",
    "timeout_destination": "1001",
    "moh_class": "default"
  }'
FieldTypeNotes
numberstring4-digit, unique within org
namestring
ring_strategystringringall, linear, rrmemory, leastrecent, fewestcalls
timeoutnumberSeconds to ring before falling through
timeout_destination_typestringextension, queue, ivr, voicemail, external, phone, hangup
timeout_destinationstringDestination value, format depends on type
moh_classstringMusic-on-hold class name

Update a queue

PUT /api/v1/queues/{id}
curl -X PUT https://your-server:8000/api/v1/queues/<id> \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d '{"timeout": 60}'

Delete a queue

DELETE /api/v1/queues/{id}
curl -X DELETE https://your-server:8000/api/v1/queues/<id> \
  -H "Authorization: Bearer $JWT"

Queue members

List members

GET /api/v1/queues/{id}/members

Add a member

POST /api/v1/queues/{id}/members
curl -X POST https://your-server:8000/api/v1/queues/<id>/members \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d '{"extension":"1001","penalty":0}'
penalty controls ring priority — lower values ring first. Useful for tiered support.

Remove a member

DELETE /api/v1/queues/{id}/members/{extension}
curl -X DELETE https://your-server:8000/api/v1/queues/<id>/members/1001 \
  -H "Authorization: Bearer $JWT"

Publish changes

Queue save/update/delete automatically regenerate the dialplan — no separate publish call needed.