Skip navigation

Events and streams

Events, schedules, chat, and QoS.

Live

The event object

FieldTypeDescription
idstringUnique identifier for the object.
typestringAvailable values: one-time, recurring

Create event

POST {{baseHost}}/v2/live/events

Creates a new live event. The event is in draft state until scheduled and enabled.

Create new event

FieldTypeDescription
namestringEvent name. Required
typestringAvailable values: recurring, one-time. Required
parent_idUUIDProject or folder ID for event. Not required
auto_startbooleanAutomatic start of the stream. Default false. Not required
protectedbooleanEnable encryption stream. Default false. Not required
time_shiftbooleanDefault false. Not required
reconnect_windowintegerDefault 600 seconds. Not required
scheduledobjectSettings for scheduled event. Available keys - 'time'
'time' - broadcast start time. Not required
recordobjectSettings for saving videos after the stream is completed. Not required. Available keys - 'parent_id'.
'parent_id' - project or folder ID where will placed video after stream is completed. Not required
videoobjectSettings for video. Not required. Available keys - 'presets'.
'presets' - array of strings. Select qualities for videos. Available values - 360p 480p 720p 1080p 1440p 2160p. Not required
restreams[]object{}Not required. Every object include keys - "name", "url", "key", "description", "enabled".
"name" -string. Required
"url" - string. Required
"key" - string. Required
"description" - string. Not required
"enabled" - boolean. Not required
latency_modestringAvailable values: standard, reduced. Default 'standard'. Not required.
show_membersboolShow/hide members of chat. Default true.
chat_activeboolChat enabled/disabled after stream ended. Default false.
chat_after_streamboolShow/hide chat after stream ended. Default true.
chat_previewboolShow/hide chat in video preview. Default true.
Request body (json)
{  "name": "New event",  "type": "recurring",  "auto_start": true,  "protected": false,  "time_shift": false,  "parent_id": "<UUID>",  "reconnect_window": 600,  "scheduled": {    "time": "2022-12-19T00:05:41.634922Z"  },  "record": {    "parent_id": "<UUID>"  },  "video": {    "presets": [      "360p",      "1080p"    ]  },  "restreams": [    {      "name": "Restream 1",      "url": "rtmp://rtmp.kinescope.dev/live",      "key": "stream key"    }  ],  "latency_mode": "standard",  "show_members": true,  "chat_active": false,  "chat_after_stream": true,  "chat_preview": true}
Responses
{  "data": {    "id": "<UUID>",    "workspace_id": "<UUID>",    "parent_id": "<UUID>",    "name": "New event",    "subtitle": "New subtitle",    "type": "recurring",    "streamkey": "a6739c5535504feaa45da338dc62f752",    "auto_start": true,    "protected": false,    "time_shift": false,    "chat_after_stream": true,    "chat_active": true,    "record": {      "parent_id": "<UUID>"    },    "video": {      "presets": null    },    "audio": {      "channel_mapping": null    },    "restreams": [      {        "id": "<UUID>",        "event_id": "<UUID>",        "name": "Restream 1",        "url": "rtmp://rtmp.kinescope.dev/live",        "key": "stream key",        "status": "disconnected",        "enabled": true,        "description": "",        "created_at": "2022-11-15T12:25:04.095926Z",        "updated_at": null      }    ],    "reconnect_window": 1800,    "play_link": "https://kinescope.dev/200527222",    "rtmp_link": "rtmp://rtmp.kinescope.dev/live",    "scheduled": {      "time": "2022-12-19T00:05:41.634922Z"    },    "stream": {      "id": "<UUID>",      "event_id": "<UUID>",      "status": "pending",      "started_at": "2022-12-19T00:05:41.634922Z",      "finished_at": null    },    "created_at": "2022-11-15T12:25:04.095926Z",    "updated_at": null,    "latency_mode": "standard",    "poster": {      "id": "<UUID>",      "type": "image",      "status": "done",      "active": true,      "original": "https://static.kinescopecdn.net/assets/event_default_poster.png",      "md": "https://static.kinescopecdn.net/assets/event_default_poster.png",      "sm": "https://static.kinescopecdn.net/assets/event_default_poster.png",      "xs": "https://static.kinescopecdn.net/assets/event_default_poster.png",      "from_time": 0,      "to_time": 0    }  }}

Update event

PUT {{baseHost}}/v2/live/events/:event_id

Updates properties of a live event (title, description, scheduled time, restreams, etc.).

Request body (json)
{  "name": ""}
Responses
{  "data": {    "id": "<UUID>",    "workspace_id": "<UUID>",    "parent_id": "<UUID>",    "name": "Update event",    "subtitle": "Update subtitle",    "type": "recurring",    "streamkey": "a6739c5535504feaa45da338dc62f752",    "auto_start": true,    "protected": false,    "time_shift": false,    "chat_after_stream": true,    "record": {      "parent_id": "<UUID>"    },    "video": {      "presets": null    },    "audio": {      "channel_mapping": null    },    "restreams": [      {        "id": "<UUID>",        "event_id": "<UUID>",        "name": "Restream 1",        "url": "rtmp://rtmp.kinescope.dev/live",        "key": "stream key",        "status": "disconnected",        "enabled": true,        "description": "",        "created_at": "2022-11-15T12:25:04.095926Z",        "updated_at": null      }    ],    "reconnect_window": 1800,    "play_link": "https://kinescope.dev/200527222",    "rtmp_link": "rtmp://rtmp.kinescope.dev/live",    "scheduled": {      "time": "2023-12-19T00:05:41.634922Z"    },    "stream": {      "id": "<UUID>",      "event_id": "<UUID>",      "status": "pending",      "started_at": "2023-12-19T00:05:41.634922Z",      "finished_at": null    },    "created_at": "2022-11-15T12:25:04.095926Z",    "updated_at": "2022-11-15T12:30:53.449823Z",    "latency_mode": "standard",    "poster": {      "id": "<UUID>",      "type": "image",      "status": "done",      "active": true,      "original": "https://static.kinescopecdn.net/assets/event_default_poster.png",      "md": "https://static.kinescopecdn.net/assets/event_default_poster.png",      "sm": "https://static.kinescopecdn.net/assets/event_default_poster.png",      "xs": "https://static.kinescopecdn.net/assets/event_default_poster.png",      "from_time": 0,      "to_time": 0    }  }}

Get event

GET {{baseHost}}/v2/live/events/:event_id

Retrieves the details of a single live event by its unique ID.

Responses
{  "data": {    "id": "<UUID>",    "workspace_id": "<UUID>",    "parent_id": "<UUID>",    "name": "New event",    "subtitle": "",    "type": "one-time",    "streamkey": "5cbb30742b9b4a02971abd4cdd7fb22f",    "auto_start": false,    "protected": false,    "time_shift": true,    "record": {      "parent_id": null    },    "video": {      "presets": []    },    "audio": {      "channel_mapping": null    },    "restreams": [      {        "id": "<UUID>",        "event_id": "<UUID>",        "name": "23234",        "url": "rtmp://rtmp.kinescope.io/live",        "key": "23234234",        "status": "disconnected",        "enabled": false,        "description": "",        "created_at": "2026-03-03T10:55:22.991595Z",        "updated_at": "2026-03-03T11:10:05.345611Z"      }    ],    "reconnect_window": 600,    "play_link": "https://kinescope.io/0cxfXwkKh4Wzzd1boAnQFE",    "rtmp_link": "rtmp://rtmp.kinescope.io/live",    "scheduled": {      "time": null    },    "stream": {      "id": "<UUID>",      "event_id": "<UUID>",      "status": "pending",      "started_at": "2026-02-18T17:50:37.774745Z",      "finished_at": null    },    "chat_after_stream": true,    "chat_active": true,    "chat_preview": true,    "show_members": true,    "created_at": "2026-02-18T17:50:37.774745Z",    "updated_at": "2026-03-14T11:23:19.777707Z",    "latency_mode": "standard",    "allow_chat_links": false,    "moderators": null,    "poster": {      "id": "<UUID>",      "type": "image",      "media_id": "<UUID>",      "status": "done",      "active": true,      "original": "https://kinescopecdn.net/<UUID>/posters/<UUID>/<UUID>.jpg",      "md": "https://kinescopecdn.net/<UUID>/posters/<UUID>/md/<UUID>.jpg",      "sm": "https://kinescopecdn.net/<UUID>/posters/<UUID>/sm/<UUID>.jpg",      "xs": "https://kinescopecdn.net/<UUID>/posters/<UUID>/xs/<UUID>.jpg",      "from_time": 0,      "to_time": 0    }  }}
{  "error": {    "code": 400404,    "message": "not found"  }}

List events

GET {{baseHost}}/v2/live/events

Returns a list of live events. Results are paginated and can be filtered via query parameters.

Responses
{  "meta": {    "pagination": {      "page": 1,      "per_page": 100,      "total": 0    },    "order": {      "created_at": "desc",      "name": "asc"    }  },  "data": []}

Event videos

GET {{baseHost}}/v2/live/events/:event_id/videos

Returns recordings produced by the event, ordered by creation time.

Responses
{  "meta": {    "pagination": {      "page": 1,      "per_page": 10,      "total": 0    },    "order": {      "created_at": "desc"    }  },  "data": []}

Enable event

PUT {{baseHost}}/v2/live/events/:event_id/enable

Enables the event so that streams can be ingested and played back.

Finish event

PUT {{baseHost}}/v2/live/events/:event_id/complete

Marks the event as completed. Ingest endpoints stop accepting streams.

Schedule new stream

POST {{baseHost}}/v2/live/events/:event_id/stream

Schedules a new stream within the event. Returns the ingest URL and stream key.

Request body (json)
{  "started_at": "2022-11-15T12:42:00.991558Z"}
Responses
{  "data": {    "id": "<UUID>",    "event_id": "<UUID>",    "status": "pending",    "started_at": "2022-11-15T12:42:00.991558Z",    "finished_at": null  }}

Update schedule stream

PUT {{baseHost}}/v2/live/events/:event_id/stream

Updates the scheduling of an upcoming stream (start time, expected duration).

Request body (json)
{  "started_at": "2024-11-15T12:42:00.991558Z"}
Responses
{  "data": {    "id": "<UUID>",    "event_id": "<UUID>",    "status": "pending",    "started_at": "2024-11-15T12:42:00.991558Z",    "finished_at": null  }}

Delete event

DELETE {{baseHost}}/v2/live/events/:event_id

Permanently deletes the live event. This action cannot be undone.

Move event

PUT {{baseHost}}/v2/live/events/:event_id/move

Moves the event into a different project or folder.

Request body (json)
{  "parent_id": "<UUID>"}
Responses
{  "data": {    "id": "<UUID>",    "workspace_id": "<UUID>",    "parent_id": "<UUID>",    "name": "Update event",    "type": "recurring",    "streamkey": "a6739c5535504feaa45da338dc62f752",    "auto_start": true,    "protected": false,    "time_shift": false,    "chat_after_stream": true,    "chat_active": true,    "record": {      "parent_id": "<UUID>"    },    "video": {      "presets": null    },    "audio": {      "channel_mapping": null    },    "restreams": [      {        "id": "<UUID>",        "event_id": "<UUID>",        "name": "Restream 1",        "url": "rtmp://rtmp.kinescope.dev/live",        "key": "stream key",        "status": "disconnected",        "enabled": true,        "description": "",        "created_at": "2022-11-15T12:25:04.095926Z",        "updated_at": null      }    ],    "reconnect_window": 1800,    "play_link": "https://kinescope.dev/200527222",    "rtmp_link": "rtmp://rtmp.kinescope.dev/live",    "scheduled": {      "time": null    },    "stream": {      "id": "<UUID>",      "event_id": "<UUID>",      "status": "pending",      "started_at": "2024-11-15T12:42:00.991558Z",      "finished_at": null    },    "created_at": "2022-11-15T12:25:04.095926Z",    "updated_at": "2022-11-15T12:46:31.301738Z",    "latency_mode": "standard"  }}

Upload poster

POST {{uploadHost}}/v2/poster

Uploads a custom poster image for a live event.

Headers
ParameterDescription
X-Event-ID4iUMUmb63dLAvnbsMRkSUX
X-Poster-URLurl to poster

Qos

GET {{baseHost}}/v2/live/events/:event_id/qos

Returns quality-of-service statistics for the event (bitrate, dropped frames, latency).

status:

  • 4 — time difference between keyframes > 50%
  • 3 — time difference between keyframes > 20%
  • 5 — packet loss (possible causes: network problems, or the streamer's encoder cannot keep up with the video)
Responses
{  "data": [    {      "bitrate_video": 2438,      "bitrate_audio": 156,      "frame_rate": 30,      "status": 0,      "time": "2024-03-07T09:01:30Z"    },    {      "bitrate_video": 2438,      "bitrate_audio": 156,      "frame_rate": 30,      "status": 0,      "time": "2024-03-07T09:02:00Z"    }  ]}

Chat

GET {{baseHost}}/v2/live/events/:event_id/stream/:stream_id/chat(.json|.csv|.txt)

Returns the chat log of the event in the requested format — JSON, CSV, or plain text.

Responses
{  "data": [    {      "id": "<UUID>",      "username": "Arseniy",      "external_id": "kinescope_admin_e3ec44ca-8d9f-4ca9-a36f-69bfcae502a7",      "is_admin": "true",      "message": "ewd",      "created_at": "2025-02-26T08:16:38.21562Z",      "cteated_at_local": "2025-02-26T08:16:38.21562Z"    },    {      "id": "<UUID>",      "username": "Arseniy",      "external_id": "kinescope_admin_e3ec44ca-8d9f-4ca9-a36f-69bfcae502a7",      "is_admin": "true",      "message": "wde",      "created_at": "2025-02-26T08:16:38.722139Z",      "cteated_at_local": "2025-02-26T08:16:38.722139Z"    },    {      "id": "<UUID>",      "username": "Arseniy",      "external_id": "kinescope_admin_e3ec44ca-8d9f-4ca9-a36f-69bfcae502a7",      "is_admin": "true",      "message": "wde",      "created_at": "2025-02-26T08:16:39.12707Z",      "cteated_at_local": "2025-02-26T08:16:39.12707Z"    },    {      "id": "<UUID>",      "username": "Arseniy",      "external_id": "kinescope_admin_e3ec44ca-8d9f-4ca9-a36f-69bfcae502a7",      "is_admin": "true",      "message": "wde",      "created_at": "2025-02-26T08:16:39.451017Z",      "cteated_at_local": "2025-02-26T08:16:39.451017Z"    },    {      "id": "<UUID>",      "username": "asasas",      "external_id": "<UUID>",      "is_admin": "false",      "message": "dcad",      "created_at": "2025-02-26T08:17:56.752304Z",      "cteated_at_local": "2025-02-26T08:17:56.752304Z"    }  ]}