Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/gotolstoy-com:gotolstoy-com-video-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Tolstoy Video API
version: 1.0.0
description: 'The Tolstoy developer API — programmatic access to the AI commerce platform
(AI Studio, AI Player, AI Sales Agent) for developers and AI agents.
Every endpoint requires an authenticated workspace token. Authenticate with
OAuth 2.0 (authorization server https://apilb.gotolstoy.com/mcp/v1, scope
`workspace`), or create a Tolstoy API key in your workspace and exchange it for
an access token at POST /account-service/authenticateCliApiKey with the
`X-CLI-API-Key` header. Send the token as `Authorization: Bearer ` and
include your workspace `appKey` in the request body.
This surface mirrors the official CLI (`@tolstoy-ai/cli` on npm) and the Tolstoy
MCP server (https://apilb.gotolstoy.com/mcp/v1/mcp). Full docs:
https://developers.gotolstoy.com'
contact:
name: Tolstoy Developer Hub
url: https://developers.gotolstoy.com
servers:
- url: https://api.gotolstoy.com
description: Production (Lambda APIs)
- url: https://apilb.gotolstoy.com
description: Production (load-balancer APIs)
security:
- oauth2:
- workspace
- bearerAuth: []
tags:
- name: Video
description: VOD asset search and mutations
paths:
/video-service/searchVodByIds:
post:
operationId: video_searchVodByIds
summary: Get VOD assets by IDs
tags:
- Video
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
appKey:
type: string
ids:
type: array
items:
type: string
required:
- appKey
- ids
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: array
'400':
description: Invalid request
'401':
description: Authentication required
security:
- oauth2:
- workspace
- bearerAuth: []
/video-service/searchVodAssetsByProductId:
post:
operationId: video_searchVodAssetsByProductId
summary: Search VOD assets by product ID
tags:
- Video
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
appKey:
type: string
productId:
type: string
from:
type: number
size:
type: number
projectFolderFilter:
type: object
properties:
includedProjectFolderIds:
type: array
items:
type: string
excludedLegacyProjectFolderIds:
type: array
items:
type: string
required:
- includedProjectFolderIds
- excludedLegacyProjectFolderIds
additionalProperties: false
required:
- appKey
- productId
- from
- size
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
from:
type: number
items:
type: array
itemsCount:
type: number
total:
type: number
required:
- from
- items
- itemsCount
- total
additionalProperties: false
'400':
description: Invalid request
'401':
description: Authentication required
security:
- oauth2:
- workspace
- bearerAuth: []
/video-service/getVodLabels:
post:
operationId: video_getVodLabels
summary: List all playlists in the video library
tags:
- Video
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
appKey:
type: string
required:
- appKey
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
from:
type: number
items:
type: array
itemsCount:
type: number
total:
type: number
required:
- from
- items
- itemsCount
- total
additionalProperties: false
'400':
description: Invalid request
'401':
description: Authentication required
security:
- oauth2:
- workspace
- bearerAuth: []
/video-service/listViews:
post:
operationId: video_listViews
summary: 'List saved dynamic playlists (media filter views): id, name, and rule…'
tags:
- Video
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
appKey:
type: string
required:
- appKey
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
views:
type: array
items:
type: object
properties:
id:
type: string
appKey:
type: string
name:
type: string
minLength: 1
isFavorite:
type: boolean
default: false
pinnedAt:
type:
- string
- 'null'
default: null
pillColor:
type:
- string
- 'null'
pattern: ^#[0-9A-F]{6}$
default: null
conditionExpression:
anyOf:
- anyOf:
- type: object
properties:
field:
type: string
customId:
type: string
operator:
type: string
enum:
- EQUAL
value:
anyOf:
- type: string
- type: number
- type: boolean
required:
- field
- operator
- value
additionalProperties: false
- type: object
properties:
field:
type: string
customId:
type: string
operator:
type: string
enum:
- IN
value:
type: array
items:
anyOf:
- type: string
- type: number
- type: boolean
required:
- field
- operator
- value
additionalProperties: false
- type: object
properties:
field:
type: string
customId:
type: string
operator:
type: string
enum:
- GT
value:
anyOf:
- type: string
- type: number
required:
- field
- operator
- value
additionalProperties: false
- type: object
properties:
field:
type: string
customId:
type: string
operator:
type: string
enum:
- GTE
value:
anyOf:
- type: string
- type: number
required:
- field
- operator
- value
additionalProperties: false
- type: object
properties:
field:
type: string
customId:
type: string
operator:
type: string
enum:
- LT
value:
anyOf:
- type: string
- type: number
required:
- field
- operator
- value
additionalProperties: false
- type: object
properties:
field:
type: string
customId:
type: string
operator:
type: string
enum:
- LTE
value:
anyOf:
- type: string
- type: number
required:
- field
- operator
- value
additionalProperties: false
- type: object
properties:
field:
type: string
customId:
type: string
operator:
type: string
enum:
- STARTS_WITH
value:
type: string
required:
- field
- operator
- value
additionalProperties: false
- type: object
properties:
field:
type: string
customId:
type: string
operator:
type: string
enum:
- CONTAINS
value:
type: string
required:
- field
- operator
- value
additionalProperties: false
- type: object
properties:
field:
type: string
customId:
type: string
operator:
type: string
enum:
- EXISTS
required:
- field
- operator
additionalProperties: false
- type: object
properties:
customId:
type: string
operator:
type: string
enum:
- AND
- OR
children:
type: array
items: {}
required:
- operator
- children
additionalProperties: false
- type: object
properties:
customId:
type: string
operator:
type: string
enum:
- NOT
child: {}
required:
- operator
- child
additionalProperties: false
- type: object
properties:
operator:
type: string
enum:
- PIN
customId:
type: string
child: {}
required:
- operator
- child
additionalProperties: false
- type: object
properties:
operator:
type: string
enum:
- BOOST
customId:
type: string
boost:
type: number
children:
type: array
items: {}
required:
- operator
- boost
- children
additionalProperties: false
selection:
type: object
properties:
selected:
type: object
additionalProperties:
type: array
items:
type: string
excluded:
type: object
additionalProperties:
type: array
items:
type: string
required:
- selected
- excluded
additionalProperties: false
pins:
type: array
items:
type: object
properties:
id:
type: string
position:
type: integer
minimum: 0
productId:
type: string
required:
- id
- position
additionalProperties: false
default: []
createdAt:
type: string
updatedAt:
type: string
required:
- id
- appKey
- name
- conditionExpression
- selection
- createdAt
- updatedAt
additionalProperties: false
required:
- views
additionalProperties: false
'400':
description: Invalid request
'401':
description: Authentication required
security:
- oauth2:
- workspace
- bearerAuth: []
components:
securitySchemes:
oauth2:
type: oauth2
description: Tolstoy's OAuth 2.0 authorization server (also used by the MCP server). Grants workspace-scoped access to the authenticated account.
flows:
authorizationCode:
authorizationUrl: https://apilb.gotolstoy.com/mcp/v1/oauth/authorize
tokenUrl: https://apilb.gotolstoy.com/mcp/v1/oauth/token
refreshUrl: https://apilb.gotolstoy.com/mcp/v1/oauth/token
scopes:
workspace: Full access to the authenticated Tolstoy workspace.
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: Workspace access token. Obtain one via OAuth 2.0, or create a Tolstoy API key in your workspace and exchange it at POST /account-service/authenticateCliApiKey with the X-CLI-API-Key header. Include your workspace appKey in each request body.
externalDocs:
description: Tolstoy developer documentation
url: https://developers.gotolstoy.com