Kinescope API Reference
132 endpoints · 4 sections · Bearer token
Built with Markdoc

Kinescope API

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/videos

Keep 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:

FieldTypeDescription
error.codenumberA fine-grained application-level code. Combines the HTTP status with a reason category — the full list is below.
error.messagestringShort human-readable explanation, suitable for logs.
error.detailstringOptional. 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
CodeNameDescription
200OKRequest succeeded. The response body contains the requested object.
201CreatedResource was created. The response body contains the new object.
204No ContentRequest succeeded; the endpoint has no body to return (typically after a DELETE).
400Bad RequestThe request is malformed — missing required fields, wrong types, or invalid parameter values.
401UnauthorizedAuthentication is missing, invalid, or expired. Check the Authorization header.
402Payment RequiredThe workspace plan or balance does not cover this operation.
403ForbiddenThe token is authenticated but lacks permission for this resource or action.
404Not FoundThe resource does not exist, or it exists but is not visible to this token.
429Too Many RequestsRate limit exceeded. Respect the Retry-After response header before retrying.
5xxServer ErrorUnexpected 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)
CodeNameDescription
1IO_ERRORThe request body could not be read — usually an empty or malformed payload, or a dropped connection mid-upload.
100101AUTH_AUTHORIZATION_HEADER_NOT_FOUNDThe Authorization header is missing from the request.
100102UNAUTHORIZEDThe token is missing, invalid, or expired.
100103ACCESS_DENIEDThe token is valid but does not grant access to this resource or scope.
100104INVALID_USERNAME_OR_PASSWORDThe credentials provided to the sign-in endpoint do not match any account.
100105INVALID_CONFIRMATION_TOKENThe email-confirmation token is unknown or expired. Request a new one.
100106LIMIT_REACHEDA per-workspace quota or rate limit has been hit.
100107USER_IS_NOT_OWNERThe action requires workspace-owner privileges; the current user is not the owner.
Bad request & validation codes (4xxxxx)
CodeNameDescription
400101JSON_SYNTAX_ERRORThe request body is not valid JSON.
400102JSON_UNMARSHAL_TYPE_ERRORA field in the body has a type that the API did not expect (e.g. a string where a number is required).
400201HAS_ALREADY_BEEN_TAKENA uniqueness constraint was violated — a value with the given key already exists.
400202EMAIL_IS_ALREADY_TAKENAn account with this email address already exists.
400203NAME_IS_ALREADY_TAKENAn entity with this name already exists in the current scope (workspace, project, folder).
400204INVITATION_IS_ALREADY_EXISTAn invitation has already been sent to this recipient.
400205INVITATION_IS_ALREADY_APPROVEDThe invitation has already been accepted — it cannot be accepted again.
400206BILLING_ACCOUNT_IS_ALREADY_EXISTA billing account is already attached to this workspace.
400207NOT_ENOUGH_MONEYThe workspace balance is insufficient for this operation.
400208NO_BILLING_ACCOUNTThe workspace has no billing account yet. Create one before using paid features.
400209NO_PAYMENT_METHODNo payment method is configured on the billing account.
400210NOT_ENOUGH_REQUIRED_PRODUCTSThe current plan is missing one or more products this operation depends on.
400211NOT_ALLOWED_ADDITIONAL_FOR_TRIALAdd-ons cannot be purchased while the workspace is on a trial plan.
400212SUBSCRIPTION_NOT_PAIDThe workspace has unpaid invoices. Clear them before continuing.
400213EMAIL_NOT_CONFIRMEDThe user's email address has not been confirmed yet.
400214EMAIL_NOT_FOUNDNo account is associated with the given email.
400215RESET_TOKEN_NOT_FOUND_OR_EXPIREDThe password-reset token is unknown or expired. Start the reset flow again.
400216NOT_ALLOWED_ORDER_FIELDThe order parameter refers to a field that this endpoint cannot sort by.
400301One of the UUID parameters in the URL, query, or body has an invalid format.
400400UNEXPECTED_VALUEA parameter value is outside the set of allowed values (usually an enum).
Other error codes (402 / 404 / 500)
CodeNameDescription
402402VALIDATION_ERROROne or more fields failed validation. The detail field typically lists the failing fields and the reasons.
404404NO_SUCH_ENTITYThe referenced object does not exist, has been deleted, or is not visible to this token.
500500INTERNAL_SERVER_ERRORAn unexpected error occurred on the server. Safe to retry with exponential backoff.

Handling errors

  • Retries. 5xx responses and network timeouts are safe to retry. Use exponential backoff and cap the number of attempts. 4xx responses other than 429 should not be retried — fix the request.
  • Rate limits. On 429, pause for the number of seconds in the Retry-After header before retrying. Do not retry immediately.
  • Validation. For 402402 VALIDATION_ERROR, expect error.detail to contain the field-level breakdown. Surface those messages to the user so they can correct the input.
  • Logging. Log error.code rather than error.message for alerting and analytics — codes are stable, messages are not.

v1

videos

The video object
FieldTypeDescription
idstringUnique identifier for the object.
project_idstring
folder_idstring
versionnumber
titlestring
descriptionstring
statusenumAvailable values: pending, uploading, pre-processing, processing, aborted, done, error
progressnumberVideo processing progress
durationnumberVideo duration in seconds
assets[]Asset
chaptersChapters
privacy_typeenumAvailable values: anywhere,nowhere, custom
privacy_domains[]stringWhitelist domains
posterPoster
additional_materialsAdditionalMaterial
additional_materials_enabledbool
annotation_text_enabledbool
annotation_video_enabledbool
created_atdatetime
updated_atdatetime
play_linkstringLink to player
embed_linkstringEmbed player link
subtitlesSubtitles
subtitles_enabledbooleanShow/Hide subtitles in player
hls_linkstringLink to HLS manifest

posters

Posters list

GET {{baseHost}}/v1/videos/:video_id/posters

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

Responses
{  "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

POST {{baseHost}}/v1/videos/:video_id/posters

Generates 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.

Request body (json)
{  "from_time": 2.3333}

Get poster

GET {{baseHost}}/v1/videos/:video_id/posters/:poster_id

Retrieves the details of a single poster by its unique ID.

Responses
{  "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

POST {{baseHost}}/v1/videos/:video_id/posters/:poster_id/active

Marks the specified poster as the active one — it will be shown in the video player and in lists.

Delete poster

DELETE {{baseHost}}/v1/videos/:video_id/posters/:poster_id

Permanently deletes the poster. This action cannot be undone.

subtitles

List subtitles

GET {{baseHost}}/v1/videos/:video_id/subtitles

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

Body (formdata)
ParameterTypeDescription
languagetext— · example: ru
descriptiontext— · example: описание файла с субтитрами
filefile
Responses
{  "data": null}

Add subtitle file

POST {{baseHost}}/v1/videos/:video_id/subtitles

Uploads a subtitle file (VTT or SRT) and attaches it to the video under the specified language.

Body (formdata)
ParameterTypeDescription
languagetext— · example: ru
descriptiontext— · example: описание файла с субтитрами
filefile
Responses
{  "data": {    "id": "<UUID>",    "video_id": "<UUID>",    "description": "описание файла с субтитрами",    "language": "ru",    "file": "",    "file_name": "<UUID>.vtt",    "hls_file": "",    "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>"  }}

Reorder

PATCH {{baseHost}}/v1/videos/:video_id/subtitles/reorder

Changes the order of subtitle tracks. Pass the full list of subtitle IDs in the desired order.

Request body (json)
[  "<UUID>",  "<UUID>",  "<UUID>",  "<UUID>"]
Responses
{  "data": {    "id": "<UUID>",    "video_id": "<UUID>",    "description": "описание файла с субтитрами",    "language": "ru",    "file": "",    "file_name": "<UUID>.vtt",    "hls_file": "",    "url": "https://kinescopecdn.net/<UUID>/subtitles/<UUID>/<UUID>?expires=<EXPIRES>&sign=<SIGNATURE>"  }}

Get subtitle

GET {{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_id

Retrieves the details of a single subtitle by its unique ID.

Body (formdata)
ParameterTypeDescription
languagetext— · example: ru
descriptiontext— · example: описание файла с субтитрами
filefile
Responses
{  "data": {    "id": "<UUID>",    "video_id": "<UUID>",    "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

PATCH {{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_id

Updates the metadata of a subtitle track (language, description, ordering).

Request body (json)
{  "language": "ru",  "description": "desc111"}
Responses
{  "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

POST {{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_id/copy

Duplicates a subtitle track. Useful for creating a variant based on an existing translation.

Responses
{  "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

DELETE {{baseHost}}/v1/videos/:video_id/subtitles/:subtitle_id

Permanently deletes the subtitle. This action cannot be undone.

Responses
{  "data": {    "success": true  }}

annotations

Get annotation

GET {{baseHost}}/v1/videos/:video_id/annotations/:annotation_id

Retrieves the details of a single annotation by its unique ID.

Responses
{  "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

GET {{baseHost}}/v1/videos/:video_id/annotations

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

Responses
{  "data": []}

Add annotation

POST {{baseHost}}/v1/videos/:video_id/annotations

Creates a new annotation. Returns the newly created object on success.

Request body (json)
{  "video_id": "<UUID>",  "annotation_poster_id": "<UUID>",  "type": "video/text",  "title": "new annotation",  "link": "https://example.com",  "start_time": 0,  "end_time": 10000}
Responses
{  "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

PUT {{baseHost}}/v1/videos/:video_id/annotations/:annotation_id

Updates the specified annotation. Only fields provided in the request body are changed; others are left unchanged.

Request body (json)
{  "video_id": "<UUID>",  "annotation_poster_id": "<UUID>",  "title": "new annotation",  "link": "https://example.com",  "start_time": 0,  "end_time": 10000}
Responses
{  "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

DELETE {{baseHost}}/v1/videos/:video_id/annotations/:annotation_id

Permanently deletes the annotation. This action cannot be undone.

Responses
{  "data": {    "success": true  }}

Videos list

GET {{baseHost}}/v1/videos

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

Responses
{  "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

GET {{baseHost}}/v1/videos/:video_id

Retrieves the details of a single video by its unique ID.

Responses
{  "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,    "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

PATCH {{baseHost}}/v1/videos/:video_id

Updates 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

Request body (json)
{  "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"  ]}
Responses
{  "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

DELETE {{baseHost}}/v1/videos/:video_id

Permanently deletes the video. This action cannot be undone.

Responses
{  "data": {    "success": true  }}

Move video to another project and folder

PUT {{baseHost}}/v1/videos/:video_id/move

Moves the video into a different project and/or folder. The video ID stays the same.

Request body (json)
{  "project_id": "3kAyiWTAZQKKZxg1GfjKvS",  "folder_id": "2MxB8wx35jHQjhCPczBamu"}

Update chapters

PUT {{baseHost}}/v1/videos/:video_id/chapters

Replaces the chapter markers of the video with the provided list. Pass an empty array to clear all chapters.

Request body (json)
{  "items": [    {      "time": 10000,      "title": "Chapter at 10sec"    }  ],  "enabled": true}
Responses
{  "data": {    "items": [      {        "time": 10000,        "title": "Chapter at 10sec"      }    ],    "enabled": true  }}

Concat video

POST {{baseHost}}/v1/videos/:video_id/concat

Concatenates 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.

Request body (json)
{  "prepend": [    {      "video_id": "<UUID>"    }  ],  "append": [    {      "video_id": "<UUID>"    }  ],  "replace": false}

Copy video

POST {{baseHost}}/v1/videos/:video_id/copy

Creates a full copy of the video, optionally moving the copy into a different project or folder.

Request body (json)
{  "parent_id": "<UUID>"}

Cut video

POST {{baseHost}}/v1/videos/:video_id/cut

Trims 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.

FieldTypeDescription
project_idstringnot required
folder_idstringnot required
titlestringnot required
descriptionstringnot required
cropcrop_objectw,h - width, height
x,y - left top corner
trim[]trim_objectstart - start time
length - length of video
Request body (json)
{  "crop": {    "w": 300,    "h": 200,    "x": 100,    "y": 80,    "quality": "360p"  },  "trim": [    {      "start": 6,      "length": 2    },    {      "start": 1,      "length": 2    }  ]}

billing

Usage

GET {{baseHost}}/v1/billing/usage

Returns 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)

Responses
{ "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":// … truncated

projects

The project object
FieldTypeDescription
idstringUnique identifier for the object.
namestringProject name
folders[]FolderList project folders
created_atdatetime
updated_atdatetime

Create project

POST {{baseHost}}/v1/projects

Creates a new project. Returns the newly created object on success.

Create new project

FieldTypeDescription
namestringrequired
privacy_typestringrequired
privacy_domains[]stringrequired
player_iduuidnot required
encryptedbooleannot required
сatalog_typestringvod or live
Request body (json)
{  "name": "Project custom",  "privacy_type": "custom",  "privacy_domains": [    "custom.domain.com"  ],  "player_id": "...",  "encrypted": false,  "catalog_type": "vod"}

Projects list

GET {{baseHost}}/v1/projects

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

Responses
{ "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": "Видео для тестовых сайтов",     "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": "новая папка",     "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": "тест папка",     "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// … truncated

Get project

GET {{baseHost}}/v1/projects/:project_id

Retrieves the details of a single project by its unique ID.

Responses
{  "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

DELETE {{baseHost}}/v1/projects/:project_id

Permanently deletes the project. This action cannot be undone.

Update project

PUT {{baseHost}}/v1/projects/:project_id

Updates the specified project. Only fields provided in the request body are changed; others are left unchanged.

Request body (json)
{  "name": "Project name updated",  "privacy_type": "anywhere",  "privacy_domains": [],  "apply_to_videos": false,  "player_id": "..."}
Responses
{  "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
FieldTypeDescription
idstringUnique identifier for the object.
namestringFolder name
project_idstring
created_atdatetime
updated_atdatetime

Create folder

POST {{baseHost}}/v1/projects/:project_id/folders

Creates a new folder. Returns the newly created object on success.

Request body (json)
{  "name": "New folder 1",  "parent_id": "<UUID>"}
Responses
{  "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

GET {{baseHost}}/v1/projects/:project_id/folders

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

Responses
{  "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

GET {{baseHost}}/v1/projects/:project_id/folders/:folder_id

Retrieves the details of a single folder by its unique ID.

Responses
{  "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

PUT {{baseHost}}/v1/projects/:project_id/folders/:folder_id

Updates the specified folder. Only fields provided in the request body are changed; others are left unchanged.

Request body (json)
{  "name": "New folder updated"}
Responses
{  "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

DELETE {{baseHost}}/v1/projects/:project_id/folders/:folder_id

Permanently deletes the folder. This action cannot be undone.

Responses
{  "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

GET {{baseHost}}/v1/analytics/overview

Returns high-level playback statistics — views, unique viewers, watch time — for the given period.

Responses
{  "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

GET {{baseHost}}/v1/analytics

Returns a custom analytics slice. Specify the fields to return, grouping dimensions, and ordering.

Responses
{  "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

POST {{uploadHost}}/additional-material

Uploads a file to be attached to a video as additional material (e.g. a PDF handout or source files).

Headers
ParameterDescription
X-Video-ID4iUMUmb63dLAvnbsMRkSUX
X-File-Namematerial.png
X-TitleMaterial title

Update additional material

PUT {{baseHost}}/v1/additional-materials/:material_id

Updates the specified additional material. Only fields provided in the request body are changed; others are left unchanged.

Request body (json)
{  "title": "New title"}
Responses
{  "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

PATCH {{baseHost}}/v1/additional-materials/reorder

Changes the display order of the additional materials attached to a video.

Request body (json)
[  "8VYZT2rW5vbvRBcWruuNFo",  "b32Wjbh6a3pYNaKvfxhXFU"]
Responses
{  "data": {    "success": true  }}

Delete additional material

DELETE {{baseHost}}/v1/additional-materials/:material_id

Permanently deletes the additional material. This action cannot be undone.

Responses
{  "data": {    "success": true  }}

dictionaries

Timezones list

GET {{baseHost}}/v1/dictionaries/timezones

Returns the list of IANA timezones accepted by the API (for scheduling, analytics, etc.).

Responses
{ "data": [  {   "name": "Pacific/Majuro",   "en": "Pacific/Majuro",   "ru": "Океания/Маджуро",   "abbr": "+12",   "offset": 43200  },  {   "name": "Africa/Blantyre",   "en": "Africa/Blantyre",   "ru": "Африка/Блантайр",   "abbr": "CAT",   "offset": 7200  },  {   "name": "Africa/Nairobi",   "en": "Africa/Nairobi",   "ru": "Африка/Найроби",   "abbr": "EAT",   "offset": 10800  },  {   "name": "America/Detroit",   "en": "America/Detroit",   "ru": "Америка/Детройт",   "abbr": "EST",   "offset": -18000  },  {   "name": "Asia/Amman",   "en": "Asia/Amman",   "ru": "Азия/Амман",   "abbr": "+03",   "offset": 10800  },  {   "name": "Asia/Yerevan",   "en": "Asia/Yerevan",   "ru": "Азия/Ереван",   "abbr": "+04",   "offset": 14400  },  {   "name": "Europe/Tirane",   "en": "Europe/Tirane",   "ru": "Европа/Тирана",   "abbr": "CET",   "offset": 3600  },  {   "name": "Asia/Muscat",   "en": "Asia/Muscat",   "ru": "Азия/Мускат",   "abbr": "+04",   "offset": 14400  },  {   "name": "Asia/Phnom_Penh",   "en": "Asia/Phnom_Penh",   "ru": "Азия/Пномпень",   "abbr": "+07",   "offset": 25200  },  {   "name": "Atlantic/Cape_Verde",   "en": "Atlantic/Cape_Verde",   "ru": "Атлантика/Кабо-Верде",   "abbr": "-01",   "offset": -3600  },  {   "name": "Europe/Athens",   "en": "Europe/Athens",   "ru": "Европа/Афины",   "abbr": "EET",   "offset": 7200  },  {   "name": "Indian/Christmas",   "en": "Indian/Christmas",   "ru": "Индийский о-н/Рождество",   "abbr": "+07",   "offset": 25200  },  {   "name": "America/Cayman",   "en": "America/Cayman",   "ru": "Америка/Кайман",   "abbr": "EST",   "offset": -18000  },  {   "name": "America/Guatemala",   "en": "America/Guatemala",   "ru": "Америка/Гватемала",   "abbr": "CST",   "offset": -21600  },  {   "name": "America/Noronha",   "en": "America/Noronha",   "ru": "Америка/Норонха",   "abbr": "-02",   "offset": -7200  },  {   "name": "America/Swift_Current",   "en": "America/Swift_Current",   "ru": "Америка/Свифт-Карэнт",   "abbr": "CST",   "offset": -21600  },  {   "name": "Asia/Colombo",   "en": "Asia/Colombo",   "ru": "Азия/Коломбо",   "abbr": "+0530",   "offset": 19800  },  {   "name": "Asia/Sakhalin",   "en": "Asia/Sakhalin",   "ru": "Азия/Сахалин",   "abbr": "+11",   "offset": 39600  },  {   "name": "Europe/Moscow",   "en": "Europe/Moscow",   "ru": "Европа/Москва",   "abbr": "MSK",   "offset": 10800  },  {   "name": "Indian/Antananarivo",   "en": "Indian/Antananarivo",   "ru": "Индийский о-н/Антананариву",   "abbr": "EAT",   "offset": 10800  },  {   "name": "America/Hermosillo",   "en": "America/Hermosillo",   "ru": "Америка/Эрмосильо",   "abbr": "MST",   "offset": -25200  },  {   "name": "America/Lima",   "en": "America/Lima",   "ru": "Америка/Лима",   "abbr": "-05",   "offset": -18000  },  {   "name": "Europe/Paris",   "en": "Europe/Paris",   "ru": "Европа/Париж",   "abbr": "CET",   "offset": 3600  },  {   "name": "Pacific/Efate",   "en": "Pacific/Efate",   "ru": "Океания/Эфате",   "abbr": "+11",   "offset": 39600  },  {   "name": "Pacific/Honolulu",   "en": "Pacific/Honolulu",   "ru": "Океания/Гонолулу",   "abbr": "HST",   "offset": -36000  },  {   "name": "Pacific/Johnston",   "en": "Pacific/Johnston",   "ru": "Океания/Джонстон",   "abbr": "HST",   "offset": -36000  },  {   "name": "Pacific/Port_Moresby",   "en": "Pacific/Port_Moresby",   "ru": "Океания/Порт-Морсби",   "abbr": "+10",   "offset": 36000  },  {   "name": "America/Marigot",   "en": "America/Marigot",   "ru": "Америка/Маригот",   "abbr": "AST",   "offset": -14400  },  {   "name": "Asia/Aqtobe",   "en": "Asia/Aqtobe",   "ru": "Азия/Актуб",   "abbr": "+05",   "offset": 18000  },  {   "name": "Europe/Vilnius",   "en": "Europe/Vilnius",   "ru": "Европа/Вильнюс",   "abbr": "EET",   "offset": 7200  },  {   "name": "Pacific/Wallis",   "en": "Pacific/Wallis",   "ru": "Океания/Уоллис",   "abbr": "+12",   "offset": 43200  },  {   "name": "America/Argentina/Catamarca",   "en": "America/Argentina/Catamarca",   "ru": "Америка/Аргентина/Катамарка",   "abbr": "-03",   "offset": -10800  },  {   "name": "America/Atikokan",   "en": "America/Atikokan",   "ru": "Америка/Атикокан",   "abbr": "EST",   "offset": -18000  },  {   "name": "America/Chicago",   "en": "America/Chicago",   "ru": "Америка/Чикаго",   "abbr": "CST",   "offset": -21600  },  {   "name": "America/Montevideo",   "en": "America/Montevideo",   "ru": "Америка/Монтевидео",   "abbr": "-03",   "offset": -10800  },  {   "name": "America/Thunder_Bay",   "en": "America/Thunder_Bay",   "ru": "Америка/Тандер-Бэй",   "abbr": "EST",   "offset": -18000  },  {   "name": "Asia/Tokyo",   "en": "Asia/Tokyo",   "ru": "Азия/Токио",   "abbr": "JST",   "offset": 32400  },  {   "name": "Australia/Broken_Hill",   "en": "Australia/Broken_Hill",   "ru": "Австралия/Брокен-Хилл",   "abbr": "ACDT",   "offset": 37800  },  {   "name": "Europe/Amsterdam",   "en": "Europe/Amsterdam",   "ru": "Европа/Амстердам",   "abbr": "CET",   "offset": 3600  },  {   "name": "Africa/Conakry",   "en": "Africa/Conakry",   "ru": "Африка/Конакри",   "abbr": "GMT",   "offset": 0  },  {   "name": "America/Maceio",   "en": "America/Maceio",   "ru": "Америка/Масейо",   "abbr": "-03",   "offset": -10800  },  {   "name": "Asia/Riyadh",   "en": "Asia/Riyadh",   "ru": "Азия/Эр-Рияд",   "abbr": "+03",   "offset": 10800  },  {   "name": "Europe/Gibraltar",   "en": "Europe/Gibraltar",   "ru": "Европа/Гибралтар",   "abbr": "CET",   "offset": 3600  },  {   "name": "Europe/Rome",   "en": "Europe/Rome",   "ru": "Европа/Рим",   "abbr": "CET",   "offset": 3600  },  {   "name": "Pacific/Noumea",   "en": "Pacific/Noumea",   "ru": "Океания/Нумеа",   "abbr": "+11",   "offset": 39600  },  {   "name": "Pacific/Saipan",   "en": "Pacific/Saipan",   "ru": "Океания/Сайпан",   "abbr": "ChST",   "offset": 36000  },  {   "name": "Africa/Bamako",   "en": "Africa/Bamako",   "ru": "Африка/Бамако",   "abbr": "GMT",   "offset": 0  },  {   "name": "America/Adak",   "en": "America/Adak",   "ru": "Африка/Адак",   "abbr": "HST",   "offset": -36000  },  {   "name": "America/Aruba",   "en": "America/Aruba",   "ru": "Америка/Аруба",   "abbr": "AST",   "offset": -14400  },  {   "name": "America/Dominica",   "en": "America/Dominica",   "ru": "Америка/Доминика",   "abbr": "AST",   "offset": -14400  },  {   "name": "America/Jamaica",   "en": "America/Jamaica",   "ru": "Америка/Ямайка",   "abbr": "EST",   "offset": -18000  },  {   "name": "Europe/Sarajevo",   "en": "Europe/Sarajevo",   "ru": "Европа/Сараево",   "abbr": "CET",   "offset": 3600  },  {   "name": "Europe/Zurich",   "en": "Europe/Zurich",   "ru": "Европа/Цюрих",   "abbr": "CET",   "offset": 3600  },  {   "name": "Pacific/Fiji",   "en": "Pacific/Fiji",   "ru": "Океания/Фиджи",   "abbr": "+12",   "offset": 43200  },  {   "name": "Africa/Bangui",   "en": "Africa/Bangui",   "ru": "Африка/Банги",   "abbr": "WAT",   "offset": 3600  },  {   "name": "America/North_Dakota/New_Salem",   "en": "America/North_Dakota/New_Salem",   "ru": "Америка/Северная Дакота/Нью-Салем",   "abbr": "CST",   "offset": -21600  },  {   "name": "Asia/Manila",   "en": "Asia/Manila",   "ru": "Азия/Манила",   "abbr": "PST",   "offset": 28800  },  {   "name": "Asia/Ulaanbaatar",   "en": "Asia/Ulaanbaatar",   "ru": "Азия/Улан-Батор",   "abbr": "+08",   "offset": 28800  },  {   "name": "Atlantic/St_Helena",   "en": "Atlantic/St_Helena",   "ru": "Атлантика/св/ Елена",   "abbr": "GMT",   "offset": 0  },  {   "name": "Pacific/Pitcairn",   "en": "Pacific/Pitcairn",   "ru": "Океания/Питкэрн",   "abbr": "-08",   "offset": -28800  },  {   "name": "Africa/Lome",   "en": "Africa/Lome",   "ru": "Африка/Ломе",   "abbr": "GMT",   "offset": 0  },  {   "name": "America/Curacao",   "en": "America/Curacao",   "ru": "Америка/Кюрасао",   "abbr": "AST",   "offset": -14400  },  {   "name": "America/Managua",   "en": "America/Managua",   "ru": "Америка/Манагуа",   "abbr": "CST",   "offset": -21600  },  {   "name": "America/Merida",   "en": "America/Merida",   "ru": "Америка/Мерида",   "abbr": "CST",   "offset": -21600  },  {   "name": "Pacific/Chatham",   "en": "Pacific/Chatham",   "ru": "Океания/Чатем",   "abbr": "+1345",   "offset": 49500  },  {   "name": "America/Antigua",   "en": "America/Antigua",   "ru": "Америка/Антигуа",   "abbr": "AST",   "offset": -14400  },  {   "name": "America/Nipigon",   "en": "America/Nipigon",   "ru": "Америка/Нипигон",   "abbr": "EST",   "offset": -18000  },  {   "name": "Antarctica/Casey",   "en": "Antarctica/Casey",   "ru": "Антарктида/Кейси",   "abbr": "+08",   "offset": 28800  },  {   "name": "Asia/Urumqi",   "en": "Asia/Urumqi",   "ru": "Азия/Урумчи",   "abbr": "+06",   "offset": 21600  },  {   "name": "Indian/Mayotte",   "en": "Indian/Mayotte",   "ru": "Индийский о-н/Майот",   "abbr": "EAT",   "offset": 10800  },  {   "name": "Pacific/Guam",   "en": "Pacific/Guam",   "ru": "Океания/Гуам",   "abbr": "ChST",   "offset": 36000  },  {   "name": "Antarctica/Macquarie",   "en": "Antarctica/Macquarie",   "ru": "Антарктида/Макгуайр",   "abbr": "AEDT",   "offset": 39600  },  {   "name": "Africa/Asmara",   "en": "Africa/Asmara",   "ru": "Африка/Асмара",   "abbr": "EAT",   "offset": 10800  },  {   "name": "Africa/Mbabane",   "en": "Africa/Mbabane",   "ru": "Африка/Мбабане",   "abbr": "SAST",   "offset": 7200  },  {   "name": "America/Bahia",   "en": "America/Bahia",   "ru": "Америка/Бахия",   "abbr": "-03",   "offset": -10800  },  {   "name": "Asia/Dushanbe",   "en": "Asia/Dushanbe",   "ru": "Азия/Душанбе",   "abbr": "+05",   "offset": 18000  },  {   "name": "Asia/Harbin",   "en": "Asia/Harbin",   "ru": "Азия/Харбин",   "abbr": "CST",   "offset": 28800  },  {   "name": "Asia/Kathmandu",   "en": "Asia/Kathmandu",   "ru": "Азия/Катманду",   "abbr": "+0545",   "offset": 20700  },  {   "name": "Atlantic/Stanley",   "en": "Atlantic/Stanley",   "ru": "Атлантика/Стэнли",   "abbr": "-03",   "offset": -10800  },  {   "name": "Pacific/Tongatapu",   "en": "Pacific/Tongatapu",   "ru": "Океания/Тонгатапу",   "abbr": "+13",   "offset": 46800  },  {   "name": "Africa/Nouakchott",   "en": "Africa/Nouakchott",   "ru": "Африка/Нуакшот",   "abbr": "GMT",   "offset": 0  },  {   "name": "Europe/Berlin",   "en": "Europe/Berlin",   "ru": "Европа/Берлин",   "abbr": "CET",   "offset": 3600  },  {   "name": "Europe/Malta",   "en": "Europe/Malta",   "ru": "Европа/Мальта",   "abbr": "CET",   "offset": 3600  },  {   "name": "Pacific/Pago_Pago",   "en": "Pacific/Pago_Pago",   "ru": "Океания/Паго-Паго",   "abbr": "SST",   "offset": -39600  },  {   "name": "America/Indiana/Tell_City",   "en": "America/Indiana/Tell_City",   "ru": "Америка/Индиана/Телл-Сити",   "abbr": "CST",   "offset": -21600  },  {   "name": "America/Denver",   "en": "America/Denver",   "ru": "Америка/Денвер",   "abbr": "MST",   "offset": -25200  },  {   "name": "America/Indiana/Vincennes",   "en": "America/Indiana/Vincennes",   "ru": "Америка/Индиана/Венсенн",   "abbr": "EST",   "offset": -18000  },  {   "name": "Asia/Beirut",   "en": "Asia/Beirut",   "ru": "Азия/Бейрут",   "abbr": "EET",   "offset": 7200  },  {   "name": "Europe/Mariehamn",   "en": "Europe/Mariehamn",   "ru": "Европа/Мариенхамн",   "abbr": "EET",   "offset": 7200  },  {   "name": "Europe/Simferopol",   "en": "Europe/Simferopol",   "ru": "Европа/Симферополь",   "abbr": "MSK",   "offset": 10800  },  {   "name": "Indian/Cocos",   "en": "Indian/Cocos",   "ru": "Индийский о-н/Кокосовы",

access-tokens

Create token

POST {{baseHost}}/v1/access-tokens

Creates a new access token for the workspace. Store the returned value — it is shown once.

Request body (json)
{  "name": "token1",  "scope": {    "api": {      "permissions": [        "read",        "write",        "delete"      ]    },    "upload": {      "permissions": []    }  }}

Create upload token to specific project

POST {{baseHost}}/v1/access-tokens

Creates an upload-only access token scoped to a single project.

Request body (json)
{  "name": "token for upload to project",  "scope": {    "upload": {      "entities": [        {          "id": "<UUID>",          "permissions": [            "read",            "write",            "delete"          ]        }      ],      "permissions": []    }  }}
Responses
{  "data": {    "id": "...",    "name": "token for upload to project",    "workspace_id": "....",    "scope": {      "upload": {        "permissions": [],        "entities": [          {            "id": "<UUID>",            "permissions": [              "read",              "write",              "delete"            ]          }        ]      }    }  }}

Tokens list

GET {{baseHost}}/v1/access-tokens

Returns a list of access tokens. Results are paginated and can be filtered via query parameters.

Responses
{  "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

GET {{baseHost}}/v1/access-tokens/:token_id

Retrieves the details of a single access token by its unique ID.

Responses
{  "data": {    "id": "<UUID>",    "name": "Koltin-Kinescope-Player",    "workspace_id": "<UUID>",    "scope": {      "api": {        "permissions": [          "read",          "write",          "delete"        ]      }    }  }}
{  "error": {    "code": 400404,    "message": "not found"  }}

Delete token

DELETE {{baseHost}}/v1/access-tokens/:token_id

Permanently deletes the access token. This action cannot be undone.

user/avatar

Show avatar

GET {{baseHost}}/v1/user/avatar/:avatar_id

Returns the raw avatar image bytes.

avatars

Set avatar

POST {{baseHost}}/v1/avatar

Uploads an avatar image for the current workspace or user. Replaces any existing avatar.

Responses
{  "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

DELETE {{baseHost}}/v1/avatar

Removes the avatar image. The default avatar is used afterwards.

Responses
{  "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

GET {{baseHost}}/v1/workspace/avatar/:avatar_id

Returns the raw avatar image bytes.

players

Get players

GET {{baseHost}}/v1/players

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

Responses
{  "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": "Чудесное путешест",        "call_to_action_link_text": "",        "call_to_action_link_url": "",        "call_to_action_title": "тест",        "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": "Игорь",      "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": "РБК Pro",      "settings": {        "brand_color": "#000000",        "corner_rounding": 6,        "logo_title": "РБК 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": "Игорь",      "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": "Азбука Вкуса",        "logo_url": "https://av.ru/",        "preview_play_button": true,        "title_subtitle": false,        "title_subtitle_visible_on_load": false      },      "created_by_user_name": "Игорь",      "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": "ВкусВилл тест",      "settings": {        "brand_color": "#2DBE64",        "control_bar_visible_on_load": false,        "custom_logo": true,        "logo_title": "ВкусВилл",        "logo_url": "",        "preview_play_button": true,        "title_subtitle": false,        "title_subtitle_visible_on_load": false      },      "created_by_user_name": "Игорь",      "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": "Без кнопки play",      "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": "Игорь",      "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": "ВкусВилл копия",      "settings": {        "brand_color": "#2DBE64",        "control_bar_visible_on_load": false,        "custom_logo": true,        "logo_title": "ВкусВилл",        "logo_url": "https://vkusvill.ru/media/",        "preview_play_button": true,        "title_subtitle": false,        "title_subtitle_visible_on_load": false      },      "created_by_user_name": "Игорь",      "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": "ываыва",        "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": "новый",      "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": "Игорь",      "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": "Игорь",      "created_at": "2023-06-22T22:24:22.602518Z",      "updated_at": "2025-02-11T20:59:51.427838Z",      "media_count": 0,      "ads": []    }  ]}

Get player

GET {{baseHost}}/v1/players/:player_id

Retrieves the details of a single player by its unique ID.

Request body (json)
{  "name": "my player 1.1",  "settings": {}}
Responses
{  "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": "Чудесное путешест",      "call_to_action_link_text": "",      "call_to_action_link_url": "",      "call_to_action_title": "тест",      "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": "Игорь",    "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

POST {{baseHost}}/v1/players

Creates a new player. Returns the newly created object on success.

Request body (json)
{  "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

PUT {{baseHost}}/v1/players/:player_id

Updates the specified player. Only fields provided in the request body are changed; others are left unchanged.

Request body (json)
{  "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"      }    }  ]}

file-requests

List file requests

GET {{baseHost}}/v1/file-requests

Returns a list of file requests. Results are paginated and can be filtered via query parameters.

Responses
{  "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": "Тимофей",      "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": "ауауыа",      "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": "Для спикера номер один",      "description": "загружаем файлы в определенную папку",      "uploading_location_id": "<UUID>",      "expired_at": null,      "created_by": "Игорь",      "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": "пав",      "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": "тест",      "description": "",      "uploading_location_id": "<UUID>",      "expired_at": null,      "created_by": "Игорь",      "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": "тест",      "description": "",      "uploading_location_id": "<UUID>",      "expired_at": null,      "created_by": "Игорь",      "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": "фыв",      "description": "",      "uploading_location_id": "<UUID>",      "expired_at": null,      "created_by": "Игорь",      "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

GET {{baseHost}}/v1/file-requests/:file_request_id

Retrieves the details of a single file request by its unique ID.

Responses
{  "data": {    "id": "<UUID>",    "workspace_id": "<UUID>",    "title": "test",    "description": "",    "uploading_location_id": "<UUID>",    "expired_at": null,    "created_by": "Тимофей",    "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

POST {{baseHost}}/v1/file-requests

Creates a new file request. Returns the newly created object on success.

FieldTypeDescription
namestringEvent name
typestringone-time or recurring
auto_startbooleanLive event immediately available for user
save_streambooleanAfter finished event its saved as video
folder_idstringSave video project/folder ID. Required if save_stream=true
Request body (json)
{  "title": "Заголовок",  "description": "Описание",  "uploading_location_id": "aUXVrK41BmeNVwyxQ4at6x",  "expired_at": null}
Responses
{  "data": {    "id": "4LPmdVVrEVvRBZWh4uAV6K",    "workspace_id": "jjGZ6gbAhANmv461rR9MSM",    "title": "Название",    "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

PUT {{baseHost}}/v1/file-requests/:file_request_id

Updates the specified file request. Only fields provided in the request body are changed; others are left unchanged.

FieldTypeDescription
namestringEvent name
typestringone-time or recurring
auto_startbooleanLive event immediately available for user
save_streambooleanAfter finished event its saved as video
folder_idstringSave video project/folder ID. Required if save_stream=true
Request body (json)
{  "title": "Rename request",  "uploading_location_id": "eR9N13hPU2vynDwJxrwoyP",  "expired_at": null,  "archived": false}
Responses
{  "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

DELETE {{baseHost}}/v1/file-requests/:file_request_id

Permanently deletes the file request. This action cannot be undone.

FieldTypeDescription
namestringEvent name
typestringone-time or recurring
auto_startbooleanLive event immediately available for user
save_streambooleanAfter finished event its saved as video
folder_idstringSave video project/folder ID. Required if save_stream=true
Request body (json)
{  "name": "Rename request",  "folder_id": "eR9N13hPU2vynDwJxrwoyP",  "expired_at": null,  "archived": false}
Responses
{  "data": {    "success": true  }}

drm

on project

Get auth

GET {{baseHost}}/v1/drm/auth/:project_id

Returns the DRM auth configuration (URL, headers) currently used for license requests.

Responses
{  "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

PUT {{baseHost}}/v1/drm/auth/:project_id

Updates the DRM license auth configuration.

FieldTypeDescription
urlstringAuth endpoint
usernamestringUsername for auth endpoint
passwordstringPassword
strictboolStrict 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.
Request body (json)
{  "url": "https://example.io/auth/kinescope",  "username": "",  "password": "",  "strict": false}
Responses
{  "data": {    "url": "https://example.io/auth/kinescope",    "username": "",    "password": "",    "created_at": "2021-11-10T10:33:43.359069Z",    "updated_at": null  }}

Delete auth

DELETE {{baseHost}}/v1/drm/auth/:project_id

Removes the DRM license auth configuration. DRM must be reconfigured before use.

Responses
{  "data": {    "success": true  }}

Get auth

GET {{baseHost}}/v1/drm/auth

Returns the DRM auth configuration (URL, headers) currently used for license requests.

Responses
{  "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

PUT {{baseHost}}/v1/drm/auth

Updates the DRM license auth configuration.

FieldTypeDescription
urlstringAuth endpoint
usernamestringUsername for auth endpoint
passwordstringPassword
strictboolStrict 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.
Request body (json)
{  "url": "https://example.io/auth/kinescope",  "username": "",  "password": "",  "strict": true}
Responses
{  "data": {    "url": "https://example.io/auth/kinescope",    "username": "",    "password": "",    "created_at": "2021-11-10T10:33:43.359069Z",    "updated_at": null  }}

Delete auth

DELETE {{baseHost}}/v1/drm/auth

Removes the DRM license auth configuration. DRM must be reconfigured before use.

Responses
{  "data": {    "success": true  }}

privacy-domains

Get domains

GET {{baseHost}}/v1/privacy-domains

Returns a list of privacy domains. Results are paginated and can be filtered via query parameters.

Responses
{  "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": "Игорь",      "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": "Игорь",      "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": "Игорь",      "created_at": "2021-11-23T15:38:15.360147Z",      "updated_at": null,      "archived_at": null,      "media_count": 0    },    {      "id": "<UUID>",      "workspace_id": "<UUID>",      "domain": "всёдлякотлов.com",      "created_by_user_name": "Игорь",      "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": "Игорь",      "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": "Игорь",      "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": "Игорь",      "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": "Игорь",      "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": "Игорь",      "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": "Игорь",      "created_at": "2022-06-06T19:33:22.540944Z",      "updated_at": null,      "archived_at": null,      "media_count": 2    }  ]}

Create domain

POST {{baseHost}}/v1/privacy-domains

Creates a new privacy domain. Returns the newly created object on success.

Request body (json)
{  "domain": "test.ru"}

Update domain

PUT {{baseHost}}/v1/privacy-domains/:domain_id

Updates the specified privacy domain. Only fields provided in the request body are changed; others are left unchanged.

Request body (json)
{  "domain": "test.ru",  "archived": true}

Delete domain

DELETE {{baseHost}}/v1/privacy-domains/:domain_id

Permanently deletes the privacy domain. This action cannot be undone.

Request body (json)
{  "domain": "test.ru",  "archived": true}

tags

Get tags

GET {{baseHost}}/v1/tags

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

Responses
{  "meta": {    "offset": 0,    "limit": 10,    "total": 8,    "total_count": 0,    "order": {      "created_at": "asc"    },    "parent_id": null  },  "data": [    {      "id": "<UUID>",      "workspace_id": "<UUID>",      "tag": "тег",      "created_by_user_name": "Игорь",      "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": "Игорь",      "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": "Игорь",      "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": "Игорь",      "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": "Игорь",      "created_at": "2021-12-29T10:54:21.502984Z",      "updated_at": null,      "archived_at": null,      "media_count": 0    },    {      "id": "<UUID>",      "workspace_id": "<UUID>",      "tag": "аналитика",      "created_by_user_name": "Игорь",      "created_at": "2022-02-19T11:29:46.559027Z",      "updated_at": null,      "archived_at": null,      "media_count": 4    },    {      "id": "<UUID>",      "workspace_id": "<UUID>",      "tag": "продукт2",      "created_by_user_name": "Игорь",      "created_at": "2022-02-19T12:58:09.461328Z",      "updated_at": null,      "archived_at": null,      "media_count": 1    },    {      "id": "<UUID>",      "workspace_id": "<UUID>",      "tag": "новый тег 2",      "created_by_user_name": "Игорь",      "created_at": "2023-01-13T10:35:50.150348Z",      "updated_at": null,      "archived_at": null,      "media_count": 1    }  ]}

Create tag

POST {{baseHost}}/v1/tags

Creates a new tag. Returns the newly created object on success.

Request body (json)
{  "tag": "tag1"}

Update tag

PUT {{baseHost}}/v1/tags/:tag_id

Updates the specified tag. Only fields provided in the request body are changed; others are left unchanged.

Request body (json)
{  "tag": "tag1",  "archived": true}

Delete tag

DELETE {{baseHost}}/v1/tags/:tag_id

Permanently deletes the tag. This action cannot be undone.

Request body (json)
{  "domain": "test.ru",  "archived": true}

playlists

entities

List medias

GET {{baseHost}}/v1/playlists/:playlist_id/entities

Returns the items currently in the playlist, in order.

List medias in playlist

Responses
{  "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

POST {{baseHost}}/v1/playlists/:playlist_id/entities

Appends one or more videos to the playlist. If replace is true, the existing contents are cleared first.

Request body (json)
{  "entity_ids": [    "<UUID>"  ]}
Responses
{  "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

DELETE {{baseHost}}/v1/playlists/:playlist_id/entities

Removes the specified items from the playlist.

Request body (json)
{  "entity_ids": [    "<UUID>"  ]}
Responses
{  "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

PUT {{baseHost}}/v1/playlists/:playlist_id/entities/:media_id/move

Changes the position of an item within the playlist.

Request body (json)
{  "position": 2}
Responses
{  "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

GET {{baseHost}}/v1/playlists/:playlist_id

Retrieves the details of a single playlist by its unique ID.

Responses
{  "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

GET {{baseHost}}/v1/playlists

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

Responses
{ "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": "тест",   "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": "тест",   "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": "плейлист_2видео",   "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/ntkKeCY2h2C7sAjUoUJFDw",   "embed_link": "https://kinescope.io/embed/pl/ntkKeCY2h2C7sAjUoUJFDw"  },  {   "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": 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": "Новый плейлист тест",   "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": "Длинный плейлист",   "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": "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// … truncated

Create playlist

POST {{baseHost}}/v1/playlists

Creates a new playlist. Returns the newly created object on success.

FieldTypeDescription
namestringPlaylist name
parent_iduuidfolder_id or project_id
entity_ids[]uuidArray of video_id
Request body (json)
{  "name": "Playlist 1",  "parent_id": "<UUID>",  "entity_ids": [    "<UUID>"  ]}
Responses
{  "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

PATCH {{baseHost}}/v1/playlists/:playlist_id

Updates the specified playlist. Only fields provided in the request body are changed; others are left unchanged.

FieldTypeDescription
namestringPlaylist name
descriptionstringDescription playlist
parent_iduuidfolder_id or project_id
settingsobjectSet sort field and order for list videos
Request body (json)
{  "name": "Playlist updated",  "description": "Description updated",  "parent_id": "<UUID>",  "privacy_type": "anywhere",  "privacy_domains": [    "dddd.com"  ],  "settings": {    "sort_field": "duration",    "sort_order": "asc"  }}
Responses
{  "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

DELETE {{baseHost}}/v1/playlists/:playlist_id

Permanently deletes the playlist. This action cannot be undone.

Responses
{  "data": {    "success": true  }}

moderators

Get moderators

GET {{baseHost}}/v1/moderators

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

Responses
{  "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

POST {{baseHost}}/v1/moderators

Creates a new moderator. Returns the newly created object on success.

Request body (json)
{  "username": "user_admin",  "email": "user@example.com",  "password": "password"}
Responses
{  "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

GET {{baseHost}}/v1/moderators/:moderator_id

Retrieves the details of a single moderator by its unique ID.

Responses
{  "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

PUT {{baseHost}}/v1/moderators/:moderator_id

Updates the specified moderator. Only fields provided in the request body are changed; others are left unchanged.

Request body (json)
{  "username": "user_admin_2",  "email": "user@example.com",  "password": "password"}
Responses
{  "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

DELETE {{baseHost}}/v1/moderators/:moderator_id

Permanently deletes the moderator. This action cannot be undone.

Responses
{  "data": {    "success": true  }}
{  "data": {    "success": true  }}

webhooks

List webhooks

GET {{baseHost}}/v1/webhooks

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

Responses
{  "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

POST {{baseHost}}/v1/webhooks

Subscribes to one or more event types. The configured endpoint will receive signed POST requests when those events fire.

Request body (json)
{  "name": "webhook1",  "endpoint": "https://example.io/kinescope/webhook",  "login": "",  "password": "",  "events": [    "media.update.status"  ]}
Responses
{  "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

PUT {{baseHost}}/v1/webhooks/:webhook_id

Updates the webhook (URL, HTTP Basic credentials, subscribed events).

Request body (json)
{  "name": "webhook1_edit2",  "endpoint": "https://example.io/kin/webhook",  "login": "123",  "password": "2222",  "events": [    "media.update.status"  ]}
Responses
{  "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

DELETE {{baseHost}}/v1/webhooks/:webhook_id

Permanently deletes the webhook. This action cannot be undone.

Responses
{  "data": {    "success": true  }}

CDN

Create zone

POST {{baseHost}}/v1/cdn/zones

Creates a new CDN zone. Returns the newly created object on success.

Request body (json)
{  "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

GET {{baseHost}}/v1/cdn/zones

Returns a list of CDN zones. Results are paginated and can be filtered via query parameters.

Responses
{  "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

PUT {{baseHost}}/v1/cdn/zones/:zone_id

Updates the specified CDN zone. Only fields provided in the request body are changed; others are left unchanged.

Request body (json)
{  "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

DELETE {{baseHost}}/v1/cdn/zones/:zone_id

Permanently deletes the CDN zone. This action cannot be undone.

speak

rooms

participants

List Participants

GET {{baseHost}}/v1/speak/rooms/:room_id/participants

Returns the participants of a Speak room.

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

Get Participant

GET {{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_id

Retrieves a participant by ID.

Responses
{  "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

POST {{baseHost}}/v1/speak/rooms/:room_id/participants

Adds a participant to a Speak room, optionally with a specific role.

FieldTypeDescription
user_iduuidUser ID
namestringParticipant name
rolestringadmin, manager
Responses
{  "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

PATCH {{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_id

Updates a participant — typically to change their role or display name.

FieldTypeDescription
namestringParticipant name
Responses
{  "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

DELETE {{baseHost}}/v1/speak/rooms/:room_id/participants/:participant_id

Removes a participant from the Speak room.

Responses
{  "data": {    "success": true  }}

List Rooms

GET {{baseHost}}/v1/speak/rooms

Returns all Speak rooms in the workspace.

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

Get Room

GET {{baseHost}}/v1/speak/rooms/:room_id

Retrieves a single Speak room by ID.

Responses
{  "data": {    "id": "<UUID>",    "workspace_id": "<UUID>",    "owner_id": "<UUID>",    "type": "instant_meeting",    "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

POST {{baseHost}}/v1/speak/rooms

Creates a new Speak room. You can pre-create participants or add them later.

FieldTypeDescription
namestringRoom name
owner_iduuidUser ID
typestringRoom type - instant_meeting, permanent_meeting
Responses
{  "data": {    "id": "<UUID>",    "workspace_id": "<UUID>",    "owner_id": "<UUID>",    "type": "instant_meeting",    "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

PATCH {{baseHost}}/v1/speak/rooms/:room_id

Updates properties of a Speak room.

FieldTypeDescription
namestringRoom name
Responses
{  "data": {    "id": "<UUID>",    "workspace_id": "<UUID>",    "owner_id": "<UUID>",    "type": "instant_meeting",    "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"  }}

Delete Room

DELETE {{baseHost}}/v1/speak/rooms/:room_id

Permanently deletes the Speak room. All participants lose access.

Responses
{  "data": {    "success": true  }}

v2

videos

Upload video

POST

Uploads a new video. Multipart-based; the server returns the video object once the upload completes.

See guide:

https://kinescope.notion.site/abe1183fe61b4e00a4f8c358bd27413d

Headers
ParameterDescription
X-Parent-ID``
X-Video-TitleNew video
X-Video-DescriptionVideo description
X-File-Namevideo.mp4
X-Poster-URLurl to poster
X-Video-URLhttp://example.ru/video.mp4
X-Replace-Video-IDVideoID for replace

live

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

restreams

Create restream

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

Adds an RTMP restream target to the event — the live stream will be mirrored there.

Request body (json)
{  "name": "Restream name",  "url": "rtmp://rtmp.kinescope.io/live",  "key": "stream key",  "description": "Description",  "enabled": true}
Responses
{    "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

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

Updates a restream target (URL, stream key, enabled flag).

Request body (json)
{  "name": "Restream name 1",  "url": "rtmp://rtmp.kinescope.io/live",  "key": "stream key",  "description": "Description",  "enabled": true}
Responses
{    "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

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

Retrieves the details of a single restream by its unique ID.

Responses
{  "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

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

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

Responses
{  "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

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

Permanently deletes the restream. This action cannot be undone.

Create event

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

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

Create new event

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

Update event

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

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

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

Get event

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

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

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

List events

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

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

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

Event videos

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

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

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

Enable event

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

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

Finish event

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

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

Schedule new stream

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

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

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

Update schedule stream

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

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

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

Delete event

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

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

Move event

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

Moves the event into a different project or folder.

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

Upload poster

POST {{uploadHost}}/v2/poster

Uploads a custom poster image for a live event.

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

Qos

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

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

status:

  • 4 - разница во времени между ключевыми кадрами > 50%
  • 3 - разница во времени между ключевыми кадрами > 20%
  • 5 - потеря пакетов (возможные причины: сетевые проблемы или у стримера не успевает кодироваться видео)
Responses
{  "data": [    {      "bitrate_video": 2438,      "bitrate_audio": 156,      "frame_rate": 30,      "status": 0,      "time": "2024-03-07T09:01:30Z"    },    {      "bitrate_video": 2438,      "bitrate_audio": 156,      "frame_rate": 30,      "status": 0,      "time": "2024-03-07T09:02:00Z"    }  ]}

Chat

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

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

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

posters

Upload poster

POST {{uploadHost}}/v2/poster

Uploads a custom poster image for a live event.

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