API.Video · Schema
Video
Artificial IntelligenceAnalyticsCDNEncodingLive StreamingTranscriptionVideoVideo-on-Demand
Properties
| Name | Type | Description |
|---|---|---|
| videoId | string | The unique identifier of the video object. |
| createdAt | string | When a video was created, presented in ATOM UTC format. |
| title | string | The title of the video content. |
| description | string | A description for the video content. |
| publishedAt | string | The date and time the API created the video. Date and time are provided using ATOM UTC format. |
| updatedAt | string | The date and time the video was updated. Date and time are provided using ATOM UTC format. |
| discardedAt | stringnull | The date and time the video was discarded. The API populates this field only if you have the Video Restore feature enabled and discard a video. Date and time are provided using ATOM UTC format. |
| deletesAt | stringnull | The date and time the video will be permanently deleted. The API populates this field only if you have the Video Restore feature enabled and discard a video. Discarded videos are pemanently deleted af |
| discarded | boolean | Returns `true` for videos you discarded when you have the Video Restore feature enabled. Returns `false` for every other video. |
| language | string | Returns the language of a video in [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. You can set the language during video creation via the API, otherwise it is detected aut |
| languageOrigin | stringnull | Returns the origin of the last update on the video's `language` attribute. - `api` means that the last update was requested from the API. - `auto` means that the last update was done automatically by |
| tags | array | One array of tags (each tag is a string) in order to categorize a video. Tags may include spaces. |
| metadata | array | Metadata you can use to categorise and filter videos. Metadata is a list of dictionaries, where each dictionary represents a key value pair for categorising a video. |
| source | object | |
| assets | object | |
| playerId | string | The id of the player that will be applied on the video. |
| public | boolean | Defines if the content is publicly reachable or if a unique token is needed for each play session. Default is true. Tutorials on [private videos](https://api.video/blog/endpoints/private-videos/). |
| panoramic | boolean | Defines if video is panoramic. |
| mp4Support | boolean | This lets you know whether mp4 is supported. If enabled, an mp4 URL will be provided in the response for the video. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/api-video/json-schema/api-video-video-schema.json",
"title": "Video",
"x-generated": "2026-11-05",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/api-video-videos-api-openapi.yml#/components/schemas/video",
"type": "object",
"properties": {
"videoId": {
"type": "string",
"description": "The unique identifier of the video object."
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "When a video was created, presented in ATOM UTC format."
},
"title": {
"type": "string",
"description": "The title of the video content.\n"
},
"description": {
"type": "string",
"description": "A description for the video content.\n"
},
"publishedAt": {
"type": "string",
"description": "The date and time the API created the video. Date and time are provided using ATOM UTC format.",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"description": "The date and time the video was updated. Date and time are provided using ATOM UTC format.",
"format": "date-time"
},
"discardedAt": {
"type": [
"string",
"null"
],
"description": "The date and time the video was discarded. The API populates this field only if you have the Video Restore feature enabled and discard a video. Date and time are provided using ATOM UTC format.",
"format": "date-time"
},
"deletesAt": {
"type": [
"string",
"null"
],
"description": "The date and time the video will be permanently deleted. The API populates this field only if you have the Video Restore feature enabled and discard a video. Discarded videos are pemanently deleted after 90 days. Date and time are provided using ATOM UTC format.",
"format": "date-time"
},
"discarded": {
"type": "boolean",
"description": "Returns `true` for videos you discarded when you have the Video Restore feature enabled. Returns `false` for every other video."
},
"language": {
"type": "string",
"description": "Returns the language of a video in [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag) format. You can set the language during video creation via the API, otherwise it is detected automatically."
},
"languageOrigin": {
"type": [
"string",
"null"
],
"enum": [
"api",
"auto"
],
"description": "Returns the origin of the last update on the video's `language` attribute.\n\n- `api` means that the last update was requested from the API.\n- `auto` means that the last update was done automatically by the API."
},
"tags": {
"type": "array",
"description": "One array of tags (each tag is a string) in order to categorize a video. Tags may include spaces. \n",
"items": {
"type": "string"
}
},
"metadata": {
"type": "array",
"description": "Metadata you can use to categorise and filter videos. Metadata is a list of dictionaries, where each dictionary represents a key value pair for categorising a video.\n",
"items": {
"$ref": "#/$defs/metadata"
}
},
"source": {
"$ref": "#/$defs/video-source"
},
"assets": {
"$ref": "#/$defs/video-assets"
},
"playerId": {
"type": "string",
"description": "The id of the player that will be applied on the video.\n"
},
"public": {
"type": "boolean",
"description": "Defines if the content is publicly reachable or if a unique token is needed for each play session. Default is true. Tutorials on [private videos](https://api.video/blog/endpoints/private-videos/).\n"
},
"panoramic": {
"type": "boolean",
"description": "Defines if video is panoramic.\n"
},
"mp4Support": {
"type": "boolean",
"description": "This lets you know whether mp4 is supported. If enabled, an mp4 URL will be provided in the response for the video.\n"
}
},
"required": [
"videoId"
],
"$defs": {
"metadata": {
"title": "Metadata",
"type": "object",
"properties": {
"key": {
"type": "string",
"description": "The constant that defines the data set."
},
"value": {
"type": "string",
"description": "A variable which belongs to the data set."
}
},
"x-client-all-args-constructor": true
},
"video-assets": {
"title": "VideoAssets",
"type": "object",
"properties": {
"hls": {
"type": "string",
"description": "This is the manifest URL. For HTTP Live Streaming (HLS), when a HLS video stream is initiated, the first file to download is the manifest. This file has the extension M3U8, and provides the video player with information about the various bitrates available for streaming.",
"format": "uri"
},
"iframe": {
"type": "string",
"description": "Code to use video from a third party website"
},
"player": {
"type": "string",
"description": "Raw url of the player.",
"format": "uri"
},
"thumbnail": {
"type": "string",
"description": "Poster of the video.",
"format": "uri"
},
"mp4": {
"type": "string",
"description": "Available only if mp4Support is enabled. Raw mp4 url.",
"format": "uri"
}
},
"description": "Collection of details about the video object that you can use to work with the video object."
},
"video-source": {
"title": "VideoSource",
"type": "object",
"properties": {
"uri": {
"type": "string",
"description": "The URL where the video is stored."
},
"type": {
"type": "string"
},
"liveStream": {
"$ref": "#/$defs/video-source-live-stream"
}
},
"description": "Source information about the video."
},
"video-source-live-stream": {
"type": "object",
"properties": {
"liveStreamId": {
"type": "string",
"description": "The unique identifier for the live stream."
},
"links": {
"type": "array",
"items": {
"$ref": "#/$defs/video-source-live-stream-link"
}
}
},
"description": "This appears if the video is from a Live Record."
},
"video-source-live-stream-link": {
"type": "object",
"properties": {
"rel": {
"type": "string"
},
"uri": {
"type": "string"
}
}
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/api-video-video"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.