Recording Events

Analytics APIs can be used to fetch the recording events similar to webhook

Currently there is support for beam.recording.success event. This event is sent when beam successfully records the room and uploads the video to storage.

GEThttps://api.100ms.live/v2/analytics/events
curl --location --request GET \ 'https://api.100ms.live/v2/analytics/events?type=beam.recording.success&room_id=<room_id>' \ --header 'Authorization: Bearer <management_token>'

Allowed Filters

To be specified as query parameters

NameTypeDescriptionRequired
typestringType of events to be fetched (valid values beam.recording.success)yes
room_idstringUnique identifier of the room you wish to fetch events foryes
session_idstringUnique session identifier (Can be found in using sessions APIs)no
peer_idstringUnique identifier of peer/participantno
beam_idstringUnique beam idno
limitintDetermines the number of event objects to be included in response (Default:10, Min: 1, Max: 100)no
startstringSpecify next value from the last response to get next set of result.no

Recording Event Object

AttributeTypeDescription
beam_idstringUnique beam id

Example: 61d3def54b616982bd80ed83
room_idstring100ms assigned room id

Example: 5f9edc6ac238215aec2312df
peer_idstring100ms assigned id to identify the joining user

Example: bd0c76fd-1ab1-4d7d-ab8d-bbfa74b620c4
session_idstring100ms assigned id to identify the session

Example: 5f9edc6bd238215aec7700df
template_idstringTemplate ID of the room

Example: 66112497abcd52312556c4gg
created_attimestamp (in UTC)Timestamp at which recording was created

Example: 2020-11-11T17:12:17Z
durationintDuration of beam recording (seconds)

Example: 79
locationstring(Deprecated, use recording_presigned_url) HTTPS URL to recorded session file on storage bucket

Example: https://upload-location/bucket/beam/ac.mp4\*
started_attimestamp (in UTC)Beam recording started at

Example: 2020-11-11T17:12:27Z
stopped_attimestamp (in UTC)Beam recording stopped at

Example: 2020-11-11T17:32:15Z
max_widthintMaximum width of the screen supported for recording in pixels

Example: 1280
max_heightintMaximum height of the screen supported for recording in pixels

Example: 720
recording_pathstringUpload path of the recorded video such as s3 URI

Example: s3://bucket/prefix/ac.mp4
recording_presigned_urlstringPresigned URL for the recorded video, for download

Example: https://upload-location/bucket/ac.mp4
meeting_urlstringmeeting_url provided at rtmp start

Example: https://app.100ms.live/room_id
rtmparrayList of RTMP objects provided at rtmp start

Example: [{"url": "http://test.com"}]
session_started_attimestamp (in UTC)Timestamp when session started

Example: 2020-11-11T16:32:17Z
sizeintSize of the recording (in bytes)

Example: 10024
RESPONSE
Status: 200 OK
{ "limit": 1, "total": 1, "next": "", "events": [ { "version": "2.0", "id": "f3f18235-058c-432b-b8c2-8344c92743f6", "timestamp": "2023-01-09T06:18:29.462240675Z", "type": "beam.recording.success", "data": { "beam_id": "63bbb18fac740d9e9da5b4e9", "room_id": "639924066893d18d47c86935", "session_id": "63bbb18057b67ff2f92480b4", "peer_id": "03a9c974-de21-49c0-8aa1-99a0db86794d", "template_id": "639924068e1ce361bfce18a2", "created_at": "2023-01-09T06:18:28.933778219Z", "duration": 33, "started_at": "2023-01-09T06:17:51.686Z", "stopped_at": "2023-01-09T06:18:24.821Z", "max_width": 1280, "max_height": 720, "recording_path": "s3://bucket/prefix/ac.mp4", "recording_presigned_url": "https://<file access URL>", "meeting_url": "https://app.100ms.live/preview/rpe-pwl-akt?token=beam_recording", "rtmp": [{ "url": "http://test.com" }], "session_started_at": "2023-01-09T06:17:36.823Z", "size": 15316104 } } ] }

Postman collection

You can use our Postman collection to start exploring 100ms APIs.

Run in Postman

Refer to the Postman guide to get started with 100ms API collection.


Have a suggestion? Recommend changes ->

Run in postman

Was this helpful?

1234