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}/conferencesExample 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 ContentMute 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}/muteExample 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}/unmuteExample 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}/kickExample 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}/speakRequest Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| text | string | yes | Text to convert to speech |
| voice | string | no | Voice 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}/playRequest Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| url | string | yes | URL 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_idwithin 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