Access tokens
Create token
POST
{{baseHost}}/v1/access-tokensCreates 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-tokensCreates 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-tokensReturns 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_idRetrieves 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_idPermanently deletes the access token. This action cannot be undone.
Webhooks
List webhooks
GET
{{baseHost}}/v1/webhooksReturns 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/webhooksSubscribes 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_idUpdates 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_idPermanently deletes the webhook. This action cannot be undone.
Responses
{ "data": { "success": true }}