# Video SDK
- **OpenAPI Version:** `3.1.0`
- **API Version:** `1.0.0`
**Subscribe to webhook events**
On your [Video SDK account page on the App Marketplace](/docs/video-sdk/developer-accounts/), under **Add feature**, toggle **Event Subscriptions** to subscribe to events [using webhooks](/docs/api/rest/webhook-reference/).
Configure webhooks to send [Video SDK events](/docs/video-sdk/webhooks/) to your server as HTTP POST requests. This is useful for tracking events or building out business logic. For example, when you receive a Video SDK session ended webhook, you could kick off an email to thank the participants for joining.
See [Make API requests](/docs/video-sdk/api-request/) for details or our [webhook sample code (Node.js)](https://github.com/zoom/webhook-sample).
## Operations
### POST session.user\_phone\_callout\_ringing
- **Method:** `POST`
- **Path:** `session.user_phone_callout_ringing`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`participant` (required)**
`object` — Information about the invited user.
- **`from_number` (required)**
`integer`, format: `int64` — The number used to call out to the invited user.
- **`invitee_name` (required)**
`string` — The user's name to display in the session.
- **`phone_number` (required)**
`integer`, format: `int64` — The user's phone number.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`user_key` (required)**
`string` — Another identifier for the inviter. Can be a number or characters.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user_key": "",
"host_id": "",
"participant": {
"invitee_name": "",
"phone_number": 1,
"from_number": 1
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`participant` (required)**
`object` — Information about the invited user.
- **`from_number` (required)**
`integer`, format: `int64` — The number used to call out to the invited user.
- **`invitee_name` (required)**
`string` — The user's name to display in the session.
- **`phone_number` (required)**
`integer`, format: `int64` — The user's phone number.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`user_key` (required)**
`string` — Another identifier for the inviter. Can be a number or characters.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user_key": "",
"host_id": "",
"participant": {
"invitee_name": "",
"phone_number": 1,
"from_number": 1
}
}
}
}
```
### POST session.user\_room\_system\_callout\_ringing
- **Method:** `POST`
- **Path:** `session.user_room_system_callout_ringing`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`inviter_name` (required)**
`string` — The user name of the event's trigger.
- **`message_id` (required)**
`string` — The request unique identifier (UUID).
- **`participant` (required)**
`object` — Information about the invited participant.
- **`call_type` (required)**
`string` — The type of call out. Use a value of h323 or sip.
- **`device_ip` (required)**
`string` — The user's device IP address.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"host_id": "",
"message_id": "",
"inviter_name": "",
"participant": {
"call_type": "",
"device_ip": "",
"additionalProperty": "anything"
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`inviter_name` (required)**
`string` — The user name of the event's trigger.
- **`message_id` (required)**
`string` — The request unique identifier (UUID).
- **`participant` (required)**
`object` — Information about the invited participant.
- **`call_type` (required)**
`string` — The type of call out. Use a value of h323 or sip.
- **`device_ip` (required)**
`string` — The user's device IP address.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"host_id": "",
"message_id": "",
"inviter_name": "",
"participant": {
"call_type": "",
"device_ip": "",
"additionalProperty": "anything"
}
}
}
}
```
### POST session.recording\_started
- **Method:** `POST`
- **Path:** `session.recording_started`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_started"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_file` (required)**
`object`
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_started",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_file": {
"recording_start": "",
"recording_end": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_started"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_file` (required)**
`object`
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_started",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_file": {
"recording_start": "",
"recording_end": ""
}
}
}
}
```
### POST session.recording\_resumed
- **Method:** `POST`
- **Path:** `session.recording_resumed`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_resumed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_file` (required)**
`object`
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_resumed",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_file": {
"recording_start": "",
"recording_end": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_resumed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_file` (required)**
`object`
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_resumed",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_file": {
"recording_start": "",
"recording_end": ""
}
}
}
}
```
### POST session.live\_streaming\_stopped
- **Method:** `POST`
- **Path:** `session.live_streaming_stopped`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.live_streaming_stopped"` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`id` (required)**
`string` — The session ID.
- **`live_streaming` (required)**
`object` — Information about the participant.
- **`custom_live_streaming_settings` (required)**
`object` — The live stream settings.
- **`page_url` (required)**
`string` — The live stream's page URL.
- **`stream_key` (required)**
`string` — The stream's Key.
- **`stream_url` (required)**
`string` — The stream's URL.
- **`resolution`**
`string` — The number of pixels in each dimension that the video camera can display.
- **`date_time` (required)**
`string`, format: `date-time` — The live stream's stop time.
- **`service` (required)**
`string`, possible values: `"Facebook", "Workplace_by_Facebook", "YouTube", "Custom_Live_Streaming_Service"` — The name of the Live Streaming service.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The session's start time.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.live_streaming_stopped",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"live_streaming": {
"service": "Facebook",
"custom_live_streaming_settings": {
"stream_url": "",
"stream_key": "",
"page_url": "",
"resolution": ""
},
"date_time": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.live_streaming_stopped"` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`id` (required)**
`string` — The session ID.
- **`live_streaming` (required)**
`object` — Information about the participant.
- **`custom_live_streaming_settings` (required)**
`object` — The live stream settings.
- **`page_url` (required)**
`string` — The live stream's page URL.
- **`stream_key` (required)**
`string` — The stream's Key.
- **`stream_url` (required)**
`string` — The stream's URL.
- **`resolution`**
`string` — The number of pixels in each dimension that the video camera can display.
- **`date_time` (required)**
`string`, format: `date-time` — The live stream's stop time.
- **`service` (required)**
`string`, possible values: `"Facebook", "Workplace_by_Facebook", "YouTube", "Custom_Live_Streaming_Service"` — The name of the Live Streaming service.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The session's start time.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.live_streaming_stopped",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"live_streaming": {
"service": "Facebook",
"custom_live_streaming_settings": {
"stream_url": "",
"stream_key": "",
"page_url": "",
"resolution": ""
},
"date_time": ""
}
}
}
}
```
### POST session.stream\_ingestion\_stopped
- **Method:** `POST`
- **Path:** `session.stream_ingestion_stopped`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.stream_ingestion_stopped"` — Event name.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) when the event occurred. The value of this field is returned in long (int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`stream_ingestion` (required)**
`object` — Information about the stream ingestion.
- **`backup_stream_url` (required)**
`string` — The backup stream URL.
- **`stream_id` (required)**
`string` — The stream ingestion ID.
- **`stream_key` (required)**
`string` — The stream ingestion key.
- **`stream_name` (required)**
`string` — The stream ingestion name.
- **`stream_url` (required)**
`string` — The stream URL.
- **`stream_description`**
`string` — The stream ingestion description.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.stream_ingestion_stopped",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"stream_ingestion": {
"stream_id": "",
"stream_name": "",
"stream_description": "",
"stream_key": "",
"stream_url": "",
"backup_stream_url": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.stream_ingestion_stopped"` — Event name.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) when the event occurred. The value of this field is returned in long (int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`stream_ingestion` (required)**
`object` — Information about the stream ingestion.
- **`backup_stream_url` (required)**
`string` — The backup stream URL.
- **`stream_id` (required)**
`string` — The stream ingestion ID.
- **`stream_key` (required)**
`string` — The stream ingestion key.
- **`stream_name` (required)**
`string` — The stream ingestion name.
- **`stream_url` (required)**
`string` — The stream URL.
- **`stream_description`**
`string` — The stream ingestion description.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.stream_ingestion_stopped",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"stream_ingestion": {
"stream_id": "",
"stream_name": "",
"stream_description": "",
"stream_key": "",
"stream_url": "",
"backup_stream_url": ""
}
}
}
}
```
### POST session.user\_room\_system\_callout\_rejected
- **Method:** `POST`
- **Path:** `session.user_room_system_callout_rejected`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`inviter_name` (required)**
`string` — The user name of the event's trigger.
- **`message_id` (required)**
`string` — The request unique identifier (UUID).
- **`participant` (required)**
`object` — Information about the invited participant.
- **`call_type` (required)**
`string` — The type of call out. Use a value of h323 or sip.
- **`device_ip` (required)**
`string` — The user's device IP address.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"host_id": "",
"message_id": "",
"inviter_name": "",
"participant": {
"call_type": "",
"device_ip": "",
"additionalProperty": "anything"
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`inviter_name` (required)**
`string` — The user name of the event's trigger.
- **`message_id` (required)**
`string` — The request unique identifier (UUID).
- **`participant` (required)**
`object` — Information about the invited participant.
- **`call_type` (required)**
`string` — The type of call out. Use a value of h323 or sip.
- **`device_ip` (required)**
`string` — The user's device IP address.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"host_id": "",
"message_id": "",
"inviter_name": "",
"participant": {
"call_type": "",
"device_ip": "",
"additionalProperty": "anything"
}
}
}
}
```
### POST session.alert
- **Method:** `POST`
- **Path:** `session.alert`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.alert"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`id` (required)**
`string` — The session ID.
- **`issues` (required)**
`array` — Issues that occurred during the session.
**Items:**
`string`, possible values: `"Unstable audio quality", "Unstable video quality", "Unstable screen share quality", "High CPU occupation", "Call Reconnection"`
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.alert",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"id": "",
"session_id": "",
"session_name": "",
"session_key": "",
"issues": [
"Unstable audio quality"
]
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.alert"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`id` (required)**
`string` — The session ID.
- **`issues` (required)**
`array` — Issues that occurred during the session.
**Items:**
`string`, possible values: `"Unstable audio quality", "Unstable video quality", "Unstable screen share quality", "High CPU occupation", "Call Reconnection"`
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.alert",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"id": "",
"session_id": "",
"session_name": "",
"session_key": "",
"issues": [
"Unstable audio quality"
]
}
}
}
```
### POST session.recording\_summary\_completed
- **Method:** `POST`
- **Path:** `session.recording_summary_completed`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`download_token` (required)**
`string` — The URL to download the recording. To download, set your \[Video SDK API JWT]\(https\://developers.zoom.us/docs/video-sdk/api-request/) as a Bearer token in the Authorization header of your HTTP request. For example: curl "{download\_url}" --header "authorization: Bearer {access token or JWT}" --header "content-type: application/json". Note: The download\_url may be a redirect. In that case, use curl --location "{download\_url}" to follow redirects or use another tool, like Postman.
- **`event` (required)**
`string`, possible values: `"session.recording_summary_completed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, when the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_files` (required)**
`array` — List of recording files.
**Items:**
- **`download_url`**
`string` — The URL to download the recording. To download, set your \[Video SDK API JWT]\(https\://developers.zoom.us/docs/video-sdk/api-request/) as a Bearer token in the Authorization header of your HTTP request. For example: curl "{download\_url}" --header "authorization: Bearer {access token or JWT}" --header "content-type: application/json". Note: The download\_url may be a redirect. In that case, use curl --location "{download\_url}" to follow redirects or use another tool, like Postman.
- **`file_extension`**
`string`, possible values: `"JSON"` — The archived file's file extension.
- **`file_name`**
`string` — The file name.
- **`file_path`**
`string` — The file path to the on-premise account recording. \*\*Note:\*\* This API only returns this field for \[Zoom On-Premise accounts]\(https\://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does \*\*not\*\* return the download\_url field.
- **`file_size`**
`number` — The recording file size.
- **`file_type`**
`string`, possible values: `"SUMMARY"` — The recording file type. The value of this field is:\
SUMMARY: Summary file of the recording in JSON format
- **`id`**
`string` — The recording file ID. Included in the response of the general query.
- **`recording_end`**
`string` — The recording end time. Response in the general query.
- **`recording_start`**
`string` — The recording start time.
- **`recording_type`**
`string`, possible values: `"summary"` — The recording type. The value of this field is:\
summary
- **`status`**
`string`, possible values: `"completed"` — The recording status.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The session start time.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_summary_completed",
"event_ts": 1,
"download_token": "",
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_files": [
{
"id": "",
"recording_start": "",
"recording_end": "",
"file_name": "",
"file_path": "",
"file_type": "SUMMARY",
"file_size": 1,
"file_extension": "JSON",
"download_url": "",
"status": "completed",
"recording_type": "summary"
}
]
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`download_token` (required)**
`string` — The URL to download the recording. To download, set your \[Video SDK API JWT]\(https\://developers.zoom.us/docs/video-sdk/api-request/) as a Bearer token in the Authorization header of your HTTP request. For example: curl "{download\_url}" --header "authorization: Bearer {access token or JWT}" --header "content-type: application/json". Note: The download\_url may be a redirect. In that case, use curl --location "{download\_url}" to follow redirects or use another tool, like Postman.
- **`event` (required)**
`string`, possible values: `"session.recording_summary_completed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, when the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_files` (required)**
`array` — List of recording files.
**Items:**
- **`download_url`**
`string` — The URL to download the recording. To download, set your \[Video SDK API JWT]\(https\://developers.zoom.us/docs/video-sdk/api-request/) as a Bearer token in the Authorization header of your HTTP request. For example: curl "{download\_url}" --header "authorization: Bearer {access token or JWT}" --header "content-type: application/json". Note: The download\_url may be a redirect. In that case, use curl --location "{download\_url}" to follow redirects or use another tool, like Postman.
- **`file_extension`**
`string`, possible values: `"JSON"` — The archived file's file extension.
- **`file_name`**
`string` — The file name.
- **`file_path`**
`string` — The file path to the on-premise account recording. \*\*Note:\*\* This API only returns this field for \[Zoom On-Premise accounts]\(https\://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does \*\*not\*\* return the download\_url field.
- **`file_size`**
`number` — The recording file size.
- **`file_type`**
`string`, possible values: `"SUMMARY"` — The recording file type. The value of this field is:\
SUMMARY: Summary file of the recording in JSON format
- **`id`**
`string` — The recording file ID. Included in the response of the general query.
- **`recording_end`**
`string` — The recording end time. Response in the general query.
- **`recording_start`**
`string` — The recording start time.
- **`recording_type`**
`string`, possible values: `"summary"` — The recording type. The value of this field is:\
summary
- **`status`**
`string`, possible values: `"completed"` — The recording status.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The session start time.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_summary_completed",
"event_ts": 1,
"download_token": "",
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_files": [
{
"id": "",
"recording_start": "",
"recording_end": "",
"file_name": "",
"file_path": "",
"file_type": "SUMMARY",
"file_size": 1,
"file_extension": "JSON",
"download_url": "",
"status": "completed",
"recording_type": "summary"
}
]
}
}
}
```
### POST session.sharing\_ended
- **Method:** `POST`
- **Path:** `session.sharing_ended`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.sharing_ended"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`id` (required)**
`string` — The session ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`user` (required)**
`object` — Information about the user.
- **`id` (required)**
`string` — The user's unique ID. This value is assigned to the user upon joining a session and is only valid for that session.
- **`name` (required)**
`string` — The user's username.
- **`sharing_details` (required)**
`object` — Information about the session's screen sharing.
- **`content` (required)**
`string`, possible values: `"application", "whiteboard", "desktop", "unknown"` — The type of shared content: \* application — An application. For example, a web browser. \* whiteboard — The Zoom \[whiteboard]\(https\://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). \* desktop — A user's desktop. \* unknown — An unrecognized application, such as a third party app.
- **`date_time` (required)**
`string`, format: `date-time` — The session's screen sharing date and time.
- **`user_key`**
`string` — Another identifier for the user. Can be a number or characters.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.sharing_ended",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user": {
"id": "",
"name": "",
"user_key": "",
"sharing_details": {
"content": "application",
"date_time": ""
}
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.sharing_ended"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`id` (required)**
`string` — The session ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`user` (required)**
`object` — Information about the user.
- **`id` (required)**
`string` — The user's unique ID. This value is assigned to the user upon joining a session and is only valid for that session.
- **`name` (required)**
`string` — The user's username.
- **`sharing_details` (required)**
`object` — Information about the session's screen sharing.
- **`content` (required)**
`string`, possible values: `"application", "whiteboard", "desktop", "unknown"` — The type of shared content: \* application — An application. For example, a web browser. \* whiteboard — The Zoom \[whiteboard]\(https\://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). \* desktop — A user's desktop. \* unknown — An unrecognized application, such as a third party app.
- **`date_time` (required)**
`string`, format: `date-time` — The session's screen sharing date and time.
- **`user_key`**
`string` — Another identifier for the user. Can be a number or characters.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.sharing_ended",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user": {
"id": "",
"name": "",
"user_key": "",
"sharing_details": {
"content": "application",
"date_time": ""
}
}
}
}
}
```
### POST session.recording\_paused
- **Method:** `POST`
- **Path:** `session.recording_paused`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_paused"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_file` (required)**
`object`
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_paused",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_file": {
"recording_start": "",
"recording_end": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_paused"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_file` (required)**
`object`
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_paused",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_file": {
"recording_start": "",
"recording_end": ""
}
}
}
}
```
### POST session.ended
- **Method:** `POST`
- **Path:** `session.ended`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.ended"` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp at which the event occurred, in milliseconds since epoch. The value of this field is returned in long(int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`end_time` (required)**
`string`, format: `date-time` — The session's end time.
- **`id` (required)**
`string` — The session ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The session's start time.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.ended",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"end_time": ""
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.ended"` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp at which the event occurred, in milliseconds since epoch. The value of this field is returned in long(int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`end_time` (required)**
`string`, format: `date-time` — The session's end time.
- **`id` (required)**
`string` — The session ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The session's start time.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.ended",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"end_time": ""
}
}
}
```
### POST session.started
- **Method:** `POST`
- **Path:** `session.started`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.started"` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`id` (required)**
`string` — The session's ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The session's start time.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.started",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": ""
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.started"` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`id` (required)**
`string` — The session's ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The session's start time.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.started",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": ""
}
}
}
```
### POST session.stream\_ingestion\_unbind
- **Method:** `POST`
- **Path:** `session.stream_ingestion_unbind`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.stream_ingestion_unbind"` — Event name.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`stream_ingestion` (required)**
`object` — Information about the stream ingestion.
- **`backup_stream_url` (required)**
`string` — The backup stream URL.
- **`stream_id` (required)**
`string` — The stream ingestion ID.
- **`stream_key` (required)**
`string` — The stream ingestion key.
- **`stream_name` (required)**
`string` — The stream ingestion name.
- **`stream_url` (required)**
`string` — The stream URL.
- **`stream_description`**
`string` — The stream ingestion description.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.stream_ingestion_unbind",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"stream_ingestion": {
"stream_id": "",
"stream_name": "",
"stream_description": "",
"stream_key": "",
"stream_url": "",
"backup_stream_url": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.stream_ingestion_unbind"` — Event name.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long (int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`stream_ingestion` (required)**
`object` — Information about the stream ingestion.
- **`backup_stream_url` (required)**
`string` — The backup stream URL.
- **`stream_id` (required)**
`string` — The stream ingestion ID.
- **`stream_key` (required)**
`string` — The stream ingestion key.
- **`stream_name` (required)**
`string` — The stream ingestion name.
- **`stream_url` (required)**
`string` — The stream URL.
- **`stream_description`**
`string` — The stream ingestion description.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.stream_ingestion_unbind",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"stream_ingestion": {
"stream_id": "",
"stream_name": "",
"stream_description": "",
"stream_key": "",
"stream_url": "",
"backup_stream_url": ""
}
}
}
}
```
### POST session.live\_streaming\_started
- **Method:** `POST`
- **Path:** `session.live_streaming_started`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.live_streaming_started"` — Name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`id` (required)**
`string` — The session ID.
- **`live_streaming` (required)**
`object` — Information about the participant.
- **`custom_live_streaming_settings` (required)**
`object` — The live stream settings.
- **`page_url` (required)**
`string` — The live stream's page URL.
- **`stream_key` (required)**
`string` — The stream's key.
- **`stream_url` (required)**
`string` — The stream's URL.
- **`resolution`**
`string` — The number of pixels in each dimension that the video camera can display.
- **`date_time` (required)**
`string`, format: `date-time` — The live stream's start time.
- **`service` (required)**
`string`, possible values: `"Facebook", "Workplace_by_Facebook", "YouTube", "Custom_Live_Streaming_Service"` — The name of the Live Streaming service.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The session's start time.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.live_streaming_started",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"live_streaming": {
"service": "Facebook",
"custom_live_streaming_settings": {
"stream_url": "",
"stream_key": "",
"page_url": "",
"resolution": ""
},
"date_time": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.live_streaming_started"` — Name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) at which the event occurred. The value of this field is returned in long(int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`id` (required)**
`string` — The session ID.
- **`live_streaming` (required)**
`object` — Information about the participant.
- **`custom_live_streaming_settings` (required)**
`object` — The live stream settings.
- **`page_url` (required)**
`string` — The live stream's page URL.
- **`stream_key` (required)**
`string` — The stream's key.
- **`stream_url` (required)**
`string` — The stream's URL.
- **`resolution`**
`string` — The number of pixels in each dimension that the video camera can display.
- **`date_time` (required)**
`string`, format: `date-time` — The live stream's start time.
- **`service` (required)**
`string`, possible values: `"Facebook", "Workplace_by_Facebook", "YouTube", "Custom_Live_Streaming_Service"` — The name of the Live Streaming service.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The session's start time.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.live_streaming_started",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"live_streaming": {
"service": "Facebook",
"custom_live_streaming_settings": {
"stream_url": "",
"stream_key": "",
"page_url": "",
"resolution": ""
},
"date_time": ""
}
}
}
}
```
### POST session.user\_room\_system\_callout\_missed
- **Method:** `POST`
- **Path:** `session.user_room_system_callout_missed`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`inviter_name` (required)**
`string` — The user name of the event's trigger.
- **`message_id` (required)**
`string` — The request unique identifier (UUID).
- **`participant` (required)**
`object` — Information about the invited participant.
- **`call_type` (required)**
`string` — The type of call out. Use a value of h323 or sip.
- **`device_ip` (required)**
`string` — The user's device IP address.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"host_id": "",
"message_id": "",
"inviter_name": "",
"participant": {
"call_type": "",
"device_ip": "",
"additionalProperty": "anything"
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`inviter_name` (required)**
`string` — The user name of the event's trigger.
- **`message_id` (required)**
`string` — The request unique identifier (UUID).
- **`participant` (required)**
`object` — Information about the invited participant.
- **`call_type` (required)**
`string` — The type of call out. Use a value of h323 or sip.
- **`device_ip` (required)**
`string` — The user's device IP address.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"host_id": "",
"message_id": "",
"inviter_name": "",
"participant": {
"call_type": "",
"device_ip": "",
"additionalProperty": "anything"
}
}
}
}
```
### POST session.user\_phone\_callout\_accepted
- **Method:** `POST`
- **Path:** `session.user_phone_callout_accepted`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`participant` (required)**
`object` — Information about the invited participant.
- **`from_number` (required)**
`integer`, format: `int64` — The number used to call out to the invited user.
- **`invitee_name` (required)**
`string` — The user's name to display in the session.
- **`phone_number` (required)**
`integer`, format: `int64` — The user's phone number.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`user_key` (required)**
`string` — Another identifier for the inviter. Can be a number or characters.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user_key": "",
"host_id": "",
"participant": {
"invitee_name": "",
"phone_number": 1,
"from_number": 1
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`participant` (required)**
`object` — Information about the invited participant.
- **`from_number` (required)**
`integer`, format: `int64` — The number used to call out to the invited user.
- **`invitee_name` (required)**
`string` — The user's name to display in the session.
- **`phone_number` (required)**
`integer`, format: `int64` — The user's phone number.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`user_key` (required)**
`string` — Another identifier for the inviter. Can be a number or characters.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user_key": "",
"host_id": "",
"participant": {
"invitee_name": "",
"phone_number": 1,
"from_number": 1
}
}
}
}
```
### POST session.user\_left
- **Method:** `POST`
- **Path:** `session.user_left`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.user_left"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`id` (required)**
`string` — The session ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`user` (required)**
`object` — Information about the user.
- **`id` (required)**
`string` — The user's unique ID. This value is assigned to the user upon joining a session and is only valid for that session.
- **`leave_time` (required)**
`string`, format: `date-time` — The time at which the user left the session.
- **`name` (required)**
`string` — The user's username.
- **`participant_uuid` (required)**
`string` — The participant's UUID. This value is assigned to a participant upon joining a session and is only valid for the session's duration.
- **`leave_reason`**
`string` — The reason why the user left the session, where $name is the participant's username: \* $name left the session. \* $name got disconnected from the session. \* Host ended the session. \* Host closed the session. \* Host started a new session. \* Network connection error. \* Host did not join. \* Exceeded free session minutes limit. \* Removed by host. \* Unknown reason. \* Leave waiting room. \* Removed by host from waiting room.
- **`phone_number`**
`string` — Phone number of participant joined via PSTN.
- **`user_key`**
`string` — Another identifier for the user. Can be a number or characters.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.user_left",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"id": "",
"session_id": "",
"session_name": "",
"session_key": "",
"user": {
"id": "",
"name": "",
"leave_time": "",
"leave_reason": "",
"user_key": "",
"phone_number": "",
"participant_uuid": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.user_left"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`id` (required)**
`string` — The session ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`user` (required)**
`object` — Information about the user.
- **`id` (required)**
`string` — The user's unique ID. This value is assigned to the user upon joining a session and is only valid for that session.
- **`leave_time` (required)**
`string`, format: `date-time` — The time at which the user left the session.
- **`name` (required)**
`string` — The user's username.
- **`participant_uuid` (required)**
`string` — The participant's UUID. This value is assigned to a participant upon joining a session and is only valid for the session's duration.
- **`leave_reason`**
`string` — The reason why the user left the session, where $name is the participant's username: \* $name left the session. \* $name got disconnected from the session. \* Host ended the session. \* Host closed the session. \* Host started a new session. \* Network connection error. \* Host did not join. \* Exceeded free session minutes limit. \* Removed by host. \* Unknown reason. \* Leave waiting room. \* Removed by host from waiting room.
- **`phone_number`**
`string` — Phone number of participant joined via PSTN.
- **`user_key`**
`string` — Another identifier for the user. Can be a number or characters.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.user_left",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"id": "",
"session_id": "",
"session_name": "",
"session_key": "",
"user": {
"id": "",
"name": "",
"leave_time": "",
"leave_reason": "",
"user_key": "",
"phone_number": "",
"participant_uuid": ""
}
}
}
}
```
### POST session.sharing\_started
- **Method:** `POST`
- **Path:** `session.sharing_started`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.sharing_started"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`id` (required)**
`string` — The session ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`user` (required)**
`object` — Information about the user.
- **`id` (required)**
`string` — The user's unique ID. This value is assigned to the user upon joining a session and is only valid for that session.
- **`name` (required)**
`string` — The user's username.
- **`sharing_details` (required)**
`object` — Information about the session's screen sharing.
- **`content` (required)**
`string`, possible values: `"application", "whiteboard", "desktop", "unknown"` — The type of shared content: \* application — An application. For example, a web browser. \* whiteboard — The Zoom \[whiteboard]\(https\://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). \* desktop — A user's desktop. \* unknown — An unrecognized application, such as a third party app.
- **`date_time` (required)**
`string`, format: `date-time` — The session's screen sharing date and time.
- **`user_key`**
`string` — Another identifier for the user. Can be a number or characters.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.sharing_started",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"id": "",
"session_id": "",
"session_name": "",
"session_key": "",
"user": {
"id": "",
"name": "",
"user_key": "",
"sharing_details": {
"content": "application",
"date_time": ""
}
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.sharing_started"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`id` (required)**
`string` — The session ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`user` (required)**
`object` — Information about the user.
- **`id` (required)**
`string` — The user's unique ID. This value is assigned to the user upon joining a session and is only valid for that session.
- **`name` (required)**
`string` — The user's username.
- **`sharing_details` (required)**
`object` — Information about the session's screen sharing.
- **`content` (required)**
`string`, possible values: `"application", "whiteboard", "desktop", "unknown"` — The type of shared content: \* application — An application. For example, a web browser. \* whiteboard — The Zoom \[whiteboard]\(https\://support.zoom.us/hc/en-us/articles/205677665-Sharing-a-whiteboard). \* desktop — A user's desktop. \* unknown — An unrecognized application, such as a third party app.
- **`date_time` (required)**
`string`, format: `date-time` — The session's screen sharing date and time.
- **`user_key`**
`string` — Another identifier for the user. Can be a number or characters.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.sharing_started",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"id": "",
"session_id": "",
"session_name": "",
"session_key": "",
"user": {
"id": "",
"name": "",
"user_key": "",
"sharing_details": {
"content": "application",
"date_time": ""
}
}
}
}
}
```
### POST session.user\_phone\_callout\_canceled
- **Method:** `POST`
- **Path:** `session.user_phone_callout_canceled`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`participant` (required)**
`object` — Information about the invited participant.
- **`from_number` (required)**
`integer`, format: `int64` — The number used to call out to the invited user.
- **`invitee_name` (required)**
`string` — The user's name to display in the session.
- **`phone_number` (required)**
`integer`, format: `int64` — The user's phone number.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`user_key` (required)**
`string` — Another identifier for the inviter. Can be a number or characters.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user_key": "",
"participant": {
"invitee_name": "",
"phone_number": 1,
"from_number": 1
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`participant` (required)**
`object` — Information about the invited participant.
- **`from_number` (required)**
`integer`, format: `int64` — The number used to call out to the invited user.
- **`invitee_name` (required)**
`string` — The user's name to display in the session.
- **`phone_number` (required)**
`integer`, format: `int64` — The user's phone number.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`user_key` (required)**
`string` — Another identifier for the inviter. Can be a number or characters.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user_key": "",
"participant": {
"invitee_name": "",
"phone_number": 1,
"from_number": 1
}
}
}
}
```
### POST session.recording\_transcript\_completed
- **Method:** `POST`
- **Path:** `session.recording_transcript_completed`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`download_token` (required)**
`string` — A generated token used to download the recording. The download token only lasts for 24 hours after its creation and you can only download the file within 24 hours of receiving the event notification. You can either pass the download\_token as a Bearer token in the Authorization header of your HTTP request (recommended) or include it as a query parameter. See the following for examples. \*\*Using an Authorization header (Recommended)\*\* curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {download\_token} \ --header 'content-type: application/json' \*\*Using a query parameter\*\* {download\_url}/?access\_token={download\_token} For example: https\://zoom.us/recording/download/123456?access\_token=abcdefgh
- **`event` (required)**
`string`, possible values: `"session.recording_transcript_completed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_files` (required)**
`array` — List of recording file.
**Items:**
- **`download_url`**
`string` — The URL at which to download the the recording. To access a private or password-protected cloud recording of a user in your account, use your \[Video SDK API JWT]\(https\://marketplace.zoom.us/docs/guides/build/video-sdk-app/#video-sdk-and-api-credentials). You can either pass the generated JWT as a Bearer token in the Authorization header of your HTTP request (recommended) or include it as a query parameter at the end of the URL. See the following for examples. \*\*Using an Authorization header (Recommended)\*\* curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {JWT} \ --header 'content-type: application/json' \*\*Using a query parameter\*\* {download\_url}/?access\_token={download\_token} For example: https\://{base-domain}/recording/download/{path-to-file-download}?access\_token={JWT}.
- **`file_extension`**
`string`, possible values: `"MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG"` — The archived file's file extension.
- **`file_name`**
`string` — Name of the file.
- **`file_path`**
`string` — The file path to the On-Premise account recording. \*\*Note:\*\* This API only returns this field for \[Zoom On-Premise accounts]\(https\://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does \*\*not\*\* return the download\_url field.
- **`file_size`**
`number` — The recording file size.
- **`file_type`**
`string`, possible values: `"MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "CC", "TB", "CHAT_MESSAGE", "TIMELINE"` — The recording file type. The value of this field could be one of the following:\
MP4: Video file of the recording.\
M4A Audio-only file of the recording.\
TIMELINE: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the \[recording settings]\(https\://support.zoom.us/hc/en-us/articles/360060316092). The time will display in the host's timezone, set on their Zoom profile. \
TRANSCRIPT: Transcription file of the recording in VTT format.\
CHAT: A TXT file containing in-session chat messages that were sent during the session.\
CC: File containing closed captions of the recording in VTT file format.\
CSV: File containing polling data in csv format. \
A recording file object with file type of either CC or TIMELINE \*\*does not have\*\* the following properties:\
id, status, file\_size, recording\_type.
- **`id`**
`string` — The recording file ID. Included in the response of general query.
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`recording_type`**
`string`, possible values: `"shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "chat_message"` — The recording type. The value of this field can be one of the following:\
shared\_screen\_with\_speaker\_view(CC)\
shared\_screen\_with\_speaker\_view\
shared\_screen\_with\_gallery\_view\
speaker\_view\
gallery\_view\
shared\_screen\
audio\_only\
audio\_transcript\
chat\_file\
active\_speaker\
poll\
timeline\
closed\_caption
- **`status`**
`string`, possible values: `"completed"` — The recording status.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_transcript_completed",
"event_ts": 1,
"download_token": "",
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_files": [
{
"id": "",
"recording_start": "",
"recording_end": "",
"file_name": "",
"file_path": "",
"file_type": "MP4",
"file_size": 1,
"file_extension": "MP4",
"download_url": "",
"status": "completed",
"recording_type": "shared_screen_with_speaker_view(CC)"
}
]
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`download_token` (required)**
`string` — A generated token used to download the recording. The download token only lasts for 24 hours after its creation and you can only download the file within 24 hours of receiving the event notification. You can either pass the download\_token as a Bearer token in the Authorization header of your HTTP request (recommended) or include it as a query parameter. See the following for examples. \*\*Using an Authorization header (Recommended)\*\* curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {download\_token} \ --header 'content-type: application/json' \*\*Using a query parameter\*\* {download\_url}/?access\_token={download\_token} For example: https\://zoom.us/recording/download/123456?access\_token=abcdefgh
- **`event` (required)**
`string`, possible values: `"session.recording_transcript_completed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_files` (required)**
`array` — List of recording file.
**Items:**
- **`download_url`**
`string` — The URL at which to download the the recording. To access a private or password-protected cloud recording of a user in your account, use your \[Video SDK API JWT]\(https\://marketplace.zoom.us/docs/guides/build/video-sdk-app/#video-sdk-and-api-credentials). You can either pass the generated JWT as a Bearer token in the Authorization header of your HTTP request (recommended) or include it as a query parameter at the end of the URL. See the following for examples. \*\*Using an Authorization header (Recommended)\*\* curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {JWT} \ --header 'content-type: application/json' \*\*Using a query parameter\*\* {download\_url}/?access\_token={download\_token} For example: https\://{base-domain}/recording/download/{path-to-file-download}?access\_token={JWT}.
- **`file_extension`**
`string`, possible values: `"MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG"` — The archived file's file extension.
- **`file_name`**
`string` — Name of the file.
- **`file_path`**
`string` — The file path to the On-Premise account recording. \*\*Note:\*\* This API only returns this field for \[Zoom On-Premise accounts]\(https\://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does \*\*not\*\* return the download\_url field.
- **`file_size`**
`number` — The recording file size.
- **`file_type`**
`string`, possible values: `"MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "CC", "TB", "CHAT_MESSAGE", "TIMELINE"` — The recording file type. The value of this field could be one of the following:\
MP4: Video file of the recording.\
M4A Audio-only file of the recording.\
TIMELINE: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the \[recording settings]\(https\://support.zoom.us/hc/en-us/articles/360060316092). The time will display in the host's timezone, set on their Zoom profile. \
TRANSCRIPT: Transcription file of the recording in VTT format.\
CHAT: A TXT file containing in-session chat messages that were sent during the session.\
CC: File containing closed captions of the recording in VTT file format.\
CSV: File containing polling data in csv format. \
A recording file object with file type of either CC or TIMELINE \*\*does not have\*\* the following properties:\
id, status, file\_size, recording\_type.
- **`id`**
`string` — The recording file ID. Included in the response of general query.
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`recording_type`**
`string`, possible values: `"shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "chat_message"` — The recording type. The value of this field can be one of the following:\
shared\_screen\_with\_speaker\_view(CC)\
shared\_screen\_with\_speaker\_view\
shared\_screen\_with\_gallery\_view\
speaker\_view\
gallery\_view\
shared\_screen\
audio\_only\
audio\_transcript\
chat\_file\
active\_speaker\
poll\
timeline\
closed\_caption
- **`status`**
`string`, possible values: `"completed"` — The recording status.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_transcript_completed",
"event_ts": 1,
"download_token": "",
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_files": [
{
"id": "",
"recording_start": "",
"recording_end": "",
"file_name": "",
"file_path": "",
"file_type": "MP4",
"file_size": 1,
"file_extension": "MP4",
"download_url": "",
"status": "completed",
"recording_type": "shared_screen_with_speaker_view(CC)"
}
]
}
}
}
```
### POST session.recording\_deleted
- **Method:** `POST`
- **Path:** `session.recording_deleted`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_deleted"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
- **`operator` (required)**
`string`, format: `email` — The email address of the user who deleted the recording.
- **`operator_id` (required)**
`string` — The user ID of the user who deleted the recording.
**Example:**
```json
{
"event": "session.recording_deleted",
"event_ts": 1,
"payload": {
"account_id": "",
"operator": "",
"operator_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": ""
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_deleted"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
- **`operator` (required)**
`string`, format: `email` — The email address of the user who deleted the recording.
- **`operator_id` (required)**
`string` — The user ID of the user who deleted the recording.
**Example:**
```json
{
"event": "session.recording_deleted",
"event_ts": 1,
"payload": {
"account_id": "",
"operator": "",
"operator_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": ""
}
}
}
```
### POST session.ai\_interpreter\_usage\_summary
- **Method:** `POST`
- **Path:** `session.ai_interpreter_usage_summary`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.ai_interpreter_usage_summary"` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`end_time` (required)**
`string` — The end time of AI interpreter usage.
- **`is_host` (required)**
`boolean` — Whether the current user is the host of this session.
- **`participant_uuid` (required)**
`string` — The participant's UUID. This value is assigned to a participant upon joining a session and is only valid for the session's duration.
- **`session_id` (required)**
`string` — The ID of the session. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — The name of the session.
- **`start_time` (required)**
`string` — The start time of AI interpreter usage.
- **`usage` (required)**
`string` — The duration of AI interpreter usage.
- **`session_key`**
`string` — The ID of the Video SDK custom session.
**Example:**
```json
{
"event": "session.ai_interpreter_usage_summary",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"participant_uuid": "",
"is_host": true,
"start_time": "",
"end_time": "",
"usage": ""
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.ai_interpreter_usage_summary"` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`end_time` (required)**
`string` — The end time of AI interpreter usage.
- **`is_host` (required)**
`boolean` — Whether the current user is the host of this session.
- **`participant_uuid` (required)**
`string` — The participant's UUID. This value is assigned to a participant upon joining a session and is only valid for the session's duration.
- **`session_id` (required)**
`string` — The ID of the session. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — The name of the session.
- **`start_time` (required)**
`string` — The start time of AI interpreter usage.
- **`usage` (required)**
`string` — The duration of AI interpreter usage.
- **`session_key`**
`string` — The ID of the Video SDK custom session.
**Example:**
```json
{
"event": "session.ai_interpreter_usage_summary",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"participant_uuid": "",
"is_host": true,
"start_time": "",
"end_time": "",
"usage": ""
}
}
}
```
### POST session.user\_room\_system\_callout\_failed
- **Method:** `POST`
- **Path:** `session.user_room_system_callout_failed`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`inviter_name` (required)**
`string` — The user name of the event's trigger.
- **`message_id` (required)**
`string` — The request unique identifier (UUID).
- **`participant` (required)**
`object` — Information about the invited participant.
- **`call_type` (required)**
`string` — The type of call out. Use a value of h323 or sip.
- **`device_ip` (required)**
`string` — The user's device IP address.
- **`reason_type` (required)**
`integer`, possible values: `0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14` — reason type for failure: \* 1 — Encryption\_Fail. \* 2 — Disconnected\_By\_Remote. \* 3 — Retry. \* 4 — Bad\_Seq. \* 5 — Call\_Limit. \* 6 — Not\_Registered. \* 7 — Timeout. \* 8 — Bad\_Addr. \* 9 — Unreachable \* 10 — Disconnect\_By\_Local \* 11 — Server\_Internal\_Error \* 12 — Exceed\_Free\_Port \* 13 — Connect\_Error \* 14 — Proxy\_Connect\_Error \* 0 — Other\_Failed\_Reason.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"host_id": "",
"message_id": "",
"inviter_name": "",
"reason_type": 0,
"participant": {
"call_type": "",
"device_ip": "",
"additionalProperty": "anything"
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`inviter_name` (required)**
`string` — The user name of the event's trigger.
- **`message_id` (required)**
`string` — The request unique identifier (UUID).
- **`participant` (required)**
`object` — Information about the invited participant.
- **`call_type` (required)**
`string` — The type of call out. Use a value of h323 or sip.
- **`device_ip` (required)**
`string` — The user's device IP address.
- **`reason_type` (required)**
`integer`, possible values: `0, 1, 2, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14` — reason type for failure: \* 1 — Encryption\_Fail. \* 2 — Disconnected\_By\_Remote. \* 3 — Retry. \* 4 — Bad\_Seq. \* 5 — Call\_Limit. \* 6 — Not\_Registered. \* 7 — Timeout. \* 8 — Bad\_Addr. \* 9 — Unreachable \* 10 — Disconnect\_By\_Local \* 11 — Server\_Internal\_Error \* 12 — Exceed\_Free\_Port \* 13 — Connect\_Error \* 14 — Proxy\_Connect\_Error \* 0 — Other\_Failed\_Reason.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"host_id": "",
"message_id": "",
"inviter_name": "",
"reason_type": 0,
"participant": {
"call_type": "",
"device_ip": "",
"additionalProperty": "anything"
}
}
}
}
```
### POST session.recording\_completed
- **Method:** `POST`
- **Path:** `session.recording_completed`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`download_token` (required)**
`string` — A generated token used to download the recording. The download token only lasts for 24 hours after its creation and you can only download the file within 24 hours of receiving the event notification. Pass the download\_token as a Bearer token in the Authorization header of your HTTP request. For example: curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {download\_token} \ --header 'content-type: application/json'
- **`event` (required)**
`string`, possible values: `"session.recording_completed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_files` (required)**
`array` — List of recording file.
**Items:**
- **`download_url`**
`string` — The URL at which to download the the recording. To access a private or password-protected cloud recording of a user in your account, use your \[Video SDK API JWT]\(https\://marketplace.zoom.us/docs/guides/build/video-sdk-app/#video-sdk-and-api-credentials). Pass the generated JWT as a Bearer token in the Authorization header of your HTTP request. For example: curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {JWT} \ --header 'content-type: application/json'
- **`file_extension`**
`string`, possible values: `"MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG"` — The archived file's file extension.
- **`file_name`**
`string` — Name of the file.
- **`file_path`**
`string` — The file path to the On-Premise account recording. \*\*Note:\*\* This API only returns this field for \[Zoom On-Premise accounts]\(https\://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does \*\*not\*\* return the download\_url field.
- **`file_size`**
`number` — The recording file size.
- **`file_type`**
`string`, possible values: `"MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "CC", "TB", "CHAT_MESSAGE"` — The recording file type. The value of this field could be one of the following:\
MP4: Video file of the recording.\
M4A Audio-only file of the recording.\
TIMELINE: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the \[recording settings]\(https\://support.zoom.us/hc/en-us/articles/360060316092). The time will display in the host's timezone, set on their Zoom profile. \
TRANSCRIPT: Transcription file of the recording in VTT format.\
CHAT: A TXT file containing in-session chat messages that were sent during the session.\
CC: File containing closed captions of the recording in VTT file format.\
CSV: File containing polling data in csv format. \
A recording file object with file type of either CC or TIMELINE \*\*does not have\*\* the following properties:\
id, status, file\_size, recording\_type.
- **`id`**
`string` — The recording file ID. Included in the response of general query.
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`recording_type`**
`string`, possible values: `"shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "chat_message"` — The recording type. The value of this field can be one of the following:\
shared\_screen\_with\_speaker\_view(CC)\
shared\_screen\_with\_speaker\_view\
shared\_screen\_with\_gallery\_view\
speaker\_view\
gallery\_view\
shared\_screen\
audio\_only\
audio\_transcript\
chat\_file\
active\_speaker\
poll\
timeline\
closed\_caption
- **`status`**
`string`, possible values: `"completed"` — The recording status.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
- **`participant_audio_files`**
`array` — List of recording file.
**Items:**
- **`download_url`**
`string` — The URL at which to download the the recording. To access a private or password-protected cloud recording of a user in your account, use your \[Video SDK API JWT]\(https\://marketplace.zoom.us/docs/guides/build/video-sdk-app/#video-sdk-and-api-credentials). Pass the generated JWT as a Bearer token in the Authorization header of your HTTP request. For example: curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {JWT} \ --header 'content-type: application/json'
- **`file_extension`**
`string`, possible values: `"MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG"` — The archived file's file extension.
- **`file_name`**
`string` — Name of the file.
- **`file_path`**
`string` — The file path to the On-Premise account recording. \*\*Note:\*\* This API only returns this field for \[Zoom On-Premise accounts]\(https\://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does \*\*not\*\* return the download\_url field.
- **`file_size`**
`number` — The recording file size.
- **`file_type`**
`string`, possible values: `"MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "CC", "TB", "CHAT_MESSAGE"` — The recording file type. The value of this field could be one of the following:\
MP4: Video file of the recording.\
M4A Audio-only file of the recording.\
TIMELINE: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the \[recording settings]\(https\://support.zoom.us/hc/en-us/articles/360060316092). The time will display in the host's timezone, set on their Zoom profile. \
TRANSCRIPT: Transcription file of the recording in VTT format.\
CHAT: A TXT file containing in-session chat messages that were sent during the session.\
CC: File containing closed captions of the recording in VTT file format.\
CSV: File containing polling data in csv format. \
A recording file object with file type of either CC or TIMELINE \*\*does not have\*\* the following properties:\
id, status, file\_size, recording\_type.
- **`id`**
`string` — The recording file ID. Included in the response of general query.
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`recording_type`**
`string`, possible values: `"shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "chat_message"` — The recording type. The value of this field can be one of the following:\
shared\_screen\_with\_speaker\_view(CC)\
shared\_screen\_with\_speaker\_view\
shared\_screen\_with\_gallery\_view\
speaker\_view\
gallery\_view\
shared\_screen\
audio\_only\
audio\_transcript\
chat\_file\
active\_speaker\
poll\
timeline\
closed\_caption
- **`status`**
`string`, possible values: `"completed"` — The recording status.
- **`user_id`**
`string` — The participant's session user ID. This value is assigned to a participant upon joining a session and is only valid for the duration of the session.
- **`user_key`**
`string` — The participant's SDK identifier. Set with the user\_identity key in the Video SDK JWT payload. This value can be alphanumeric, up to a maximum length of 35 characters.
- **`participant_video_files`**
`array` — List of recording file.
**Items:**
- **`download_url`**
`string` — The URL at which to download the the recording. To access a private or password-protected cloud recording of a user in your account, use your \[Video SDK API JWT]\(https\://marketplace.zoom.us/docs/guides/build/video-sdk-app/#video-sdk-and-api-credentials). Pass the generated JWT as a Bearer token in the Authorization header of your HTTP request. For example: curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {JWT} \ --header 'content-type: application/json'
- **`file_extension`**
`string`, possible values: `"MP4"` — The archived file's file extension.
- **`file_name`**
`string` — Name of the file.
- **`file_path`**
`string` — The file path to the On-Premise account recording. \*\*Note:\*\* This API only returns this field for \[Zoom On-Premise accounts]\(https\://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does \*\*not\*\* return the download\_url field.
- **`file_size`**
`number` — The recording file size.
- **`file_type`**
`string`, possible values: `"MP4"` — The recording file type. The value of this field could be one of the following:\
MP4: Video file of the recording.
- **`id`**
`string` — The recording file ID. Included in the response of general query.
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`recording_type`**
`string`, possible values: `"individual_user", "individual_shared_screen"` — The recording type. The value of this field can be one of the following:\
shared\_screen\_with\_speaker\_view(CC)\
shared\_screen\_with\_speaker\_view\
shared\_screen\_with\_gallery\_view\
speaker\_view\
gallery\_view\
shared\_screen\
audio\_only\
audio\_transcript\
chat\_file\
active\_speaker\
poll\
timeline\
closed\_caption
- **`status`**
`string`, possible values: `"completed"` — The recording status.
- **`user_id`**
`string` — The participant's session user ID. This value is assigned to a participant upon joining a session and is only valid for the duration of the session.
- **`user_key`**
`string` — The participant's SDK identifier. Set with the user\_identity key in the Video SDK JWT payload. This value can be alphanumeric, up to a maximum length of 35 characters.
**Example:**
```json
{
"event": "session.recording_completed",
"event_ts": 1,
"download_token": "",
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_files": [
{
"id": "",
"recording_start": "",
"recording_end": "",
"file_name": "",
"file_path": "",
"file_type": "MP4",
"file_size": 1,
"file_extension": "MP4",
"download_url": "",
"status": "completed",
"recording_type": "shared_screen_with_speaker_view(CC)"
}
],
"participant_audio_files": [
{
"id": "",
"recording_start": "",
"recording_end": "",
"file_name": "",
"file_path": "",
"file_type": "MP4",
"file_size": 1,
"file_extension": "MP4",
"download_url": "",
"status": "completed",
"recording_type": "shared_screen_with_speaker_view(CC)",
"user_id": "",
"user_key": ""
}
],
"participant_video_files": [
{
"id": "",
"recording_start": "",
"recording_end": "",
"file_name": "",
"file_path": "",
"file_type": "MP4",
"file_size": 1,
"file_extension": "MP4",
"download_url": "",
"status": "completed",
"recording_type": "individual_user",
"user_id": "",
"user_key": ""
}
]
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`download_token` (required)**
`string` — A generated token used to download the recording. The download token only lasts for 24 hours after its creation and you can only download the file within 24 hours of receiving the event notification. Pass the download\_token as a Bearer token in the Authorization header of your HTTP request. For example: curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {download\_token} \ --header 'content-type: application/json'
- **`event` (required)**
`string`, possible values: `"session.recording_completed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_files` (required)**
`array` — List of recording file.
**Items:**
- **`download_url`**
`string` — The URL at which to download the the recording. To access a private or password-protected cloud recording of a user in your account, use your \[Video SDK API JWT]\(https\://marketplace.zoom.us/docs/guides/build/video-sdk-app/#video-sdk-and-api-credentials). Pass the generated JWT as a Bearer token in the Authorization header of your HTTP request. For example: curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {JWT} \ --header 'content-type: application/json'
- **`file_extension`**
`string`, possible values: `"MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG"` — The archived file's file extension.
- **`file_name`**
`string` — Name of the file.
- **`file_path`**
`string` — The file path to the On-Premise account recording. \*\*Note:\*\* This API only returns this field for \[Zoom On-Premise accounts]\(https\://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does \*\*not\*\* return the download\_url field.
- **`file_size`**
`number` — The recording file size.
- **`file_type`**
`string`, possible values: `"MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "CC", "TB", "CHAT_MESSAGE"` — The recording file type. The value of this field could be one of the following:\
MP4: Video file of the recording.\
M4A Audio-only file of the recording.\
TIMELINE: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the \[recording settings]\(https\://support.zoom.us/hc/en-us/articles/360060316092). The time will display in the host's timezone, set on their Zoom profile. \
TRANSCRIPT: Transcription file of the recording in VTT format.\
CHAT: A TXT file containing in-session chat messages that were sent during the session.\
CC: File containing closed captions of the recording in VTT file format.\
CSV: File containing polling data in csv format. \
A recording file object with file type of either CC or TIMELINE \*\*does not have\*\* the following properties:\
id, status, file\_size, recording\_type.
- **`id`**
`string` — The recording file ID. Included in the response of general query.
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`recording_type`**
`string`, possible values: `"shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "chat_message"` — The recording type. The value of this field can be one of the following:\
shared\_screen\_with\_speaker\_view(CC)\
shared\_screen\_with\_speaker\_view\
shared\_screen\_with\_gallery\_view\
speaker\_view\
gallery\_view\
shared\_screen\
audio\_only\
audio\_transcript\
chat\_file\
active\_speaker\
poll\
timeline\
closed\_caption
- **`status`**
`string`, possible values: `"completed"` — The recording status.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
- **`participant_audio_files`**
`array` — List of recording file.
**Items:**
- **`download_url`**
`string` — The URL at which to download the the recording. To access a private or password-protected cloud recording of a user in your account, use your \[Video SDK API JWT]\(https\://marketplace.zoom.us/docs/guides/build/video-sdk-app/#video-sdk-and-api-credentials). Pass the generated JWT as a Bearer token in the Authorization header of your HTTP request. For example: curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {JWT} \ --header 'content-type: application/json'
- **`file_extension`**
`string`, possible values: `"MP4", "M4A", "TXT", "VTT", "CSV", "JSON", "JPG"` — The archived file's file extension.
- **`file_name`**
`string` — Name of the file.
- **`file_path`**
`string` — The file path to the On-Premise account recording. \*\*Note:\*\* This API only returns this field for \[Zoom On-Premise accounts]\(https\://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does \*\*not\*\* return the download\_url field.
- **`file_size`**
`number` — The recording file size.
- **`file_type`**
`string`, possible values: `"MP4", "M4A", "CHAT", "TRANSCRIPT", "CSV", "CC", "TB", "CHAT_MESSAGE"` — The recording file type. The value of this field could be one of the following:\
MP4: Video file of the recording.\
M4A Audio-only file of the recording.\
TIMELINE: Timestamp file of the recording in JSON file format. To get a timeline file, the "Add a timestamp to the recording" setting must be enabled in the \[recording settings]\(https\://support.zoom.us/hc/en-us/articles/360060316092). The time will display in the host's timezone, set on their Zoom profile. \
TRANSCRIPT: Transcription file of the recording in VTT format.\
CHAT: A TXT file containing in-session chat messages that were sent during the session.\
CC: File containing closed captions of the recording in VTT file format.\
CSV: File containing polling data in csv format. \
A recording file object with file type of either CC or TIMELINE \*\*does not have\*\* the following properties:\
id, status, file\_size, recording\_type.
- **`id`**
`string` — The recording file ID. Included in the response of general query.
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`recording_type`**
`string`, possible values: `"shared_screen_with_speaker_view(CC)", "shared_screen_with_speaker_view", "shared_screen_with_gallery_view", "gallery_view", "shared_screen", "audio_only", "audio_transcript", "chat_file", "active_speaker", "host_video", "audio_only_each_participant", "cc_transcript", "closed_caption", "poll", "timeline", "thumbnail", "chat_message"` — The recording type. The value of this field can be one of the following:\
shared\_screen\_with\_speaker\_view(CC)\
shared\_screen\_with\_speaker\_view\
shared\_screen\_with\_gallery\_view\
speaker\_view\
gallery\_view\
shared\_screen\
audio\_only\
audio\_transcript\
chat\_file\
active\_speaker\
poll\
timeline\
closed\_caption
- **`status`**
`string`, possible values: `"completed"` — The recording status.
- **`user_id`**
`string` — The participant's session user ID. This value is assigned to a participant upon joining a session and is only valid for the duration of the session.
- **`user_key`**
`string` — The participant's SDK identifier. Set with the user\_identity key in the Video SDK JWT payload. This value can be alphanumeric, up to a maximum length of 35 characters.
- **`participant_video_files`**
`array` — List of recording file.
**Items:**
- **`download_url`**
`string` — The URL at which to download the the recording. To access a private or password-protected cloud recording of a user in your account, use your \[Video SDK API JWT]\(https\://marketplace.zoom.us/docs/guides/build/video-sdk-app/#video-sdk-and-api-credentials). Pass the generated JWT as a Bearer token in the Authorization header of your HTTP request. For example: curl --request GET \ --url {download\_url} \ --header 'authorization: Bearer {JWT} \ --header 'content-type: application/json'
- **`file_extension`**
`string`, possible values: `"MP4"` — The archived file's file extension.
- **`file_name`**
`string` — Name of the file.
- **`file_path`**
`string` — The file path to the On-Premise account recording. \*\*Note:\*\* This API only returns this field for \[Zoom On-Premise accounts]\(https\://support.zoom.us/hc/en-us/articles/360034064852-Zoom-On-Premise-Deployment). It does \*\*not\*\* return the download\_url field.
- **`file_size`**
`number` — The recording file size.
- **`file_type`**
`string`, possible values: `"MP4"` — The recording file type. The value of this field could be one of the following:\
MP4: Video file of the recording.
- **`id`**
`string` — The recording file ID. Included in the response of general query.
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`recording_type`**
`string`, possible values: `"individual_user", "individual_shared_screen"` — The recording type. The value of this field can be one of the following:\
shared\_screen\_with\_speaker\_view(CC)\
shared\_screen\_with\_speaker\_view\
shared\_screen\_with\_gallery\_view\
speaker\_view\
gallery\_view\
shared\_screen\
audio\_only\
audio\_transcript\
chat\_file\
active\_speaker\
poll\
timeline\
closed\_caption
- **`status`**
`string`, possible values: `"completed"` — The recording status.
- **`user_id`**
`string` — The participant's session user ID. This value is assigned to a participant upon joining a session and is only valid for the duration of the session.
- **`user_key`**
`string` — The participant's SDK identifier. Set with the user\_identity key in the Video SDK JWT payload. This value can be alphanumeric, up to a maximum length of 35 characters.
**Example:**
```json
{
"event": "session.recording_completed",
"event_ts": 1,
"download_token": "",
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_files": [
{
"id": "",
"recording_start": "",
"recording_end": "",
"file_name": "",
"file_path": "",
"file_type": "MP4",
"file_size": 1,
"file_extension": "MP4",
"download_url": "",
"status": "completed",
"recording_type": "shared_screen_with_speaker_view(CC)"
}
],
"participant_audio_files": [
{
"id": "",
"recording_start": "",
"recording_end": "",
"file_name": "",
"file_path": "",
"file_type": "MP4",
"file_size": 1,
"file_extension": "MP4",
"download_url": "",
"status": "completed",
"recording_type": "shared_screen_with_speaker_view(CC)",
"user_id": "",
"user_key": ""
}
],
"participant_video_files": [
{
"id": "",
"recording_start": "",
"recording_end": "",
"file_name": "",
"file_path": "",
"file_type": "MP4",
"file_size": 1,
"file_extension": "MP4",
"download_url": "",
"status": "completed",
"recording_type": "individual_user",
"user_id": "",
"user_key": ""
}
]
}
}
}
```
### POST session.recording\_transcript\_failed
- **Method:** `POST`
- **Path:** `session.recording_transcript_failed`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_transcript_failed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, when the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time when the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_transcript_failed",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": ""
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_transcript_failed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, when the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time when the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_transcript_failed",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": ""
}
}
}
```
### POST session.recording\_trashed
- **Method:** `POST`
- **Path:** `session.recording_trashed`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_trashed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
- **`operator` (required)**
`string`, format: `email` — The email address of the user who deleted the recording.
- **`operator_id` (required)**
`string` — The user ID of the user who deleted the recording.
**Example:**
```json
{
"event": "session.recording_trashed",
"event_ts": 1,
"payload": {
"account_id": "",
"operator": "",
"operator_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": ""
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_trashed"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
- **`operator` (required)**
`string`, format: `email` — The email address of the user who deleted the recording.
- **`operator_id` (required)**
`string` — The user ID of the user who deleted the recording.
**Example:**
```json
{
"event": "session.recording_trashed",
"event_ts": 1,
"payload": {
"account_id": "",
"operator": "",
"operator_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": ""
}
}
}
```
### POST session.user\_joined
- **Method:** `POST`
- **Path:** `session.user_joined`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.user_joined"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`id` (required)**
`string` — The session ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`user` (required)**
`object` — Information about the user.
- **`id` (required)**
`string` — The user's unique ID. This value is assigned to the user upon joining a session and is only valid for that session.
- **`join_time` (required)**
`string`, format: `date-time` — The time at which the user joined the session.
- **`name` (required)**
`string` — The user's username.
- **`participant_uuid` (required)**
`string` — The participant's UUID. This value is assigned to a participant upon joining a session and is only valid for the session's duration.
- **`phone_number`**
`string` — Phone number of participant joined via PSTN.
- **`user_key`**
`string` — Another identifier for the user. Can be a number or characters.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.user_joined",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"id": "",
"session_id": "",
"session_name": "",
"session_key": "",
"user": {
"id": "",
"name": "",
"join_time": "",
"user_key": "",
"phone_number": "",
"participant_uuid": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.user_joined"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`id` (required)**
`string` — The session ID.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`user` (required)**
`object` — Information about the user.
- **`id` (required)**
`string` — The user's unique ID. This value is assigned to the user upon joining a session and is only valid for that session.
- **`join_time` (required)**
`string`, format: `date-time` — The time at which the user joined the session.
- **`name` (required)**
`string` — The user's username.
- **`participant_uuid` (required)**
`string` — The participant's UUID. This value is assigned to a participant upon joining a session and is only valid for the session's duration.
- **`phone_number`**
`string` — Phone number of participant joined via PSTN.
- **`user_key`**
`string` — Another identifier for the user. Can be a number or characters.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.user_joined",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"id": "",
"session_id": "",
"session_name": "",
"session_key": "",
"user": {
"id": "",
"name": "",
"join_time": "",
"user_key": "",
"phone_number": "",
"participant_uuid": ""
}
}
}
}
```
### POST session.stream\_ingestion\_started
- **Method:** `POST`
- **Path:** `session.stream_ingestion_started`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.stream_ingestion_started"` — Event name.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) when the event occurred. The value of this field is returned in long (int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`stream_ingestion` (required)**
`object` — Information about the stream ingestion.
- **`backup_stream_url` (required)**
`string` — The backup stream URL.
- **`stream_id` (required)**
`string` — The stream ingestion ID.
- **`stream_key` (required)**
`string` — The stream ingestion key.
- **`stream_name` (required)**
`string` — The stream ingestion name.
- **`stream_url` (required)**
`string` — The stream URL.
- **`stream_description`**
`string` — The stream ingestion description.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.stream_ingestion_started",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"stream_ingestion": {
"stream_id": "",
"stream_name": "",
"stream_description": "",
"stream_key": "",
"stream_url": "",
"backup_stream_url": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.stream_ingestion_started"` — Event name.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) when the event occurred. The value of this field is returned in long (int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`stream_ingestion` (required)**
`object` — Information about the stream ingestion.
- **`backup_stream_url` (required)**
`string` — The backup stream URL.
- **`stream_id` (required)**
`string` — The stream ingestion ID.
- **`stream_key` (required)**
`string` — The stream ingestion key.
- **`stream_name` (required)**
`string` — The stream ingestion name.
- **`stream_url` (required)**
`string` — The stream URL.
- **`stream_description`**
`string` — The stream ingestion description.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.stream_ingestion_started",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"stream_ingestion": {
"stream_id": "",
"stream_name": "",
"stream_description": "",
"stream_key": "",
"stream_url": "",
"backup_stream_url": ""
}
}
}
}
```
### POST session.stream\_ingestion\_connected
- **Method:** `POST`
- **Path:** `session.stream_ingestion_connected`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.stream_ingestion_connected"` — Name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) when the event occurred. The value of this field is returned in long (int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`stream_ingestion` (required)**
`object` — Information about the stream ingestion.
- **`backup_stream_url` (required)**
`string` — The backup stream URL.
- **`stream_id` (required)**
`string` — The stream ingestion ID.
- **`stream_key` (required)**
`string` — The stream ingestion key.
- **`stream_name` (required)**
`string` — The stream ingestion name.
- **`stream_url` (required)**
`string` — The stream URL.
- **`stream_description`**
`string` — The stream ingestion description.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.stream_ingestion_connected",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"stream_ingestion": {
"stream_id": "",
"stream_name": "",
"stream_description": "",
"stream_key": "",
"stream_url": "",
"backup_stream_url": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.stream_ingestion_connected"` — Name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) when the event occurred. The value of this field is returned in long (int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`stream_ingestion` (required)**
`object` — Information about the stream ingestion.
- **`backup_stream_url` (required)**
`string` — The backup stream URL.
- **`stream_id` (required)**
`string` — The stream ingestion ID.
- **`stream_key` (required)**
`string` — The stream ingestion key.
- **`stream_name` (required)**
`string` — The stream ingestion name.
- **`stream_url` (required)**
`string` — The stream URL.
- **`stream_description`**
`string` — The stream ingestion description.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.stream_ingestion_connected",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"stream_ingestion": {
"stream_id": "",
"stream_name": "",
"stream_description": "",
"stream_key": "",
"stream_url": "",
"backup_stream_url": ""
}
}
}
}
```
### POST session.stream\_ingestion\_disconnected
- **Method:** `POST`
- **Path:** `session.stream_ingestion_disconnected`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.stream_ingestion_disconnected"` — Name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) when the event occurred. The value of this field is returned in long (int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`stream_ingestion` (required)**
`object` — Information about the stream ingestion.
- **`backup_stream_url` (required)**
`string` — The backup stream URL.
- **`stream_id` (required)**
`string` — The stream ingestion ID.
- **`stream_key` (required)**
`string` — The stream ingestion key.
- **`stream_name` (required)**
`string` — The stream ingestion name.
- **`stream_url` (required)**
`string` — The stream URL.
- **`stream_description`**
`string` — The stream ingestion description.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.stream_ingestion_disconnected",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"stream_ingestion": {
"stream_id": "",
"stream_name": "",
"stream_description": "",
"stream_key": "",
"stream_url": "",
"backup_stream_url": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.stream_ingestion_disconnected"` — Name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — Timestamp (in milliseconds since epoch) when the event occurred. The value of this field is returned in long (int64) format.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`stream_ingestion` (required)**
`object` — Information about the stream ingestion.
- **`backup_stream_url` (required)**
`string` — The backup stream URL.
- **`stream_id` (required)**
`string` — The stream ingestion ID.
- **`stream_key` (required)**
`string` — The stream ingestion key.
- **`stream_name` (required)**
`string` — The stream ingestion name.
- **`stream_url` (required)**
`string` — The stream URL.
- **`stream_description`**
`string` — The stream ingestion description.
- **`session_key`**
`string` — The Video SDK custom session ID.
**Example:**
```json
{
"event": "session.stream_ingestion_disconnected",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"stream_ingestion": {
"stream_id": "",
"stream_name": "",
"stream_description": "",
"stream_key": "",
"stream_url": "",
"backup_stream_url": ""
}
}
}
}
```
### POST session.recording\_recovered
- **Method:** `POST`
- **Path:** `session.recording_recovered`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_recovered"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
- **`operator` (required)**
`string`, format: `email` — The email address of the user who deleted the recording.
- **`operator_id` (required)**
`string` — The user ID of the user who deleted the recording.
**Example:**
```json
{
"event": "session.recording_recovered",
"event_ts": 1,
"payload": {
"account_id": "",
"operator": "",
"operator_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": ""
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_recovered"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
- **`operator` (required)**
`string`, format: `email` — The email address of the user who deleted the recording.
- **`operator_id` (required)**
`string` — The user ID of the user who deleted the recording.
**Example:**
```json
{
"event": "session.recording_recovered",
"event_ts": 1,
"payload": {
"account_id": "",
"operator": "",
"operator_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": ""
}
}
}
```
### POST session.user\_phone\_callout\_missed
- **Method:** `POST`
- **Path:** `session.user_phone_callout_missed`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`participant` (required)**
`object` — Information about the invited user.
- **`from_number` (required)**
`integer`, format: `int64` — The number used to call out to the invited user.
- **`invitee_name` (required)**
`string` — The user's name to display in the session.
- **`phone_number` (required)**
`integer`, format: `int64` — The user's phone number.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`user_key` (required)**
`string` — Another identifier for the inviter. Can be a number or characters.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user_key": "",
"host_id": "",
"participant": {
"invitee_name": "",
"phone_number": 1,
"from_number": 1
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`participant` (required)**
`object` — Information about the invited user.
- **`from_number` (required)**
`integer`, format: `int64` — The number used to call out to the invited user.
- **`invitee_name` (required)**
`string` — The user's name to display in the session.
- **`phone_number` (required)**
`integer`, format: `int64` — The user's phone number.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`user_key` (required)**
`string` — Another identifier for the inviter. Can be a number or characters.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user_key": "",
"host_id": "",
"participant": {
"invitee_name": "",
"phone_number": 1,
"from_number": 1
}
}
}
}
```
### POST session.user\_phone\_callout\_rejected
- **Method:** `POST`
- **Path:** `session.user_phone_callout_rejected`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`participant` (required)**
`object` — Information about the invited user.
- **`from_number` (required)**
`integer`, format: `int64` — The number used to call out to the invited user.
- **`invitee_name` (required)**
`string` — The user's name to display in the session.
- **`phone_number` (required)**
`integer`, format: `int64` — The user's phone number.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`user_key` (required)**
`string` — Another identifier for the inviter. Can be a number or characters.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user_key": "",
"host_id": "",
"participant": {
"invitee_name": "",
"phone_number": 1,
"from_number": 1
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`participant` (required)**
`object` — Information about the invited user.
- **`from_number` (required)**
`integer`, format: `int64` — The number used to call out to the invited user.
- **`invitee_name` (required)**
`string` — The user's name to display in the session.
- **`phone_number` (required)**
`integer`, format: `int64` — The user's phone number.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`user_key` (required)**
`string` — Another identifier for the inviter. Can be a number or characters.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"user_key": "",
"host_id": "",
"participant": {
"invitee_name": "",
"phone_number": 1,
"from_number": 1
}
}
}
}
```
### POST session.user\_room\_system\_callout\_accepted
- **Method:** `POST`
- **Path:** `session.user_room_system_callout_accepted`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`inviter_name` (required)**
`string` — The user name of the event's trigger.
- **`message_id` (required)**
`string` — The request unique identifier (UUID).
- **`participant` (required)**
`object` — Information about the invited participant.
- **`call_type` (required)**
`string` — The type of call out. Use a value of h323 or sip.
- **`device_ip` (required)**
`string` — The user's device IP address.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"host_id": "",
"message_id": "",
"inviter_name": "",
"participant": {
"call_type": "",
"device_ip": "",
"additionalProperty": "anything"
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string` — The name of the event.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The account ID of the session host.
- **`object` (required)**
`object` — Information about the session.
- **`host_id` (required)**
`string` — The user ID of the session host.
- **`inviter_name` (required)**
`string` — The user name of the event's trigger.
- **`message_id` (required)**
`string` — The request unique identifier (UUID).
- **`participant` (required)**
`object` — Information about the invited participant.
- **`call_type` (required)**
`string` — The type of call out. Use a value of h323 or sip.
- **`device_ip` (required)**
`string` — The user's device IP address.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_name` (required)**
`string` — Session name.
- **`id`**
`integer`, format: `int64` — The session ID.
- **`uuid`**
`string` — The session's universally unique identifier (UUID). Each session instance generates a session UUID.
**Example:**
```json
{
"event": "",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"host_id": "",
"message_id": "",
"inviter_name": "",
"participant": {
"call_type": "",
"device_ip": "",
"additionalProperty": "anything"
}
}
}
}
```
### POST session.recording\_stopped
- **Method:** `POST`
- **Path:** `session.recording_stopped`
- **Tags:** session
#### Request Body
##### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_stopped"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_file` (required)**
`object`
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_stopped",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_file": {
"recording_start": "",
"recording_end": ""
}
}
}
}
```
#### Responses
##### Status: 200
###### Content-Type: application/json
- **`event` (required)**
`string`, possible values: `"session.recording_stopped"` — The event's name.
- **`event_ts` (required)**
`integer`, format: `int64` — A timestamp, in milliseconds since epoch, at which the event occurred.
- **`payload` (required)**
`object`
- **`account_id` (required)**
`string` — The Video SDK account ID.
- **`object` (required)**
`object` — Information about the session. This object only returns updated properties.
- **`recording_file` (required)**
`object`
- **`recording_end`**
`string` — The recording end time. Response in general query.
- **`recording_start`**
`string` — The recording start time.
- **`session_id` (required)**
`string` — Unique session identifier. Each instance of the session will have its own session\_id.
- **`session_key` (required)**
`string` — The Video SDK custom session ID.
- **`session_name` (required)**
`string` — Session name.
- **`start_time` (required)**
`string`, format: `date-time` — The time at which the session started.
- **`timezone` (required)**
`string` — The user's timezone.
**Example:**
```json
{
"event": "session.recording_stopped",
"event_ts": 1,
"payload": {
"account_id": "",
"object": {
"session_id": "",
"session_name": "",
"session_key": "",
"start_time": "",
"timezone": "",
"recording_file": {
"recording_start": "",
"recording_end": ""
}
}
}
}
```