Skip to main content
Conferences let you connect multiple participants in a single call. Using the Conference API, you can manage ongoing conferences, control individual members, and record conversations. Conferences are suited for traditional “meeting” use cases. For advanced contact center or sales dialer scenarios requiring more control, consider Multiparty Calls.

The Conference Object

conference_name
string
Name used to identify the conference.
conference_run_time
string
Time in seconds since the conference was initiated.
conference_member_count
string
Number of members currently active in the conference.
members
array
Array of member objects in the conference.

Member Attributes

Each member in the members array has the following attributes:
member_id
string
Unique ID of the member within the conference.
muted
boolean
true if the member is currently muted.
deaf
boolean
true if the member cannot hear conference audio.
from
string
Source of the call — PSTN number or SIP endpoint.
to
string
Conference bridge number — Plivo number or application URL.
caller_name
string
Name of the caller (SIP calls only).
direction
string
Direction of the call — inbound or outbound.
call_uuid
string
Unique identifier of the call.
join_time
string
Time in seconds since the member joined.

Example Conference Object

{
  "conference_name": "My Conf Room",
  "conference_run_time": "590",
  "conference_member_count": "1",
  "members": [
    {
      "muted": false,
      "member_id": "17",
      "deaf": false,
      "from": "1456789903",
      "to": "1677889900",
      "caller_name": "John",
      "direction": "inbound",
      "call_uuid": "acfbf0b5-12e0-4d74-85f7-fce15f8f07ec",
      "join_time": "590"
    }
  ]
}

Retrieve a Conference

Get details of a specific conference by name.
GET https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/

Arguments

No arguments required.
curl -i --user AUTH_ID:AUTH_TOKEN \
    https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/

Response

{
  "conference_name": "My Conf Room",
  "conference_run_time": "590",
  "conference_member_count": "1",
  "members": [
    {
      "muted": false,
      "member_id": "17",
      "deaf": false,
      "from": "1456789903",
      "to": "1677889900",
      "caller_name": "John",
      "direction": "inbound",
      "call_uuid": "acfbf0b5-12e0-4d74-85f7-fce15f8f07ec",
      "join_time": "590"
    }
  ],
  "api_id": "816e903e-58c4-11e1-86da-adf28403fe48"
}

List All Conferences

Retrieve names of all ongoing conferences in your account.
GET https://api.plivo.com/v1/Account/{auth_id}/Conference/

Arguments

No arguments required.
curl -i --user AUTH_ID:AUTH_TOKEN \
    https://api.plivo.com/v1/Account/{auth_id}/Conference/

Response

{
  "api_id": "2867b6e2-58c3-11e1-86da-adf28403fe48",
  "conferences": [
    "My Conf Room",
    "Sales Meeting",
    "Support Call"
  ]
}

Hang Up a Conference

Terminate a conference and disconnect all members.
DELETE https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/
curl -X DELETE --user AUTH_ID:AUTH_TOKEN \
    https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/

Response

{
  "message": "conference hung up",
  "api_id": "2867b6e2-58c3-11e1-86da-adf28403fe48"
}

Hang Up All Conferences

Terminate all ongoing conferences in your account.
DELETE https://api.plivo.com/v1/Account/{auth_id}/Conference/
curl -X DELETE --user AUTH_ID:AUTH_TOKEN \
    https://api.plivo.com/v1/Account/{auth_id}/Conference/

Response

{
  "message": "all conferences hung up",
  "api_id": "2867b6e2-58c3-11e1-86da-adf28403fe48"
}

Member Operations

Control individual members within a conference. The member_id parameter can be:
  • A specific member ID (e.g., 10)
  • A comma-separated list (e.g., 10,11,12)
  • The string all to affect all members

Kick a Member

Disconnect a member from the conference.
POST https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Member/{member_id}/Kick/
curl -i --user AUTH_ID:AUTH_TOKEN \
    -H "Content-Type: application/json" \
    -d '{}' \
    https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Member/{member_id}/Kick/

Response

{
  "message": "kicked",
  "member_id": "10",
  "api_id": "2867b6e2-58c3-11e1-86da-adf28403fe48"
}

Mute / Unmute a Member

Mute a member so other participants cannot hear them.
POST https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Member/{member_id}/Mute/
curl -i --user AUTH_ID:AUTH_TOKEN \
    -H "Content-Type: application/json" \
    -d '{}' \
    https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Member/{member_id}/Mute/

Response

{
  "message": "muted",
  "member_id": "10",
  "api_id": "2867b6e2-58c3-11e1-86da-adf28403fe48"
}

Deaf / Undeaf a Member

Make a member deaf so they cannot hear conference audio.
POST https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Member/{member_id}/Deaf/
curl -i --user AUTH_ID:AUTH_TOKEN \
    -H "Content-Type: application/json" \
    -d '{}' \
    https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Member/{member_id}/Deaf/

Response

{
  "message": "deaf",
  "member_id": "10",
  "api_id": "2867b6e2-58c3-11e1-86da-adf28403fe48"
}

Play Audio to a Member

Play an audio file to specific members.
POST https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Member/{member_id}/Play/
ParameterRequiredDescription
urlYesURL of the .mp3 or .wav file to play.
curl -i --user AUTH_ID:AUTH_TOKEN \
    -H "Content-Type: application/json" \
    -d '{"url":"https://s3.amazonaws.com/plivocloud/music.mp3"}' \
    https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Member/{member_id}/Play/

Response

{
  "message": "play queued into conference",
  "api_id": "4e44bd4e-f830-11e6-b886-067c5485c240",
  "member_id": "10"
}

Speak Text to a Member

Speak text to specific members using text-to-speech.
POST https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Member/{member_id}/Speak/
ParameterRequiredDescription
textYesText to speak.
voiceNoVoice type. Values: MAN, WOMAN. Default: WOMAN.
languageNoLanguage code. Default: en-US.
curl -i --user AUTH_ID:AUTH_TOKEN \
    -H "Content-Type: application/json" \
    -d '{"text":"Hello, welcome to the conference"}' \
    https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Member/{member_id}/Speak/

Response

{
  "message": "speak queued into conference",
  "api_id": "4e44bd4e-f830-11e6-b886-067c5485c240",
  "member_id": "10"
}

Record a Conference

Start recording an ongoing conference.
POST https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Record/

Arguments

ParameterDescription
file_formatRecording format. Values: mp3, wav. Default: mp3.
transcription_typeSet to auto for automated transcription.
transcription_urlURL to receive transcription results.
callback_urlURL invoked when recording ends.
callback_methodHTTP verb for callback_url. Default: POST.
ParameterDescription
api_idAPI ID returned by the record API.
record_urlURL where the recorded file can be accessed.
recording_idRecording ID associated with the file.
conference_nameName of the recorded conference.
recording_durationDuration in seconds.
recording_duration_msDuration in milliseconds.
recording_start_msStart time (epoch ms).
recording_end_msEnd time (epoch ms).
curl -i --user AUTH_ID:AUTH_TOKEN \
    -H "Content-Type: application/json" \
    -d '{"file_format":"mp3"}' \
    https://api.plivo.com/v1/Account/{auth_id}/Conference/{conference_name}/Record/

Response

{
  "api_id": "2867b6e2-58c3-11e1-86da-adf28403fe48",
  "message": "conference recording started",
  "recording_id": "93bc7c6a-3b2b-11e3",
  "url": "https://media.plivo.com/v1/Account/<Auth_ID>/Recording/93bc7c6a-3b2b-11e3.mp3"
}