POST
/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants.jsonAdd a participant to a conference
Creates a participant in a conference by placing a call to the specified endpoint and adding it to the conference. Supply From and To at minimum, then use the optional fields to configure callbacks, recording, conference entry behavior, and media.
- RetriesRetries up to 2×, 500ms backoff, 30s timeout.
AccountSidstringrequired
The account SID that creates the participant resource. Must be a 34-character SID matching the `AC` prefix format.
ConferenceSidstringrequired
The conference SID to which the participant will be added.
Form-encoded call and conference settings for creating a participant.
Fromstringrequired
The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) 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](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) 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.
Tostringrequired
The phone number, SIP address, Client, TwiML App identifier that received this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) 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](https://www.twilio.com/docs/voice/api/conference-participant-resource#custom-parameters) may also be specified.
StatusCallbackstringoptional
The URL we should call using the `status_callback_method` to send status information to your application.
StatusCallbackMethodstringoptional
The HTTP method we should use to call `status_callback`. Can be: `GET` and `POST` and defaults to `POST`.
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`.
WaitUrlstringoptional
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](https://www.twilio.com/docs/voice/twiml/conference#attributes-waiturl).
WaitMethodstringoptional
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.
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`.
ConferenceStatusCallbackstringoptional
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.
ConferenceStatusCallbackMethodstringoptional
The HTTP method we should use to call `conference_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
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`.
RecordingStatusCallbackstringoptional
The URL that we should call using the `recording_status_callback_method` when the recording status changes.
RecordingStatusCallbackMethodstringoptional
The HTTP method we should use when we call `recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
SipAuthUsernamestringoptional
The SIP username used for authentication.
SipAuthPasswordstringoptional
The SIP password for authentication.
Regionstringoptional
The [region](https://support.twilio.com/hc/en-us/articles/223132167-How-global-low-latency-routing-and-region-selection-work-for-conferences-and-Client-calls) where we should mix the recorded audio. Can be:`us1`, `us2`, `ie1`, `de1`, `sg1`, `br1`, `au1`, or `jp1`.
ConferenceRecordingStatusCallbackstringoptional
The URL we should call using the `conference_recording_status_callback_method` when the conference recording is available.
ConferenceRecordingStatusCallbackMethodstringoptional
The HTTP method we should use to call `conference_recording_status_callback`. Can be: `GET` or `POST` and defaults to `POST`.
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.
CallSidToCoachstringoptional
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`.
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`.
Byocstringoptional
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)
CallerIdstringoptional
The phone number, Client identifier, or username portion of SIP address that made this call. Phone numbers are in [E.164](https://www.twilio.com/docs/glossary/what-e164) 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](https://www.twilio.com/docs/voice/api/outgoing-caller-ids) 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.
RecordingConfigurationIdstringoptional
The identifier of the configuration to be used when creating and processing the recording
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](https://www.twilio.com/docs/voice/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.
AmdStatusCallbackstringoptional
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.
AmdStatusCallbackMethodstringoptional
The HTTP method we should use when calling the `amd_status_callback` URL. Can be: `GET` or `POST` and the default is `POST`.
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.
Passportsstringoptional
The STIR/SHAKEN passport for this call, provided as a base64 encoded string. Multiple passports (at max 5) are comma separated and provided as base64 encoded string
ClientNotificationUrlstringoptional
The URL that we should use to deliver `push call notification`.
CallerDisplayNamestringoptional
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.
EmergencyCallerPositionstringoptional
The emergency caller's GPS coordinates in decimal degrees format.
Format: "latitude longitude" (space-separated)
- Latitude: decimal degrees, range -90.0 to +90.0 (negative for South, positive for North)
- Longitude: decimal degrees, range -180.0 to +180.0 (negative for West, positive for East)
- Precision: up to 6 decimal places recommended for meter-level accuracy
Note: If the value exceeds 150 characters, only the first 150 characters will be used.
EmergencyCallerLocationstringoptional
The emergency caller's physical location description within a building or facility.
Note: If the value exceeds 20 characters, only the first 20 characters will be used.
EmergencyNamestringoptional
The emergency caller's organization or entity name.
Note: If the value exceeds 20 characters, only the first 20 characters will be used.
EmergencyAddressstringoptional
The emergency caller's street address including street number and street name.
Note: If the value exceeds 60 characters, only the first 60 characters will be used.
EmergencyZipCodestringoptional
The emergency caller's postal code or ZIP code.
Note: If the value exceeds 20 characters, only the first 20 characters will be used.
EmergencyCitystringoptional
The emergency caller's city or municipality name.
Should be the official city name as recognized by local authorities.
Used in combination with state and country for emergency call routing.
Note: If the value exceeds 20 characters, only the first 20 characters will be used.
EmergencyStatestringoptional
The emergency caller's state or province.
Note: If the value exceeds 20 characters, only the first 20 characters will be used.
EmergencyCountrystringoptional
The emergency caller's country. Currently supported US and CA only.
Note: If the value exceeds 20 characters, only the first 20 characters will be used.
201Returns the created participant, including its account, call, and conference SIDs, call status, conference settings, timestamps, queue time, and resource URI.
account_sidstringoptional
The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Participant resource.
call_sidstringoptional
The SID of the [Call](https://www.twilio.com/docs/voice/api/call-resource) the Participant resource is associated with.
labelstringoptional
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_coachstringoptional
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`.
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.
conference_sidstringoptional
The SID of the conference the participant is in.
date_createdstringoptional
The date and time in GMT that the resource was created specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
date_updatedstringoptional
The date and time in GMT that the resource was last updated specified in [RFC 2822](https://www.ietf.org/rfc/rfc2822.txt) format.
end_conference_on_exitbooleanoptional
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.
mutedbooleanoptional
Whether the participant is muted. Can be `true` or `false`.
holdbooleanoptional
Whether the participant is on hold. Can be `true` or `false`.
start_conference_on_enterbooleanoptional
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.
statusstringoptional
The status of the participant's call in a session. Can be: `queued`, `connecting`, `ringing`, `connected`, `complete`, or `failed`.
queue_timestringoptional
The wait time in milliseconds before participant's call is placed. Only available in the response to a create participant request.
uristringoptional
The URI of the resource, relative to `https://api.twilio.com`.
Error handling
From and To are required. StatusCallbackMethod and WaitMethod must be GET or POST, Timeout must be between 5 and 600 seconds, and URI fields must use URI format when supplied.