participants()
Returns an object keyed by 'local' for the local participant and by session_id for each remote participant.
Return value
A unique identifier for this specific join event. This is Daily’s internal identifier, randomly generated on every
join() call. It is the key used in participants() and updateParticipant() as well as REST API endpoints. It is not stable across reconnects — if a participant leaves and rejoins, they will have a new session_id.The participant’s user ID if set via a meeting token; otherwise defaults to
session_id.The participant’s display name. Set via a meeting token,
DailyCallOptions, or setUserName().Optional custom data associated with the participant. Only present if explicitly set via
DailyCallOptions or setUserData().true for the local participant.true if the participant was granted owner status via a meeting token or was granted owner permissions.A JavaScript
Date object representing the time the participant joined the room. Not set until after the joined-meeting event. Note that the timestamp is set to the server’s clock time when the participant joins, so it may be slightly different from the local client’s clock.The current network quality state of the participant. For the local participant, this matches the
networkState value returned by getNetworkStats() and in the network-quality-change events.Describes the participant type for SIP, PSTN, and remote media player participants. Not set for standard web participants.
An object whose keys are track types (
'audio', 'video', 'screenAudio', 'screenVideo', plus any custom track names) and whose values are DailyTrackState objects describing subscription status, playback state, and the underlying MediaStreamTrack.An object describing what the participant is permitted to do — which media they can send, which streams they can receive, and which admin actions they can perform. See
DailyParticipantPermissions for the full field reference.