Kinescope API
Kinescope API reference: request parameters, response codes, and examples for every method.
Base URL: https://api.kinescope.io. Authentication — Bearer token (header Authorization: Bearer <ACCESS_TOKEN>).
Authentication
Every request to the Kinescope API must carry a valid access token in the Authorization header. Tokens are issued in the dashboard (Settings → API) and are scoped to a single workspace.
curl -H 'Authorization: Bearer <ACCESS_TOKEN>' \ https://api.kinescope.io/v1/videosKeep the token out of client-side code — anyone who sees it can act as the workspace owner until it is revoked. Create a separate token per integration so you can rotate or revoke any of them without disrupting the others.
Errors
The API uses conventional HTTP status codes to signal outcome, and a structured JSON body to describe the reason. Every error response has the same shape — code, short message, and optional detail with extra context.
{ "error": { "code": 400301, "message": "invalid uuid format", "detail": "see https://en.wikipedia.org/wiki/Universally_unique_identifier" }}Fields:
| Field | Type | Description |
|---|---|---|
error.code | number | A fine-grained application-level code. Combines the HTTP status with a reason category — the full list is below. |
error.message | string | Short human-readable explanation, suitable for logs. |
error.detail | string | Optional. Additional context — a list of failing fields for validation errors, a link to external docs, or the specific value that was rejected. |
HTTP status code summary
| Code | Name | Description |
|---|---|---|
| 200 | OK | Request succeeded. The response body contains the requested object. |
| 201 | Created | Resource was created. The response body contains the new object. |
| 204 | No Content | Request succeeded; the endpoint has no body to return (typically after a DELETE). |
| 400 | Bad Request | The request is malformed — missing required fields, wrong types, or invalid parameter values. |
| 401 | Unauthorized | Authentication is missing, invalid, or expired. Check the Authorization header. |
| 402 | Payment Required | The workspace plan or balance does not cover this operation. |
| 403 | Forbidden | The token is authenticated but lacks permission for this resource or action. |
| 404 | Not Found | The resource does not exist, or it exists but is not visible to this token. |
| 429 | Too Many Requests | Rate limit exceeded. Respect the Retry-After response header before retrying. |
| 5xx | Server Error | Unexpected server error. Safe to retry with exponential backoff; contact support if it persists. |
Numeric codes returned in error.code. The first three digits of each code always match the HTTP status of the response.
Authentication & access codes (1xxxxx)
| Code | Name | Description |
|---|---|---|
| 1 | IO_ERROR | The request body could not be read — usually an empty or malformed payload, or a dropped connection mid-upload. |
| 100101 | AUTH_AUTHORIZATION_HEADER_NOT_FOUND | The Authorization header is missing from the request. |
| 100102 | UNAUTHORIZED | The token is missing, invalid, or expired. |
| 100103 | ACCESS_DENIED | The token is valid but does not grant access to this resource or scope. |
| 100104 | INVALID_USERNAME_OR_PASSWORD | The credentials provided to the sign-in endpoint do not match any account. |
| 100105 | INVALID_CONFIRMATION_TOKEN | The email-confirmation token is unknown or expired. Request a new one. |
| 100106 | LIMIT_REACHED | A per-workspace quota or rate limit has been hit. |
| 100107 | USER_IS_NOT_OWNER | The action requires workspace-owner privileges; the current user is not the owner. |
Bad request & validation codes (4xxxxx)
| Code | Name | Description |
|---|---|---|
| 400101 | JSON_SYNTAX_ERROR | The request body is not valid JSON. |
| 400102 | JSON_UNMARSHAL_TYPE_ERROR | A field in the body has a type that the API did not expect (e.g. a string where a number is required). |
| 400201 | HAS_ALREADY_BEEN_TAKEN | A uniqueness constraint was violated — a value with the given key already exists. |
| 400202 | EMAIL_IS_ALREADY_TAKEN | An account with this email address already exists. |
| 400203 | NAME_IS_ALREADY_TAKEN | An entity with this name already exists in the current scope (workspace, project, folder). |
| 400204 | INVITATION_IS_ALREADY_EXIST | An invitation has already been sent to this recipient. |
| 400205 | INVITATION_IS_ALREADY_APPROVED | The invitation has already been accepted — it cannot be accepted again. |
| 400206 | BILLING_ACCOUNT_IS_ALREADY_EXIST | A billing account is already attached to this workspace. |
| 400207 | NOT_ENOUGH_MONEY | The workspace balance is insufficient for this operation. |
| 400208 | NO_BILLING_ACCOUNT | The workspace has no billing account yet. Create one before using paid features. |
| 400209 | NO_PAYMENT_METHOD | No payment method is configured on the billing account. |
| 400210 | NOT_ENOUGH_REQUIRED_PRODUCTS | The current plan is missing one or more products this operation depends on. |
| 400211 | NOT_ALLOWED_ADDITIONAL_FOR_TRIAL | Add-ons cannot be purchased while the workspace is on a trial plan. |
| 400212 | SUBSCRIPTION_NOT_PAID | The workspace has unpaid invoices. Clear them before continuing. |
| 400213 | EMAIL_NOT_CONFIRMED | The user's email address has not been confirmed yet. |
| 400214 | EMAIL_NOT_FOUND | No account is associated with the given email. |
| 400215 | RESET_TOKEN_NOT_FOUND_OR_EXPIRED | The password-reset token is unknown or expired. Start the reset flow again. |
| 400216 | NOT_ALLOWED_ORDER_FIELD | The order parameter refers to a field that this endpoint cannot sort by. |
| 400301 | — | One of the UUID parameters in the URL, query, or body has an invalid format. |
| 400400 | UNEXPECTED_VALUE | A parameter value is outside the set of allowed values (usually an enum). |
Other error codes (402 / 404 / 500)
| Code | Name | Description |
|---|---|---|
| 402402 | VALIDATION_ERROR | One or more fields failed validation. The detail field typically lists the failing fields and the reasons. |
| 404404 | NO_SUCH_ENTITY | The referenced object does not exist, has been deleted, or is not visible to this token. |
| 500500 | INTERNAL_SERVER_ERROR | An unexpected error occurred on the server. Safe to retry with exponential backoff. |
Handling errors
- Retries.
5xxresponses and network timeouts are safe to retry. Use exponential backoff and cap the number of attempts.4xxresponses other than429should not be retried — fix the request. - Rate limits. On
429, pause for the number of seconds in theRetry-Afterheader before retrying. Do not retry immediately. - Validation. For
402402 VALIDATION_ERROR, expecterror.detailto contain the field-level breakdown. Surface those messages to the user so they can correct the input. - Logging. Log
error.coderather thanerror.messagefor alerting and analytics — codes are stable, messages are not.
v1
videos
The video object
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier for the object. |
| project_id | string | |
| folder_id | string | |
| version | number | |
| title | string | |
| description | string | |
| status | enum | Available values: pending, uploading, pre-processing, processing, aborted, done, error |
| progress | number | Video processing progress |
| duration | number | Video duration in seconds |
| assets | []Asset | |
| has_audio | bool | Whether the video has any audio. |
| audio_tracks | []AudioTrack | Downloadable audio tracks (id, language, label, file_size, filetype, original_name, download_link). Omitted when the video has no audio tracks. |
| chapters | Chapters | |
| privacy_type | enum | Available values: anywhere,nowhere, custom |
| privacy_domains | []string | Whitelist domains |
| poster | Poster | |
| additional_materials | []AdditionalMaterial | |
| additional_materials_enabled | bool | |
| annotation_text_enabled | bool | |
| annotation_video_enabled | bool | |
| created_at | datetime | |
| updated_at | datetime | |
| play_link | string | Link to player |
| embed_link | string | Embed player link |
| subtitles | Subtitles | |
| subtitles_enabled | boolean | Show/Hide subtitles in player |
| hls_link | string | Link to HLS manifest |
posters
Posters list
{{baseHost}}/v1/videos/:video_id/postersReturns a list of posters. Results are paginated and can be filtered via query parameters.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 1 }, "order": { "created_at": "desc" } }, "data": [ { "id": "<UUID>", "type": "image", "from_time": 0, "status": "done", "active": true, "to_time": 0, "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" } ]}Create poster by time
{{baseHost}}/v1/videos/:video_id/postersGenerates a poster image from a frame of the video at the specified timestamp. The poster is attached to the video and can be made active.
{ "from_time": 2.3333}Get poster
{{baseHost}}/v1/videos/:video_id/posters/:poster_idRetrieves the details of a single poster by its unique ID.
{ "data": { "id": "<UUID>", "type": "image", "from_time": 0, "status": "done", "active": true, "to_time": 0, "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" }}{ "error": { "code": 400404, "message": "not found" }}Set active poster
{{baseHost}}/v1/videos/:video_id/posters/:poster_id/activeMarks the specified poster as the active one — it will be shown in the video player and in lists.
Delete poster
{{baseHost}}/v1/videos/:video_id/posters/:poster_idPermanently deletes the poster. This action cannot be undone.
subtitles
List subtitles
{{baseHost}}/v1/videos/:video_id/subtitlesReturns a list of subtitles. Results are paginated and can be filtered via query parameters.
| Parameter | Type | Description |
|---|---|---|
language | text | Example: ru |
description | text | Example: subtitle file description |
file | file | — |
{ "data": null}Add subtitle file
{{baseHost}}/v1/videos/:video_id/subtitlesUploads a subtitle file (VTT or SRT) and attaches it to the video under the specified language.
| Parameter | Type | Description |
|---|---|---|
language | text | Example: ru |
description | text | Example: subtitle file description |
file | file | — |
{ "data": { "id": "<UUID>", "video_id": "<UUID>", "description": "subtitle file description", "language": "ru", "file": "", "file_name": "<UUID>.vtt", "hls_file": "", "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>" }}Generate subtitles automatically
{{baseHost}}/v1/videos/:video_id/subtitles/autoQueues speech recognition for the video and creates one subtitle track per requested language. Pass the languages as ISO 639-1 codes in languages; an unknown code is rejected with 400, and either all tracks are created or none are.
The response returns immediately, before recognition starts, so every track comes back with status: "pending", an empty data object and an empty url. Poll GET /v1/videos/:video_id/subtitles/:subtitle_id until status becomes done — the recognised cues and the .vtt URL appear at that point.
| Parameter | Type | Description |
|---|---|---|
languages | array of string | Languages to recognise, as ISO 639-1 codes. One subtitle track is created per element. Example: ["ru", "en"] |
{ "languages": [ "ru", "en" ]}{ "data": [ { "id": "<UUID>", "video_id": "<UUID>", "description": "", "language": "ru", "status": "pending", "position": 1, "data": {}, "active": true, "url": "", "updated_at": "2024-03-04T11:54:32.451502Z", "file": "", "file_name": "<UUID>.vtt", "hls_file": "" } ]}Reorder
{{baseHost}}/v1/videos/:video_id/subtitles/reorderChanges the order of subtitle tracks. Pass the full list of subtitle IDs in the desired order.
[ "<UUID>", "<UUID>", "<UUID>", "<UUID>"]{ "data": { "id": "<UUID>", "video_id": "<UUID>", "description": "subtitle file description", "language": "ru", "file": "", "file_name": "<UUID>.vtt", "hls_file": "", "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>" }}Get subtitle
{{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_idRetrieves the details of a single subtitle by its unique ID.
| Parameter | Type | Description |
|---|---|---|
language | text | Example: ru |
description | text | Example: subtitle file description |
file | file | — |
{ "data": { "id": "<UUID>", "video_id": "<UUID>", "description": "subtitle file description", "language": "ru", "file": "", "file_name": "<UUID>.vtt", "hls_file": "", "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>" }}Update subtitle info
{{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_idUpdates the metadata of a subtitle track (language, description, ordering).
{ "language": "ru", "description": "desc111"}{ "data": { "id": "<UUID>", "video_id": "<UUID>", "description": "desc", "language": "ru", "file": "", "file_name": null, "hls_file": "", "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>" }}Copy
{{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_id/copyDuplicates a subtitle track. Useful for creating a variant based on an existing translation.
{ "data": { "id": "<UUID>", "video_id": "<UUID>", "description": "desc", "language": "ru", "file": "", "file_name": null, "hls_file": "", "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>" }}Delete subtitle
{{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_idPermanently deletes the subtitle. This action cannot be undone.
{ "data": { "success": true }}annotations
Get annotation
{{baseHost}}/v1/videos/:video_id/annotations/:annotation_idRetrieves the details of a single annotation by its unique ID.
{ "data": { "id": "<UUID>", "media_id": "<UUID>", "video_id": null, "annotation_type": "text", "title": "ann1", "link": "", "start_time": 0, "end_time": 6740, "annotation_poster_id": "<UUID>", "created_at": "2024-02-27T10:04:30.259938Z", "updated_at": null }}List annotations
{{baseHost}}/v1/videos/:video_id/annotationsReturns a list of annotations. Results are paginated and can be filtered via query parameters.
{ "data": []}Add annotation
{{baseHost}}/v1/videos/:video_id/annotationsCreates a new annotation. Returns the newly created object on success.
{ "video_id": "<UUID>", "annotation_poster_id": "<UUID>", "type": "video/text", "title": "new annotation", "link": "https://example.com", "start_time": 0, "end_time": 10000}{ "data": { "id": "<UUID>", "media_id": "<UUID>", "video_id": "<UUID>", "annotation_type": "video", "title": "annotation 1", "link": "", "start_time": 20000, "end_time": 21000, "annotation_poster_id": null, "created_at": "2024-03-04T11:54:32.451502Z", "updated_at": null }}Update annotation
{{baseHost}}/v1/videos/:video_id/annotations/:annotation_idUpdates the specified annotation. Only fields provided in the request body are changed; others are left unchanged.
{ "video_id": "<UUID>", "annotation_poster_id": "<UUID>", "title": "new annotation", "link": "https://example.com", "start_time": 0, "end_time": 10000}{ "data": { "id": "<UUID>", "media_id": "<UUID>", "video_id": "<UUID>", "annotation_type": "video", "title": "annotation 1", "link": "", "start_time": 20000, "end_time": 21000, "annotation_poster_id": null, "created_at": "2024-03-04T11:54:32.451502Z", "updated_at": null }}Delete annotation
{{baseHost}}/v1/videos/:video_id/annotations/:annotation_idPermanently deletes the annotation. This action cannot be undone.
{ "data": { "success": true }}Videos list
{{baseHost}}/v1/videosReturns a list of videos. Results are paginated and can be filtered via query parameters.
{ "meta": { "pagination": { "page": 1, "per_page": 1, "total": 10 }, "order": { "created_at": "desc", "title": "asc" } }, "data": [ { "id": "vKSxQyZScoQfP29oothREi", "project_id": "mNFQz2wYTBhLkPBCo9oS8m", "folder_id": null, "version": 0, "title": "sample_video", "description": "", "status": "uploading", "progress": 100, "duration": 0, "assets": [], "chapters": { "items": [], "enabled": false, "show_on_load": false }, "privacy_type": "anywhere", "privacy_domains": [], "poster": null, "additional_materials": null, "additional_materials_enabled": false, "play_link": "https://kinescope.io/199511994", "embed_link": "https://kinescope.io/embed/199511994", "created_at": "2020-08-31T09:03:00.106436Z", "updated_at": null, "subtitles": [], "subtitles_enabled": false, "hls_link": "https://kinescope.io/199511994/master.m3u8" } ]}Get video
{{baseHost}}/v1/videos/:video_idRetrieves the details of a single video by its unique ID.
{ "data": { "id": "<UUID>", "project_id": "<UUID>", "folder_id": null, "player_id": "<UUID>", "version": 1, "title": " Encrypted, saved (2024.09.08 13:35)", "subtitle": "", "description": "", "status": "done", "progress": 0, "duration": 66.00001, "assets": [ { "id": "<UUID>", "video_id": "<UUID>", "original_name": "original.ts", "file_size": 4862244, "md5": "a05d6c66884dc7f8c5136b6c9d95fef7", "filetype": "ts", "quality": "original", "resolution": "1920x1080", "created_at": "2024-09-08T10:35:17.087638Z", "url": "https://kinescopecdn.net/<UUID>/videos/<UUID>/assets/<UUID>/original.mp4?expires=<EXPIRES>&sign=<SIGNATURE>", "download_link": "https://s3.kinescope.io/<UUID>/videos/<UUID>/mp4/original.ts?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<CREDENTIAL>" }, { "id": "<UUID>", "video_id": "<UUID>", "original_name": "1080p.mp4", "file_size": 4292636, "filetype": "mp4", "quality": "1080p", "resolution": "1920x1080", "created_at": "2024-09-08T10:35:30.549646Z", "download_link": "" }, { "id": "<UUID>", "video_id": "<UUID>", "original_name": "720p.mp4", "file_size": 3217594, "filetype": "mp4", "quality": "720p", "resolution": "1280x720", "created_at": "2024-09-08T10:35:30.549646Z", "download_link": "" }, { "id": "<UUID>", "video_id": "<UUID>", "original_name": "480p.mp4", "file_size": 2031032, "filetype": "mp4", "quality": "480p", "resolution": "852x480", "created_at": "2024-09-08T10:35:30.549646Z", "download_link": "" }, { "id": "<UUID>", "video_id": "<UUID>", "original_name": "360p.mp4", "file_size": 1451443, "filetype": "mp4", "quality": "360p", "resolution": "640x360", "created_at": "2024-09-08T10:35:30.549646Z", "download_link": "" } ], "has_audio": true, "audio_tracks": [ { "id": "<UUID>", "language": "en", "label": "English", "file_size": 4292636, "filetype": "mp4", "original_name": "audio_en.mp4", "download_link": "https://s3.kinescope.io/<UUID>/videos/<UUID>/audio/<UUID>.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<CREDENTIAL>" }, { "id": "<UUID>", "language": "ru", "label": "Русский", "file_size": 4185220, "filetype": "mp4", "original_name": "audio_ru.mp4", "download_link": "https://s3.kinescope.io/<UUID>/videos/<UUID>/audio/<UUID>.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<CREDENTIAL>" } ], "chapters": { "items": [], "enabled": false }, "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": {}, "tags": [], "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 }, "additional_materials": [], "additional_materials_enabled": false, "annotation_text_enabled": false, "annotation_video_enabled": false, "play_link": "https://kinescope.io/vN1xLXadcCk94aCuZHR5i2", "embed_link": "https://kinescope.io/embed/vN1xLXadcCk94aCuZHR5i2", "created_at": "2024-09-08T10:35:11.674333Z", "updated_at": "2026-03-05T14:04:37.150678Z", "subtitles": [], "subtitles_enabled": false, "hls_link": "https://kinescope.io/vN1xLXadcCk94aCuZHR5i2/master.m3u8", "chat_preview": false, "chat_inside_player": "", "chat_expand_on_load": false, "meta": { "event_id": "<UUID>", "stream_id": "<UUID>" } }}{ "error": { "code": 400404, "message": "not found" }}Update video
{{baseHost}}/v1/videos/:video_idUpdates the specified video. Only fields provided in the request body are changed; others are left unchanged.
This request update only passed fields.
Fields which can update: title, description, privacy_type, privacy_domains, additional_materials_enabled
{ "title": "New title", "description": "New description", "privacy_type": "custom", "privacy_domains": [ "my_domain.io" ], "additional_materials_enabled": false, "tags": [ "tag 1", "tag 2", "tag 3" ]}{ "data": { "id": "iuFPEzdC2Jtf8aCcvMJQ8h", "workspace_id": "s8vL2Zr3CxCj1A8HmxoGhp", "project_id": "hfHfAgq4g2nxxtg8DQ3Twi", "folder_id": null, "storage_id": "mucjva43n3sLsw5YRwsZYS", "short_id": 199511990, "version": 0, "title": "New title", "description": "New description", "status": "done", "progress": 0, "duration": 179.305, "assets": [ { "id": "i7r58w3Lt3bPoPyX27tprT", "video_id": "iuFPEzdC2Jtf8aCcvMJQ8h", "original_name": "original.mp4", "file_size": 5603249, "filetype": "QuickTime / MOV", "quality": "original", "resolution": "320x240", "created_at": "2020-08-30T16:10:08.091561Z", "updated_at": null, "deleted_at": null }, { "id": "kdwSHkB2e1AH8veDLuCnUP", "video_id": "iuFPEzdC2Jtf8aCcvMJQ8h", "original_name": "360p.mp4", "file_size": 4196287, "filetype": "QuickTime / MOV", "quality": "360p", "resolution": "320x240", "created_at": "2020-08-30T16:10:14.087606Z", "updated_at": null, "deleted_at": null } ], "chapters": { "items": [], "enabled": false, "show_on_load": false }, "privacy_type": "nowhere", "privacy_domains": [ "my_domain.io" ], "poster": { "id": "eHqAqKuMi4JTsAoMvf5GRs", "video_id": "iuFPEzdC2Jtf8aCcvMJQ8h", "storage_id": "mucjva43n3sLsw5YRwsZYS" }, "additional_materials": [], "additional_materials_enabled": false, "created_at": "2020-08-30T16:10:05.702154Z", "updated_at": null, "deleted_at": null }}Delete video
{{baseHost}}/v1/videos/:video_idPermanently deletes the video. This action cannot be undone.
{ "data": { "success": true }}Move video to another project and folder
{{baseHost}}/v1/videos/:video_id/moveMoves the video into a different project and/or folder. The video ID stays the same.
{ "project_id": "3kAyiWTAZQKKZxg1GfjKvS", "folder_id": "2MxB8wx35jHQjhCPczBamu"}Update chapters
{{baseHost}}/v1/videos/:video_id/chaptersReplaces the chapter markers of the video with the provided list. Pass an empty array to clear all chapters.
{ "items": [ { "time": 10000, "title": "Chapter at 10sec" } ], "enabled": true}{ "data": { "items": [ { "time": 10000, "title": "Chapter at 10sec" } ], "enabled": true }}Concat video
{{baseHost}}/v1/videos/:video_id/concatConcatenates the source video with one or more other videos into a single new video. The original video is left unchanged and a new video is created with the combined content.
{ "prepend": [ { "video_id": "<UUID>" } ], "append": [ { "video_id": "<UUID>" } ], "replace": false}Copy video
{{baseHost}}/v1/videos/:video_id/copyCreates a full copy of the video, optionally moving the copy into a different project or folder.
{ "parent_id": "<UUID>"}Cut video
{{baseHost}}/v1/videos/:video_id/cutTrims the video to a given time range. The result is written back to the same video ID; the original bytes are replaced.
Create new trim/crop video.
| Field | Type | Description |
|---|---|---|
| project_id | string | not required |
| folder_id | string | not required |
| title | string | not required |
| description | string | not required |
| crop | crop_object | w,h - width, height |
| x,y - left top corner | ||
| trim | []trim_object | start - start time |
| length - length of video |
{ "crop": { "w": 300, "h": 200, "x": 100, "y": 80, "quality": "360p" }, "trim": [ { "start": 6, "length": 2 }, { "start": 1, "length": 2 } ]}billing
Usage
{{baseHost}}/v1/billing/usageReturns usage statistics for the given time range, grouped as requested. Useful for billing and capacity planning.
Our API returns resource consumption on a per project basis for better granularity, you can aggregate total on your side.
If necessary, you can specify project_id as a GET parameter to filter the results (edited)
Product types are: - CDN (bytes) - Encoding (min) - Storage (bytes)
{ "data": [ { "date": "2024-01-01T00:00:00Z", "usage": 85456358, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 65114706, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 29962188, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 904705, "product": "cdn" }, { "date": "2024-01-01T00:00:00Z", "usage": 0, "product": "encoding" }, { "date": "2024-01-01T00:00:00Z", "usage": 689510432, "product": "live_traffic" }, { "date": "2024-01-01T00:00:00Z", "usage": 69567273960, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 14996434987, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 34667181, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 130330116051, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 4172549388, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 16632753546, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 556115506, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 601660745, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 10406392731, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-01T00:00:00Z", "usage": 6286301827, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 37429638, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 97450301, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 560037, "product": "cdn" }, { "date": "2024-01-02T00:00:00Z", "usage": 0, "product": "encoding" }, { "date": "2024-01-02T00:00:00Z", "usage": 882356207, "product": "live_traffic" }, { "date": "2024-01-02T00:00:00Z", "usage": 69567273960, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 14996434987, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 34667181, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 130330116051, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 4172549388, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 16632753546, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 556115506, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 601660745, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 10406392731, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-02T00:00:00Z", "usage": 6286301827, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 12476546, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 36428908, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 618293, "product": "cdn" }, { "date": "2024-01-03T00:00:00Z", "usage": 0, "product": "encoding" }, { "date": "2024-01-03T00:00:00Z", "usage": 750185902, "product": "live_traffic" }, { "date": "2024-01-03T00:00:00Z", "usage": 69567273960, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 14996434987, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 34667181, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 130330116051, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 4172549388, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 16632753546, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 556115506, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 601660745, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 10406392731, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-03T00:00:00Z", "usage": 6286301827, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 42455143, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 48519990, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 89726, "product": "cdn" }, { "date": "2024-01-04T00:00:00Z", "usage": 0, "product": "encoding" }, { "date": "2024-01-04T00:00:00Z", "usage": 877485751, "product": "live_traffic" }, { "date": "2024-01-04T00:00:00Z", "usage": 69567273960, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 14996434987, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 34667181, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 130330116051, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 4172549388, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 16632753546, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 556115506, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 601660745, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 10406392731, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-04T00:00:00Z", "usage": 6286301827, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 114946977, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 45670557, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 79114792, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 1443490, "product": "cdn" }, { "date": "2024-01-05T00:00:00Z", "usage": 0, "product": "encoding" }, { "date": "2024-01-05T00:00:00Z", "usage": 802691136, "product": "live_traffic" }, { "date": "2024-01-05T00:00:00Z", "usage": 69567273960, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 14996434987, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 34667181, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 130330116051, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 4172549388, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 16632753546, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 556115506, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 601660745, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 10406392731, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-05T00:00:00Z", "usage": 6286301827, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-06T00:00:00Z", "usage": 7342272, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-06T00:00:00Z", "usage": 24953092, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-06T00:00:00Z", "usage": 38352386, "product": "cdn", "project_id": "<UUID>" }, { "date": "2024-01-06T00:00:00Z", "usage": 511222, "product": "cdn" }, { "date": "2024-01-06T00:00:00Z", "usage": 0, "product": "encoding" }, { "date": "2024-01-06T00:00:00Z", "usage": 679400275, "product": "live_traffic" }, { "date": "2024-01-06T00:00:00Z", "usage": 69567273960, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-06T00:00:00Z", "usage": 14996434987, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-06T00:00:00Z", "usage": 34667181, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-06T00:00:00Z", "usage": 130330116051, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-06T00:00:00Z", "usage": 4172549388, "product": "storage", "project_id": "<UUID>" }, { "date": "2024-01-06T00:00:00Z", "usage":// … truncatedprojects
The project object
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier for the object. |
| name | string | Project name |
| folders | []Folder | List project folders |
| created_at | datetime | |
| updated_at | datetime |
Create project
{{baseHost}}/v1/projectsCreates a new project. Returns the newly created object on success.
Create new project
| Field | Type | Description |
|---|---|---|
| name | string | required |
| privacy_type | string | required |
| privacy_domains | []string | required |
| player_id | uuid | not required |
| encrypted | boolean | not required |
| catalog_type | string | vod or live |
{ "name": "Project custom", "privacy_type": "custom", "privacy_domains": [ "custom.domain.com" ], "player_id": "...", "encrypted": false, "catalog_type": "vod"}Projects list
{{baseHost}}/v1/projectsReturns a list of projects. Results are paginated and can be filtered via query parameters.
{ "meta": { "pagination": { "page": 1, "per_page": 100, "total": 34 }, "order": {"name":"asc"} }, "data": [ { "id": "<UUID>", "name": "111", "folders": [], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 38927956038, "items_count": 122, "created_at": "2022-11-08T13:32:22.466173Z", "updated_at": "2026-04-14T20:17:43.725423Z", "encrypted": true }, { "id": "<UUID>", "name": "A-test", "folders": [], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 0, "items_count": 0, "created_at": "2026-04-03T11:48:48.599771Z", "updated_at": "2026-04-13T14:19:33.919518Z", "encrypted": false }, { "id": "<UUID>", "name": "chat_history_forward_link_bug", "folders": [ { "id": "<UUID>", "name": " ", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 1723003012, "items_count": 2, "created_at": "2026-04-21T16:20:59.711708Z", "updated_at": null, "deleted_at": null } ], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 13277281933, "items_count": 4, "created_at": "2026-03-20T14:32:08.589836Z", "updated_at": "2026-04-13T14:19:32.35553Z", "encrypted": false }, { "id": "<UUID>", "name": "Clearkey", "folders": [], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 5932541497, "items_count": 10, "created_at": "2024-09-25T06:55:35.484068Z", "updated_at": "2026-04-03T12:24:59.524157Z", "encrypted": true }, { "id": "<UUID>", "name": "Codec Samples", "folders": [ { "id": "<UUID>", "name": "AV1", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 120194940, "items_count": 9, "created_at": "2025-07-23T18:47:00.409285Z", "updated_at": null, "deleted_at": null }, { "id": "<UUID>", "name": "H264", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 151215623, "items_count": 6, "created_at": "2025-07-23T15:16:26.447068Z", "updated_at": null, "deleted_at": null }, { "id": "<UUID>", "name": "HEVC", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 122554144, "items_count": 9, "created_at": "2025-07-23T15:29:28.890618Z", "updated_at": null, "deleted_at": null }, { "id": "<UUID>", "name": "VP9", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 208857361, "items_count": 9, "created_at": "2025-07-23T15:08:12.764331Z", "updated_at": null, "deleted_at": null } ], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 614998534, "items_count": 34, "created_at": "2025-07-23T15:00:22.560116Z", "updated_at": "2026-04-03T18:46:13.017069Z", "encrypted": false }, { "id": "<UUID>", "name": "encr", "folders": [ { "id": "<UUID>", "name": "123", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 372110777, "items_count": 1, "created_at": "2026-04-13T08:47:27.759934Z", "updated_at": null, "deleted_at": null } ], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 372110777, "items_count": 1, "created_at": "2026-01-22T14:37:32.142745Z", "updated_at": "2026-04-03T07:11:48.452395Z", "encrypted": true }, { "id": "<UUID>", "name": "Encrypted", "folders": [ { "id": "<UUID>", "name": "New folder", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 53543990, "items_count": 4, "created_at": "2022-09-27T13:53:53.850129Z", "updated_at": "2025-12-03T17:30:08.24509Z", "deleted_at": null } ], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 36641090232, "items_count": 74, "created_at": "2022-05-30T13:15:49.351933Z", "updated_at": "2026-04-03T07:11:46.900705Z", "encrypted": true }, { "id": "<UUID>", "name": "Livekit", "folders": [], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 5715708552, "items_count": 60, "created_at": "2024-08-07T11:57:53.631918Z", "updated_at": "2024-11-13T08:36:09.921481Z", "encrypted": false }, { "id": "<UUID>", "name": "Meetings", "folders": [], "privacy_type": "anywhere", "privacy_domains": [ "druzh.ru" ], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 4260648813, "items_count": 63, "created_at": "2024-09-24T12:30:07.300799Z", "updated_at": "2025-05-05T18:17:43.426001Z", "encrypted": false }, { "id": "<UUID>", "name": "My first project2", "folders": [ { "id": "<UUID>", "name": "Test", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 0, "items_count": 0, "created_at": "2022-06-01T06:40:41.77392Z", "updated_at": null, "deleted_at": null }, { "id": "<UUID>", "name": "Videos for test sites", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 1989379249, "items_count": 2, "created_at": "2021-11-29T15:25:12.484474Z", "updated_at": "2022-01-20T09:32:21.838166Z", "deleted_at": null }, { "id": "<UUID>", "name": "new folder", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 742749555, "items_count": 14, "created_at": "2022-04-12T22:21:43.405874Z", "updated_at": null, "deleted_at": null }, { "id": "<UUID>", "name": "test folder", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 18402007828, "items_count": 10, "created_at": "2021-02-08T10:35:42.310194Z", "updated_at": null, "deleted_at": null } ], "privacy_type": "nowhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 207273768257, "items_count": 339, "created_at": "2020-09-16T22:01:05.18814Z", "updated_at": "2025-12-24T14:15:41.832531Z", "encrypted": false }, { "id": "<UUID>", "name": "New project Restream Speak", "folders": [], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 0, "items_count": 0, "created_at": "2025-05-26T14:10:17.55122Z", "updated_at": "2026-04-01T07:13:47.243006Z", "encrypted": false }, { "id": "<UUID>", "name": "Restream VOD", "folders": [], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 556115506, "items_count": 4, "created_at": "2022-11-15T21:06:28.691855Z", "updated_at": null, "encrypted": false }, { "id": "<UUID>", "name": "Speak Records", "folders": [ { "id": "<UUID>", "name": "New folder", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 1846701232, "items_count": 2, "created_at": "2026-04-13T08:46:21.785564Z", "updated_at": null, "deleted_at": null } ], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 58643200289, "items_count": 216, "created_at": "2025-06-25T12:08:14.268278Z", "updated_at": null, "encrypted": false }, { "id": "<UUID>", "name": "subtitles", "folders": [ { "id": "<UUID>", "name": "New folder", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 578021274, "items_count": 3, "created_at": "2026-04-22T08:11:00.588416Z", "updated_at": null, "deleted_at": null } ], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "player_id": "<UUID>", "favorite": false, "size": 578021274, "items_count": 1, "created_at": "2026-02-04T11:15:27.858112Z", "updated_at": "2026-04-13T14:19:39.710022Z", "encrypted": false }, { "id": "<UUID>", "name": "Test", "folders": [ { "id": "<UUID>", "name": "3", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 1519538159, "items_count": 2, "created_at": "2023-01-23T10:55:32.210786Z", "updated_at": null, "deleted_at": null }, { "id": "<UUID>", "name": "111", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 1494193183, "items_count": 2, "created_at": "2024-10-20T09:43:22.606387Z", "updated_at": null, "deleted_at": null// … truncatedGet project
{{baseHost}}/v1/projects/:project_idRetrieves the details of a single project by its unique ID.
{ "data": { "id": "<UUID>", "name": "chat_history_forward_link_bug", "folders": [ { "id": "<UUID>", "name": " ", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 1723003012, "items_count": 2, "created_at": "2026-04-21T16:20:59.711708Z", "updated_at": null, "deleted_at": null } ], "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": {}, "player_id": "<UUID>", "favorite": false, "size": 13277281933, "items_count": 4, "created_at": "2026-03-20T14:32:08.589836Z", "updated_at": "2026-04-13T14:19:32.35553Z", "encrypted": false }}{ "error": { "code": 400404, "message": "not found" }}Delete project
{{baseHost}}/v1/projects/:project_idPermanently deletes the project. This action cannot be undone.
Update project
{{baseHost}}/v1/projects/:project_idUpdates the specified project. Only fields provided in the request body are changed; others are left unchanged.
{ "name": "Project name updated", "privacy_type": "anywhere", "privacy_domains": [], "apply_to_videos": false, "player_id": "..."}{ "data": { "id": "<UUID>", "name": "Project name updated", "folders": [ { "id": "<UUID>", "name": "New folder", "project_id": "<UUID>", "created_at": "2020-08-31T10:14:28.422193Z", "updated_at": null, "deleted_at": null } ], "created_at": "2020-06-04T21:08:35.432107Z", "updated_at": "2020-08-31T10:15:09.685516Z" }}folders
The folder object
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier for the object. |
| name | string | Folder name |
| project_id | string | |
| created_at | datetime | |
| updated_at | datetime |
Create folder
{{baseHost}}/v1/projects/:project_id/foldersCreates a new folder. Returns the newly created object on success.
{ "name": "New folder 1", "parent_id": "<UUID>"}{ "data": { "id": "spuavLLtW44iUmHbL75z2u", "name": "New folder", "project_id": "mNFQz2wYTBhLkPBCo9oS8m", "created_at": "2020-08-31T10:14:28.422193Z", "updated_at": null, "deleted_at": null }}Folders list
{{baseHost}}/v1/projects/:project_id/foldersReturns a list of folders. Results are paginated and can be filtered via query parameters.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 1 }, "order": { "created_at": "desc" } }, "data": [ { "id": "<UUID>", "name": " ", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 1723003012, "items_count": 2, "created_at": "2026-04-21T16:20:59.711708Z", "updated_at": null, "deleted_at": null } ]}Get folder
{{baseHost}}/v1/projects/:project_id/folders/:folder_idRetrieves the details of a single folder by its unique ID.
{ "data": { "id": "<UUID>", "name": " ", "project_id": "<UUID>", "parent_id": "<UUID>", "size": 1723003012, "items_count": 2, "created_at": "2026-04-21T16:20:59.711708Z", "updated_at": null, "deleted_at": null }}{ "error": { "code": 400404, "message": "not found" }}Update folder
{{baseHost}}/v1/projects/:project_id/folders/:folder_idUpdates the specified folder. Only fields provided in the request body are changed; others are left unchanged.
{ "name": "New folder updated"}{ "data": { "id": "spuavLLtW44iUmHbL75z2u", "name": "New folder updated", "project_id": "mNFQz2wYTBhLkPBCo9oS8m", "created_at": "2020-08-31T10:14:28.422193Z", "updated_at": "2020-08-31T10:16:24.737994Z", "deleted_at": null }}Delete folder
{{baseHost}}/v1/projects/:project_id/folders/:folder_idPermanently deletes the folder. This action cannot be undone.
{ "data": { "id": "spuavLLtW44iUmHbL75z2u", "name": "New folder", "project_id": "mNFQz2wYTBhLkPBCo9oS8m", "created_at": "2020-08-31T10:14:28.422193Z", "updated_at": null, "deleted_at": null }}analytics
Overview
{{baseHost}}/v1/analytics/overviewReturns high-level playback statistics — views, unique viewers, watch time — for the given period.
{ "meta": { "time": { "from": "2020-08-30T00:00:00Z", "to": "2020-09-01T00:00:00Z", "timezone": "Europe/Moscow" } }, "data": { "total": { "views": 0, "duration": 0, "watch_time": 0, "player_loads": 0, "date": "0001-01-01T00:00:00Z", "unique_views": 0, "online": 0 }, "timeline": [ { "views": 0, "duration": 0, "watch_time": 0, "player_loads": 0, "date": "2020-08-29T21:00:00Z", "unique_views": 0, "online": 0 }, { "views": 0, "duration": 0, "watch_time": 0, "player_loads": 0, "date": "2020-08-30T21:00:00Z", "unique_views": 0, "online": 0 } ], "top": { "oses": null, "devices": [ { "name": "tv", "views": 0, "player_loads": 0, "unique_views": 0 }, { "name": "desktop", "views": 0, "player_loads": 0, "unique_views": 0 }, { "name": "tablet", "views": 0, "player_loads": 0, "unique_views": 0 }, { "name": "mobile", "views": 0, "player_loads": 0, "unique_views": 0 } ], "browsers": null, "countries": null, "cities": null } }}Custom
{{baseHost}}/v1/analyticsReturns a custom analytics slice. Specify the fields to return, grouping dimensions, and ordering.
{ "meta": { "order": { "view": "desc", "play": "desc" }, "time": { "from": "2020-11-01T06:00:00Z", "to": "2020-11-01T12:00:00Z", "timezone": "Europe/Moscow" }, "group_entities": [ "video_id" ] }, "data": []}additional-materials
Upload additional material
{{uploadHost}}/additional-materialUploads a file to be attached to a video as additional material (e.g. a PDF handout or source files).
| Parameter | Description |
|---|---|
X-Video-ID | 4iUMUmb63dLAvnbsMRkSUX |
X-File-Name | material.png |
X-Title | Material title |
Get download link
{{baseHost}}/v1/additional-materials/:material_id/linkReturns a short-lived signed URL for downloading the material.
{ "data": { "link": "https://..." }}Update additional material
{{baseHost}}/v1/additional-materials/:material_idUpdates the specified additional material. Only fields provided in the request body are changed; others are left unchanged.
{ "title": "New title"}{ "data": { "id": "8VYZT2rW5vbvRBcWruuNFo", "video_id": "fq48rAScQ5zAYKJ2gYHZ3w", "storage_id": "mucjva43n3sLsw5YRwsZYS", "title": "New title", "filename": "img.png", "filetype": "image/png", "size": 163427, "position": 1, "created_at": "2020-08-30T15:14:03.792708Z", "updated_at": "2020-08-31T10:22:43.67869Z", "deleted_at": null }}Reorder additional materials
{{baseHost}}/v1/additional-materials/reorderChanges the display order of the additional materials attached to a video.
[ "8VYZT2rW5vbvRBcWruuNFo", "b32Wjbh6a3pYNaKvfxhXFU"]{ "data": { "success": true }}Delete additional material
{{baseHost}}/v1/additional-materials/:material_idPermanently deletes the additional material. This action cannot be undone.
{ "data": { "success": true }}dictionaries
Timezones list
{{baseHost}}/v1/dictionaries/timezonesReturns the list of IANA timezones accepted by the API (for scheduling, analytics, etc.).
The example below is trimmed. The endpoint returns every timezone it accepts, each with localized names in en and ru.
{ "data": [ { "name": "America/Detroit", "en": "America/Detroit", "ru": "Америка/Детройт", "abbr": "EST", "offset": -18000 }, { "name": "Africa/Conakry", "en": "Africa/Conakry", "ru": "Африка/Конакри", "abbr": "GMT", "offset": 0 }, { "name": "Europe/Athens", "en": "Europe/Athens", "ru": "Европа/Афины", "abbr": "EET", "offset": 7200 }, { "name": "Africa/Nairobi", "en": "Africa/Nairobi", "ru": "Африка/Найроби", "abbr": "EAT", "offset": 10800 }, { "name": "Asia/Colombo", "en": "Asia/Colombo", "ru": "Азия/Коломбо", "abbr": "+0530", "offset": 19800 }, { "name": "Pacific/Majuro", "en": "Pacific/Majuro", "ru": "Океания/Маджуро", "abbr": "+12", "offset": 43200 } ]}access-tokens
Create token
{{baseHost}}/v1/access-tokensCreates a new access token for the workspace. Store the returned value — it is shown once.
{ "name": "token1", "scope": { "api": { "permissions": [ "read", "write", "delete" ] }, "upload": { "permissions": [] } }}Create upload token to specific project
{{baseHost}}/v1/access-tokensCreates an upload-only access token scoped to a single project.
{ "name": "token for upload to project", "scope": { "upload": { "entities": [ { "id": "<UUID>", "permissions": [ "read", "write", "delete" ] } ], "permissions": [] } }}{ "data": { "id": "...", "name": "token for upload to project", "workspace_id": "....", "scope": { "upload": { "permissions": [], "entities": [ { "id": "<UUID>", "permissions": [ "read", "write", "delete" ] } ] } } }}Tokens list
{{baseHost}}/v1/access-tokensReturns a list of access tokens. Results are paginated and can be filtered via query parameters.
{ "meta": { "offset": 0, "limit": 10, "total": 16, "total_count": 0, "order": { "name": "asc" }, "parent_id": null }, "data": [ { "id": "<UUID>", "name": "Koltin-Kinescope-Player", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] } } }, { "id": "<UUID>", "name": "Kotlin-Kinescope-Shorts", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] } } }, { "id": "<UUID>", "name": "Restream", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] }, "upload": { "permissions": [] } } }, { "id": "<UUID>", "name": "sadfasdf", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] } } }, { "id": "<UUID>", "name": "sdfsdfsdf", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] }, "upload": { "permissions": [] } } }, { "id": "<UUID>", "name": "Speak", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] }, "upload": { "permissions": [] } } }, { "id": "<UUID>", "name": "Speak LiveKit Test Token", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] }, "upload": { "permissions": [] } } }, { "id": "<UUID>", "name": "Speak Room", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] }, "upload": { "permissions": [] } } }, { "id": "<UUID>", "name": "Test MCP", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] } } }, { "id": "<UUID>", "name": "Timofey is the best", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] }, "upload": { "permissions": [] } } } ]}Get token
{{baseHost}}/v1/access-tokens/:token_idRetrieves the details of a single access token by its unique ID.
{ "data": { "id": "<UUID>", "name": "Koltin-Kinescope-Player", "workspace_id": "<UUID>", "scope": { "api": { "permissions": [ "read", "write", "delete" ] } } }}{ "error": { "code": 400404, "message": "not found" }}Delete token
{{baseHost}}/v1/access-tokens/:token_idPermanently deletes the access token. This action cannot be undone.
user/avatar
Show avatar
{{baseHost}}/v1/user/avatar/:avatar_idReturns the raw avatar image bytes.
avatars
Set avatar
{{baseHost}}/v1/avatarUploads an avatar image for the current workspace or user. Replaces any existing avatar.
{ "data": { "id": "uFVdjPmQr9nPBhVodLVyEF", "email": "user@example.com", "full_name": "User updated1", "auto": false, "password_digest": "", "confirmation_token": "hwXCxeK7XiyGdQtifHRFxw", "reset_password_token": "0000001111111111111111", "language": "EN", "system": false, "confirmed_at": "2020-06-05T10:39:52.30272Z", "created_at": "2020-06-04T21:08:35.432107Z", "updated_at": "2020-08-27T12:36:36.580037Z", "deleted_at": null }}{ "error": { "code": 402402, "message": "your request parameters didn't validate", "invalid_params": [ { "name": "language", "reason": "oneof", "message": "EN RU" } ] }}Delete avatar
{{baseHost}}/v1/avatarRemoves the avatar image. The default avatar is used afterwards.
{ "data": { "id": "uFVdjPmQr9nPBhVodLVyEF", "email": "user@example.com", "full_name": "User updated1", "auto": false, "password_digest": "", "confirmation_token": "hwXCxeK7XiyGdQtifHRFxw", "reset_password_token": "0000001111111111111111", "language": "EN", "system": false, "confirmed_at": "2020-06-05T10:39:52.30272Z", "created_at": "2020-06-04T21:08:35.432107Z", "updated_at": "2020-08-27T12:36:36.580037Z", "deleted_at": null }}{ "error": { "code": 402402, "message": "your request parameters didn't validate", "invalid_params": [ { "name": "language", "reason": "oneof", "message": "EN RU" } ] }}Show avatar
{{baseHost}}/v1/workspace/avatar/:avatar_idReturns the raw avatar image bytes.
players
Get players
{{baseHost}}/v1/playersReturns a list of players. Results are paginated and can be filtered via query parameters.
{ "meta": { "offset": 0, "limit": 10, "total": 25, "total_count": 0, "order": { "created_at": "asc" }, "parent_id": null }, "data": [ { "id": "<UUID>", "workspace_id": "<UUID>", "name": "ReactNative Player", "settings": { "audio_only_option": true, "call_to_action_background_url": "", "call_to_action_button_text": "23324", "call_to_action_button_url": "https://ya.ru", "call_to_action_description": "A wonderful journey", "call_to_action_link_text": "", "call_to_action_link_url": "", "call_to_action_title": "test", "chat_button": true, "chat_in_fullscreen": true, "control_bar_visible_on_load": false, "corner_rounding": 12, "default_video_quality": 720, "live_viewers_counter": true, "logo_title": "3333", "logo_url": "https://ya.ru/", "show_download_links": true, "title_subtitle": false, "title_subtitle_visible_on_load": false, "volume": 50, "watermark_color": "#20202052", "watermark_enabled": true, "watermark_frequency": 1, "watermark_text": "check this out" }, "created_by_user_name": "Igor", "created_at": "2021-08-09T08:56:36.632808Z", "updated_at": "2026-04-06T17:14:48.246217Z", "media_count": 0, "ads": [] }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "Media Pro", "settings": { "brand_color": "#000000", "corner_rounding": 6, "logo_title": "Media Pro", "logo_url": "https://pro.rbc.ru/", "preview_play_button": false, "title_subtitle": false, "title_subtitle_visible_on_load": false, "video_preload": true, "volume": 50, "watermark_color": "#22222252", "watermark_type": "stripes" }, "created_by_user_name": "Igor", "created_at": "2021-09-26T16:18:59.438771Z", "updated_at": "2025-03-31T13:18:28.624865Z", "media_count": 0, "ads": [] }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "AV Player", "settings": { "brand_color": "#81BC3D", "control_bar_visible_on_load": false, "custom_logo": true, "logo_title": "Gourmet Store", "logo_url": "https://av.ru/", "preview_play_button": true, "title_subtitle": false, "title_subtitle_visible_on_load": false }, "created_by_user_name": "Igor", "created_at": "2021-11-24T13:57:11.009629Z", "updated_at": "2021-11-25T10:14:31.243518Z", "media_count": 0, "ads": [] }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "Green Market test", "settings": { "brand_color": "#2DBE64", "control_bar_visible_on_load": false, "custom_logo": true, "logo_title": "Green Market", "logo_url": "", "preview_play_button": true, "title_subtitle": false, "title_subtitle_visible_on_load": false }, "created_by_user_name": "Igor", "created_at": "2022-05-14T12:04:55.394238Z", "updated_at": "2022-12-08T10:41:07.29691Z", "media_count": 0, "ads": [] }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "No play button", "settings": { "brand_color": "#FF2B2B", "control_bar_visible_on_load": false, "custom_logo": false, "logo_title": "Aurora Network", "logo_url": "https://aurora.network/", "preview_play_button": false, "title_subtitle": false, "title_subtitle_visible_on_load": false }, "created_by_user_name": "Igor", "created_at": "2022-08-18T11:34:59.943305Z", "updated_at": "2022-08-18T11:35:24.943292Z", "media_count": 0, "ads": [] }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "Green Market copy", "settings": { "brand_color": "#2DBE64", "control_bar_visible_on_load": false, "custom_logo": true, "logo_title": "Green Market", "logo_url": "https://vkusvill.ru/media/", "preview_play_button": true, "title_subtitle": false, "title_subtitle_visible_on_load": false }, "created_by_user_name": "Igor", "created_at": "2022-08-18T11:37:12.96284Z", "updated_at": "2022-12-08T10:52:55.736075Z", "media_count": 0, "ads": [] }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "vdtest", "settings": { "airplay_button": true, "allow_original": false, "audio_only_option": false, "audio_tracks_button": true, "autopause": true, "autoplay": false, "autoswitch_button": true, "brand_color": "#FC61F4", "buttons_bar": true, "chromecast_button": true, "control_bar": true, "control_bar_visible_on_load": false, "corner_rounding": 11, "custom_logo": true, "data_tracking": true, "default_language_audio": false, "default_language_subtitle": false, "download": false, "enable_default_subtitle": true, "endscreen": "replay", "fullscreen_button": true, "fullscreen_fallback": "pseudo", "go_fullscreen_on_play": false, "go_fullscreen_on_unmute": false, "hotkeys_control": true, "logo_title": "", "logo_url": "", "pip_button": true, "play_button": true, "play_on_cursor": false, "playback_speed_button": true, "playback_speed_menu": true, "playinline": true, "preview_play_button": true, "rotate_to_fullscreen": false, "seo_metadata": true, "settings_button": true, "share": false, "show_number_live_viewers": true, "show_time": true, "timeline": true, "timeline_history": true, "title_subtitle": false, "title_subtitle_visible_on_load": false, "video_preload": false, "volume_button": true, "watermark_color": "#22222252", "watermark_enabled": true, "watermark_frequency": 10, "watermark_size": 25, "watermark_type": "random" }, "created_by_user_name": "Dmitriy Vladykin", "created_at": "2023-01-11T17:53:31.669743Z", "updated_at": "2023-03-07T18:00:27.134094Z", "media_count": 0, "ads": [] }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "11", "settings": { "audio_only_option": true, "call_to_action_button_text": "2342344", "call_to_action_button_url": "https://kinescope.ru", "call_to_action_description": "", "call_to_action_link_text": "", "call_to_action_link_url": "", "call_to_action_title": "Sample call to action", "chat_button": true, "playlist_menu_visible_on_load": true, "rotate_to_fullscreen": true, "show_download_links": true, "video_preload": true, "watermark_color": "#FFFFFF96", "watermark_enabled": true, "watermark_frequency": 3, "watermark_size": 2 }, "created_by_user_name": "Dmitriy Vladykin", "created_at": "2023-01-12T09:34:46.871692Z", "updated_at": "2026-04-16T09:58:43.985102Z", "media_count": 0, "ads": [] }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "new", "settings": { "brand_color": "#5CD8AF", "control_bar_visible_on_load": false, "title_subtitle": false, "title_subtitle_visible_on_load": false, "watermark_color": "#22222252", "watermark_type": "stripes" }, "created_by_user_name": "Igor", "created_at": "2023-03-16T08:57:07.337214Z", "updated_at": "2024-08-26T13:40:13.960901Z", "media_count": 0, "ads": [] }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "test", "settings": { "autoplay": true, "buttons_bar": false, "corner_rounding": 12, "endscreen": "loop", "preview_play_button": false, "title_subtitle": false, "title_subtitle_visible_on_load": false, "volume": 0, "watermark_enabled": true, "watermark_frequency": 1, "watermark_type": "stripes" }, "created_by_user_name": "Igor", "created_at": "2023-06-22T22:24:22.602518Z", "updated_at": "2025-02-11T20:59:51.427838Z", "media_count": 0, "ads": [] } ]}Get player
{{baseHost}}/v1/players/:player_idRetrieves the details of a single player by its unique ID.
{ "name": "my player 1.1", "settings": {}}{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "name": "ReactNative Player", "settings": { "audio_only_option": true, "call_to_action_background_url": "", "call_to_action_button_text": "23324", "call_to_action_button_url": "https://ya.ru", "call_to_action_description": "A wonderful journey", "call_to_action_link_text": "", "call_to_action_link_url": "", "call_to_action_title": "test", "chat_button": true, "chat_in_fullscreen": true, "control_bar_visible_on_load": false, "corner_rounding": 12, "default_video_quality": 720, "live_viewers_counter": true, "logo_title": "3333", "logo_url": "https://ya.ru/", "show_download_links": true, "title_subtitle": false, "title_subtitle_visible_on_load": false, "volume": 50, "watermark_color": "#20202052", "watermark_enabled": true, "watermark_frequency": 1, "watermark_text": "check this out" }, "created_by_user_name": "Igor", "created_at": "2021-08-09T08:56:36.632808Z", "updated_at": "2026-04-06T17:14:48.246217Z", "media_count": 0, "logo": "data:image/png;base64,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", "ads": [] }}{ "error": { "code": 400404, "message": "not found" }}Create player
{{baseHost}}/v1/playersCreates a new player. Returns the newly created object on success.
{ "name": "my player 1", "settings": {}, "ads": [ { "url": "url", "trigger": { "type": "preroll/midroll/postroll", "trigger_settings": { "timePoints": [ 10 ], "percentages": [ 50 ], "interval": 30 } }, "countries": { "items": [ "ru" ], "type": "include/exclude" } } ]}Update player
{{baseHost}}/v1/players/:player_idUpdates the specified player. Only fields provided in the request body are changed; others are left unchanged.
{ "name": "my player 1.1", "settings": {}, "ads": [ { "url": "url", "trigger": { "type": "preroll/midroll/postroll", "trigger_settings": { "timePoints": [ 10 ], "percentages": [ 50 ], "interval": 30 } }, "countries": { "items": [ "ru" ], "type": "include/exclude" } } ]}Set logo
{{baseHost}}/v1/players/:player_id/logoUploads a logo image that is shown on top of videos played with this player.
Delete logo
{{baseHost}}/v1/players/:player_id/logoRemoves the logo from this player.
file-requests
List file requests
{{baseHost}}/v1/file-requestsReturns a list of file requests. Results are paginated and can be filtered via query parameters.
{ "meta": { "offset": 0, "limit": 10, "total": 7, "total_count": 0, "order": { "title": "asc" }, "parent_id": null }, "data": [ { "id": "<UUID>", "workspace_id": "<UUID>", "title": "test", "description": "", "uploading_location_id": "<UUID>", "expired_at": null, "created_by": "Timofey", "created_at": "2024-11-15T07:39:16.772084Z", "updated_at": null, "archived_at": null, "user_count": 2, "media_count": 3, "url": "https://kinescope.io/request/<UUID>" }, { "id": "<UUID>", "workspace_id": "<UUID>", "title": "Sample title", "description": "Sample description", "uploading_location_id": "<UUID>", "expired_at": null, "created_by": "Alexander Pavlychev", "created_at": "2025-11-20T09:04:12.850561Z", "updated_at": null, "archived_at": null, "user_count": 1, "media_count": 1, "url": "https://kinescope.io/request/<UUID>" }, { "id": "<UUID>", "workspace_id": "<UUID>", "title": "For speaker number one", "description": "upload files to a specific folder", "uploading_location_id": "<UUID>", "expired_at": null, "created_by": "Igor", "created_at": "2021-11-11T19:10:23.209681Z", "updated_at": "2022-03-24T13:20:20.317128Z", "archived_at": null, "user_count": 10, "media_count": 13, "url": "https://kinescope.io/request/<UUID>" }, { "id": "<UUID>", "workspace_id": "<UUID>", "title": "Draft title", "description": "Draft description", "uploading_location_id": "<UUID>", "expired_at": null, "created_by": "Alexander Pavlychev", "created_at": "2024-09-12T07:39:47.404116Z", "updated_at": null, "archived_at": null, "user_count": 0, "media_count": 0, "url": "https://kinescope.io/request/<UUID>" }, { "id": "<UUID>", "workspace_id": "<UUID>", "title": "test", "description": "", "uploading_location_id": "<UUID>", "expired_at": null, "created_by": "Igor", "created_at": "2024-05-28T09:24:08.291024Z", "updated_at": null, "archived_at": null, "user_count": 0, "media_count": 0, "url": "https://kinescope.io/request/<UUID>" }, { "id": "<UUID>", "workspace_id": "<UUID>", "title": "test", "description": "", "uploading_location_id": "<UUID>", "expired_at": null, "created_by": "Igor", "created_at": "2022-01-21T15:10:25.15006Z", "updated_at": null, "archived_at": null, "user_count": 0, "media_count": 0, "url": "https://kinescope.io/request/<UUID>" }, { "id": "<UUID>", "workspace_id": "<UUID>", "title": "Test 2", "description": "", "uploading_location_id": "<UUID>", "expired_at": null, "created_by": "Igor", "created_at": "2022-01-21T15:51:37.351205Z", "updated_at": "2023-11-16T13:06:05.528159Z", "archived_at": null, "user_count": 1, "media_count": 3, "url": "https://kinescope.io/request/<UUID>" } ]}Get file request
{{baseHost}}/v1/file-requests/:file_request_idRetrieves the details of a single file request by its unique ID.
{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "title": "test", "description": "", "uploading_location_id": "<UUID>", "expired_at": null, "created_by": "Timofey", "created_at": "2024-11-15T07:39:16.772084Z", "updated_at": null, "archived_at": null, "user_count": 2, "media_count": 3, "url": "https://kinescope.io/request/<UUID>" }}{ "error": { "code": 400404, "message": "not found" }}Create file request
{{baseHost}}/v1/file-requestsCreates a new file request. Returns the newly created object on success.
| Field | Type | Description |
|---|---|---|
| name | string | Event name |
| type | string | one-time or recurring |
| auto_start | boolean | Live event immediately available for user |
| save_stream | boolean | After finished event its saved as video |
| folder_id | string | Save video project/folder ID. Required if save_stream=true |
{ "title": "Title", "description": "Description", "uploading_location_id": "aUXVrK41BmeNVwyxQ4at6x", "expired_at": null}{ "data": { "id": "4LPmdVVrEVvRBZWh4uAV6K", "workspace_id": "jjGZ6gbAhANmv461rR9MSM", "title": "Name", "description": "Description", "uploading_location_id": "aUXVrK41BmeNVwyxQ4at6x", "expired_at": null, "created_by": null, "created_at": "2021-11-10T16:08:00.086941Z", "updated_at": null, "archived_at": null, "user_count": 0, "media_count": 0 }}Update file request
{{baseHost}}/v1/file-requests/:file_request_idUpdates the specified file request. Only fields provided in the request body are changed; others are left unchanged.
| Field | Type | Description |
|---|---|---|
| name | string | Event name |
| type | string | one-time or recurring |
| auto_start | boolean | Live event immediately available for user |
| save_stream | boolean | After finished event its saved as video |
| folder_id | string | Save video project/folder ID. Required if save_stream=true |
{ "title": "Rename request", "uploading_location_id": "eR9N13hPU2vynDwJxrwoyP", "expired_at": null, "archived": false}{ "data": { "id": "nmy77cZuc1TABAUZHCfoms", "workspace_id": "4yE327XRe7zqfXe4doV7mu", "name": "Rename request", "uploading_location_id": "eR9N13hPU2vynDwJxrwoyP", "expired_at": null, "created_at": "2021-11-06T14:23:07.466584Z", "updated_at": "2021-11-06T15:19:33.767551Z", "archived_at": null, "user_count": 0, "media_count": 0 }}Delete file request
{{baseHost}}/v1/file-requests/:file_request_idPermanently deletes the file request. This action cannot be undone.
| Field | Type | Description |
|---|---|---|
| name | string | Event name |
| type | string | one-time or recurring |
| auto_start | boolean | Live event immediately available for user |
| save_stream | boolean | After finished event its saved as video |
| folder_id | string | Save video project/folder ID. Required if save_stream=true |
{ "name": "Rename request", "folder_id": "eR9N13hPU2vynDwJxrwoyP", "expired_at": null, "archived": false}{ "data": { "success": true }}drm
on project
Get auth
{{baseHost}}/v1/drm/auth/:project_idReturns the DRM auth configuration (URL, headers) currently used for license requests.
{ "data": { "url": "https://example.io/auth/kinescope", "username": "", "password": "", "created_at": "2021-11-10T10:33:43.359069Z", "updated_at": null }}{ "error": { "code": 404404, "message": "no such entity" }}Update auth
{{baseHost}}/v1/drm/auth/:project_idUpdates the DRM license auth configuration.
| Field | Type | Description |
|---|---|---|
| url | string | Auth endpoint |
| username | string | Username for auth endpoint |
| password | string | Password |
| strict | bool | Strict mode. |
If true then provide drm license then url return http code 200. | ||
| If false then provide drm license for any http code except 403. |
{ "url": "https://example.io/auth/kinescope", "username": "", "password": "", "strict": false}{ "data": { "url": "https://example.io/auth/kinescope", "username": "", "password": "", "created_at": "2021-11-10T10:33:43.359069Z", "updated_at": null }}Delete auth
{{baseHost}}/v1/drm/auth/:project_idRemoves the DRM license auth configuration. DRM must be reconfigured before use.
{ "data": { "success": true }}Get auth
{{baseHost}}/v1/drm/authReturns the DRM auth configuration (URL, headers) currently used for license requests.
{ "data": { "url": "https://example.io/auth/kinescope", "username": "", "password": "", "created_at": "2021-11-10T10:33:43.359069Z", "updated_at": null }}{ "error": { "code": 404404, "message": "no such entity" }}Update auth
{{baseHost}}/v1/drm/authUpdates the DRM license auth configuration.
| Field | Type | Description |
|---|---|---|
| url | string | Auth endpoint |
| username | string | Username for auth endpoint |
| password | string | Password |
| strict | bool | Strict mode. |
If true then provide drm license then url return http code 200. | ||
| If false then provide drm license for any http code except 403. |
{ "url": "https://example.io/auth/kinescope", "username": "", "password": "", "strict": true}{ "data": { "url": "https://example.io/auth/kinescope", "username": "", "password": "", "created_at": "2021-11-10T10:33:43.359069Z", "updated_at": null }}Delete auth
{{baseHost}}/v1/drm/authRemoves the DRM license auth configuration. DRM must be reconfigured before use.
{ "data": { "success": true }}privacy-domains
Get domains
{{baseHost}}/v1/privacy-domainsReturns a list of privacy domains. Results are paginated and can be filtered via query parameters.
{ "meta": { "offset": 0, "limit": 10, "total": 22, "total_count": 0, "order": { "created_at": "asc" }, "parent_id": null }, "data": [ { "id": "<UUID>", "workspace_id": "<UUID>", "domain": "edbyte.ru", "created_by_user_name": "Igor", "created_at": "2021-08-09T08:56:36.632808Z", "updated_at": null, "archived_at": null, "media_count": 0 }, { "id": "<UUID>", "workspace_id": "<UUID>", "domain": "newwwww", "created_by_user_name": "Igor", "created_at": "2021-10-09T17:34:03.51782Z", "updated_at": null, "archived_at": null, "media_count": 0 }, { "id": "<UUID>", "workspace_id": "<UUID>", "domain": "www.the-village.ru", "created_by_user_name": "Igor", "created_at": "2021-11-23T15:38:15.360147Z", "updated_at": null, "archived_at": null, "media_count": 0 }, { "id": "<UUID>", "workspace_id": "<UUID>", "domain": "example-shop.com", "created_by_user_name": "Igor", "created_at": "2021-12-30T10:59:19.447503Z", "updated_at": "2022-03-23T10:55:36.938605Z", "archived_at": null, "media_count": 0 }, { "id": "<UUID>", "workspace_id": "<UUID>", "domain": "vc.ru", "created_by_user_name": "Igor", "created_at": "2021-12-30T11:03:22.627174Z", "updated_at": null, "archived_at": null, "media_count": 0 }, { "id": "<UUID>", "workspace_id": "<UUID>", "domain": "kinescope.io", "created_by_user_name": "Igor", "created_at": "2022-05-02T13:13:09.277207Z", "updated_at": null, "archived_at": null, "media_count": 1 }, { "id": "<UUID>", "workspace_id": "<UUID>", "domain": "iframely.com", "created_by_user_name": "Igor", "created_at": "2022-05-02T13:27:50.013863Z", "updated_at": null, "archived_at": null, "media_count": 0 }, { "id": "<UUID>", "workspace_id": "<UUID>", "domain": "antitreningi.ru", "created_by_user_name": "Igor", "created_at": "2022-05-02T13:27:50.013863Z", "updated_at": null, "archived_at": null, "media_count": 3 }, { "id": "<UUID>", "workspace_id": "<UUID>", "domain": "*.iframely.com", "created_by_user_name": "Igor", "created_at": "2022-05-02T13:29:54.470445Z", "updated_at": null, "archived_at": null, "media_count": 1 }, { "id": "<UUID>", "workspace_id": "<UUID>", "domain": "druzh.ru", "created_by_user_name": "Igor", "created_at": "2022-06-06T19:33:22.540944Z", "updated_at": null, "archived_at": null, "media_count": 2 } ]}Create domain
{{baseHost}}/v1/privacy-domainsCreates a new privacy domain. Returns the newly created object on success.
{ "domain": "test.ru"}Update domain
{{baseHost}}/v1/privacy-domains/:domain_idUpdates the specified privacy domain. Only fields provided in the request body are changed; others are left unchanged.
{ "domain": "test.ru", "archived": true}Delete domain
{{baseHost}}/v1/privacy-domains/:domain_idPermanently deletes the privacy domain. This action cannot be undone.
{ "domain": "test.ru", "archived": true}tags
Get tags
{{baseHost}}/v1/tagsReturns a list of tags. Results are paginated and can be filtered via query parameters.
{ "meta": { "offset": 0, "limit": 10, "total": 8, "total_count": 0, "order": { "created_at": "asc" }, "parent_id": null }, "data": [ { "id": "<UUID>", "workspace_id": "<UUID>", "tag": "tag", "created_by_user_name": "Igor", "created_at": "2021-09-15T11:27:39.866471Z", "updated_at": null, "archived_at": null, "media_count": 0 }, { "id": "<UUID>", "workspace_id": "<UUID>", "tag": "https://www.the-village.ru/", "created_by_user_name": "Igor", "created_at": "2021-11-23T15:36:16.588014Z", "updated_at": null, "archived_at": null, "media_count": 1 }, { "id": "<UUID>", "workspace_id": "<UUID>", "tag": "asdsad", "created_by_user_name": "Igor", "created_at": "2021-12-20T11:57:46.800006Z", "updated_at": null, "archived_at": null, "media_count": 3 }, { "id": "<UUID>", "workspace_id": "<UUID>", "tag": "new tag", "created_by_user_name": "Igor", "created_at": "2021-12-20T11:59:08.124924Z", "updated_at": null, "archived_at": null, "media_count": 1 }, { "id": "<UUID>", "workspace_id": "<UUID>", "tag": "https://vc.ru/", "created_by_user_name": "Igor", "created_at": "2021-12-29T10:54:21.502984Z", "updated_at": null, "archived_at": null, "media_count": 0 }, { "id": "<UUID>", "workspace_id": "<UUID>", "tag": "analytics", "created_by_user_name": "Igor", "created_at": "2022-02-19T11:29:46.559027Z", "updated_at": null, "archived_at": null, "media_count": 4 }, { "id": "<UUID>", "workspace_id": "<UUID>", "tag": "product2", "created_by_user_name": "Igor", "created_at": "2022-02-19T12:58:09.461328Z", "updated_at": null, "archived_at": null, "media_count": 1 }, { "id": "<UUID>", "workspace_id": "<UUID>", "tag": "new tag 2", "created_by_user_name": "Igor", "created_at": "2023-01-13T10:35:50.150348Z", "updated_at": null, "archived_at": null, "media_count": 1 } ]}Create tag
{{baseHost}}/v1/tagsCreates a new tag. Returns the newly created object on success.
{ "tag": "tag1"}Update tag
{{baseHost}}/v1/tags/:tag_idUpdates the specified tag. Only fields provided in the request body are changed; others are left unchanged.
{ "tag": "tag1", "archived": true}Delete tag
{{baseHost}}/v1/tags/:tag_idPermanently deletes the tag. This action cannot be undone.
{ "domain": "test.ru", "archived": true}playlists
entities
List medias
{{baseHost}}/v1/playlists/:playlist_id/entitiesReturns the items currently in the playlist, in order.
List medias in playlist
{ "data": [ { "id": "<UUID>", "position": 1, "status": "done", "title": "4k_Limp+Bizkit+-+Rollin'+(Air+Raid+Vehicle)+[4K]-2160p (3)", "description": "", "duration": 243.87675, "created_at": "2026-04-06T13:58:37.847191Z", "updated_at": "2026-04-21T20:30:52.543151Z" } ]}Add medias
{{baseHost}}/v1/playlists/:playlist_id/entitiesAppends one or more videos to the playlist. If replace is true, the existing contents are cleared first.
{ "entity_ids": [ "<UUID>" ]}{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "New playlist", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_share": {}, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/je7WZBZhdMFQKPHHHmMr2m", "embed_link": "https://kinescope.io/embed/pl/je7WZBZhdMFQKPHHHmMr2m" }}Delete medias
{{baseHost}}/v1/playlists/:playlist_id/entitiesRemoves the specified items from the playlist.
{ "entity_ids": [ "<UUID>" ]}{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "New playlist", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_share": {}, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/je7WZBZhdMFQKPHHHmMr2m", "embed_link": "https://kinescope.io/embed/pl/je7WZBZhdMFQKPHHHmMr2m" }}Move media
{{baseHost}}/v1/playlists/:playlist_id/entities/:media_id/moveChanges the position of an item within the playlist.
{ "position": 2}{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "Playlist updated", "description": "Description updated", "privacy_type": "anywhere", "privacy_domains": [], "privacy_share": {}, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/je7WZBZhdMFQKPHHHmMr2m", "embed_link": "https://kinescope.io/embed/pl/je7WZBZhdMFQKPHHHmMr2m" }}Get playlist
{{baseHost}}/v1/playlists/:playlist_idRetrieves the details of a single playlist by its unique ID.
{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": " ", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": {}, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/mN2NQtiPtGDeeKMcnL9pFS", "embed_link": "https://kinescope.io/embed/pl/mN2NQtiPtGDeeKMcnL9pFS" }}{ "error": { "code": 400404, "message": "not found" }}List playlists
{{baseHost}}/v1/playlistsReturns a list of playlists. Results are paginated and can be filtered via query parameters.
{ "meta": { "pagination": { "page": 1, "per_page": 100, "total": 32 }, "order": {"name":"desc"} }, "data": [ { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "test", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/jYTf2LiKf9EjSVdYrQqG7G", "embed_link": "https://kinescope.io/embed/pl/jYTf2LiKf9EjSVdYrQqG7G" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "test", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/an74We1dQy1zDXQhj5gi9t", "embed_link": "https://kinescope.io/embed/pl/an74We1dQy1zDXQhj5gi9t" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "playlist_2videos", "description": "test playlist", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/ntkKeCY2h2C7sAjUoUJFDw", "embed_link": "https://kinescope.io/embed/pl/ntkKeCY2h2C7sAjUoUJFDw" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "Sample playlist", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": true, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/niGucFE5xEkSGV95r2tazX", "embed_link": "https://kinescope.io/embed/pl/niGucFE5xEkSGV95r2tazX" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "New test playlist", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "created_at", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/mJU9b4AUj6NFzcDnWA1LZv", "embed_link": "https://kinescope.io/embed/pl/mJU9b4AUj6NFzcDnWA1LZv" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "Long playlist", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/oxZ8RtEB1bGWYv9H8G66k8", "embed_link": "https://kinescope.io/embed/pl/oxZ8RtEB1bGWYv9H8G66k8" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "test_pl_drm", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/qZnbjQisWyCfFpjascyM9X", "embed_link": "https://kinescope.io/embed/pl/qZnbjQisWyCfFpjascyM9X" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "test", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { "password": "123" }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/qdGu6BhoetX8U9xy4QtwqZ", "embed_link": "https://kinescope.io/embed/pl/qdGu6BhoetX8U9xy4QtwqZ" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "test", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/hWzGMKMAYQqcDtcqQgfmsX", "embed_link": "https://kinescope.io/embed/pl/hWzGMKMAYQqcDtcqQgfmsX" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "test", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/39C5nUf9k3K285RdqUCTbc", "embed_link": "https://kinescope.io/embed/pl/39C5nUf9k3K285RdqUCTbc" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "AI skills showcase", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/fDcMfTJvZ3KoPUrzZT17Tu", "embed_link": "https://kinescope.io/embed/pl/fDcMfTJvZ3KoPUrzZT17Tu" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "playlist", "description": "234324234", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/hXt9v7zHioVbNWVmaX7mX5", "embed_link": "https://kinescope.io/embed/pl/hXt9v7zHioVbNWVmaX7mX5" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "playlisst", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [ "gmail.com" ], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/2uTTZ5sjDTPYMXzALDcTwM", "embed_link": "https://kinescope.io/embed/pl/2uTTZ5sjDTPYMXzALDcTwM" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "New playlist 2", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "created_at", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/6WhqRL5RkLUQUAWUS9xv3x", "embed_link": "https://kinescope.io/embed/pl/6WhqRL5RkLUQUAWUS9xv3x" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "new playlist 1", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "created_at", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/db26iDXs5QRGAfJX1CMrub", "embed_link": "https://kinescope.io/embed/pl/db26iDXs5QRGAfJX1CMrub" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "New playlist", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/n89ZCES9ak6FmzL8UpqxcX", "embed_link": "https://kinescope.io/embed/pl/n89ZCES9ak6FmzL8UpqxcX" }, { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "New playlist", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_email_domains": [], "privacy_share": { }, "unique_codes_enabled": false, "tags": [], "settings": { "sort_field": "custom", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/gXaFFFd// … truncatedCreate playlist
{{baseHost}}/v1/playlistsCreates a new playlist. Returns the newly created object on success.
| Field | Type | Description |
|---|---|---|
| name | string | Playlist name |
| parent_id | uuid | folder_id or project_id |
| entity_ids | []uuid | Array of video_id |
{ "name": "Playlist 1", "parent_id": "<UUID>", "entity_ids": [ "<UUID>" ]}{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "Playlist 1", "description": "", "privacy_type": "anywhere", "privacy_domains": [], "privacy_share": {}, "tags": [], "settings": { "sort_field": "created_at", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/vUJJ5W5wmgKBLwVEnHf9uN", "embed_link": "https://kinescope.io/embed/pl/vUJJ5W5wmgKBLwVEnHf9uN" }}Update playlist
{{baseHost}}/v1/playlists/:playlist_idUpdates the specified playlist. Only fields provided in the request body are changed; others are left unchanged.
| Field | Type | Description |
|---|---|---|
| name | string | Playlist name |
| description | string | Description playlist |
| parent_id | uuid | folder_id or project_id |
| settings | object | Set sort field and order for list videos |
{ "name": "Playlist updated", "description": "Description updated", "parent_id": "<UUID>", "privacy_type": "anywhere", "privacy_domains": [ "dddd.com" ], "settings": { "sort_field": "duration", "sort_order": "asc" }}{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "player_id": "<UUID>", "parent_id": "<UUID>", "name": "Playlist updated", "description": "Description updated", "privacy_type": "anywhere", "privacy_domains": [ "dddd.com" ], "privacy_share": {}, "tags": [], "settings": { "sort_field": "duration", "sort_order": "asc", "ignore_interactive_tools": false }, "play_link": "https://kinescope.io/pl/je7WZBZhdMFQKPHHHmMr2m", "embed_link": "https://kinescope.io/embed/pl/je7WZBZhdMFQKPHHHmMr2m" }}Delete playlist
{{baseHost}}/v1/playlists/:playlist_idPermanently deletes the playlist. This action cannot be undone.
{ "data": { "success": true }}moderators
Get moderators
{{baseHost}}/v1/moderatorsReturns a list of moderators. Results are paginated and can be filtered via query parameters.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 1 }, "order": { "created_at": "asc" } }, "data": [ { "user_id": "<UUID>", "workspace_id": "<UUID>", "username": "doc_test_mod_1776899949", "email": "user@example.com", "scope": {} } ]}Add moderator
{{baseHost}}/v1/moderatorsCreates a new moderator. Returns the newly created object on success.
{ "username": "user_admin", "email": "user@example.com", "password": "password"}{ "data": { "user_id": "<UUID>", "workspace_id": "<UUID>", "username": "user_admin", "email": "user@example.com" }}{ "data": { "user_id": "<UUID>", "workspace_id": "<UUID>", "username": "doc_test_mod_1776899949", "email": "user@example.com", "scope": {} }}Get moderator
{{baseHost}}/v1/moderators/:moderator_idRetrieves the details of a single moderator by its unique ID.
{ "data": { "user_id": "<UUID>", "workspace_id": "<UUID>", "username": "user_admin", "email": "user@example.com" }}{ "data": { "user_id": "<UUID>", "workspace_id": "<UUID>", "username": "doc_test_mod_1776899949", "email": "user@example.com", "scope": {} }}Update moderator
{{baseHost}}/v1/moderators/:moderator_idUpdates the specified moderator. Only fields provided in the request body are changed; others are left unchanged.
{ "username": "user_admin_2", "email": "user@example.com", "password": "password"}{ "data": { "user_id": "<UUID>", "workspace_id": "<UUID>", "username": "user_admin_2", "email": "user@example.com" }}{ "data": { "user_id": "<UUID>", "workspace_id": "<UUID>", "username": "doc_test_mod_1776899949_upd", "email": "user@example.com", "scope": {} }}Delete moderator
{{baseHost}}/v1/moderators/:moderator_idPermanently deletes the moderator. This action cannot be undone.
{ "data": { "success": true }}{ "data": { "success": true }}webhooks
List webhooks
{{baseHost}}/v1/webhooksReturns a list of webhooks. Results are paginated and can be filtered via query parameters.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 1 }, "order": { "name": "asc" } }, "data": [ { "id": "<UUID>", "name": "doc_test_webhook_1776899949", "endpoint": "https://example.com/kinescope-doc-test", "login": "", "password": "<REDACTED>", "events": [ "media.update.status" ], "created_at": "2026-04-22T23:19:10.316926Z", "updated_at": null, "deleted_at": null } ]}Create webhook
{{baseHost}}/v1/webhooksSubscribes to one or more event types. The configured endpoint will receive signed POST requests when those events fire.
{ "name": "webhook1", "endpoint": "https://example.io/kinescope/webhook", "login": "", "password": "", "events": [ "media.update.status" ]}{ "data": { "id": "<UUID>", "name": "doc_test_webhook_1776899949", "endpoint": "https://example.com/kinescope-doc-test", "login": "", "password": "<REDACTED>", "events": [ "media.update.status" ], "created_at": "2026-04-22T23:19:10.316926Z", "updated_at": null, "deleted_at": null }}Update webhook
{{baseHost}}/v1/webhooks/:webhook_idUpdates the webhook (URL, HTTP Basic credentials, subscribed events).
{ "name": "webhook1_edit2", "endpoint": "https://example.io/kin/webhook", "login": "123", "password": "2222", "events": [ "media.update.status" ]}{ "data": { "id": "<UUID>", "name": "doc_test_webhook_1776899949_upd", "endpoint": "https://example.com/kinescope-doc-test", "login": "", "password": "<REDACTED>", "events": [ "media.update.status" ], "created_at": "2026-04-22T23:19:10.316926Z", "updated_at": "2026-04-22T23:19:11.087179Z", "deleted_at": null }}Delete webhook
{{baseHost}}/v1/webhooks/:webhook_idPermanently deletes the webhook. This action cannot be undone.
{ "data": { "success": true }}CDN
Create zone
{{baseHost}}/v1/cdn/zonesCreates a new CDN zone. Returns the newly created object on success.
{ "name": "test3.edge.kinescope.dev", "host": "test3.edge.kinescope.dev", "origins": [ { "addr": "test2.example.ru", "basic_auth": { "username": "user", "password": "pass" } } ], "access_control": { "jwt_secret": "token", "secure_link": "link" }, "settings": { "ignore_query_strings": true, "index_html": "index.html", "block_bad_bots": false }}Get zones
{{baseHost}}/v1/cdn/zonesReturns a list of CDN zones. Results are paginated and can be filtered via query parameters.
{ "data": [ { "id": "<UUID>", "workspace_id": "<UUID>", "name": "Kinescopecdn.net", "host": "kinescopecdn.net", "origins": [ { "addr": "http://10.1.1.19:8041", "basic_auth": { "username": "", "password": "" } }, { "addr": "http://10.3.1.68:8041", "basic_auth": { "username": "", "password": "" } } ], "settings": { "access_log": false, "index_html": "", "block_bad_bots": false, "ignore_query_strings": true, "max_send_size_bytes": 0 }, "access_control": { "jwt_secret": "", "secure_link": "" }, "created_at": "2022-11-16T15:04:00.850633Z", "updated_at": "2025-03-06T17:30:19.449978Z" }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "Live ", "host": "live.kinescopecdn.net", "origins": [ { "addr": "http://10.1.1.56:8161", "basic_auth": { "username": "", "password": "" } }, { "addr": "http://10.1.1.29:8161", "basic_auth": { "username": "", "password": "" } }, { "addr": "http://10.1.1.48:8161", "basic_auth": { "username": "", "password": "" } } ], "settings": { "access_log": false, "index_html": "", "block_bad_bots": false, "ignore_query_strings": false, "max_send_size_bytes": 0 }, "access_control": { "jwt_secret": "", "secure_link": "" }, "created_at": "2023-02-02T12:03:19.728692Z", "updated_at": "2025-06-29T07:08:18.10123Z" }, { "id": "<UUID>", "workspace_id": "<UUID>", "name": "Live AMS", "host": "live-ams-1.kinescopecdn.net", "origins": [ { "addr": "http://10.1.1.56:8161", "basic_auth": { "username": "", "password": "" } }, { "addr": "http://10.1.1.29:8161", "basic_auth": { "username": "", "password": "" } }, { "addr": "http://10.1.1.48:8161", "basic_auth": { "username": "", "password": "" } } ], "settings": { "access_log": false, "index_html": "", "block_bad_bots": false, "ignore_query_strings": false, "max_send_size_bytes": 0 }, "access_control": { "jwt_secret": "", "secure_link": "" }, "created_at": "2023-10-31T17:14:38.14698Z", "updated_at": "2025-06-29T12:47:50.806065Z" } ]}Update zone
{{baseHost}}/v1/cdn/zones/:zone_idUpdates the specified CDN zone. Only fields provided in the request body are changed; others are left unchanged.
{ "name": "test3.edge.kinescope.dev", "host": "test3.edge.kinescope.dev", "origins": [ { "addr": "test.example.ru", "basic_auth": { "username": "user111", "password": "pass222" } } ], "access_control": { "jwt_secret": "token", "secure_link": "link" }, "settings": { "ignore_query_strings": true, "index_html": "index.html", "block_bad_bots": false }}Delete zone
{{baseHost}}/v1/cdn/zones/:zone_idPermanently deletes the CDN zone. This action cannot be undone.
speak
rooms
participants
List Participants
{{baseHost}}/v1/speak/rooms/:room_id/participantsReturns the participants of a Speak room.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 0 }, "order": { "created_at": "desc", "name": "asc" } }, "data": []}Get Participant
{{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_idRetrieves a participant by ID.
{ "data": { "id": "<UUID>", "user_id": "<UUID>", "room_id": "<UUID>", "name": "Name Updated", "role": "admin", "created_at": "2025-10-22T02:41:14.945244Z", "updated_at": "2025-10-22T02:46:57.84099Z" }}Create Participant
{{baseHost}}/v1/speak/rooms/:room_id/participantsAdds a participant to a Speak room, optionally with a specific role.
| Field | Type | Description |
|---|---|---|
| user_id | uuid | User ID |
| name | string | Participant name |
| role | string | admin, manager |
{ "data": { "id": "<UUID>", "user_id": "<UUID>", "room_id": "<UUID>", "name": "New Admin", "role": "admin", "created_at": "2025-10-22T02:41:14.945244Z", "updated_at": null }}Update Participant
{{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_idUpdates a participant — typically to change their role or display name.
| Field | Type | Description |
|---|---|---|
| name | string | Participant name |
{ "data": { "id": "<UUID>", "user_id": "<UUID>", "room_id": "<UUID>", "name": "Name Updated", "role": "admin", "created_at": "2025-10-22T02:41:14.945244Z", "updated_at": "2025-10-22T02:46:57.84099Z" }}Delete Participant
{{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_idRemoves a participant from the Speak room.
{ "data": { "success": true }}calls
List Calls
{{baseHost}}/v1/speak/rooms/:room_id/callsReturns a paginated list of calls for a Speak room.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 0 }, "order": { "created_at": "desc" } }, "data": []}Get Call
{{baseHost}}/v1/speak/rooms/:room_id/calls/:call_idRetrieves a single call by ID.
{ "data": { "id": "<UUID>", "room_id": "<UUID>", "transcript_id": "<UUID>", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": "2025-10-22T03:33:22.877221Z" }}{ "error": { "code": 400404, "message": "not found" }}transcript
Get Transcript
{{baseHost}}/v1/speak/rooms/:room_id/calls/:call_id/transcriptReturns metadata for the transcript of a call.
{ "data": { "call_id": "<UUID>", "room_id": "<UUID>", "status": "done", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": "2025-10-22T03:33:22.877221Z" }}{ "error": { "code": 400404, "message": "not found" }}Download Transcript
{{baseHost}}/v1/speak/rooms/:room_id/calls/:call_id/transcript/content.txtDownloads the transcript as a plain-text file. Returns Content-Type: text/plain with a Content-Disposition: attachment header. Each line has the format [MM:SS.T-MM:SS.T] Speaker: Text. Available only when transcript status is done.
[00:00.0-00:05.3] Alice: Hello everyone, let's get started.[00:05.3-00:12.1] Bob: Sounds good, I have a few updates to share.{ "error": { "code": 422100, "message": "transcript not ready" }}List Rooms
{{baseHost}}/v1/speak/roomsReturns all Speak rooms in the workspace.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 0 }, "order": { "created_at": "desc", "name": "asc" } }, "data": []}Get Room
{{baseHost}}/v1/speak/rooms/:room_idRetrieves a single Speak room by ID.
{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "owner_id": "<UUID>", "type": "scheduled_meeting", "transcript_enabled": false, "participants": [ { "id": "<UUID>", "user_id": "<UUID>", "room_id": "<UUID>", "name": "Name Updated", "role": "admin", "created_at": "2025-10-22T02:41:14.945244Z", "updated_at": "2025-10-22T02:46:57.84099Z" } ], "code": "zqu-kqyh-ymz", "name": "Room Update", "link": "https://speak.kinescope.io/zqu-kqyh-ymz", "status": "cancelled", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": "2025-10-22T03:33:22.877221Z" }}{ "error": { "code": 400404, "message": "not found" }}Create Room
{{baseHost}}/v1/speak/roomsCreates a new Speak room. You can pre-create participants or add them later.
| Field | Type | Description |
|---|---|---|
| name | string | Room name |
| owner_id | uuid | User ID |
| type | string | Room type - instant_meeting, permanent_meeting, scheduled_meeting |
| transcript_enabled | boolean | Enable automatic transcription for calls. Optional, defaults to false |
{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "owner_id": "<UUID>", "type": "scheduled_meeting", "transcript_enabled": false, "participants": [], "code": "zqu-kqyh-ymz", "name": "New Room", "link": "https://speak.kinescope.io/zqu-kqyh-ymz", "status": "scheduled", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": null }}Update Room
{{baseHost}}/v1/speak/rooms/:room_idUpdates properties of a Speak room.
| Field | Type | Description |
|---|---|---|
| name | string | Room name |
{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "owner_id": "<UUID>", "type": "scheduled_meeting", "transcript_enabled": false, "participants": [], "code": "zqu-kqyh-ymz", "name": "Room Update", "link": "https://speak.kinescope.io/zqu-kqyh-ymz", "status": "scheduled", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": "2025-10-22T02:34:28.336038Z" }}Update Transcript Settings
{{baseHost}}/v1/speak/rooms/:room_id/transcriptEnables or disables automatic transcription for a room. Cannot be changed while the room has active calls.
| Field | Type | Description |
|---|---|---|
| transcript_enabled | boolean | true to enable, false to disable transcription |
{ "data": { "id": "<UUID>", "workspace_id": "<UUID>", "owner_id": "<UUID>", "type": "scheduled_meeting", "transcript_enabled": true, "participants": [], "code": "zqu-kqyh-ymz", "name": "Room Update", "link": "https://speak.kinescope.io/zqu-kqyh-ymz", "status": "scheduled", "created_at": "2025-10-22T02:32:32.840208Z", "updated_at": "2025-10-22T02:34:28.336038Z" }}{ "error": { "code": 409293, "message": "cannot update transcript settings while room has active calls" }}Delete Room
{{baseHost}}/v1/speak/rooms/:room_idPermanently deletes the Speak room. All participants lose access.
{ "data": { "success": true }}v2
videos
Upload video
Uploads a new video. Multipart-based; the server returns the video object once the upload completes.
See guide:
https://kinescope.notion.site/abe1183fe61b4e00a4f8c358bd27413d
| Parameter | Description |
|---|---|
X-Parent-ID | `` |
X-Video-Title | New video |
X-Video-Description | Video description |
X-File-Name | video.mp4 |
X-Poster-URL | url to poster |
X-Video-URL | http://example.ru/video.mp4 |
X-Replace-Video-ID | VideoID for replace |
live
The event object
| Field | Type | Description |
|---|---|---|
| id | string | Unique identifier for the object. |
| type | string | Available values: one-time, recurring |
restreams
Create restream
{{baseHost}}/v2/live/events/:event_id/restreamsAdds an RTMP restream target to the event — the live stream will be mirrored there.
{ "name": "Restream name", "url": "rtmp://rtmp.kinescope.io/live", "key": "stream key", "description": "Description", "enabled": true}{ "data": { "id": "<UUID>", "event_id": "<UUID>", "name": "Restream name", "url": "rtmp://rtmp.kinescope.io/live", "key": "stream key", "status": "disconnected", "enabled": true, "description": "Description", "created_at": "2022-11-15T12:50:33.867315Z", "updated_at": null }}{ "data": { "id": "<UUID>", "event_id": "<UUID>", "name": "Restream name", "url": "rtmp://rtmp.kinescope.dev/live", "key": "stream key", "status": "disconnected", "enabled": true, "description": "Description", "created_at": "2022-11-15T12:50:33.867315Z", "updated_at": null }}Update restream
{{baseHost}}/v2/live/events/:event_id/restreams/:restream_idUpdates a restream target (URL, stream key, enabled flag).
{ "name": "Restream name 1", "url": "rtmp://rtmp.kinescope.io/live", "key": "stream key", "description": "Description", "enabled": true}{ "data": { "id": "<UUID>", "event_id": "<UUID>", "name": "Restream name 1", "url": "rtmp://rtmp.kinescope.io/live", "key": "stream key", "status": "disconnected", "enabled": true, "description": "Description", "created_at": "2022-11-15T12:50:33.867315Z", "updated_at": "2022-11-15T12:51:28.175339Z" }}{ "data": { "id": "<UUID>", "event_id": "<UUID>", "name": "Restream name 1", "url": "rtmp://rtmp.kinescope.dev/live", "key": "stream key", "status": "disconnected", "enabled": true, "description": "Description", "created_at": "2022-11-15T12:50:33.867315Z", "updated_at": "2022-11-15T12:51:28.175339Z" }}Get restream
{{baseHost}}/v2/live/events/:event_id/restreams/:restream_idRetrieves the details of a single restream by its unique ID.
{ "data": { "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" }}List restreams
{{baseHost}}/v2/live/events/:event_id/restreams/:restream_idReturns a list of restreams. Results are paginated and can be filtered via query parameters.
{ "data": { "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" }}Delete restream
{{baseHost}}/v2/live/events/:event_id/restreams/:restream_idPermanently deletes the restream. This action cannot be undone.
Create event
{{baseHost}}/v2/live/eventsCreates a new live event. The event is in draft state until scheduled and enabled.
Create new event
| Field | Type | Description |
|---|---|---|
| name | string | Event name. Required |
| type | string | Available values: recurring, one-time. Required |
| parent_id | UUID | Project or folder ID for event. Not required |
| auto_start | boolean | Automatic start of the stream. Default false. Not required |
| protected | boolean | Enable encryption stream. Default false. Not required |
| time_shift | boolean | Default false. Not required |
| reconnect_window | integer | Default 600 seconds. Not required |
| scheduled | object | Settings for scheduled event. Available keys - 'time' |
| 'time' - broadcast start time. Not required | ||
| record | object | Settings 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 | ||
| video | object | Settings 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_mode | string | Available values: standard, reduced. Default 'standard'. Not required. |
| show_members | bool | Show/hide members of chat. Default true. |
| chat_active | bool | Chat enabled/disabled after stream ended. Default false. |
| chat_after_stream | bool | Show/hide chat after stream ended. Default true. |
| chat_preview | bool | Show/hide chat in video preview. Default true. |
{ "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}{ "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
{{baseHost}}/v2/live/events/:event_idUpdates properties of a live event (title, description, scheduled time, restreams, etc.).
{ "name": ""}{ "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
{{baseHost}}/v2/live/events/:event_idRetrieves the details of a single live event by its unique ID.
{ "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
{{baseHost}}/v2/live/eventsReturns a list of live events. Results are paginated and can be filtered via query parameters.
{ "meta": { "pagination": { "page": 1, "per_page": 100, "total": 0 }, "order": { "created_at": "desc", "name": "asc" } }, "data": []}Event videos
{{baseHost}}/v2/live/events/:event_id/videosReturns recordings produced by the event, ordered by creation time.
{ "meta": { "pagination": { "page": 1, "per_page": 10, "total": 0 }, "order": { "created_at": "desc" } }, "data": []}Enable event
{{baseHost}}/v2/live/events/:event_id/enableEnables the event so that streams can be ingested and played back.
Finish event
{{baseHost}}/v2/live/events/:event_id/completeMarks the event as completed. Ingest endpoints stop accepting streams.
Schedule new stream
{{baseHost}}/v2/live/events/:event_id/streamSchedules a new stream within the event. Returns the ingest URL and stream key.
{ "started_at": "2022-11-15T12:42:00.991558Z"}{ "data": { "id": "<UUID>", "event_id": "<UUID>", "status": "pending", "started_at": "2022-11-15T12:42:00.991558Z", "finished_at": null }}Update schedule stream
{{baseHost}}/v2/live/events/:event_id/streamUpdates the scheduling of an upcoming stream (start time, expected duration).
{ "started_at": "2024-11-15T12:42:00.991558Z"}{ "data": { "id": "<UUID>", "event_id": "<UUID>", "status": "pending", "started_at": "2024-11-15T12:42:00.991558Z", "finished_at": null }}Delete event
{{baseHost}}/v2/live/events/:event_idPermanently deletes the live event. This action cannot be undone.
Move event
{{baseHost}}/v2/live/events/:event_id/moveMoves the event into a different project or folder.
{ "parent_id": "<UUID>"}{ "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
{{uploadHost}}/v2/posterUploads a custom poster image for a live event.
| Parameter | Description |
|---|---|
X-Event-ID | 4iUMUmb63dLAvnbsMRkSUX |
X-Poster-URL | url to poster |
Qos
{{baseHost}}/v2/live/events/:event_id/qosReturns 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)
{ "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
{{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.
{ "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" } ]}posters
Upload poster
{{uploadHost}}/v2/posterUploads a custom poster image for a live event.
| Parameter | Description |
|---|---|
X-Video-ID | 4iUMUmb63dLAvnbsMRkSUX |
X-Poster-URL | url to poster |