Properties
| Name | Type | Description |
|---|---|---|
| channel_id | object | YouTube channel id from youtube.connected_accounts. The user or agent passes channel_id or channel_name to target a specific channel, not both. Omit both to use the default channel. |
| channel_name | object | YouTube channel handle from youtube.connected_accounts, with or without a leading @. The user or agent passes channel_id or channel_name to target a specific channel, not both. Omit both to use the de |
| title | string | Video title. |
| privacy_status | string | Who can view the uploaded video. Defaults to private; unverified apps typically require private. |
| description | object | Video description. |
| tags | object | Optional video tags. |
| category_id | string | YouTube category id (default "22" People & Blogs). |
| uploaded_file_name | string | File name from files.list_uploaded_files. Upload the file with files.upload_file first. Nested paths like folder/video.mp4 are allowed. Required; YouTube does not support video_url pull. |
| notify_subscribers | boolean | Whether YouTube should notify channel subscribers about the new video. Defaults to true. Only applies at upload time. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/vee3-io/json-schema/vee3-io-publish-you-tube-video-request-schema.json",
"title": "PublishYouTubeVideoRequest",
"x-generated": "2026-10-31",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/vee3-io-openapi.json#/components/schemas/PublishYouTubeVideoRequest",
"properties": {
"channel_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Channel Id",
"description": "YouTube channel id from youtube.connected_accounts. The user or agent passes channel_id or channel_name to target a specific channel, not both. Omit both to use the default channel."
},
"channel_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Channel Name",
"description": "YouTube channel handle from youtube.connected_accounts, with or without a leading @. The user or agent passes channel_id or channel_name to target a specific channel, not both. Omit both to use the default channel."
},
"title": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"title": "Title",
"description": "Video title."
},
"privacy_status": {
"type": "string",
"enum": [
"private",
"unlisted",
"public"
],
"title": "Privacy Status",
"description": "Who can view the uploaded video. Defaults to private; unverified apps typically require private.",
"default": "private"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "null"
}
],
"title": "Description",
"description": "Video description."
},
"tags": {
"anyOf": [
{
"items": {
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"title": "Tags",
"description": "Optional video tags."
},
"category_id": {
"type": "string",
"title": "Category Id",
"description": "YouTube category id (default \"22\" People & Blogs).",
"default": "22"
},
"uploaded_file_name": {
"type": "string",
"minLength": 1,
"title": "Uploaded File Name",
"description": "File name from files.list_uploaded_files. Upload the file with files.upload_file first. Nested paths like folder/video.mp4 are allowed. Required; YouTube does not support video_url pull."
},
"notify_subscribers": {
"type": "boolean",
"title": "Notify Subscribers",
"description": "Whether YouTube should notify channel subscribers about the new video. Defaults to true. Only applies at upload time.",
"default": true
}
},
"additionalProperties": false,
"type": "object",
"required": [
"title",
"uploaded_file_name"
]
}
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/vee3-io-publish-you-tube-video-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?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.