AstralAPI Docs
Topics

Voice

Voice

Astral voice integrations are split across a few public layers:

  • channel/call REST helpers
  • Gateway events and state updates
  • media transport handled after voice negotiation

What to use for what

NeedUse
Check whether a DM/group call can ringGET /channels/:channel_id/call
Change call regionPATCH /channels/:channel_id/call
Ring recipientsPOST /channels/:channel_id/call/ring
Show available RTC regionsGET /channels/:channel_id/rtc-regions
React to live voice state changesGateway

Public voice HTTP endpoints

  • GET /channels/:channel_id/rtc-regions
  • GET /channels/:channel_id/call
  • PATCH /channels/:channel_id/call
  • POST /channels/:channel_id/call/ring
  • POST /channels/:channel_id/call/stop-ringing

Voice bot design guidance

If your bot interacts with voice or call features:

  • use REST to start or configure the call surface
  • use Gateway to observe who joined, left, or changed state
  • keep reconnect logic resilient
  • avoid assuming a fixed region forever

Region example

curl -s \
  -H "Authorization: Bot $TOKEN" \
  https://astraof.com/api/v1/channels/<CHANNEL_ID>/rtc-regions

Ring example

curl -X POST \
  -H "Authorization: Bot $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"recipients":["1470000000000000001"]}' \
  https://astraof.com/api/v1/channels/<CHANNEL_ID>/call/ring

On this page