# Livestreams ## Create an independent livestream `client.realtimeKit.livestreams.createIndependentLivestream(stringappId, LivestreamCreateIndependentLivestreamParamsparams, RequestOptionsoptions?): LivestreamCreateIndependentLivestreamResponse` **post** `/accounts/{account_id}/realtime/kit/{app_id}/livestreams` Creates a livestream for the given App ID and returns ingest server, stream key, and playback URL. You can pass custom input to the ingest server and stream key, and freely distribute the content using the playback URL on any player that supports HLS/LHLS. ### Parameters - `appId: string` The app identifier tag. - `params: LivestreamCreateIndependentLivestreamParams` - `account_id: string` Path param: The account identifier tag. - `name?: string | null` Body param: Name of the livestream ### Returns - `LivestreamCreateIndependentLivestreamResponse` - `data?: Data` - `id?: string` The livestream ID. - `disabled?: boolean` Specifies if the livestream was disabled. - `ingest_server?: string` The server URL to which the RTMP encoder should send the video and audio data. - `meeting_id?: string | null` - `name?: string` - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `success?: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.livestreams.createIndependentLivestream('app_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'prdmmp-xhycsl', }); console.log(response.data); ``` #### Response ```json { "data": { "disabled": false, "id": "78dd0b50-4147-4bb8-88d3-2ccc2e98bff0", "ingest_server": "rtmps://live.cloudflare.com:443/live/", "meeting_id": null, "name": "Livestreaming-Demo", "playback_url": "https://customer-s8oj0c1n5ek8ah1e.cloudflarestream.com/7de6a3fec0f9c05bf1df140950d3a237/manifest/video.m3u8", "status": "INVOKED", "stream_key": "f26566285faca6fbe2e79a73a66rsrrsrrsr3cde23a2bb7dbc6c2c1761b98f4e4" }, "success": true } ``` ## Fetch all livestreams `client.realtimeKit.livestreams.getAllLivestreams(stringappId, LivestreamGetAllLivestreamsParamsparams, RequestOptionsoptions?): LivestreamGetAllLivestreamsResponse` **get** `/accounts/{account_id}/realtime/kit/{app_id}/livestreams` Returns details of livestreams associated with the given App ID. It includes livestreams created by your App and RealtimeKit meetings that are livestreamed by your App. If you only want details of livestreams created by your App and not RealtimeKit meetings, you can use the `exclude_meetings` query parameter. ### Parameters - `appId: string` The app identifier tag. - `params: LivestreamGetAllLivestreamsParams` - `account_id: string` Path param: The account identifier tag. - `end_time?: string` Query param: Specify the end time range in ISO format to access the live stream. - `exclude_meetings?: boolean` Query param: Exclude the RealtimeKit meetings that are livestreamed. - `page_no?: number` Query param: The page number from which you want your page search results to be displayed. - `per_page?: number` Query param: Number of results per page. - `sort_order?: "ASC" | "DSC"` Query param: Specifies the sorting order for the results. - `"ASC"` - `"DSC"` - `start_time?: string` Query param: Specify the start time range in ISO format to access the live stream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` Query param: Specifies the status of the operation. - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` ### Returns - `LivestreamGetAllLivestreamsResponse` - `data?: Data` - `id?: string` The ID of the livestream. - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `disabled?: string` Specifies if the livestream was disabled. - `ingest_server?: string` The server URL to which the RTMP encoder sends the video and audio data. - `meeting_id?: string` ID of the meeting. - `name?: string` Name of the livestream. - `paging?: Paging` - `end_offset?: number` - `start_offset?: number` - `total_count?: number` - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `success?: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.livestreams.getAllLivestreams('app_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.data); ``` #### Response ```json { "data": { "id": "3fd739f4-3c41-456e-bfba-6ebd51e16d2d", "created_at": "2023-07-15T11:48:34.753Z", "disabled": "disabled", "ingest_server": "rtmps://live.cloudflare.com:443/live/", "meeting_id": "meeting_id", "name": "test", "paging": { "end_offset": 1, "start_offset": 1, "total_count": 1 }, "playback_url": "https://customer-s8oj0c1n5ek8ah1e.cloudflarestream.com/7de6a3fec0f9c05bf1df140950d3a237/manifest/video.m3u8", "status": "LIVE", "stream_key": "f26566285faca6fbe2e79a73a66rsrrsrrsr3cde23a2bb7dbc6c2c1761b98f4e4", "updated_at": "2023-07-15T11:48:34.753Z" }, "success": true } ``` ## Stop livestreaming a meeting `client.realtimeKit.livestreams.stopLivestreamingAMeeting(stringappId, stringmeetingId, LivestreamStopLivestreamingAMeetingParamsparams, RequestOptionsoptions?): LivestreamStopLivestreamingAMeetingResponse` **post** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/active-livestream/stop` Stops the active livestream of a meeting associated with the given meeting ID. Retreive the meeting ID using the `Create a meeting` API. ### Parameters - `appId: string` The app identifier tag. - `meetingId: string` - `params: LivestreamStopLivestreamingAMeetingParams` - `account_id: string` The account identifier tag. ### Returns - `LivestreamStopLivestreamingAMeetingResponse` - `data?: Data` - `message?: string` - `success?: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.livestreams.stopLivestreamingAMeeting( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.data); ``` #### Response ```json { "data": { "message": "Stopped live stream successfully" }, "success": true } ``` ## Start livestreaming a meeting `client.realtimeKit.livestreams.startLivestreamingAMeeting(stringappId, stringmeetingId, LivestreamStartLivestreamingAMeetingParamsparams, RequestOptionsoptions?): LivestreamStartLivestreamingAMeetingResponse` **post** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/livestreams` Starts livestream of a meeting associated with the given meeting ID. Retreive the meeting ID using the `Create a meeting` API. ### Parameters - `appId: string` The app identifier tag. - `meetingId: string` - `params: LivestreamStartLivestreamingAMeetingParams` - `account_id: string` Path param: The account identifier tag. - `name?: string | null` Body param - `video_config?: VideoConfig` Body param - `height?: number` Height of the livestreaming video in pixels - `width?: number` Width of the livestreaming video in pixels ### Returns - `LivestreamStartLivestreamingAMeetingResponse` - `data?: Data` - `id?: string` The livestream ID. - `ingest_server?: string` The server URL to which the RTMP encoder sends the video and audio data. - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `success?: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.livestreams.startLivestreamingAMeeting( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'prdmmp-xhycsl' }, ); console.log(response.data); ``` #### Response ```json { "data": { "id": "7088bba8-f522-49a8-b59b-3cd0e946bbb0", "ingest_server": "rtmps://live.cloudflare.com:443/live/", "playback_url": "https://customer-s8oj0c1n5ek8ah1e.cloudflarestream.com/7de6a3fec0f9c05bf1df140950d3a237/manifest/video.m3u8", "status": "INVOKED", "stream_key": "f26566285faca6fbe2e79a73a66rsrrsrrsr3cde23a2bb7dbc6c2c1761b98f4e4" }, "success": true } ``` ## Fetch complete analytics data for your livestreams `client.realtimeKit.livestreams.getLivestreamAnalyticsComplete(stringappId, LivestreamGetLivestreamAnalyticsCompleteParamsparams, RequestOptionsoptions?): LivestreamGetLivestreamAnalyticsCompleteResponse` **get** `/accounts/{account_id}/realtime/kit/{app_id}/analytics/livestreams/overall` Returns livestream analytics for the specified time range. ### Parameters - `appId: string` The app identifier tag. - `params: LivestreamGetLivestreamAnalyticsCompleteParams` - `account_id: string` Path param: The account identifier tag. - `end_time?: string` Query param: Specify the end time range in ISO format to access the livestream analytics. - `start_time?: string` Query param: Specify the start time range in ISO format to access the livestream analytics. ### Returns - `LivestreamGetLivestreamAnalyticsCompleteResponse` - `data?: Data` - `count?: number` Count of total livestreams. - `total_ingest_seconds?: number` Total time duration for which the input was given or the meeting was streamed. - `total_viewer_seconds?: number` Total view time for which the viewers watched the stream. - `success?: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.livestreams.getLivestreamAnalyticsComplete('app_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.data); ``` #### Response ```json { "data": { "count": 0, "total_ingest_seconds": 0, "total_viewer_seconds": 0 }, "success": true } ``` ## Fetch day-wise session and recording analytics data for an App `client.realtimeKit.livestreams.getOrgAnalytics(stringappId, LivestreamGetOrgAnalyticsParamsparams, RequestOptionsoptions?): LivestreamGetOrgAnalyticsResponse` **get** `/accounts/{account_id}/realtime/kit/{app_id}/analytics/daywise` Returns day-wise session and recording analytics data of an App for the specified time range start_date to end_date. If start_date and end_date are not provided, the default time range is set from 30 days ago to the current date. ### Parameters - `appId: string` The app identifier tag. - `params: LivestreamGetOrgAnalyticsParams` - `account_id: string` Path param: The account identifier tag. - `end_date?: string` Query param: end date in YYYY-MM-DD format - `start_date?: string` Query param: start date in YYYY-MM-DD format ### Returns - `LivestreamGetOrgAnalyticsResponse` - `data?: Data` - `recording_stats?: RecordingStats` Recording statistics of an App during the range specified - `day_stats?: Array` Day wise recording stats - `day?: string` - `total_recording_minutes?: number` Total recording minutes for a specific day - `total_recordings?: number` Total number of recordings for a specific day - `recording_count?: number` Total number of recordings during the range specified - `recording_minutes_consumed?: number` Total recording minutes during the range specified - `session_stats?: SessionStats` Session statistics of an App during the range specified - `day_stats?: Array` Day wise session stats - `day?: string` - `total_session_minutes?: number` Total session minutes for a specific day - `total_sessions?: number` Total number of sessions for a specific day - `sessions_count?: number` Total number of sessions during the range specified - `sessions_minutes_consumed?: number` Total session minutes during the range specified - `success?: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.livestreams.getOrgAnalytics('app_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.data); ``` #### Response ```json { "data": { "recording_stats": { "day_stats": [ { "day": "day", "total_recording_minutes": 0, "total_recordings": 0 } ], "recording_count": 0, "recording_minutes_consumed": 0 }, "session_stats": { "day_stats": [ { "day": "day", "total_session_minutes": 0, "total_sessions": 0 } ], "sessions_count": 0, "sessions_minutes_consumed": 0 } }, "success": true } ``` ## Fetch active livestreams for a meeting `client.realtimeKit.livestreams.getMeetingActiveLivestreams(stringappId, stringmeetingId, LivestreamGetMeetingActiveLivestreamsParamsparams, RequestOptionsoptions?): LivestreamGetMeetingActiveLivestreamsResponse` **get** `/accounts/{account_id}/realtime/kit/{app_id}/meetings/{meeting_id}/active-livestream` Returns details of all active livestreams for the given meeting ID. ### Parameters - `appId: string` The app identifier tag. - `meetingId: string` - `params: LivestreamGetMeetingActiveLivestreamsParams` - `account_id: string` The account identifier tag. ### Returns - `LivestreamGetMeetingActiveLivestreamsResponse` - `data?: Data` - `id?: string` The livestream ID. - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `disabled?: string` Specifies if the livestream was disabled. - `ingest_server?: string` The server URL to which the RTMP encoder sends the video and audio data. - `meeting_id?: string` - `name?: string | null` Name of the livestream. - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `success?: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.livestreams.getMeetingActiveLivestreams( 'app_id', '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.data); ``` #### Response ```json { "data": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "disabled": "disabled", "ingest_server": "ingest_server", "meeting_id": "meeting_id", "name": "name", "playback_url": "playback_url", "status": "LIVE", "stream_key": "stream_key", "updated_at": "2019-12-27T18:11:19.117Z" }, "success": true } ``` ## Fetch livestream session details using livestream session ID `client.realtimeKit.livestreams.getLivestreamSessionDetailsForSessionId(stringappId, stringlivestreamSessionId, LivestreamGetLivestreamSessionDetailsForSessionIDParamsparams, RequestOptionsoptions?): LivestreamGetLivestreamSessionDetailsForSessionIDResponse` **get** `/accounts/{account_id}/realtime/kit/{app_id}/livestreams/sessions/{livestream-session-id}` Returns livestream session details for the given livestream session ID. Retrieve the `livestream_session_id`using the `Fetch livestream session details using a session ID` API. ### Parameters - `appId: string` The app identifier tag. - `livestreamSessionId: string` - `params: LivestreamGetLivestreamSessionDetailsForSessionIDParams` - `account_id: string` The account identifier tag. ### Returns - `LivestreamGetLivestreamSessionDetailsForSessionIDResponse` - `data?: Data` - `id?: string` The livestream ID. - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `err_message?: string` The server URL to which the RTMP encoder sends the video and audio data. - `ingest_seconds?: number` Name of the livestream. - `livestream_id?: string` - `started_time?: string` Unique key for accessing each livestream. - `stopped_time?: string` The web address that viewers can use to watch the livestream. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `viewer_seconds?: number` Specifies if the livestream was disabled. - `success?: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.livestreams.getLivestreamSessionDetailsForSessionId( 'app_id', 'livestream-session-id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.data); ``` #### Response ```json { "data": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "err_message": "err_message", "ingest_seconds": 0, "livestream_id": "livestream_id", "started_time": "started_time", "stopped_time": "stopped_time", "updated_at": "updated_at", "viewer_seconds": 0 }, "success": true } ``` ## Fetch active livestream session details `client.realtimeKit.livestreams.getActiveLivestreamsForLivestreamId(stringappId, stringlivestreamId, LivestreamGetActiveLivestreamsForLivestreamIDParamsparams, RequestOptionsoptions?): LivestreamGetActiveLivestreamsForLivestreamIDResponse` **get** `/accounts/{account_id}/realtime/kit/{app_id}/livestreams/{livestream_id}/active-livestream-session` Returns details of all active livestreams for the given livestream ID. Retreive the livestream ID using the `Start livestreaming a meeting` API. ### Parameters - `appId: string` The app identifier tag. - `livestreamId: string` - `params: LivestreamGetActiveLivestreamsForLivestreamIDParams` - `account_id: string` The account identifier tag. ### Returns - `LivestreamGetActiveLivestreamsForLivestreamIDResponse` - `data?: Data` - `livestream?: Livestream` - `id?: string` - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `disabled?: string` Specifies if the livestream was disabled. - `ingest_server?: string` The server URL to which the RTMP encoder sends the video and audio data. - `meeting_id?: string` ID of the meeting. - `name?: string` Name of the livestream. - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `session?: Session` - `id?: string` - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `err_message?: string` - `ingest_seconds?: string` The time duration for which the input was given or the meeting was streamed. - `invoked_time?: string` Timestamp the object was invoked. The time is returned in ISO format. - `livestream_id?: string` - `started_time?: string` Timestamp the object was started. The time is returned in ISO format. - `stopped_time?: string` Timestamp the object was stopped. The time is returned in ISO format. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `viewer_seconds?: string` The total view time for which the viewers watched the stream. - `success?: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.livestreams.getActiveLivestreamsForLivestreamId( 'app_id', 'livestream_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.data); ``` #### Response ```json { "data": { "livestream": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "disabled": "disabled", "ingest_server": "ingest_server", "meeting_id": "meeting_id", "name": "name", "playback_url": "playback_url", "status": "LIVE", "stream_key": "stream_key", "updated_at": "2019-12-27T18:11:19.117Z" }, "session": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "err_message": "err_message", "ingest_seconds": "ingest_seconds", "invoked_time": "2019-12-27T18:11:19.117Z", "livestream_id": "livestream_id", "started_time": "2019-12-27T18:11:19.117Z", "stopped_time": "2019-12-27T18:11:19.117Z", "updated_at": "2019-12-27T18:11:19.117Z", "viewer_seconds": "viewer_seconds" } }, "success": true } ``` ## Fetch livestream details using livestream ID `client.realtimeKit.livestreams.getLivestreamSessionForLivestreamId(stringappId, stringlivestreamId, LivestreamGetLivestreamSessionForLivestreamIDParamsparams, RequestOptionsoptions?): LivestreamGetLivestreamSessionForLivestreamIDResponse` **get** `/accounts/{account_id}/realtime/kit/{app_id}/livestreams/{livestream_id}` Returns details of a livestream with sessions for the given livestream ID. Retreive the livestream ID using the `Start livestreaming a meeting` API. ### Parameters - `appId: string` The app identifier tag. - `livestreamId: string` - `params: LivestreamGetLivestreamSessionForLivestreamIDParams` - `account_id: string` Path param: The account identifier tag. - `page_no?: number` Query param: The page number from which you want your page search results to be displayed. - `per_page?: number` Query param: Number of results per page. ### Returns - `LivestreamGetLivestreamSessionForLivestreamIDResponse` - `data?: Data` - `livestream?: Livestream` - `id?: string` ID of the livestream. - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `disabled?: string` Specifies if the livestream was disabled. - `ingest_server?: string` The server URL to which the RTMP encoder sends the video and audio data. - `meeting_id?: string` The ID of the meeting. - `name?: string` Name of the livestream. - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `paging?: Paging` - `end_offset?: number` - `start_offset?: number` - `total_count?: number` - `session?: Session` - `id?: string` ID of the session. - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `err_message?: string` - `ingest_seconds?: number` The time duration for which the input was given or the meeting was streamed. - `invoked_time?: string` Timestamp the object was invoked. The time is returned in ISO format. - `livestream_id?: string` - `started_time?: string` Timestamp the object was started. The time is returned in ISO format. - `stopped_time?: string` Timestamp the object was stopped. The time is returned in ISO format. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `viewer_seconds?: number` The total view time for which the viewers watched the stream. - `success?: boolean` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.realtimeKit.livestreams.getLivestreamSessionForLivestreamId( 'app_id', 'livestream_id', { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, ); console.log(response.data); ``` #### Response ```json { "data": { "livestream": { "id": "id", "created_at": "created_at", "disabled": "disabled", "ingest_server": "ingest_server", "meeting_id": "meeting_id", "name": "name", "playback_url": "playback_url", "status": "LIVE", "stream_key": "stream_key", "updated_at": "updated_at" }, "paging": { "end_offset": 1, "start_offset": 1, "total_count": 1 }, "session": { "id": "id", "created_at": "2019-12-27T18:11:19.117Z", "err_message": "err_message", "ingest_seconds": 0, "invoked_time": "2019-12-27T18:11:19.117Z", "livestream_id": "livestream_id", "started_time": "2019-12-27T18:11:19.117Z", "stopped_time": "2019-12-27T18:11:19.117Z", "updated_at": "2019-12-27T18:11:19.117Z", "viewer_seconds": 0 } }, "success": true } ``` ## Domain Types ### Livestream Create Independent Livestream Response - `LivestreamCreateIndependentLivestreamResponse` - `data?: Data` - `id?: string` The livestream ID. - `disabled?: boolean` Specifies if the livestream was disabled. - `ingest_server?: string` The server URL to which the RTMP encoder should send the video and audio data. - `meeting_id?: string | null` - `name?: string` - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `success?: boolean` ### Livestream Get All Livestreams Response - `LivestreamGetAllLivestreamsResponse` - `data?: Data` - `id?: string` The ID of the livestream. - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `disabled?: string` Specifies if the livestream was disabled. - `ingest_server?: string` The server URL to which the RTMP encoder sends the video and audio data. - `meeting_id?: string` ID of the meeting. - `name?: string` Name of the livestream. - `paging?: Paging` - `end_offset?: number` - `start_offset?: number` - `total_count?: number` - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `success?: boolean` ### Livestream Stop Livestreaming A Meeting Response - `LivestreamStopLivestreamingAMeetingResponse` - `data?: Data` - `message?: string` - `success?: boolean` ### Livestream Start Livestreaming A Meeting Response - `LivestreamStartLivestreamingAMeetingResponse` - `data?: Data` - `id?: string` The livestream ID. - `ingest_server?: string` The server URL to which the RTMP encoder sends the video and audio data. - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `success?: boolean` ### Livestream Get Livestream Analytics Complete Response - `LivestreamGetLivestreamAnalyticsCompleteResponse` - `data?: Data` - `count?: number` Count of total livestreams. - `total_ingest_seconds?: number` Total time duration for which the input was given or the meeting was streamed. - `total_viewer_seconds?: number` Total view time for which the viewers watched the stream. - `success?: boolean` ### Livestream Get Org Analytics Response - `LivestreamGetOrgAnalyticsResponse` - `data?: Data` - `recording_stats?: RecordingStats` Recording statistics of an App during the range specified - `day_stats?: Array` Day wise recording stats - `day?: string` - `total_recording_minutes?: number` Total recording minutes for a specific day - `total_recordings?: number` Total number of recordings for a specific day - `recording_count?: number` Total number of recordings during the range specified - `recording_minutes_consumed?: number` Total recording minutes during the range specified - `session_stats?: SessionStats` Session statistics of an App during the range specified - `day_stats?: Array` Day wise session stats - `day?: string` - `total_session_minutes?: number` Total session minutes for a specific day - `total_sessions?: number` Total number of sessions for a specific day - `sessions_count?: number` Total number of sessions during the range specified - `sessions_minutes_consumed?: number` Total session minutes during the range specified - `success?: boolean` ### Livestream Get Meeting Active Livestreams Response - `LivestreamGetMeetingActiveLivestreamsResponse` - `data?: Data` - `id?: string` The livestream ID. - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `disabled?: string` Specifies if the livestream was disabled. - `ingest_server?: string` The server URL to which the RTMP encoder sends the video and audio data. - `meeting_id?: string` - `name?: string | null` Name of the livestream. - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `success?: boolean` ### Livestream Get Livestream Session Details For Session ID Response - `LivestreamGetLivestreamSessionDetailsForSessionIDResponse` - `data?: Data` - `id?: string` The livestream ID. - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `err_message?: string` The server URL to which the RTMP encoder sends the video and audio data. - `ingest_seconds?: number` Name of the livestream. - `livestream_id?: string` - `started_time?: string` Unique key for accessing each livestream. - `stopped_time?: string` The web address that viewers can use to watch the livestream. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `viewer_seconds?: number` Specifies if the livestream was disabled. - `success?: boolean` ### Livestream Get Active Livestreams For Livestream ID Response - `LivestreamGetActiveLivestreamsForLivestreamIDResponse` - `data?: Data` - `livestream?: Livestream` - `id?: string` - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `disabled?: string` Specifies if the livestream was disabled. - `ingest_server?: string` The server URL to which the RTMP encoder sends the video and audio data. - `meeting_id?: string` ID of the meeting. - `name?: string` Name of the livestream. - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `session?: Session` - `id?: string` - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `err_message?: string` - `ingest_seconds?: string` The time duration for which the input was given or the meeting was streamed. - `invoked_time?: string` Timestamp the object was invoked. The time is returned in ISO format. - `livestream_id?: string` - `started_time?: string` Timestamp the object was started. The time is returned in ISO format. - `stopped_time?: string` Timestamp the object was stopped. The time is returned in ISO format. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `viewer_seconds?: string` The total view time for which the viewers watched the stream. - `success?: boolean` ### Livestream Get Livestream Session For Livestream ID Response - `LivestreamGetLivestreamSessionForLivestreamIDResponse` - `data?: Data` - `livestream?: Livestream` - `id?: string` ID of the livestream. - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `disabled?: string` Specifies if the livestream was disabled. - `ingest_server?: string` The server URL to which the RTMP encoder sends the video and audio data. - `meeting_id?: string` The ID of the meeting. - `name?: string` Name of the livestream. - `playback_url?: string` The web address that viewers can use to watch the livestream. - `status?: "LIVE" | "IDLE" | "ERRORED" | "INVOKED"` - `"LIVE"` - `"IDLE"` - `"ERRORED"` - `"INVOKED"` - `stream_key?: string` Unique key for accessing each livestream. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `paging?: Paging` - `end_offset?: number` - `start_offset?: number` - `total_count?: number` - `session?: Session` - `id?: string` ID of the session. - `created_at?: string` Timestamp the object was created at. The time is returned in ISO format. - `err_message?: string` - `ingest_seconds?: number` The time duration for which the input was given or the meeting was streamed. - `invoked_time?: string` Timestamp the object was invoked. The time is returned in ISO format. - `livestream_id?: string` - `started_time?: string` Timestamp the object was started. The time is returned in ISO format. - `stopped_time?: string` Timestamp the object was stopped. The time is returned in ISO format. - `updated_at?: string` Timestamp the object was updated at. The time is returned in ISO format. - `viewer_seconds?: number` The total view time for which the viewers watched the stream. - `success?: boolean`