# Update a Participant Use this endpoint for the [Conference Participants](./index.mdx) method to modify the properties of participant in an active conference call. ## Parameters | Parameter | Description | | :- | :-- | | AccountSid required | The unique identifier for the account that created this conference. | | CallSid required | The unique identifier for the Participant call connected to this conference. | | ConferenceSid required | The unique identifier for the conference this participant is in. | | CallSidToCoach optional | The unique identifier for participant who is being coached. The participant being coached is the only participant who can hear the participant who is coaching. | | Coaching optional | Whether the participant is coaching another call. Possible values are true or false. | | AnnounceMethod optional | Whether the request to AnnounceUrl is a GET or a POST. Default is POST. | | AnnounceUrl optional | The URL to send participant announcements to. | | Hold optional | Whether or not the participant is on hold. Possible values are true or false. | | HoldMethod optional | Whether the request to HoldUrl is a GET or a POST. Default is POST. | | HoldUrl optional | The URL to send hold music to that will be played when participant is on hold. | | Muted optional | Whether or not the participant is muted. Possible values are true or false. | ## Examples ### Request shell curl https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json \ -X POST \ -u YourProjectID:YourAuthToken javascript const { RestClient } = require(@signalwire/compatibility-api) const client = RestClient(YourProjectID, YourAuthToken, { signalwireSpaceUrl: example.signalwire.com }) client.conferences(ConferenceSid) .participants(CallSid) .update() .then(participant => console.log(participant.callSid)) .done(); csharp using System; using System.Collections.Generic; using Twilio; using Twilio.Rest.Api.V2010.Account.Conference; class Program { static void Main(string[] args) { TwilioClient.Init(YourProjectID, YourAuthToken, new Dictionary { [signalwireSpaceUrl] = {SPACE}.signalwire.com }); var participant = ParticipantResource.Update( ); Console.WriteLine(participant.CallSid); } } python from signalwire.rest import Client as signalwire_client client = signalwire_client(YourProjectID, YourAuthToken, signalwire_space_url = example.signalwire.com) participant = client.conferences(ConferenceSid) \ .participants(CallSid) \ .update() print(participant.call_sid) ruby require signalwire/sdk @client = Signalwire::REST::Client.new YourProjectID, YourAuthToken, signalwire_space_url: example.signalwire.com participant = @client.conferences(ConferenceSid) .participants(CallSid) .update() puts participant.call_sid ### Request: Coaching a Participant > Coaching a Participant shell curl https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json \ -X POST \ --data-urlencode Muted=False \ --data-urlencode Coaching=True \ --data-urlencode Beep=False \ --data-urlencode CallSidToCoach=CallSidToCoach \ -u YourProjectID:YourAuthToken javascript const { RestClient } = require(@signalwire/compatibility-api) const client = RestClient(YourProjectID, YourAuthToken, { signalwireSpaceUrl: example.signalwire.com }) client.conferences(ConferenceSid) .participants(CallSid) .update({Muted: false, Coaching: true, Beep: false, CallSidToCoach: CallSidToCoach}) .then(participant => console.log(participant.callSid)) .done(); csharp using System; using System.Collections.Generic; using Twilio; using Twilio.Rest.Api.V2010.Account.Conference; class Program { static void Main(string[] args) { TwilioClient.Init(YourProjectID, YourAuthToken, new Dictionary { [signalwireSpaceUrl] = {SPACE}.signalwire.com }); var participant = ParticipantResource.Update( muted: false, coaching: true, callSidToCoach: CallSidToCoach, beep: false, ); Console.WriteLine(participant.CallSid); } } python from signalwire.rest import Client as signalwire_client client = signalwire_client(YourProjectID, YourAuthToken, signalwire_space_url = example.signalwire.com) participant = client.conferences(ConferenceSid) \ .participants(CallSid) \ .update(muted=False, coaching=True, beep=False, callSidToCoach=callSidToCoach) print(participant.call_sid) ruby require signalwire/sdk @client = Signalwire::REST::Client.new YourProjectID, YourAuthToken, signalwire_space_url: example.signalwire.com participant = @client.conferences(ConferenceSid) .participants(CallSid) .update(muted: false, coaching: true, beep: false, callSidToCoach: CallSidToCoach) puts participant.call_sid #### Responses 200 OK
json { date_created: Mon, 24 Sept 2018 21:00:00 +0000, date_updated: Tue, 25 Sept 2018 20:00:00 +0000, end_conference_on_exit: false, muted: false, hold: false, status: complete, start_conference_on_enter: true, coaching: true, call_sid_to_coach: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, uri: /api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472pa/Participants/b3877c40-da60-4998-90ad-b792e98472ca.json } ### Request: Monitoring a Conference > Monitoring a Conference shell curl https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json \ -X POST \ --data-urlencode Muted=True \ --data-urlencode Coaching=True \ --data-urlencode Beep=False \ --data-urlencode CallSidToCoach=CallSidToCoach \ -u YourProjectID:YourAuthToken javascript const { RestClient } = require(@signalwire/compatibility-api) const client = RestClient(YourProjectID, YourAuthToken, { signalwireSpaceUrl: example.signalwire.com }) client.conferences(ConferenceSid) .participants(CallSid) .update({muted: true, coaching: true, beep: false, callSidToCoach: CallSidToCoach}) .then(participant => console.log(participant.callSid)) .done(); csharp using System; using System.Collections.Generic; using Twilio; using Twilio.Rest.Api.V2010.Account.Conference; class Program { static void Main(string[] args) { TwilioClient.Init(YourProjectID, YourAuthToken, new Dictionary { [signalwireSpaceUrl] = {SPACE}.signalwire.com }); var participant = ParticipantResource.Update( muted: true, coaching: true, beep: false, callSidToCoach: CallSidToCoach, ); Console.WriteLine(participant.CallSid); } } python from signalwire.rest import Client as signalwire_client client = signalwire_client(YourProjectID, YourAuthToken, signalwire_space_url = example.signalwire.com) participant = client.conferences(ConferenceSid) \ .participants(CallSid) \ .update(muted=True, coaching=True, beep=False, callSidToCoach=CallSidToCoach) print(participant.call_sid) ruby require signalwire/sdk @client = Signalwire::REST::Client.new YourProjectID, YourAuthToken, signalwire_space_url: example.signalwire.com participant = @client.conferences(ConferenceSid) .participants(CallSid) .update(muted: true, coaching: true, beep: false, callSidToCoach: CallSidToCoach) puts participant.call_sid #### Responses 200 OK
json { date_created: Mon, 24 Sept 2018 21:00:00 +0000, date_updated: Tue, 25 Sept 2018 20:00:00 +0000, end_conference_on_exit: false, muted: true, hold: false, status: complete, start_conference_on_enter: true, coaching: true, call_sid_to_coach: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, uri: /api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472pa/Participants/b3877c40-da60-4998-90ad-b792e98472ca.json } ### Request: Barge a Conference > Barge a Conference shell curl https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json \ -X POST \ --data-urlencode Muted=False \ --data-urlencode Coaching=False \ -u YourProjectID:YourAuthToken javascript const { RestClient } = require(@signalwire/compatibility-api) const client = RestClient(YourProjectID, YourAuthToken, { signalwireSpaceUrl: example.signalwire.com }) client.conferences(ConferenceSid) .participants(CallSid) .update({muted: false, coaching: false, callSidToCoach: }) .then(participant => console.log(participant.callSid)) .done(); csharp using System; using System.Collections.Generic; using Twilio; using Twilio.Rest.Api.V2010.Account.Conference; class Program { static void Main(string[] args) { TwilioClient.Init(YourProjectID, YourAuthToken, new Dictionary { [signalwireSpaceUrl] = {SPACE}.signalwire.com }); var participant = ParticipantResource.Update( muted: false, coaching: false, ); Console.WriteLine(participant.CallSid); } } python from signalwire.rest import Client as signalwire_client client = signalwire_client(YourProjectID, YourAuthToken, signalwire_space_url = example.signalwire.com) participant = client.conferences(ConferenceSid) \ .participants(CallSid) \ .update(muted=False, coaching=False) print(participant.call_sid) ruby require signalwire/sdk @client = Signalwire::REST::Client.new YourProjectID, YourAuthToken, signalwire_space_url: example.signalwire.com participant = @client.conferences(ConferenceSid) .participants(CallSid) .update(muted: false, coaching: false) puts participant.call_sid #### Responses 200 OK
json { date_created: Mon, 24 Sept 2018 21:00:00 +0000, date_updated: Tue, 25 Sept 2018 20:00:00 +0000, end_conference_on_exit: false, muted: false, hold: false, status: complete, start_conference_on_enter: true, coaching: false, uri: /api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472pa/Participants/b3877c40-da60-4998-90ad-b792e98472ca.json } ### Request: Mute a Participant > Mute a Participant shell curl https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json \ -X POST \ --data-urlencode Muted=True \ -u YourProjectID:YourAuthToken javascript const { RestClient } = require(@signalwire/compatibility-api) const client = RestClient(YourProjectID, YourAuthToken, { signalwireSpaceUrl: example.signalwire.com }) client.conferences(ConferenceSid) .participants(CallSid) .update({muted: true}) .then(participant => console.log(participant.callSid)) .done(); csharp using System; using System.Collections.Generic; using Twilio; using Twilio.Rest.Api.V2010.Account.Conference; class Program { static void Main(string[] args) { TwilioClient.Init(YourProjectID, YourAuthToken, new Dictionary { [signalwireSpaceUrl] = {SPACE}.signalwire.com }); var participant = ParticipantResource.Update( muted: true, ); Console.WriteLine(participant.CallSid); } } python from signalwire.rest import Client as signalwire_client client = signalwire_client(YourProjectID, YourAuthToken, signalwire_space_url = example.signalwire.com) participant = client.conferences(ConferenceSid) \ .participants(CallSid) \ .update(muted=True) print(participant.call_sid) ruby require signalwire/sdk @client = Signalwire::REST::Client.new YourProjectID, YourAuthToken, signalwire_space_url: example.signalwire.com participant = @client.conferences(ConferenceSid) .participants(CallSid) .update(muted: true) puts participant.call_sid #### Responses 200 OK
json { date_created: Mon, 24 Sept 2018 21:00:00 +0000, date_updated: Tue, 25 Sept 2018 20:00:00 +0000, end_conference_on_exit: false, muted: true, hold: false, status: complete, start_conference_on_enter: true, coaching: false, call_sid_to_coach: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, uri: /api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472pa/Participants/b3877c40-da60-4998-90ad-b792e98472ca.json } ### Request: Put a Participant on Hold In this example, we will place a participant in an active conference on hold and play hold music. shell curl https://example.signalwire.com/api/laml/2010-04-01/Accounts/{AccountSid}/Conferences/{ConferenceSid}/Participants/{CallSid}.json \ -X POST \ --data-urlencode Hold=True \ --data-urlencode HoldUrl=http://www.your-application.com/hold \ -u YourProjectID:YourAuthToken javascript const { RestClient } = require(@signalwire/compatibility-api) const client = RestClient(YourProjectID, YourAuthToken, { signalwireSpaceUrl: example.signalwire.com }) client.conferences(ConferenceSid) .participants(CallSid) .update({hold: true, holdUrl: http://www.your-application.com/hold}) .then(participant => console.log(participant.callSid)) .done(); csharp using System; using System.Collections.Generic; using Twilio; using Twilio.Rest.Api.V2010.Account.Conference; class Program { static void Main(string[] args) { TwilioClient.Init(YourProjectID, YourAuthToken, new Dictionary { [signalwireSpaceUrl] = {SPACE}.signalwire.com }); var participant = ParticipantResource.Update( hold: true, holdUrl: new Uri(http://www.your-application.com/hold), ); Console.WriteLine(participant.CallSid); } } python from signalwire.rest import Client as signalwire_client client = signalwire_client(YourProjectID, YourAuthToken, signalwire_space_url = example.signalwire.com) participant = client.conferences(ConferenceSid) \ .participants(CallSid) \ .update(hold=True, hold_url=http://www.your-application.com/hold) print(participant.call_sid) ruby require signalwire/sdk @client = Signalwire::REST::Client.new YourProjectID, YourAuthToken, signalwire_space_url: example.signalwire.com participant = @client.conferences(ConferenceSid) .participants(CallSid) .update(hold: true, hold_url: http://www.your-application.com/hold) puts participant.call_sid #### Responses 200 OK
json { date_created: Mon, 24 Sept 2018 21:00:00 +0000, date_updated: Tue, 25 Sept 2018 20:00:00 +0000, end_conference_on_exit: false, muted: false, hold: true, hold_url: http://www.your-application.com/hold, status: complete, start_conference_on_enter: true, uri: /api/laml/2010-04-01/Accounts/b3877c40-da60-4998-90ad-b792e98472af/Conferences/b3877c40-da60-4998-90ad-b792e98472pa/Participants/b3877c40-da60-4998-90ad-b792e98472ca.json }