Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

Conference Participant Resource


Twilio's Voice API Participant resource represents a participant who is either connecting to, or actively connected to, a conference that is not in completed status. This means that the Participants endpoint will not return results for participants whose call has ended, whose associated conference has ended, or whose call has been modified to use new TwiML; i.e. this resource does not return historical participant logs. For post-call participant details, use the Conference Insights Participant Summary resource.

The Participant resource allows you to:

  • Manipulate a conference's current participants by muting or removing them from the conference.
  • List of all the participants in an active conference.
  • Get information about a particular participant in an active conference.
  • Add participants to a conference.
(information)

Info

Tracking updates to all conference participants over the course of a conference can be done by using the Conference's statusCallback webhook.


Participant Properties

Property nameTypePIIDescription
account_sidSID<AC>
Not PII

The SID of the Account that created the Participant resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

call_sidSID<CA>

The SID of the Call the Participant resource is associated with.

Pattern: ^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34

labelstring

The user-specified label of this participant, if one was given when the participant was created. This may be used to fetch, update or delete the participant.


call_sid_to_coachSID<CA>

The SID of the participant who is being coached. The participant being coached is the only participant who can hear the participant who is coaching.

Pattern: ^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34

coachingboolean

Whether the participant is coaching another call. Can be: true or false. If not present, defaults to false unless call_sid_to_coach is defined. If true, call_sid_to_coach must be defined.


conference_sidSID<CF>

The SID of the conference the participant is in.

Pattern: ^CF[0-9a-fA-F]{32}$Min length: 34Max length: 34

date_createdstring<date-time-rfc-2822>

date_updatedstring<date-time-rfc-2822>

The date and time in GMT that the resource was last updated specified in RFC 2822 format.


end_conference_on_exitboolean

Whether the conference ends when the participant leaves. Can be: true or false and the default is false. If true, the conference ends and all other participants drop out when the participant leaves.


mutedboolean

Whether the participant is muted. Can be true or false.


holdboolean

Whether the participant is on hold. Can be true or false.


start_conference_on_enterboolean

Whether the conference starts when the participant joins the conference, if it has not already started. Can be: true or false and the default is true. If false and the conference has not started, the participant is muted and hears background music until another participant starts the conference.


statusenum<string>

The status of the participant's call in a session. Can be: queued, connecting, ringing, connected, complete, or failed.

Possible values:
queuedconnectingringingconnectedcompletefailed

queue_timestring

The wait time in milliseconds before participant's call is placed. Only available in the response to a create participant request.


uristring

The URI of the resource, relative to https://api.twilio.com.


Create a Participant

POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.json

Creates a Participant resource with either a ConferenceSid or FriendlyName initiates an outbound call and adds a new participant to the active Conference with that ConferenceSid or FriendlyName.

If an active conference does not exist with your FriendlyName, we create a new conference with that name and add the participant.

If a conference specified by ConferenceSid is not active, the request fails.

(information)

Calls Per Second (CPS)

By default, each account is granted one CPS for calls created via POST requests to the /Participants endpoint. Inbound calls and <Dial> calls are not limited by CPS. Accounts with an approved Business Profile can update their CPS up to 30 in the Twilio Console. In aggregate, calls are executed at the rate defined by the CPS. Individual calls may not execute at the anticipated rate — you may see individual seconds with more or fewer CPS, especially for bursty traffic — but over a month, the call execution rate will average the CPS rate set for that account.

(error)

Danger

Please do not use personally identifiable information (PII) such as phone numbers, email addresses, a person's name, or any other sensitive information when assigning a FriendlyName to your conferences.

Path parameters

Property nameTypeRequiredPIIDescription
AccountSidSID<AC>required

The SID of the Account that will create the resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

ConferenceSidstringrequired

The SID of the participant's conference.

Request body parameters

Property nameTypeRequiredPIIDescription
Fromstring<endpoint>required

The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in E.164 format (e.g., +16175551212). Client identifiers are formatted client:name. If using a phone number, it must be a Twilio number or a Verified outgoing caller id for your account. If the to parameter is a phone number, from must also be a phone number. If to is sip address, this value of from should be a username portion to be used to populate the P-Asserted-Identity header that is passed to the SIP endpoint.


Tostring<endpoint>required

The phone number, SIP address, or Client identifier that received this call. Phone numbers are in E.164 format (e.g., +16175551212). SIP addresses are formatted as sip:name@company.com. Client identifiers are formatted client:name. Custom parameters may also be specified.


StatusCallbackstring<uri>Optional

The URL we should call using the status_callback_method to send status information to your application.


StatusCallbackMethodenum<http-method>Optional

The HTTP method we should use to call status_callback. Can be: GET and POST and defaults to POST.

Possible values:
GETPOST

StatusCallbackEventarray[string]Optional

The conference state changes that should generate a call to status_callback. Can be: initiated, ringing, answered, and completed. Separate multiple values with a space. The default value is completed.


LabelstringOptional

A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.


TimeoutintegerOptional

The number of seconds that we should allow the phone to ring before assuming there is no answer. Can be an integer between 5 and 600, inclusive. The default value is 60. We always add a 5-second timeout buffer to outgoing calls, so value of 10 would result in an actual timeout that was closer to 15 seconds.


RecordbooleanOptional

Whether to record the participant and their conferences, including the time between conferences. Can be true or false and the default is false.


MutedbooleanOptional

Whether the agent is muted in the conference. Can be true or false and the default is false.


BeepstringOptional

Whether to play a notification beep to the conference when the participant joins. Can be: true, false, onEnter, or onExit. The default value is true.


StartConferenceOnEnterbooleanOptional

Whether to start the conference when the participant joins, if it has not already started. Can be: true or false and the default is true. If false and the conference has not started, the participant is muted and hears background music until another participant starts the conference.


EndConferenceOnExitbooleanOptional

Whether to end the conference when the participant leaves. Can be: true or false and defaults to false.


WaitUrlstring<uri>Optional

The URL we should call using the wait_method for the music to play while participants are waiting for the conference to start. The default value is the URL of our standard hold music. Learn more about hold music.


WaitMethodenum<http-method>Optional

The HTTP method we should use to call wait_url. Can be GET or POST and the default is POST. When using a static audio file, this should be GET so that we can cache the file.

Possible values:
GETPOST

EarlyMediabooleanOptional

Whether to allow an agent to hear the state of the outbound call, including ringing or disconnect messages. Can be: true or false and defaults to true.


MaxParticipantsintegerOptional

The maximum number of participants in the conference. Can be a positive integer from 2 to 250. The default value is 250.


ConferenceRecordstringOptional

Whether to record the conference the participant is joining. Can be: true, false, record-from-start, and do-not-record. The default value is false.


ConferenceTrimstringOptional

Whether to trim leading and trailing silence from the conference recording. Can be: trim-silence or do-not-trim and defaults to trim-silence.


ConferenceStatusCallbackstring<uri>Optional

The URL we should call using the conference_status_callback_method when the conference events in conference_status_callback_event occur. Only the value set by the first participant to join the conference is used. Subsequent conference_status_callback values are ignored.


ConferenceStatusCallbackMethodenum<http-method>Optional

The HTTP method we should use to call conference_status_callback. Can be: GET or POST and defaults to POST.

Possible values:
GETPOST

ConferenceStatusCallbackEventarray[string]Optional

The conference state changes that should generate a call to conference_status_callback. Can be: start, end, join, leave, mute, hold, modify, speaker, and announcement. Separate multiple values with a space. Defaults to start end.


RecordingChannelsstringOptional

The recording channels for the final recording. Can be: mono or dual and the default is mono.


RecordingStatusCallbackstring<uri>Optional

The URL that we should call using the recording_status_callback_method when the recording status changes.


RecordingStatusCallbackMethodenum<http-method>Optional

The HTTP method we should use when we call recording_status_callback. Can be: GET or POST and defaults to POST.

Possible values:
GETPOST

SipAuthUsernamestringOptional

The SIP username used for authentication.


SipAuthPasswordstringOptional

The SIP password for authentication.


RegionstringOptional

The region where we should mix the recorded audio. Can be:us1, ie1, de1, sg1, br1, au1, or jp1.


ConferenceRecordingStatusCallbackstring<uri>Optional

The URL we should call using the conference_recording_status_callback_method when the conference recording is available.


ConferenceRecordingStatusCallbackMethodenum<http-method>Optional

The HTTP method we should use to call conference_recording_status_callback. Can be: GET or POST and defaults to POST.

Possible values:
GETPOST

RecordingStatusCallbackEventarray[string]Optional

The recording state changes that should generate a call to recording_status_callback. Can be: started, in-progress, paused, resumed, stopped, completed, failed, and absent. Separate multiple values with a space, ex: 'in-progress completed failed'.


ConferenceRecordingStatusCallbackEventarray[string]Optional

The conference recording state changes that generate a call to conference_recording_status_callback. Can be: in-progress, completed, failed, and absent. Separate multiple values with a space, ex: 'in-progress completed failed'


CoachingbooleanOptional

Whether the participant is coaching another call. Can be: true or false. If not present, defaults to false unless call_sid_to_coach is defined. If true, call_sid_to_coach must be defined.


CallSidToCoachSID<CA>Optional

The SID of the participant who is being coached. The participant being coached is the only participant who can hear the participant who is coaching.

Pattern: ^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34

JitterBufferSizestringOptional

Jitter buffer size for the connecting participant. Twilio will use this setting to apply Jitter Buffer before participant's audio is mixed into the conference. Can be: off, small, medium, and large. Default to large.


ByocSID<BY>Optional

The SID of a BYOC (Bring Your Own Carrier) trunk to route this call with. Note that byoc is only meaningful when to is a phone number; it will otherwise be ignored. (Beta)

Pattern: ^BY[0-9a-fA-F]{32}$Min length: 34Max length: 34

CallerIdstringOptional

The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in E.164 format (e.g., +16175551212). Client identifiers are formatted client:name. If using a phone number, it must be a Twilio number or a Verified outgoing caller id for your account. If the to parameter is a phone number, callerId must also be a phone number. If to is sip address, this value of callerId should be a username portion to be used to populate the From header that is passed to the SIP endpoint.


CallReasonstringOptional

The Reason for the outgoing call. Use it to specify the purpose of the call that is presented on the called party's phone. (Branded Calls Beta)


RecordingTrackstringOptional

The audio track to record for the call. Can be: inbound, outbound or both. The default is both. inbound records the audio that is received by Twilio. outbound records the audio that is sent from Twilio. both records the audio that is received and sent by Twilio.


TimeLimitintegerOptional

The maximum duration of the call in seconds. Constraints depend on account and configuration.


MachineDetectionstringOptional

Whether to detect if a human, answering machine, or fax has picked up the call. Can be: Enable or DetectMessageEnd. Use Enable if you would like us to return AnsweredBy as soon as the called party is identified. Use DetectMessageEnd, if you would like to leave a message on an answering machine. For more information, see Answering Machine Detection.


MachineDetectionTimeoutintegerOptional

The number of seconds that we should attempt to detect an answering machine before timing out and sending a voice request with AnsweredBy of unknown. The default timeout is 30 seconds.


MachineDetectionSpeechThresholdintegerOptional

The number of milliseconds that is used as the measuring stick for the length of the speech activity, where durations lower than this value will be interpreted as a human and longer than this value as a machine. Possible Values: 1000-6000. Default: 2400.


MachineDetectionSpeechEndThresholdintegerOptional

The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.


MachineDetectionSilenceTimeoutintegerOptional

The number of milliseconds of initial silence after which an unknown AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.


AmdStatusCallbackstring<uri>Optional

The URL that we should call using the amd_status_callback_method to notify customer application whether the call was answered by human, machine or fax.


AmdStatusCallbackMethodenum<http-method>Optional

The HTTP method we should use when calling the amd_status_callback URL. Can be: GET or POST and the default is POST.

Possible values:
GETPOST

TrimstringOptional

Whether to trim any leading and trailing silence from the participant recording. Can be: trim-silence or do-not-trim and the default is trim-silence.


CallTokenstringOptional

A token string needed to invoke a forwarded call. A call_token is generated when an incoming call is received on a Twilio number. Pass an incoming call's call_token value to a forwarded call via the call_token parameter when creating a new call. A forwarded call should bear the same CallerID of the original incoming call.

Create a Conference Participant

Creates a Participant in a Conference. If this ConferenceSid is not an active conference, the request will fail.

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_27
// Download the helper library from https://www.twilio.com/docs/node/install
_27
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_27
_27
// Find your Account SID and Auth Token at twilio.com/console
_27
// and set the environment variables. See http://twil.io/secure
_27
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_27
const authToken = process.env.TWILIO_AUTH_TOKEN;
_27
const client = twilio(accountSid, authToken);
_27
_27
async function createParticipant() {
_27
const participant = await client
_27
.conferences("CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")
_27
.participants.create({
_27
beep: "onEnter",
_27
earlyMedia: true,
_27
from: "+15017122661",
_27
label: "customer",
_27
record: true,
_27
statusCallback: "https://myapp.com/events",
_27
statusCallbackEvent: ["ringing"],
_27
to: "+15558675310",
_27
});
_27
_27
console.log(participant.accountSid);
_27
}
_27
_27
createParticipant();

Output

_17
{
_17
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_17
"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"label": "customer",
_17
"conference_sid": "CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_17
"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"end_conference_on_exit": false,
_17
"muted": false,
_17
"hold": false,
_17
"status": "queued",
_17
"start_conference_on_enter": true,
_17
"coaching": false,
_17
"call_sid_to_coach": null,
_17
"queue_time": "1000",
_17
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_17
}

(warning)

Warning

Answering Machine Detection on requires Enhanced Programmable SIP Features to be enabled on the account.

Custom Parameters

(warning)

Warning

Only applies to Twilio Voice Client or SIP endpoints

Custom parameters can be passed to the specified client id or SIP endpoint in the to field using query string notation, e.g.

client:alice?mycustomparam1=foo&mycustomparam2=bar


Fetch a Participant resource

GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json

Returns a Participant resource from an active Conference, specified by the Conference SID and the Participant's Call SID or label.

(warning)

Warning

The Participant resource only manages active participants of in-progress Conferences.

If you want to get a list of all conference participants over the course of a conference, use the Conference's statusCallback to receive webhooks for each participant joining the conference and store the details in your application.

Path parameters

Property nameTypeRequiredPIIDescription
AccountSidSID<AC>required

The SID of the Account that created the Participant resource to fetch.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

ConferenceSidSID<CF>required

The SID of the conference with the participant to fetch.

Pattern: ^CF[0-9a-fA-F]{32}$Min length: 34Max length: 34

CallSidstringrequired

The Call SID or label of the participant to fetch. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.

Fetch a Participant resource

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_19
// Download the helper library from https://www.twilio.com/docs/node/install
_19
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19
_19
// Find your Account SID and Auth Token at twilio.com/console
_19
// and set the environment variables. See http://twil.io/secure
_19
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19
const authToken = process.env.TWILIO_AUTH_TOKEN;
_19
const client = twilio(accountSid, authToken);
_19
_19
async function fetchParticipant() {
_19
const participant = await client
_19
.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19
.participants("CallSid")
_19
.fetch();
_19
_19
console.log(participant.accountSid);
_19
}
_19
_19
fetchParticipant();

Output

_17
{
_17
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"call_sid": "CallSid",
_17
"label": null,
_17
"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"end_conference_on_exit": false,
_17
"muted": false,
_17
"hold": false,
_17
"status": "connected",
_17
"start_conference_on_enter": true,
_17
"coaching": true,
_17
"call_sid_to_coach": "CAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
_17
"queue_time": null,
_17
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_17
}

Fetch a Participant resource by label

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_19
// Download the helper library from https://www.twilio.com/docs/node/install
_19
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19
_19
// Find your Account SID and Auth Token at twilio.com/console
_19
// and set the environment variables. See http://twil.io/secure
_19
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19
const authToken = process.env.TWILIO_AUTH_TOKEN;
_19
const client = twilio(accountSid, authToken);
_19
_19
async function fetchParticipant() {
_19
const participant = await client
_19
.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19
.participants("customer")
_19
.fetch();
_19
_19
console.log(participant.label);
_19
}
_19
_19
fetchParticipant();

Output

_17
{
_17
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"call_sid": "customer",
_17
"label": "customer",
_17
"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"end_conference_on_exit": false,
_17
"muted": false,
_17
"hold": false,
_17
"status": "connected",
_17
"start_conference_on_enter": true,
_17
"coaching": true,
_17
"call_sid_to_coach": "CAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
_17
"queue_time": null,
_17
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_17
}


Read multiple Participant resources

GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.json

Returns the list of active participants in the conference identified by ConferenceSid.

Path parameters

Property nameTypeRequiredPIIDescription
AccountSidSID<AC>required

The SID of the Account that created the Participant resources to read.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

ConferenceSidSID<CF>required

The SID of the conference with the participants to read.

Pattern: ^CF[0-9a-fA-F]{32}$Min length: 34Max length: 34

Query parameters

Property nameTypeRequiredPIIDescription
MutedbooleanOptional

Whether to return only participants that are muted. Can be: true or false.


HoldbooleanOptional

Whether to return only participants that are on hold. Can be: true or false.


CoachingbooleanOptional

Whether to return only participants who are coaching another call. Can be: true or false.


PageSizeintegerOptional

How many resources to return in each list page. The default is 50, and the maximum is 1000.

Minimum: 1Maximum: 1000

PageintegerOptional

The page index. This value is simply for client state.

Minimum: 0

PageTokenstringOptional

The page token. This is provided by the API.

Read multiple Participant resources

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_21
// Download the helper library from https://www.twilio.com/docs/node/install
_21
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_21
_21
// Find your Account SID and Auth Token at twilio.com/console
_21
// and set the environment variables. See http://twil.io/secure
_21
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_21
const authToken = process.env.TWILIO_AUTH_TOKEN;
_21
const client = twilio(accountSid, authToken);
_21
_21
async function listParticipant() {
_21
const participants = await client
_21
.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_21
.participants.list({
_21
muted: true,
_21
limit: 20,
_21
});
_21
_21
participants.forEach((p) => console.log(p.accountSid));
_21
}
_21
_21
listParticipant();

Output

_46
{
_46
"participants": [
_46
{
_46
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_46
"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_46
"label": null,
_46
"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_46
"date_created": "Sat, 19 Feb 2011 21:07:19 +0000",
_46
"date_updated": "Sat, 19 Feb 2011 21:07:19 +0000",
_46
"end_conference_on_exit": false,
_46
"muted": true,
_46
"hold": false,
_46
"status": "connected",
_46
"start_conference_on_enter": true,
_46
"coaching": true,
_46
"call_sid_to_coach": "CAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
_46
"queue_time": null,
_46
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_46
},
_46
{
_46
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_46
"call_sid": "CAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
_46
"label": null,
_46
"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_46
"date_created": "Sat, 19 Feb 2011 21:07:19 +0000",
_46
"date_updated": "Sat, 19 Feb 2011 21:07:19 +0000",
_46
"end_conference_on_exit": false,
_46
"muted": true,
_46
"hold": false,
_46
"status": "connected",
_46
"start_conference_on_enter": true,
_46
"coaching": false,
_46
"call_sid_to_coach": null,
_46
"queue_time": null,
_46
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.json"
_46
}
_46
],
_46
"first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json?Muted=true&PageSize=2&Page=0",
_46
"next_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json?Muted=true&PageSize=2&Page=1&PageToken=PACPbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
_46
"previous_page_uri": null,
_46
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json?Muted=true&PageSize=2&Page=0",
_46
"page": 0,
_46
"page_size": 2,
_46
"start": 0,
_46
"end": 1
_46
}


Update a Participant resource

POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json

Updates the status of a participant in an active conference.

Path parameters

Property nameTypeRequiredPIIDescription
AccountSidSID<AC>required

The SID of the Account that created the Participant resources to update.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

ConferenceSidSID<CF>required

The SID of the conference with the participant to update.

Pattern: ^CF[0-9a-fA-F]{32}$Min length: 34Max length: 34

CallSidstringrequired

The Call SID or label of the participant to update. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.

Request body parameters

Property nameTypeRequiredPIIDescription
MutedbooleanOptional

Whether the participant should be muted. Can be true or false. true will mute the participant, and false will un-mute them. Anything value other than true or false is interpreted as false.


HoldbooleanOptional

Whether the participant should be on hold. Can be: true or false. true puts the participant on hold, and false lets them rejoin the conference.


HoldUrlstring<uri>Optional

The URL we call using the hold_method for music that plays when the participant is on hold. The URL may return an MP3 file, a WAV file, or a TwiML document that contains <Play>, <Say>, <Pause>, or <Redirect> verbs.


HoldMethodenum<http-method>Optional

The HTTP method we should use to call hold_url. Can be: GET or POST and the default is GET.

Possible values:
GETPOST

AnnounceUrlstring<uri>Optional

The URL we call using the announce_method for an announcement to the participant. The URL may return an MP3 file, a WAV file, or a TwiML document that contains <Play>, <Say>, <Pause>, or <Redirect> verbs.


AnnounceMethodenum<http-method>Optional

The HTTP method we should use to call announce_url. Can be: GET or POST and defaults to POST.

Possible values:
GETPOST

WaitUrlstring<uri>Optional

The URL we call using the wait_method for the music to play while participants are waiting for the conference to start. The URL may return an MP3 file, a WAV file, or a TwiML document that contains <Play>, <Say>, <Pause>, or <Redirect> verbs. The default value is the URL of our standard hold music. Learn more about hold music.


WaitMethodenum<http-method>Optional

The HTTP method we should use to call wait_url. Can be GET or POST and the default is POST. When using a static audio file, this should be GET so that we can cache the file.

Possible values:
GETPOST

BeepOnExitbooleanOptional

Whether to play a notification beep to the conference when the participant exits. Can be: true or false.


EndConferenceOnExitbooleanOptional

Whether to end the conference when the participant leaves. Can be: true or false and defaults to false.


CoachingbooleanOptional

Whether the participant is coaching another call. Can be: true or false. If not present, defaults to false unless call_sid_to_coach is defined. If true, call_sid_to_coach must be defined.


CallSidToCoachSID<CA>Optional

The SID of the participant who is being coached. The participant being coached is the only participant who can hear the participant who is coaching.

Pattern: ^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34

Mute Participant

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_19
// Download the helper library from https://www.twilio.com/docs/node/install
_19
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19
_19
// Find your Account SID and Auth Token at twilio.com/console
_19
// and set the environment variables. See http://twil.io/secure
_19
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19
const authToken = process.env.TWILIO_AUTH_TOKEN;
_19
const client = twilio(accountSid, authToken);
_19
_19
async function updateParticipant() {
_19
const participant = await client
_19
.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19
.participants("CallSid")
_19
.update({ muted: true });
_19
_19
console.log(participant.accountSid);
_19
}
_19
_19
updateParticipant();

Output

_17
{
_17
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"call_sid": "CallSid",
_17
"label": null,
_17
"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"end_conference_on_exit": false,
_17
"muted": true,
_17
"hold": false,
_17
"status": "connected",
_17
"start_conference_on_enter": true,
_17
"coaching": false,
_17
"call_sid_to_coach": null,
_17
"queue_time": null,
_17
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_17
}

Mute Participant by label

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_19
// Download the helper library from https://www.twilio.com/docs/node/install
_19
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19
_19
// Find your Account SID and Auth Token at twilio.com/console
_19
// and set the environment variables. See http://twil.io/secure
_19
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19
const authToken = process.env.TWILIO_AUTH_TOKEN;
_19
const client = twilio(accountSid, authToken);
_19
_19
async function updateParticipant() {
_19
const participant = await client
_19
.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19
.participants("customer")
_19
.update({ muted: true });
_19
_19
console.log(participant.label);
_19
}
_19
_19
updateParticipant();

Output

_17
{
_17
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"call_sid": "customer",
_17
"label": "customer",
_17
"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"end_conference_on_exit": false,
_17
"muted": true,
_17
"hold": false,
_17
"status": "connected",
_17
"start_conference_on_enter": true,
_17
"coaching": false,
_17
"call_sid_to_coach": null,
_17
"queue_time": null,
_17
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_17
}

Place a participant on hold with music

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_22
// Download the helper library from https://www.twilio.com/docs/node/install
_22
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_22
_22
// Find your Account SID and Auth Token at twilio.com/console
_22
// and set the environment variables. See http://twil.io/secure
_22
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_22
const authToken = process.env.TWILIO_AUTH_TOKEN;
_22
const client = twilio(accountSid, authToken);
_22
_22
async function updateParticipant() {
_22
const participant = await client
_22
.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_22
.participants("CallSid")
_22
.update({
_22
hold: true,
_22
holdUrl: "http://www.myapp.com/hold_music",
_22
});
_22
_22
console.log(participant.accountSid);
_22
}
_22
_22
updateParticipant();

Output

_17
{
_17
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"call_sid": "CallSid",
_17
"label": null,
_17
"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"end_conference_on_exit": false,
_17
"muted": false,
_17
"hold": true,
_17
"status": "connected",
_17
"start_conference_on_enter": true,
_17
"coaching": false,
_17
"call_sid_to_coach": null,
_17
"queue_time": null,
_17
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_17
}

Make an announcement to the participant

Plays the audio file at the announce_url for the participant

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_19
// Download the helper library from https://www.twilio.com/docs/node/install
_19
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19
_19
// Find your Account SID and Auth Token at twilio.com/console
_19
// and set the environment variables. See http://twil.io/secure
_19
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19
const authToken = process.env.TWILIO_AUTH_TOKEN;
_19
const client = twilio(accountSid, authToken);
_19
_19
async function updateParticipant() {
_19
const participant = await client
_19
.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19
.participants("CallSid")
_19
.update({ announceUrl: "http://www.myapp.com/announce" });
_19
_19
console.log(participant.accountSid);
_19
}
_19
_19
updateParticipant();

Output

_17
{
_17
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"call_sid": "CallSid",
_17
"label": null,
_17
"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",
_17
"end_conference_on_exit": false,
_17
"muted": false,
_17
"hold": false,
_17
"status": "connected",
_17
"start_conference_on_enter": true,
_17
"coaching": false,
_17
"call_sid_to_coach": null,
_17
"queue_time": null,
_17
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_17
}


Delete a Participant resource

DELETE https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json

Deletes the Participant resource to remove the participant from the conference. Returns HTTP 204 (No Content) with no body if the participant was successfully removed from the conference.

Path parameters

Property nameTypeRequiredPIIDescription
AccountSidSID<AC>required

The SID of the Account that created the Participant resources to delete.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

ConferenceSidSID<CF>required

The SID of the conference with the participants to delete.

Pattern: ^CF[0-9a-fA-F]{32}$Min length: 34Max length: 34

CallSidstringrequired

The Call SID or label of the participant to delete. Non URL safe characters in a label must be percent encoded, for example, a space character is represented as %20.

Delete a Participant

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_17
// Download the helper library from https://www.twilio.com/docs/node/install
_17
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_17
_17
// Find your Account SID and Auth Token at twilio.com/console
_17
// and set the environment variables. See http://twil.io/secure
_17
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_17
const authToken = process.env.TWILIO_AUTH_TOKEN;
_17
const client = twilio(accountSid, authToken);
_17
_17
async function deleteParticipant() {
_17
await client
_17
.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_17
.participants("CallSid")
_17
.remove();
_17
}
_17
_17
deleteParticipant();

Delete a Participant by label

Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_17
// Download the helper library from https://www.twilio.com/docs/node/install
_17
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_17
_17
// Find your Account SID and Auth Token at twilio.com/console
_17
// and set the environment variables. See http://twil.io/secure
_17
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_17
const authToken = process.env.TWILIO_AUTH_TOKEN;
_17
const client = twilio(accountSid, authToken);
_17
_17
async function deleteParticipant() {
_17
await client
_17
.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_17
.participants("customer")
_17
.remove();
_17
}
_17
_17
deleteParticipant();


What's next?

Explore Voice Insights with its Conference Insights Event Stream and Conference Insights REST API which allow you to see conference parameters, investigate participant event timelines, and understand detected quality issues.


Rate this page: