Skip to main content
DailyParticipant represents a single participant in a Daily call. It is returned by participants() and included in the payload of participant events. Daily keeps this object up to date as media states, permissions, and network conditions change.

Properties

string
A unique identifier for this specific join event. Randomly generated on every join() call. Used as the key in participants() and updateParticipant(), and in REST API endpoints. Not stable across reconnects — if a participant leaves and rejoins, they get a new session_id.
string
A stable identifier for the user, settable via a meeting token. Persists across reconnects within the same call session. Defaults to session_id if not set via token.
string
The participant’s display name. Set via a meeting token, DailyCallOptions, or setUserName().
unknown
Arbitrary JSON data associated with the participant. Set via DailyCallOptions or setUserData().
boolean
true for the local participant. The local participant is always available at participants().local.
boolean
true when the participant joined with an owner-level meeting token or was granted owner permissions.
boolean
true when the participant is a cloud recording bot.
Date
Timestamp for when the participant joined the call. Not set until after the joined-meeting event. The timestamp reflects the server’s clock, so it may differ slightly from the local client’s clock.
Date
If the token or room has an expiration with eject_at_token_exp or eject_at_room_exp set to true, this is the timestamp when the participant will be ejected. If no ejection is configured, this is 0 (Dec 31, 1969). Note: this timestamp matches the client clock, not the server clock.
string | undefined
Set for non-human participants. Not present for standard web participants.
'good' | 'warning' | 'bad' | 'unknown'
The participant’s current network quality as assessed by Daily. Updated via network-quality-change events.
DailyParticipantTracks
All media track states for this participant. Keys are 'audio', 'video', 'screenAudio', 'screenVideo', and any custom track names. Values are DailyTrackState objects.
See DailyTrackState for the full field reference.
DailyParticipantPermissions
The participant’s current send, receive, and admin permissions. See DailyParticipantPermissions for the full field reference.

See also