## 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. ### Parameters - `appID string` The app identifier tag. - `sessionID string` - `participantID string` - `params SessionGetSessionParticipantDetailsParams` - `AccountID param.Field[string]` Path param: The account identifier tag. - `Filters param.Field[SessionGetSessionParticipantDetailsParamsFilters]` 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]` Query param: if true, response includes all the peer events of participant. ### Returns - `type SessionGetSessionParticipantDetailsResponse struct{…}` - `Data SessionGetSessionParticipantDetailsResponseData` - `Participant SessionGetSessionParticipantDetailsResponseDataParticipant` - `ID string` Participant ID. This maps to the corresponding peerId. - `CreatedAt string` timestamp when this participant was created. - `CustomParticipantID string` ID passed by client to create this participant. - `DisplayName string` Display name of participant when joining the session. - `Duration float64` number of minutes for which the participant was in the session. - `JoinedAt string` timestamp at which participant joined the session. - `LeftAt string` timestamp at which participant left the session. - `PeerStats SessionGetSessionParticipantDetailsResponseDataParticipantPeerStats` - `Config string` - `DeviceInfo SessionGetSessionParticipantDetailsResponseDataParticipantPeerStatsDeviceInfo` - `Browser string` - `BrowserVersion string` - `CPUs float64` - `Engine string` - `IsMobile bool` - `Memory float64` - `OS string` - `OSVersion string` - `SDKName string` - `SDKVersion string` - `UserAgent string` - `WebglSupport string` - `Events []SessionGetSessionParticipantDetailsResponseDataParticipantPeerStatsEvent` - `Timestamp string` - `Type string` - `IPInformation SessionGetSessionParticipantDetailsResponseDataParticipantPeerStatsIPInformation` - `City string` - `Country string` - `IPLocation string` - `IPV4 string` - `Org string` - `Portal string` - `Region string` - `Timezone string` - `PrecallNetworkInformation SessionGetSessionParticipantDetailsResponseDataParticipantPeerStatsPrecallNetworkInformation` - `BackendRTT float64` - `EffectiveNetworktype string` - `FractionalLoss float64` - `Jitter float64` - `ReflexiveConnectivity bool` - `RelayConnectivity bool` - `RTT float64` - `Throughtput float64` - `TURNConnectivity bool` - `Status string` - `PresetName string` Name of the preset associated with the participant. - `QualityStats []SessionGetSessionParticipantDetailsResponseDataParticipantQualityStat` - `AudioBandwidth float64` - `AudioPacketLoss float64` - `AudioStats []SessionGetSessionParticipantDetailsResponseDataParticipantQualityStatsAudioStat` - `ConcealmentEvents float64` - `Jitter float64` - `PacketsLost float64` - `Quality float64` - `Timestamp string` - `AverageQuality float64` - `End string` - `PeerID string` - `Start string` - `VideoBandwidth float64` - `VideoPacketLoss float64` - `VideoStats []SessionGetSessionParticipantDetailsResponseDataParticipantQualityStatsVideoStat` - `FrameHeight float64` - `FrameWidth float64` - `FramesDropped float64` - `FramesPerSecond float64` - `Jitter float64` - `PacketsLost float64` - `Quality float64` - `Timestamp string` - `UpdatedAt string` timestamp when this participant's data was last updated. - `UserID string` User id for this participant. - `Success bool` ### Example ```go 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) } ``` #### Response ```json { "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 } ```