TryVox

Conferences

Create and manage multi-party conference calls.

Conferences

Create and manage multi-party conference calls where multiple participants can join and communicate.

List Conferences

Retrieve a list of active conferences in your account.

Endpoint

GET https://api.tryvox.io/v1/voice/accounts/{auth_id}/conferences

Example Request

curl -X GET https://api.tryvox.io/v1/voice/accounts/your_auth_id/conferences \
  -H "Authorization: Bearer tvx_sk_live_..."

Response

{
  "conferences": [
    {
      "name": "support-room-1",
      "status": "in-progress",
      "members": 3,
      "created_at": "2026-04-09T10:30:00Z"
    },
    {
      "name": "sales-call-abc123",
      "status": "in-progress",
      "members": 2,
      "created_at": "2026-04-09T11:15:00Z"
    }
  ]
}

Get Conference Details

Retrieve details about a specific conference including all members.

Endpoint

GET https://api.tryvox.io/v1/voice/accounts/{auth_id}/conferences/{name}

Example Request

curl -X GET https://api.tryvox.io/v1/voice/accounts/your_auth_id/conferences/support-room-1 \
  -H "Authorization: Bearer tvx_sk_live_..."

Response

{
  "name": "support-room-1",
  "status": "in-progress",
  "created_at": "2026-04-09T10:30:00Z",
  "members": [
    {
      "member_id": "m1",
      "call_uuid": "650e8400-e29b-41d4-a716-446655440000",
      "number": "+14155551234",
      "muted": false,
      "hold": false,
      "joined_at": "2026-04-09T10:30:00Z"
    },
    {
      "member_id": "m2",
      "call_uuid": "750e8400-e29b-41d4-a716-446655440001",
      "number": "+14155556789",
      "muted": true,
      "hold": false,
      "joined_at": "2026-04-09T10:31:15Z"
    },
    {
      "member_id": "m3",
      "call_uuid": "850e8400-e29b-41d4-a716-446655440002",
      "number": "+14155559999",
      "muted": false,
      "hold": false,
      "joined_at": "2026-04-09T10:32:30Z"
    }
  ]
}

End Conference

End a conference and disconnect all participants.

Endpoint

DELETE https://api.tryvox.io/v1/voice/accounts/{auth_id}/conferences/{name}

Example Request

curl -X DELETE https://api.tryvox.io/v1/voice/accounts/your_auth_id/conferences/support-room-1 \
  -H "Authorization: Bearer tvx_sk_live_..."

Response

HTTP/1.1 204 No Content

Mute Conference Member

Mute a specific participant in the conference.

Endpoint

POST https://api.tryvox.io/v1/voice/accounts/{auth_id}/conferences/{name}/members/{member_id}/mute

Example Request

curl -X POST https://api.tryvox.io/v1/voice/accounts/your_auth_id/conferences/support-room-1/members/m2/mute \
  -H "Authorization: Bearer tvx_sk_live_..."

Response

{
  "member_id": "m2",
  "muted": true
}

Unmute Conference Member

Unmute a previously muted participant.

Endpoint

POST https://api.tryvox.io/v1/voice/accounts/{auth_id}/conferences/{name}/members/{member_id}/unmute

Example Request

curl -X POST https://api.tryvox.io/v1/voice/accounts/your_auth_id/conferences/support-room-1/members/m2/unmute \
  -H "Authorization: Bearer tvx_sk_live_..."

Response

{
  "member_id": "m2",
  "muted": false
}

Kick Conference Member

Remove a participant from the conference.

Endpoint

POST https://api.tryvox.io/v1/voice/accounts/{auth_id}/conferences/{name}/members/{member_id}/kick

Example Request

curl -X POST https://api.tryvox.io/v1/voice/accounts/your_auth_id/conferences/support-room-1/members/m3/kick \
  -H "Authorization: Bearer tvx_sk_live_..."

Response

{
  "member_id": "m3",
  "status": "kicked"
}

Speak to Conference

Convert text to speech and play it to all conference participants.

Endpoint

POST https://api.tryvox.io/v1/voice/accounts/{auth_id}/conferences/{name}/speak

Request Parameters

ParameterTypeRequiredDescription
textstringyesText to convert to speech
voicestringnoVoice ID (default: en-US-Neural-Jenny)

Example Request

curl -X POST https://api.tryvox.io/v1/voice/accounts/your_auth_id/conferences/support-room-1/speak \
  -H "Authorization: Bearer tvx_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "text": "This call is being recorded for quality assurance.",
    "voice": "en-US-Neural-Jenny"
  }'

Response

{
  "speak_uuid": "d50e8400-e29b-41d4-a716-446655440000",
  "status": "speaking",
  "text": "This call is being recorded for quality assurance."
}

Play to Conference

Play an audio file to all conference participants.

Endpoint

POST https://api.tryvox.io/v1/voice/accounts/{auth_id}/conferences/{name}/play

Request Parameters

ParameterTypeRequiredDescription
urlstringyesURL of audio file to play (mp3 or wav)

Example Request

curl -X POST https://api.tryvox.io/v1/voice/accounts/your_auth_id/conferences/support-room-1/play \
  -H "Authorization: Bearer tvx_sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/announcement.mp3"
  }'

Response

{
  "play_uuid": "e50e8400-e29b-41d4-a716-446655440000",
  "status": "playing",
  "url": "https://example.com/announcement.mp3"
}

Creating a Conference

Conferences are created automatically when the first participant joins. To add a participant to a conference, use VoxML in your answer_url:

<Response>
  <Conference>support-room-1</Conference>
</Response>

Or for more control:

<Response>
  <Conference
    muted="false"
    startConferenceOnEnter="true"
    endConferenceOnExit="false">
    support-room-1
  </Conference>
</Response>

Notes

General

  • Conference names are case-sensitive
  • Conferences end automatically when all participants leave
  • Maximum 10 participants per conference by default
  • Conference names can contain letters, numbers, hyphens, and underscores

Member Management

  • Each member has a unique member_id within the conference
  • Members can self-mute using DTMF (typically *6)
  • Kicked members cannot rejoin unless they dial in again

Audio

  • Speak and play actions interrupt each other
  • All participants hear the audio simultaneously
  • Muted participants can still hear others

Billing

  • Conference calls are billed per participant
  • Recording a conference records all participants in a single file
  • Each participant's connection time is billed separately

Best Practices

  • Use descriptive conference names (e.g., include date or purpose)
  • Monitor member count to stay within limits
  • End conferences explicitly when done to avoid orphaned rooms
  • Use mute/unmute to manage large conferences
  • Consider recording important conferences for compliance

On this page