Number of APIs: 68
100ms collection includes API for our video components like rooms, sessions, policies, etc that are packaged and ready to use with Qodex, along with documentation for each API to help you learn about them. You can import/fork these APIs and start using them instantly. The API collection comes with predefined environment variables to help you get started immediately. 100ms uses management tokens to authenticate REST APIs. To create the management token, you must use the We have simplified the process of management token generation for you within this collection: Note: Refer to the authentication and tokens guide for more generating the management token in your preferred programming language for your development/production environment. You can refer to the detailed API reference to understand better about the request/response structure, request arguments, response variables, webhooks, etc.Welcome to 100ms server APIs
Authentication
App Access Key
and App Secret
from the developer section in your 100ms dashboard.Simplified token generation
APP_ACCESS_KEY
and APP_SECRET
;collection variable
(TOKEN) in the forked Qodex collection.API Reference
GET
GET {{HOST}}/v2/rooms/<ROOM_ID>
3. Room APIs - Get rooms created in timerange
GET {{HOST}}/v2/rooms?after=2022-01-01T01:00:00.000Z&before=2022-03-31T01:00:00.000Z&limit=20&start=6284eb3f119d5dbdd03ac068
POST {{HOST}}/v2/rooms
POST {{HOST}}/v2/rooms/<ROOM_ID>
6. Room code APIs - Get room codes
GET {{HOST}}/v2/room-codes/room/:room_id
7. Room code APIs - Create room codes for all roles
POST {{HOST}}/v2/room-codes/room/:room_id
8. Room code APIs - Create room codes for a role
POST {{HOST}}/v2/room-codes/room/:room_id/role/:role
9. Room code APIs - Update room code
POST https://api.100ms.live/v2/room-codes/code
10. Room code APIs - Get auth token for short code
POST https://auth.100ms.live/v2/token
11. Stream key APIs - Create stream key
POST {{HOST}}/v2/stream-keys/room/:room-id
12. Stream key APIs - Get stream key and RTMP URL
GET {{HOST}}/v2/stream-keys/room/:room-id
13. Stream key APIs - Disable stream key
POST {{HOST}}/v2/stream-keys/room/:room-id/disable
14. Session APIs - Get session by id
GET {{HOST}}/v2/sessions/:session_id
15. Session APIs - Get sessions started in timerange
GET {{HOST}}/v2/sessions?after=2022-01-01T01:00:00.000Z&before=2022-03-31T01:00:00.000Z
16. Recording assets APIs - Get recording asset
GET {{HOST}}/v2/recording-assets/:asset_id
17. Recording assets APIs - Get all recording assets
GET {{HOST}}/v2/recording-assets?status=failed
18. Recording assets APIs - Get presigned URL for recording
GET {{HOST}}/v2/recording-assets/:asset_id/presigned-url
19. Active room APIs - Get Active Room Details
GET {{HOST}}/v2/active-rooms/<room_id>
Retrieves the details of a specific active room. 100ms allows you to retrieve details of an active room with their ID.
20. Active room APIs - Get Peer Details
GET {{HOST}}/v2/active-rooms/:room_id/peers/:peer_id
Retrieves the details of a specific peer in an active room. You can use the peer_id to retrieve the details of the peer. Use retrieve active room state API to get the list of connected peers in an active room.
Note: You can leverage this API to retrieve the details of connected peers in an active room only. To retrieve details of the peers that left the session already, use the Retrieve a specific session API
21. Active room APIs - List Peers
GET {{HOST}}/v2/active-rooms/:room_id/peers
22. Active room APIs - Update Peer
POST {{HOST}}/v2/active-rooms/:room_id/peers/:peer_id
You can use this API to update the details of a connected peer, such as name, role, and metadata (custom/additional information to build real-time interactivity scenarios).
Name | Type | Description | Required |
---|---|---|---|
room_id — path param |
string |
Unique identifier of the room where the peer is active. Example: 627cda81ab4f3b56a077dc33 |
Yes |
peer_id — path param |
string |
Unique identifier of the peer/participant for which you wish to update details. Example: 1038fa72-9345-4651-beab-436f9242ebf4 |
Yes |
name — body param |
string |
The name of the peer used in the active session. | No |
role — body param |
string |
You can use this to update the role type of the peer. For example, to take the peer to a breakout room. | No |
metadata — body param |
object |
You can use a stringified JSON to update various custom/additional information to a peer such as businessuserid, raisehand/lowerhand info, and more | No |
23. Active room APIs - Send Message
POST {{HOST}}/v2/active-rooms/<room_id>/send-message
You can use this API to send messages to a single peer, a set of peers (a particular role), or all connected peers in the active room. This API supports arguments such as peer_id
and role
to implement this.
peer_id
is specified -- message will be sent only to the specified connected peer.role
is specified -- message will be sent to all the connected peers assigned with that particular role.peer_id
and role
are specified -- preference will be given to the peer_id and the message will be sent only to the specified connected peer.peer_id
and role
are not specified -- message(broadcast) will be sent to all the connected peers.Name | Type | Description | Required |
---|---|---|---|
room_id — path param |
string |
Unique identifier of the room where the peer is active. Example: 627cda81ab4f3b56a077dc33 |
Yes |
message — body param |
string |
Actual message to be sent. | Yes |
peer_id — path param |
string |
Unique identifier of the peer/participant for which you wish to send the message. Example: 1038fa72-9345-4651-beab-436f9242ebf4 |
No |
role — body param |
string |
You can use this to send the message to a set of peers (a particular role). | No |
type — body param |
string |
Indicates the type of message sent, for example, chat or emoji. | No |
peer.join.successwebhook event. Let's consider below scenario:
peer_id:
018b84da-0786-48c5-a3a6-02961d9eac03, // will send the data only to peerid specified.
message: "
,type
:customevent"
message: "
, // will send the data to all the peers in the active room as peer_id or role is not specified.type
:custom_event"
24. Active room APIs - Remove Peer
POST {{HOST}}/v2/active-rooms/:room_id/remove-peers
You can use this API to remove/disconnect a connected peer from an active room. 100ms provides options to disconnect a peer either with their peer_id or role.
peer_id
is specified -- respective connected peer will be disconnected from the active room.role
is specified -- all the connected peers assigned with that particular role will be disconnected from the active room.peer_id
and role
are specified -- preference will be given to the peer_id and the respective peer will be disconnected from the active room.peer_id
and role
are not specified -- you must specify peer_id or role for this request.Name | Type | Description | Required |
---|---|---|---|
room_id — path param |
string |
Unique identifier of the room to which the peer is connected. Example: 627cda81ab4f3b56a077dc33 |
Yes |
peer_id — body param |
string |
Unique identifier of the connected peer/participant you wish to remove from the active room. Example: fd9e87d8-5c7b-4750-932f-d8d2ff18b70b |
Conditional |
role — body param |
string |
You can use this to remove a list of connected peers with the specified role type from the active room. | Conditional |
reason — body param |
string |
You can specify the message to be passed to other connected peers in the active room. | No |
Note: Conditional Arguments
You should define either of these arguments (peer_id or role) in the payload for the request to be successful.
25. Active room APIs - End Active Room
POST {{HOST}}/v2/active-rooms/:room_id/end-room
Trigger this request to end an active room.
Name | Type | Description | Required |
---|---|---|---|
id — path param |
string |
Unique identifier of the room you wish to disable. Example: 627cda81ab4f3b56a077dc33 |
Yes |
reason — body param |
string |
Description to indicate the reason for ending the active room. | No |
lock — body param |
boolean |
Status of the room to be set. Allowed values : true, false. Default : false (ends the current active session only) |
No |
Warning: If you set the lock argument to
true
, it will end the active room and users will not be able to join the room later as well. You can use enable a room API or dashboard to enable the room again.
true
,
26. Recordings APIs - Start recording for a room
POST {{QA_HOST}}/v2/recordings/room/:room_id/start
27. Recordings APIs - Stop recording for a room
POST {{QA_HOST}}/v2/recordings/room/:room_id/stop
28. Recordings APIs - Stop recording by id
POST {{HOST}}/v2/recordings/:recording_id/stop
29. Recordings APIs - Get recording
GET {{HOST}}/v2/recordings/:recording_id
30. Recordings APIs - Get all recordings
GET {{HOST}}/v2/recordings
31. Recordings APIs - Get recording config
GET {{HOST}}/v2/recordings/:recording_id/config
32. Live streams APIs - Get all live streams
GET {{HOST}}/v2/live-streams
33. Live streams APIs - Send timed metadata for a live stream
POST {{HOST}}/v2/live-streams/:stream_id/timed-metadata
34. Live streams APIs - Pause live stream recording
POST {{HOST}}/v2/live-streams/:stream_id/pause-recording
35. Live streams APIs - Resume live stream recording
POST {{HOST}}/v2/live-streams/:stream_id/resume-recording
36. Live streams APIs - Stop all live streams for a room
POST {{HOST}}/v2/live-streams/room/:room_id/stop
37. Live streams APIs - Stop live stream by id
POST {{HOST}}/v2/live-streams/:job_id/stop
38. Live streams APIs - Get live stream
GET {{HOST}}/v2/live-streams/:stream_id
39. Live streams APIs - Start live stream for a room
POST {{HOST}}/v2/live-streams/room/:room_id/start
40. External streams APIs - Start external stream for a room
POST {{HOST}}/v2/external-streams/room/:room_id/start
41. External streams APIs - Stop external stream for a room
POST {{HOST}}/v2/external-streams/room/:room_id/stop
42. External streams APIs - Stop external stream by id
POST {{HOST}}/v2/external-streams/:stream_id/stop
43. External streams APIs - Get all external streams
GET {{HOST}}/v2/external-streams
44. External streams APIs - Get external stream
GET {{HOST}}/v2/external-streams/:stream_id
45. Analytics APIs - Get events
GET https://api.100ms.live/v2/analytics/events
POST {{HOST}}/v2/polls
GET {{HOST}}/v2/polls/:poll_id
POST {{HOST}}/v2/polls/:poll_id
49. Polls APIs - Update Poll Question
POST {{HOST}}/v2/polls/:poll_id/questions/:question_id
50. Polls APIs - Delete Poll Question
DELETE {{HOST}}/v2/polls/:poll_id/questions/:question_id
51. Polls APIs - Update Poll Option
POST {{HOST}}/v2/polls/:poll_id/questions/:question_id/options/:option_id
52. Polls APIs - Delete Poll Option
DELETE {{HOST}}/v2/polls/:poll_id/questions/:question_id/options/:option_id
53. Polls APIs - Get Poll Sessions
GET {{HOST}}/polls/:poll_id/sessions/:session_id
54. Polls APIs - Get Poll Results
GET {{HOST}}/polls/:poll_id/sessions/:session_id/results
55. Polls APIs - Get Poll Result
GET {{HOST}}/polls/:poll_id/sessions/:session_id/results/:result_id
56. Polls APIs - Get Poll Responses
GET {{HOST}}/polls/:poll_id/sessions/:session_id/responses
57. Polls APIs - Get Poll Response
GET {{HOST}}/polls/:poll_id/sessions/:session_id/responses/:response_id
58. Policy APIs - Get templates
GET {{HOST}}/v2/templates
59. Policy APIs - Get template by id
GET {{HOST}}/v2/templates/<TEMPLATE_ID>
60. Policy APIs - Create template
POST {{HOST}}/v2/templates
61. Policy APIs - Update template by id
POST {{HOST}}/v2/templates/<TEMPLATE_ID>
GET {{HOST}}/v2/templates/<TEMPLATE_ID>/roles/<ROLE_NAME>
63. Policy APIs - Create/update role
POST {{HOST}}/v2/templates/<TEMPLATE_ID>/roles/<ROLE_NAME>
DELETE {{HOST}}/v2/templates/<TEMPLATE_ID>/roles/<ROLE_NAME>
65. Policy APIs - Get settings
GET {{HOST}}/v2/templates/<TEMPLATE_ID>/settings
66. Policy APIs - Update settings
POST {{HOST}}/v2/templates/<TEMPLATE_ID>/settings
67. Policy APIs - Configure recordings
POST {{HOST}}/v2/templates/:template_id/recordings
68. Policy APIs - Get recordings
GET {{HOST}}/v2/templates/:template_id/recordings