Conferences Participants subresource
Participants is a subresource of Conferences and 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 Participants resource of the Voice Insights API.
The Participants subresource 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.
Info
Tracking updates to all conference participants over the course of a conference can be done by using the Conference's statusCallback webhook.
The SID of the Account that created the Participant resource.
^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34The SID of the Call the Participant resource is associated with.
^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34The 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.
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.
^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34Whether 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.
The SID of the conference the participant is in.
^CF[0-9a-fA-F]{32}$Min length: 34Max length: 34The date and time in GMT that the resource was created specified in RFC 2822 format.
The date and time in GMT that the resource was last updated specified in RFC 2822 format.
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.
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.
The status of the participant's call in a session. Can be: queued, connecting, ringing, connected, complete, or failed.
queuedconnectingringingconnectedcompletefailedThe wait time in milliseconds before participant's call is placed. Only available in the response to a create participant request.
The URI of the resource, relative to https://api.twilio.com.
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.json
Creates a Participant subresource 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.
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 inconsistent traffic — but over a month, the call execution rate will average the CPS rate set for that account.
Danger
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.
application/x-www-form-urlencodedThe 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.
The phone number, SIP address, Client, TwiML App 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. TwiML App identifiers are formatted app:<APP_SID>. Custom parameters may also be specified.
The URL we should call using the status_callback_method to send status information to your application.
The HTTP method we should use to call status_callback. Can be: GET and POST and defaults to POST.
GETPOSTThe 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.
A label for this participant. If one is supplied, it may subsequently be used to fetch, update or delete the participant.
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.
Whether to record the participant and their conferences, including the time between conferences. Can be true or false and the default is false.
Whether the agent is muted in the conference. Can be true or false and the default is false.
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.
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.
Whether to end the conference when the participant leaves. Can be: true or false and defaults to false.
The URL that Twilio calls using the wait_method before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting wait_url to ''. For more details on the allowable verbs within the waitUrl, see the waitUrl attribute in the <Conference> TwiML instruction.
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.
GETPOSTWhether 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.
The maximum number of participants in the conference. Can be a positive integer from 2 to 250. The default value is 250.
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.
Whether to trim leading and trailing silence from the conference recording. Can be: trim-silence or do-not-trim and defaults to trim-silence.
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.
The HTTP method we should use to call conference_status_callback. Can be: GET or POST and defaults to POST.
GETPOSTThe 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.
The recording channels for the final recording. Can be: mono or dual and the default is mono.
The URL that we should call using the recording_status_callback_method when the recording status changes.
The HTTP method we should use when we call recording_status_callback. Can be: GET or POST and defaults to POST.
GETPOSTThe region where we should mix the recorded audio. Can be:us1, us2, ie1, de1, sg1, br1, au1, or jp1.
The URL we should call using the conference_recording_status_callback_method when the conference recording is available.
The HTTP method we should use to call conference_recording_status_callback. Can be: GET or POST and defaults to POST.
GETPOSTThe 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'.
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'
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.
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.
^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34Jitter 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.
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)
^BY[0-9a-fA-F]{32}$Min length: 34Max length: 34The 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.
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)
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.
The maximum duration of the call in seconds. Constraints depend on account and configuration.
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.
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.
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.
The number of milliseconds of silence after speech activity at which point the speech activity is considered complete. Possible Values: 500-5000. Default: 1200.
The number of milliseconds of initial silence after which an unknown AnsweredBy result will be returned. Possible Values: 2000-10000. Default: 5000.
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.
The HTTP method we should use when calling the amd_status_callback URL. Can be: GET or POST and the default is POST.
GETPOSTWhether 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.
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.
The name that populates the display name in the From header. Must be between 2 and 255 characters. Only applicable for calls to sip address.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function createParticipant() {11const participant = await client12.conferences("CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")13.participants.create({14beep: "onEnter",15earlyMedia: true,16from: "+15017122661",17label: "customer",18record: true,19statusCallback: "https://myapp.com/events",20statusCallbackEvent: ["ringing"],21to: "+15558675310",22});2324console.log(participant.accountSid);25}2627createParticipant();
Response
1{2"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",3"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",4"label": "customer",5"conference_sid": "CFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",6"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",7"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",8"end_conference_on_exit": false,9"muted": false,10"hold": false,11"status": "queued",12"start_conference_on_enter": true,13"coaching": false,14"call_sid_to_coach": null,15"queue_time": "1000",16"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"17}
Warning
Only applies to Twilio Voice Client IDs, SIP endpoints, or TwiML applications.
Custom parameters can be passed to the specified Client ID, SIP endpoint, or TwiML application in the to field using query string notation. For example: client:alice?mycustomparam1=foo&mycustomparam2=bar.
GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json
Returns a Participant from an active Conference, specified by the Conference SID and the Participant's Call SID or label.
Warning
The Participant subresource only manages active participants of in-progress Conferences.
If you want to get a list of all 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.
The SID of the Account that created the Participant resource to fetch.
^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34The SID of the conference with the participant to fetch.
^CF[0-9a-fA-F]{32}$Min length: 34Max length: 341// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function fetchParticipant() {11const participant = await client12.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.participants("CallSid")14.fetch();1516console.log(participant.accountSid);17}1819fetchParticipant();
Response
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"call_sid": "CallSid",4"label": null,5"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",6"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",7"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",8"end_conference_on_exit": false,9"muted": false,10"hold": false,11"status": "connected",12"start_conference_on_enter": true,13"coaching": true,14"call_sid_to_coach": "CAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",15"queue_time": null,16"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"17}
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function fetchParticipant() {11const participant = await client12.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.participants("customer")14.fetch();1516console.log(participant.label);17}1819fetchParticipant();
Response
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"call_sid": "customer",4"label": "customer",5"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",6"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",7"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",8"end_conference_on_exit": false,9"muted": false,10"hold": false,11"status": "connected",12"start_conference_on_enter": true,13"coaching": true,14"call_sid_to_coach": "CAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",15"queue_time": null,16"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"17}
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.
The SID of the Account that created the Participant resources to read.
^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34The SID of the conference with the participants to read.
^CF[0-9a-fA-F]{32}$Min length: 34Max length: 34Whether to return only participants that are muted. Can be: true or false.
Whether to return only participants that are on hold. Can be: true or false.
Whether to return only participants who are coaching another call. Can be: true or false.
How many resources to return in each list page. The default is 50, and the maximum is 1000.
1Maximum: 1000The page token. This is provided by the API.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function listParticipant() {11const participants = await client12.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.participants.list({14muted: true,15limit: 20,16});1718participants.forEach((p) => console.log(p.accountSid));19}2021listParticipant();
Response
1{2"participants": [3{4"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",5"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",6"label": null,7"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",8"date_created": "Sat, 19 Feb 2011 21:07:19 +0000",9"date_updated": "Sat, 19 Feb 2011 21:07:19 +0000",10"end_conference_on_exit": false,11"muted": true,12"hold": false,13"status": "connected",14"start_conference_on_enter": true,15"coaching": true,16"call_sid_to_coach": "CAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",17"queue_time": null,18"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"19},20{21"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",22"call_sid": "CAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",23"label": null,24"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",25"date_created": "Sat, 19 Feb 2011 21:07:19 +0000",26"date_updated": "Sat, 19 Feb 2011 21:07:19 +0000",27"end_conference_on_exit": false,28"muted": true,29"hold": false,30"status": "connected",31"start_conference_on_enter": true,32"coaching": false,33"call_sid_to_coach": null,34"queue_time": null,35"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb.json"36}37],38"first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json?Muted=true&PageSize=2&Page=0",39"next_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json?Muted=true&PageSize=2&Page=1&PageToken=PACPbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",40"previous_page_uri": null,41"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants.json?Muted=true&PageSize=2&Page=0",42"page": 0,43"page_size": 2,44"start": 0,45"end": 146}
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.
The SID of the Account that created the Participant resources to update.
^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34The SID of the conference with the participant to update.
^CF[0-9a-fA-F]{32}$Min length: 34Max length: 34application/x-www-form-urlencodedWhether 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.
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.
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.
The HTTP method we should use to call hold_url. Can be: GET or POST and the default is GET.
GETPOSTThe 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.
The HTTP method we should use to call announce_url. Can be: GET or POST and defaults to POST.
GETPOSTThe URL that Twilio calls using the wait_method before the conference has started. The URL may return an MP3 file, a WAV file, or a TwiML document. The default value is the URL of our standard hold music. If you do not want anything to play while waiting for the conference to start, specify an empty string by setting wait_url to ''. For more details on the allowable verbs within the waitUrl, see the waitUrl attribute in the <Conference> TwiML instruction.
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.
GETPOSTWhether to play a notification beep to the conference when the participant exits. Can be: true or false.
Whether to end the conference when the participant leaves. Can be: true or false and defaults to false.
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.
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.
^CA[0-9a-fA-F]{32}$Min length: 34Max length: 341// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function updateParticipant() {11const participant = await client12.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.participants("CallSid")14.update({ muted: true });1516console.log(participant.accountSid);17}1819updateParticipant();
Response
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"call_sid": "CallSid",4"label": null,5"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",6"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",7"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",8"end_conference_on_exit": false,9"muted": true,10"hold": false,11"status": "connected",12"start_conference_on_enter": true,13"coaching": false,14"call_sid_to_coach": null,15"queue_time": null,16"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"17}
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function updateParticipant() {11const participant = await client12.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.participants("customer")14.update({ muted: true });1516console.log(participant.label);17}1819updateParticipant();
Response
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"call_sid": "customer",4"label": "customer",5"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",6"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",7"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",8"end_conference_on_exit": false,9"muted": true,10"hold": false,11"status": "connected",12"start_conference_on_enter": true,13"coaching": false,14"call_sid_to_coach": null,15"queue_time": null,16"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"17}
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function updateParticipant() {11const participant = await client12.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.participants("CallSid")14.update({15hold: true,16holdUrl: "http://www.myapp.com/hold_music",17});1819console.log(participant.accountSid);20}2122updateParticipant();
Response
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"call_sid": "CallSid",4"label": null,5"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",6"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",7"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",8"end_conference_on_exit": false,9"muted": false,10"hold": true,11"status": "connected",12"start_conference_on_enter": true,13"coaching": false,14"call_sid_to_coach": null,15"queue_time": null,16"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"17}
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function updateParticipant() {11const participant = await client12.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.participants("CallSid")14.update({ announceUrl: "http://www.myapp.com/announce" });1516console.log(participant.accountSid);17}1819updateParticipant();
Response
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"call_sid": "CallSid",4"label": null,5"conference_sid": "CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",6"date_created": "Fri, 18 Feb 2011 21:07:19 +0000",7"date_updated": "Fri, 18 Feb 2011 21:07:19 +0000",8"end_conference_on_exit": false,9"muted": false,10"hold": false,11"status": "connected",12"start_conference_on_enter": true,13"coaching": false,14"call_sid_to_coach": null,15"queue_time": null,16"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Conferences/CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"17}
DELETE https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json
Deletes the Participant subresource to remove the participant from the conference. Returns HTTP 204 (No Content) with no body if the participant was successfully removed from the conference.
The SID of the Account that created the Participant resources to delete.
^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34The SID of the conference with the participants to delete.
^CF[0-9a-fA-F]{32}$Min length: 34Max length: 341// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function deleteParticipant() {11await client12.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.participants("CallSid")14.remove();15}1617deleteParticipant();
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function deleteParticipant() {11await client12.conferences("CFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.participants("customer")14.remove();15}1617deleteParticipant();
- Long audio files for conference announcements delay playback. For example, a 25-minute file can take about 13–15 seconds to begin after you send the API request.
- Conference announcements that are 30 minutes or longer can trigger a request timeout and cause the announcement to fail. When this happens, the conference and all calls stay connected, but participants hear "An application error has occurred." The 30-minute limit is approximate. Factors such as file size, HTTP method, and your server's processing or response time can also cause timeouts.
- For announcements longer than 30 minutes, divide the audio into shorter segments and play them sequentially.
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.