Skip to content
Start here

Fetch details of a participant

client.realtimeKit.sessions.getSessionParticipantDetails(stringappId, stringsessionId, stringparticipantId, SessionGetSessionParticipantDetailsParams { account_id, filters, include_peer_events } params, RequestOptionsoptions?): SessionGetSessionParticipantDetailsResponse { data, success }
GET/accounts/{account_id}/realtime/kit/{app_id}/sessions/{session_id}/participants/{participant_id}

Returns details of the given participant ID along with call statistics for the given session ID.

Security

API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
Accepted Permissions (at least one required)
Realtime AdminRealtime
ParametersExpand Collapse
appId: string

The app identifier tag.

maxLength32
sessionId: string
formatuuid
participantId: string
formatuuid
params: SessionGetSessionParticipantDetailsParams { account_id, filters, include_peer_events }
account_id: string

Path param: The account identifier tag.

maxLength32
filters?: "device_info" | "ip_information" | "precall_network_information" | 2 more

Query param: Comma separated list of filters to apply. Note that there must be no spaces between the filters.

One of the following:
"device_info"
"ip_information"
"precall_network_information"
"events"
"quality_stats"
include_peer_events?: boolean

Query param: if true, response includes all the peer events of participant.

ReturnsExpand Collapse
SessionGetSessionParticipantDetailsResponse { data, success }
data?: Data { participant }
participant?: Participant { id, created_at, custom_participant_id, 8 more }
id?: string

Participant ID. This maps to the corresponding peerId.

created_at?: string

timestamp when this participant was created.

custom_participant_id?: string

ID passed by client to create this participant.

display_name?: string

Display name of participant when joining the session.

duration?: number

number of minutes for which the participant was in the session.

joined_at?: string

timestamp at which participant joined the session.

left_at?: string

timestamp at which participant left the session.

peer_events?: Array<PeerEvent>

Connection lifecycle events for the participant’s peer. Only included when include_peer_events is true.

id?: string

ID of the peer event.

created_at?: string

Timestamp when this peer event was created.

event_name?: "PEER_CREATED" | "PEER_JOINING" | "PEER_LEAVING"

Name of the peer event.

One of the following:
"PEER_CREATED"
"PEER_JOINING"
"PEER_LEAVING"
minutes_consumed?: number

Minutes consumed attributed to this event.

participant_id?: string | null

ID of the participant this event belongs to.

peer_id?: string

Peer ID this event belongs to.

preset_view_type?: "GROUP_CALL" | "WEBINAR" | "AUDIO_ROOM" | 2 more | null

View type of the preset associated with the peer.

One of the following:
"GROUP_CALL"
"WEBINAR"
"AUDIO_ROOM"
"LIVESTREAM"
"CHAT"
session_id?: string | null

ID of the session this event belongs to.

socket_session_id?: string | null

ID of the socket session associated with this event.

updated_at?: string

Timestamp when this peer event was last updated.

preset_name?: string

Name of the preset associated with the participant.

updated_at?: string

timestamp when this participant’s data was last updated.

user_id?: string

User id for this participant.

success?: boolean

Fetch details of a participant

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const response = await client.realtimeKit.sessions.getSessionParticipantDetails(
  'app_id',
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
  { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
);

console.log(response.data);
{
  "data": {
    "participant": {
      "id": "id",
      "created_at": "created_at",
      "custom_participant_id": "custom_participant_id",
      "display_name": "display_name",
      "duration": 0,
      "joined_at": "joined_at",
      "left_at": "left_at",
      "peer_events": [
        {
          "id": "id",
          "created_at": "created_at",
          "event_name": "PEER_CREATED",
          "minutes_consumed": 0,
          "participant_id": "participant_id",
          "peer_id": "peer_id",
          "preset_view_type": "GROUP_CALL",
          "session_id": "session_id",
          "socket_session_id": "socket_session_id",
          "updated_at": "updated_at"
        }
      ],
      "preset_name": "preset_name",
      "updated_at": "updated_at",
      "user_id": "user_id"
    }
  },
  "success": true
}
Returns Examples
{
  "data": {
    "participant": {
      "id": "id",
      "created_at": "created_at",
      "custom_participant_id": "custom_participant_id",
      "display_name": "display_name",
      "duration": 0,
      "joined_at": "joined_at",
      "left_at": "left_at",
      "peer_events": [
        {
          "id": "id",
          "created_at": "created_at",
          "event_name": "PEER_CREATED",
          "minutes_consumed": 0,
          "participant_id": "participant_id",
          "peer_id": "peer_id",
          "preset_view_type": "GROUP_CALL",
          "session_id": "session_id",
          "socket_session_id": "socket_session_id",
          "updated_at": "updated_at"
        }
      ],
      "preset_name": "preset_name",
      "updated_at": "updated_at",
      "user_id": "user_id"
    }
  },
  "success": true
}