This documentation is for reference only. We are no longer onboarding new customers to Programmable Video. Existing customers can continue to use the product until December 5, 2026.
We recommend migrating your application to the API provided by our preferred video partner, Zoom. We've prepared this migration guide to assist you in minimizing any service disruption.
The Participants resource is a subresource of a Rooms instance resource. It represents participants currently connected to a given Room. A Participant instance resource represents an individual Room participant.
The Participant Instance resource lets you kick Participants out of a Room they are connected to. You can query the Participants List resource to get a list of participants currently connected
to the Room. You can also get a list of Participants that are disconnected
from the Room.
This resource represents a single Room participant, identified by the ParticipantSid or a ParticipantIdentity.
1/v1/Rooms/{RoomNameOrSid}/Participants/{ParticipantIdentityOrSid}/2
The unique string that we created to identify the RoomParticipant resource.
^PA[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The SID of the participant's room.
^RM[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The SID of the Account that created the RoomParticipant resource.
^AC[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The status of the Participant. Can be: connected
or disconnected
.
connected
disconnected
The application-defined string that uniquely identifies the resource's User within a Room. If a client joins with an existing Identity, the existing client is disconnected. See access tokens and limits for more info.
The date and time in GMT when the resource was created specified in ISO 8601 format.
The date and time in GMT when the resource was last updated specified in ISO 8601 format.
The time of participant connected to the room in ISO 8601 format.
The time when the participant disconnected from the room in ISO 8601 format.
The duration in seconds that the participant was connected
. Populated only after the participant is disconnected
.
The URLs of related resources.
Returns a single Participant resource represented by {ParticipantNameOrSid}
GET /Participants/{ParticipantIdentity}
implicitly searches only connected
Participants for the given ParticipantIdentity
and returns either an instance or a 404.
Will return the Participant instance object for the Participant Alice
whose Status is connected
, from the in-progress
Room named DailyStandup
.
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 fetchRoomParticipant() {11const participant = await client.video.v112.rooms("DailyStandup")13.participants("Alice")14.fetch();1516console.log(participant.sid);17}1819fetchRoomParticipant();
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"room_sid": "DailyStandup",4"date_created": "2015-07-30T20:00:00Z",5"date_updated": "2015-07-30T20:00:00Z",6"start_time": "2015-07-30T20:00:00Z",7"end_time": null,8"sid": "Alice",9"identity": "bob",10"status": "connected",11"url": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",12"duration": null,13"links": {14"published_tracks": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/PublishedTracks",15"subscribed_tracks": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SubscribedTracks",16"subscribe_rules": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SubscribeRules",17"anonymize": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Anonymize"18}19}
Modifies a Participant resource.
application/x-www-form-urlencoded
The new status of the resource. Can be: connected
or disconnected
. For in-progress
Rooms the default Status is connected
, for completed
Rooms only disconnected
Participants are returned.
connected
disconnected
Update a Participant's status to disconnected
to remove the Participant from a Room.
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 updateRoomParticipant() {11const participant = await client.video.v112.rooms("DailyStandup")13.participants("Alice")14.update({ status: "disconnected" });1516console.log(participant.sid);17}1819updateRoomParticipant();
1{2"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"room_sid": "DailyStandup",4"date_created": "2017-07-30T20:00:00Z",5"date_updated": "2017-07-30T20:00:00Z",6"start_time": "2017-07-30T20:00:00Z",7"end_time": "2017-07-30T20:00:01Z",8"sid": "Alice",9"identity": "alice",10"status": "disconnected",11"url": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",12"duration": 1,13"links": {14"published_tracks": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/PublishedTracks",15"subscribed_tracks": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SubscribedTracks",16"subscribe_rules": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/SubscribeRules",17"anonymize": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants/PAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Anonymize"18}19}
1/v1/Rooms/{RoomNameOrSid}/Participants/2
Returns a list of Participant resources associated with this Room. The list includes paging information. You can filter the results by providing query string parameters.
The following GET
query string parameters allow you to limit the list returned. Note, parameters are case-sensitive.
The SID of the room with the Participant resources to read.
Read only the participants with this status. Can be: connected
or disconnected
. For in-progress
Rooms the default Status is connected
, for completed
Rooms only disconnected
Participants are returned.
connected
disconnected
Read only Participants that started after this date in ISO 8601 format.
Read only Participants that started before this date in ISO 8601 format.
How many resources to return in each list page. The default is 50, and the maximum is 1000.
1
Maximum: 1000
The 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 listRoomParticipant() {11const participants = await client.video.v112.rooms("DailyStandup")13.participants.list({14status: "connected",15limit: 20,16});1718participants.forEach((p) => console.log(p.sid));19}2021listRoomParticipant();
1{2"participants": [],3"meta": {4"page": 0,5"page_size": 50,6"first_page_url": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants?PageSize=50&Page=0",7"previous_page_url": null,8"url": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants?PageSize=50&Page=0",9"next_page_url": null,10"key": "participants"11}12}
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 listRoomParticipant() {11const participants = await client.video.v112.rooms("DailyStandup")13.participants.list({14status: "disconnected",15limit: 20,16});1718participants.forEach((p) => console.log(p.sid));19}2021listRoomParticipant();
1{2"participants": [],3"meta": {4"page": 0,5"page_size": 50,6"first_page_url": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants?PageSize=50&Page=0",7"previous_page_url": null,8"url": "https://video.twilio.com/v1/Rooms/RMaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Participants?PageSize=50&Page=0",9"next_page_url": null,10"key": "participants"11}12}