Get run events
The problems the run reported, in order: frames it rejected and failures it hit. A run that went well has none. Only realtime sessions record them.
Authentication
Path parameters
The run’s ID: the session_id of a realtime session or the run_id of a file response.
Query parameters
The next_cursor of the previous page. Pass it back unchanged.
Response
The entries, in seq order.
What a run’s event log records. Every kind is something the run refused or that went wrong, so a run that went well has no events.
invalid_audio_frame: an audio frame was rejected. Audio only.invalid_image_frame: an image frame was rejected, or face detection failed on a frame and the session reportedinternal_error. Video only.rate_limited: media arrived faster than the send rate and a frame was rejected.inference_failed: a frame was skipped because its measurement failed, which the session reported asinternal_error. Video only.message_too_large: a message exceeded the size limit and the session ended.video_recording_abandoned: the server stopped storing the run’s frames or images; results were still delivered. Video only, and only on runs recorded before the server stopped emitting it.
Only realtime sessions record events. A file request that hits any other problem fails as a whole and reports it in the response instead.
Details, depending on kind: the reason a frame was rejected (detail), the size limit a message exceeded (limit_bytes), whether a measurement failure was temporary and how many failed in a row (retryable, consecutive), or why recording stopped (reason). Absent for rate_limited.
Whether some kind of event used up its per-run logging limit. Any later events of that kind were not logged, though there may have been none. When gaps is true, a false value cannot be relied on. capped_kinds names the kinds.
Whether entries are missing from the log: events that were numbered and never stored.
Absent on the last page. Pass it back as cursor for the next one.

