Error Events

Error events are crucial for diagnosing issues that users may encounter when joining or participating in calls. These events provide insights into specific problems faced by users and are invaluable for troubleshooting.

Following are the client error events which are currently supported by this API:-

  • client.publish.failed: This error is triggered when a peer is unable to successfully publish audio or video streams.
  • client.subscribe.failed: This error arises when a peer fails to subscribe to the audio or video streams of other participants.
  • client.join.failed: This error occurs when a peer is unable to join a room.
  • client.disconnected: This event indicates that a peer is disconnected from a room - either temporarily or permanently due to a network issue.
  • client.connect.failed: This error occurs when a peer fails to connect to our service.
GEThttps://api.100ms.live/v2/analytics/events
curl --location --request GET \ 'https://api.100ms.live/v2/analytics/events?type=client.publish.failed&room_id=<room_id>' \ --header 'Authorization: Bearer <management_token>'

Allowed Filters

Refer Overview for all the allowed filters.

Error Event Objects

client.publish.failed

AttributeTypeDescription
user_idstringThe unique identifier for the user within your system.
user_namestringThe name of the user.
peer_idstringThe unique identifier for the peer or participant.
account_idstringThe unique identifier associated with your 100ms account.
room_idstringThe unique identifier of the room (e.g., 5f9edc6bd238215aec7700df).
session_idstringThe unique identifier for the session (e.g., 5f9edc6bd238215aec7700df). Note that the session ID may not always be present in the response.
room_namestringThe name assigned to the room during its creation.
template_idstringThe unique identifier of the template associated with the room.
rolestringThe role assigned to the peer.
error_codeintThe error code as defined by 100ms (refer to the example in the sample response below).
error_namestringThe name of the error.
error_messagestringA brief description of the error encountered.
error_descriptionstringDetailed information about the error.
domainstringIdentifies the origin of the event, whether it was from a 100ms sample app or a custom application.
is_terminalboolIndicates whether the error was terminal. A false value implies that the 100ms SDK attempted retries, and this error event was not the final error. A true value means no further retries were made, and this error is considered final.
actionstringSpecifies the action during which the error occurred (e.g., PUBLISH for client.publish.failed).
audioobjectContains information about the audio configuration (see sample response below).
videoobjectContains information about the video configuration (see sample response below).
devicesobjectContains information about the user's devices (see sample response below).
agentobjectContains user agent information.

RESPONSE
Status: 200 OK
{ "limit": 2, "total": 3, "next": "8188be60-c167-4bd0-b185-8b81a05b2c76:XwAcfeI:0~x7HTVrLsQRN0ugJh_AxiC4dxVzxR-0vGNYb9igkdWk06u7UkM81EflINgHiZFPlWYRFaXkn3yPpHvvwimDdZLA==", "events": [ { "version": "2.0", "id": "00bbcf98-c52d-4346-8433-bf96371a7986", "timestamp": "2024-07-17T11:05:59.736511342Z", "type": "client.publish.failed", "data": { "user_id": "fd67bd8c-9925-4b83-8ade-e17f291b08ee", "user_name": "User 1", "peer_id": "27021c12-8635-4c13-b819-b3ecb736769a", "account_id": "51acb398a53602f378eaada1", "room_id": "92c2cb6676f8697398a6f694", "session_id": "5697a3eccbf384c702b76815", "room_name": "8584bd04-a259-4278-ac2d-73b055ee7447", "template_id": "62d2cb66088b0e92876a9149", "role": "host", "domain": "HMS", "is_terminal": false, "action": "PUBLISH", "error_code": 4006, "error_description": "local candidate - candidate:1267094175 1 udp 41886207 35.207.224.32 52563 typ relay raddr 91.73.195.6 rport 53039 generation 0 ufrag IC9l network-id 1 network-cost 10; remote candidate - candidate:2560537185 1 udp 2130706431 redacted-ip.invalid 26058 typ prflx generation 0 ufrag QuAbLBRCmuICEpDc", "error_message": "[PUBLISH]: Ice connection state DISCONNECTED", "error_name": "ICEDisconnected", "audio": { "maxBitrate": 0, "deviceId": "", "volume": 0, "codec": "" }, "devices": { "videoInput": [], "audioInput": [], "audioOutput": [] }, "video": { "deviceId": "", "maxFramerate": 0, "maxBitrate": 0, "codec": "", "height": 0, "width": 0 }, "agent": { "sdk": "web", "device_model": "Chrome_125.0.0.0", "os_version": "10.15.7", "is_prebuilt": true, "framework_version": "18.2.0", "os": "web_Mac_OS", "framework_sdk_version": "0.10.15", "string": "os:web_Mac_OS,os_version:10.15.7,sdk:web,sdk_version:0.12.15,device_model:Chrome_125.0.0.0,env:prod,domain:HMS,is_prebuilt:true,framework:react-web,framework_version:18.2.0,framework_sdk_version:0.10.15", "framework": "react-web", "domain": "HMS", "sdk_version": "0.12.15" } } }, { "version": "2.0", "id": "0c8f81c2-801d-4579-9767-98ac9934d4d4", "timestamp": "2024-07-17T11:05:59.841952201Z", "type": "client.subscribe.failed", "data": { "user_id": "fd67bd8c-9925-4b83-8ade-e17f291b08ee", "user_name": "User 2", "peer_id": "27021c12-8635-4c13-b819-b3ecb736769a", "account_id": "51acb398a53602f378eaada1", "room_id": "92c2cb6676f8697398a6f694", "session_id": "6697a3eccbf388b702b76815", "room_name": "8584bd04-a259-4278-ac2d-73b055ee7447", "template_id": "62c2cb66048b0e92876a9148", "role": "host", "error_code": 4006, "error_description": "local candidate - candidate:1568058436 1 udp 1686052607 91.73.195.6 55107 typ srflx raddr 10.140.12.51 rport 55107 generation 0 ufrag 5DOb network-id 1 network-cost 10; remote candidate - candidate:3724683490 1 udp 1694498815 35.207.211.107 35939 typ srflx raddr 0.0.0.0 rport 35939 generation 0 ufrag nZynmpgObuRNyUXX", "error_message": "[SUBSCRIBE]: Ice connection state DISCONNECTED", "error_name": "ICEDisconnected", "is_terminal": false, "action": "SUBSCRIBE", "agent": { "sdk": "web", "device_model": "Chrome_125.0.0.0", "os_version": "10.15.7", "is_prebuilt": true, "framework_version": "18.2.0", "os": "web_Mac_OS", "framework_sdk_version": "0.10.15", "string": "os:web_Mac_OS,os_version:10.15.7,sdk:web,sdk_version:0.12.15,device_model:Chrome_125.0.0.0,env:prod,domain:HMS,is_prebuilt:true,framework:react-web,framework_version:18.2.0,framework_sdk_version:0.10.15", "framework": "react-web", "domain": "HMS", "sdk_version": "0.12.15" } } } ] }

client.subscribe.failed

AttributeTypeDescription
user_idstringInternal identifier for the user.
user_namestringThe name of the user.
peer_idstringUnique identifier for the peer or participant.
account_idstringUnique identifier for your 100ms account.
room_idstringUnique identifier for the room (e.g., 5f9edc6bd238215aec7700df).
session_idstringUnique identifier for the session (e.g., 5f9edc6bd238215aec7700df). The session ID may or may not be present in the response.
room_namestringName of the room provided during its creation.
template_idstringUnique identifier for the template associated with the room.
rolestringThe role of the peer within the room.
error_codeintError code defined by 100ms (refer to the sample response for an example).
error_namestringThe name of the error.
error_messagestringThe message describing the error.
error_descriptionstringDetailed information about the error.
is_terminalboolIndicates whether this error is terminal: false if the 100ms SDK retried and this error event is not the final error, suggesting that the action might have succeeded in subsequent retries; true if no further retries were made, making this the final error.
actionstringThe action during which the error occurred (e.g., SUBSCRIBE in the case of client.subscribe.failed).
agentobjectInformation about the user agent.

RESPONSE
Status: 200 OK
{ "limit": 1, "total": 1, "next": "", "events": [ { "version": "2.0", "id": "0c8f81c2-801d-4579-9767-98ac9934d4d4", "timestamp": "2024-07-17T11:05:59.841952201Z", "type": "client.subscribe.failed", "data": { "user_id": "fd67bd8c-9925-4b83-8ade-e17f291b08ee", "user_name": "User 1", "peer_id": "27021c12-8635-4c13-b819-b3ecb736769a", "account_id": "51acb398a53602f378eaada1", "room_id": "92c2cb6676f8697398a6f694", "session_id": "6697a3eccbf384b702b76415", "room_name": "8584bd04-a259-4278-ac2d-73b055ee7447", "template_id": "62c2cb66048b0e92876a9148", "role": "host", "error_code": 4006, "error_description": "local candidate - candidate:1568058436 1 udp 1686052607 91.73.195.6 55107 typ srflx raddr 10.140.12.51 rport 55107 generation 0 ufrag 5DOb network-id 1 network-cost 10; remote candidate - candidate:3724683490 1 udp 1694498815 35.207.211.107 35939 typ srflx raddr 0.0.0.0 rport 35939 generation 0 ufrag nZynmpgObuRNyUXX", "error_message": "[SUBSCRIBE]: Ice connection state DISCONNECTED", "error_name": "ICEDisconnected", "is_terminal": false, "action": "SUBSCRIBE", "agent": { "sdk": "web", "device_model": "Chrome_125.0.0.0", "os_version": "10.15.7", "is_prebuilt": true, "framework_version": "18.2.0", "os": "web_Mac_OS", "framework_sdk_version": "0.10.15", "string": "os:web_Mac_OS,os_version:10.15.7,sdk:web,sdk_version:0.12.15,device_model:Chrome_125.0.0.0,env:prod,domain:HMS,is_prebuilt:true,framework:react-web,framework_version:18.2.0,framework_sdk_version:0.10.15", "framework": "react-web", "domain": "HMS", "sdk_version": "0.12.15" } } } ] }

client.join.failed

AttributeTypeDescription
user_idstringInternal identifier for the user.
user_namestringThe name of the user.
peer_idstringUnique identifier for the peer or participant.
account_idstringUnique identifier for your 100ms account.
room_idstringUnique identifier for the room (e.g., 5f9edc6bd238215aec7700df).
session_idstringUnique identifier for the session (e.g., 5f9edc6bd238215aec7700df). The session ID may or may not be present in the response.
room_namestringName of the room provided during its creation.
template_idstringUnique identifier for the template associated with the room.
rolestringThe role of the peer within the room.
error_codeintError code defined by 100ms (refer to the sample response for an example).
error_namestringThe name of the error.
error_messagestringMessage providing details about the error.
error_descriptionstringDetailed description of the error.
is_terminalboolIndicates whether this error is terminal: false if the 100ms SDK retried and this error event is not the final error, suggesting that the action might have succeeded in subsequent retries; true if no further retries were made, making this the final error.
domainstringIndicates whether the event originated from a 100ms sample app or a custom app.
actionstringThe action during which the error occurred (e.g., JOIN in the case of client.join.failed).
agentobjectInformation about the user agent.

RESPONSE
Status: 200 OK
{ "limit": 1, "total": 2, "next": "2da31f7e-3c21-4a0f-bdb3-6dd42f571ac5:SXsy87s:0~Cxn9G9I9AhU-Jl6RiYr-_XEmSYnnk-QL8CN5zeSsUognMk7lzk0yhtg-fKOvcQMjnNsqUbYnBoREUfXKQbtbqPvNCa_iwM9lr5jhmCepLzY=", "events": [ { "version": "2.0", "id": "55f109ae-8374-437e-86a9-695456a4836d", "timestamp": "2024-08-02T04:20:40.530450442Z", "type": "client.join.failed", "data": { "user_id": "84067887-d4a2-48d3-892a-2e16929f03d4", "user_name": "g2", "peer_id": "58ddb219-e3de-41f6-9511-a0bdf06823ef", "account_id": "61a4b18df0fd8f05f19aef53", "room_id": "65af97002889d74ef8d1e18f", "session_id": "66ac5e989b41849dde50f549", "room_name": "fa6f9811-ab92-4faa-b343-d6d078575cfd", "template_id": "649299b38fa2aaa45e69b777", "role": "host", "error_message": "sfu join failed", "error_code": 500, "error_description": "sfu join failed", "error_name": "ServerErrors", "action": "JOIN", "is_terminal": false, "domain": "HMS", "retries_join": 0, "agent": { "sdk": "web", "device_model": "Chrome_126.0.0.0", "os_version": "10.15.7", "is_prebuilt": true, "framework_version": "18.2.0", "os": "web_Mac_OS", "framework_sdk_version": "0.10.17-alpha.6", "string": "os:web_Mac_OS,os_version:10.15.7,sdk:web,sdk_version:0.12.17-alpha.6,device_model:Chrome_126.0.0.0,env:debug,domain:HMS,is_prebuilt:true,framework:react-web,framework_version:18.2.0,framework_sdk_version:0.10.17-alpha.6", "framework": "react-web", "domain": "HMS", "sdk_version": "0.12.17-alpha.6" } } } ] }

client.disconnected

AttributeTypeDescription
user_idstringInternal identifier for the user.
user_namestringName of the user.
peer_idstringUnique identifier for the peer or participant.
account_idstringUnique identifier for your 100ms account.
room_idstringUnique identifier for the room (e.g., 5f9edc6bd238215aec7700df).
session_idstringUnique identifier for the session (e.g., 5f9edc6bd238215aec7700df). The session ID may or may not be present in the response.
room_namestringName of the room provided during its creation.
template_idstringUnique identifier for the template associated with the room.
rolestringRole of the peer within the room.
error_codeintError code as defined by 100ms (refer to the sample response for an example).
error_namestringName of the error.
error_messagestringMessage detailing the error.
error_descriptionstringDetailed description of the error.
is_terminalboolIndicates whether this error is terminal: false means the 100ms SDK retried, and this error event is not final, suggesting that the action might have succeeded in subsequent retries; true means no further retries were made, making this the final error.
actionstringThe action during which the error occurred (e.g., RECONNECT_SIGNAL in the case of client.disconnected).
agentobjectInformation about the user agent.

RESPONSE
Status: 200 OK
{ "limit": 1, "total": 3, "next": "f336b3a1-bbe9-4257-9c3c-1c2c1901d20c:YEDOgVr:0~Cxn9G9I9AhU-Jl6RiYr-_XEmSYnnk-QLaATlXi0vy7OLhvS5cUMgjYSsXc5G4amqz925Lt-ABTT0h5Bbqt-UDrR4E24OYcbyr5jhmCepLzY=", "events": [ { "version": "2.0", "id": "fde7710d-75fd-48f3-8450-d2ddca12ccaf", "timestamp": "2024-04-18T08:00:02.044848646Z", "type": "client.disconnected", "data": { "user_id": "6433e0b1-ff1f-4e43-b29e-15949a044c17", "user_name": "admin", "peer_id": "f706256e-6fda-4543-96c4-3b48f03d1a92", "account_id": "61a4b18df0fd8f05f19aef53", "room_id": "65af97002889d74ef8d1e18f", "room_name": "fa6f9811-ab92-4faa-b343-d6d078575cfd", "template_id": "649299b38fa2aaa45e69b777", "role": "host", "transport_state": "Preview", "error_message": "Network connection lost ", "error_code": 1003, "error_description": "ping pong failure", "error_name": "WebSocketConnectionLost", "action": "RECONNECT_SIGNAL", "is_terminal": false, "agent": { "sdk": "web", "device_model": "Chrome_123.0.0.0", "os_version": "10.15.7", "is_prebuilt": true, "framework_version": "18.2.0", "os": "web_Mac_OS", "framework_sdk_version": "0.10.5-alpha.0", "string": "os:web_Mac_OS,os_version:10.15.7,sdk:web,sdk_version:0.12.5-alpha.0,device_model:Chrome_123.0.0.0,env:debug,domain:CUSTOM,is_prebuilt:true,framework:react-web,framework_version:18.2.0,framework_sdk_version:0.10.5-alpha.0", "framework": "react-web", "domain": "CUSTOM", "sdk_version": "0.12.5-alpha.0" } } } ] }

client.connect.failed

AttributeTypeDescription
user_idstringInternal identifier for the user.
user_namestringName of the user.
peer_idstringUnique identifier for the peer or participant.
account_idstringUnique identifier for your 100ms account.
room_idstringUnique identifier for the room (e.g., 5f9edc6bd238215aec7700df).
session_idstringUnique identifier for the session (e.g., 5f9edc6bd238215aec7700df). The session ID may or may not be present in the response.
room_namestringName of the room provided during its creation.
template_idstringUnique identifier for the template associated with the room.
rolestringRole of the peer within the room.
error_codeintError code as defined by 100ms (refer to the sample response for an example).
error_namestringName of the error.
error_messagestringMessage detailing the error.
error_descriptionstringDetailed description of the error.
is_terminalboolIndicates whether this error is terminal: false means the 100ms SDK retried, and this error event is not final, suggesting that the action might have succeeded in subsequent retries; true means no further retries were made, making this the final error.
actionstringThe action during which the error occurred (e.g., INIT in the case of client.connect.failed).
agentobjectInformation about the user agent.

RESPONSE
Status: 200 OK
{ "limit": 1, "total": 10, "next": "2f43b281-1d0b-4157-85f6-d05216d1301a:Jo0OBSY:0~Cxn9G9I9AhU-Jl6RiYr-_XEmSYnnk-QL_ozSXoDWOFQJP10f14MVPK6_dIi94hDGgiF5XMBckmug1hpeKCjD-Un6E822DxvYr5jhmCepLzY=", "events": [ { "version": "2.0", "id": "d043b29f-39e0-46b8-9c1e-4f38cbf3195d", "timestamp": "2024-07-04T12:36:48.073652876Z", "type": "client.connect.failed", "data": { "user_id": "832fb7d6-c5a4-43b1-8f1d-354a26ad9fa3", "user_name": "shubham", "peer_id": "b3f3c6bc-d942-4446-96dd-b7e141189e7a", "account_id": "61a4b18df0fd8f05f19aef53", "room_id": "65af97002889d74ef8d1e18f", "error_message": "Endpoint is not reachable - Failed to fetch", "endpoint": "", "transport_state": "Connecting", "action": "INIT", "error_name": "EndpointUnreachable", "error_code": 2003, "error_description": "Failed to fetch", "is_terminal": false, "agent": { "sdk": "web", "device_model": "Chrome_125.0.0.0", "os_version": "10.15.7", "is_prebuilt": true, "framework_version": "18.2.0", "os": "web_Mac_OS", "framework_sdk_version": "0.10.15-alpha.3", "string": "os:web_Mac_OS,os_version:10.15.7,sdk:web,sdk_version:0.12.15-alpha.3,device_model:Chrome_125.0.0.0,env:debug,domain:HMS,is_prebuilt:true,framework:react-web,framework_version:18.2.0,framework_sdk_version:0.10.15-alpha.3", "framework": "react-web", "domain": "HMS", "sdk_version": "0.12.15-alpha.3" } } } ] }

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