Skip to content
Start here

Fetch details of a participant

client.RealtimeKit.Sessions.GetSessionParticipantDetails(ctx, appID, sessionID, participantID, params) (*SessionGetSessionParticipantDetailsResponse, error)
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
participantID string
params SessionGetSessionParticipantDetailsParams
AccountID param.Field[string]

Path param: The account identifier tag.

maxLength32

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

const SessionGetSessionParticipantDetailsParamsFiltersDeviceInfo SessionGetSessionParticipantDetailsParamsFilters = "device_info"
const SessionGetSessionParticipantDetailsParamsFiltersIPInformation SessionGetSessionParticipantDetailsParamsFilters = "ip_information"
const SessionGetSessionParticipantDetailsParamsFiltersPrecallNetworkInformation SessionGetSessionParticipantDetailsParamsFilters = "precall_network_information"
const SessionGetSessionParticipantDetailsParamsFiltersEvents SessionGetSessionParticipantDetailsParamsFilters = "events"
const SessionGetSessionParticipantDetailsParamsFiltersQualityStats SessionGetSessionParticipantDetailsParamsFilters = "quality_stats"
IncludePeerEvents param.Field[bool]optional

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

ReturnsExpand Collapse
type SessionGetSessionParticipantDetailsResponse struct{…}
Data SessionGetSessionParticipantDetailsResponseDataoptional
Participant SessionGetSessionParticipantDetailsResponseDataParticipantoptional
ID stringoptional

Participant ID. This maps to the corresponding peerId.

CreatedAt stringoptional

timestamp when this participant was created.

CustomParticipantID stringoptional

ID passed by client to create this participant.

DisplayName stringoptional

Display name of participant when joining the session.

Duration float64optional

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

JoinedAt stringoptional

timestamp at which participant joined the session.

LeftAt stringoptional

timestamp at which participant left the session.

PeerStats SessionGetSessionParticipantDetailsResponseDataParticipantPeerStatsoptional
Config stringoptional
DeviceInfo SessionGetSessionParticipantDetailsResponseDataParticipantPeerStatsDeviceInfooptional
Browser stringoptional
BrowserVersion stringoptional
CPUs float64optional
Engine stringoptional
IsMobile booloptional
Memory float64optional
OS stringoptional
OSVersion stringoptional
SDKName stringoptional
SDKVersion stringoptional
UserAgent stringoptional
WebglSupport stringoptional
Events []SessionGetSessionParticipantDetailsResponseDataParticipantPeerStatsEventoptional
Timestamp stringoptional
Type stringoptional
IPInformation SessionGetSessionParticipantDetailsResponseDataParticipantPeerStatsIPInformationoptional
City stringoptional
Country stringoptional
IPLocation stringoptional
IPV4 stringoptional
Org stringoptional
Portal stringoptional
Region stringoptional
Timezone stringoptional
PrecallNetworkInformation SessionGetSessionParticipantDetailsResponseDataParticipantPeerStatsPrecallNetworkInformationoptional
BackendRTT float64optional
EffectiveNetworktype stringoptional
FractionalLoss float64optional
Jitter float64optional
ReflexiveConnectivity booloptional
RelayConnectivity booloptional
RTT float64optional
Throughtput float64optional
TURNConnectivity booloptional
Status stringoptional
PresetName stringoptional

Name of the preset associated with the participant.

QualityStats []SessionGetSessionParticipantDetailsResponseDataParticipantQualityStatoptional
AudioBandwidth float64optional
AudioPacketLoss float64optional
AudioStats []SessionGetSessionParticipantDetailsResponseDataParticipantQualityStatsAudioStatoptional
ConcealmentEvents float64optional
Jitter float64optional
PacketsLost float64optional
Quality float64optional
Timestamp stringoptional
AverageQuality float64optional
End stringoptional
PeerID stringoptional
Start stringoptional
VideoBandwidth float64optional
VideoPacketLoss float64optional
VideoStats []SessionGetSessionParticipantDetailsResponseDataParticipantQualityStatsVideoStatoptional
FrameHeight float64optional
FrameWidth float64optional
FramesDropped float64optional
FramesPerSecond float64optional
Jitter float64optional
PacketsLost float64optional
Quality float64optional
Timestamp stringoptional
UpdatedAt stringoptional

timestamp when this participant's data was last updated.

UserID stringoptional

User id for this participant.

Success booloptional

Fetch details of a participant

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/realtime_kit"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  response, err := client.RealtimeKit.Sessions.GetSessionParticipantDetails(
    context.TODO(),
    "app_id",
    "session_id",
    "participant_id",
    realtime_kit.SessionGetSessionParticipantDetailsParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", 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_stats": {
        "config": "config",
        "device_info": {
          "browser": "browser",
          "browser_version": "browser_version",
          "cpus": 0,
          "engine": "engine",
          "is_mobile": true,
          "memory": 0,
          "os": "os",
          "os_version": "os_version",
          "sdk_name": "sdk_name",
          "sdk_version": "sdk_version",
          "user_agent": "user_agent",
          "webgl_support": "webgl_support"
        },
        "events": [
          {
            "timestamp": "timestamp",
            "type": "type"
          }
        ],
        "ip_information": {
          "city": "city",
          "country": "country",
          "ip_location": "ip_location",
          "ipv4": "ipv4",
          "org": "org",
          "portal": "portal",
          "region": "region",
          "timezone": "timezone"
        },
        "precall_network_information": {
          "backend_rtt": 0,
          "effective_networktype": "effective_networktype",
          "fractional_loss": 0,
          "jitter": 0,
          "reflexive_connectivity": true,
          "relay_connectivity": true,
          "rtt": 0,
          "throughtput": 0,
          "turn_connectivity": true
        },
        "status": "status"
      },
      "preset_name": "preset_name",
      "quality_stats": [
        {
          "audio_bandwidth": 0,
          "audio_packet_loss": 0,
          "audio_stats": [
            {
              "concealment_events": 0,
              "jitter": 0,
              "packets_lost": 0,
              "quality": 0,
              "timestamp": "timestamp"
            }
          ],
          "average_quality": 0,
          "end": "end",
          "peer_id": "peer_id",
          "start": "start",
          "video_bandwidth": 0,
          "video_packet_loss": 0,
          "video_stats": [
            {
              "frame_height": 0,
              "frame_width": 0,
              "frames_dropped": 0,
              "frames_per_second": 0,
              "jitter": 0,
              "packets_lost": 0,
              "quality": 0,
              "timestamp": "timestamp"
            }
          ]
        }
      ],
      "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_stats": {
        "config": "config",
        "device_info": {
          "browser": "browser",
          "browser_version": "browser_version",
          "cpus": 0,
          "engine": "engine",
          "is_mobile": true,
          "memory": 0,
          "os": "os",
          "os_version": "os_version",
          "sdk_name": "sdk_name",
          "sdk_version": "sdk_version",
          "user_agent": "user_agent",
          "webgl_support": "webgl_support"
        },
        "events": [
          {
            "timestamp": "timestamp",
            "type": "type"
          }
        ],
        "ip_information": {
          "city": "city",
          "country": "country",
          "ip_location": "ip_location",
          "ipv4": "ipv4",
          "org": "org",
          "portal": "portal",
          "region": "region",
          "timezone": "timezone"
        },
        "precall_network_information": {
          "backend_rtt": 0,
          "effective_networktype": "effective_networktype",
          "fractional_loss": 0,
          "jitter": 0,
          "reflexive_connectivity": true,
          "relay_connectivity": true,
          "rtt": 0,
          "throughtput": 0,
          "turn_connectivity": true
        },
        "status": "status"
      },
      "preset_name": "preset_name",
      "quality_stats": [
        {
          "audio_bandwidth": 0,
          "audio_packet_loss": 0,
          "audio_stats": [
            {
              "concealment_events": 0,
              "jitter": 0,
              "packets_lost": 0,
              "quality": 0,
              "timestamp": "timestamp"
            }
          ],
          "average_quality": 0,
          "end": "end",
          "peer_id": "peer_id",
          "start": "start",
          "video_bandwidth": 0,
          "video_packet_loss": 0,
          "video_stats": [
            {
              "frame_height": 0,
              "frame_width": 0,
              "frames_dropped": 0,
              "frames_per_second": 0,
              "jitter": 0,
              "packets_lost": 0,
              "quality": 0,
              "timestamp": "timestamp"
            }
          ]
        }
      ],
      "updated_at": "updated_at",
      "user_id": "user_id"
    }
  },
  "success": true
}