Browse docs

Destination · API reference

YouTube Shorts

Use one workspace-scoped agent connection to select a connected YouTube account, submit finished video, and read the resulting post and performance records.

Workspace boundary

Authentication and account ID

The configured client authenticates to one Postdom workspace. A human completes YouTube authorization on the provider screen; the agent receives a connected account ID, not the social credential.

workspace credential

Use the workspace key or connected OAuth grant configured for the agent client.

youtube authorization

Return the provider URL to a human. Do not ask the agent to enter YouTube credentials.

account_ids

Call list_accounts and pass the exact YouTube providerAccountId to publish_video.

Routes and configured tools

API surface

The configured MCP tools map to the same workspace-scoped API records. Use the tool schema connected to the agent as the callable contract.

GET /v1/accounts

list_accounts

Find the connected account whose platform is youtube, then use its exact provider account ID.

POST /v1/posts

publish_video

Submit finished media, caption, intent, and an optional exact UTC publish time.

GET /v1/posts/:id

get_publish

Read the post state and the YouTube destination outcome without changing either record.

GET /v1/posts/:id/performance

get_performance

Read normalized measurements and availability metadata for the published destination.

Callable schema

Publish request fields

These are the current publish_video inputs. YouTube-specific settings are configured after validation and are not accepted as tool arguments.

FieldTypeContract
account_idsRequired
string[]
At least one value

Exact connected destination identifiers returned by list_accounts.

video_urlOptional
URL
Exactly one of video_url or media_handle

Finished media already available at an accepted URL.

media_handleOptional
pd_media_…
Exactly one of media_handle or video_url · status stored

Postdom-owned media verified through get_media.

captionRequired
string
At most 4,000 characters

Caption passed to each destination adapter.

intentRequired
string
1–500 characters

The calling agent's reason for this execution.

agent_identityOptional
string
1–120 characters

Caller identity when the configured client does not supply one.

publish_atOptional
datetime
RFC 3339 UTC ending in Z

Exact execution time. Omit it for an unscheduled request.

plan_idOptional
UUID
Valid UUID

Approved plan proposed as the authorization boundary.

idempotency_keyOptional
string
Non-empty

Caller-supplied replay key. The adapter generates a UUID when omitted.

Example identifiers are synthetic. The media handle must already return stored from get_media.

EXAMPLE YOUTUBE CALL · CONFIGURED TOOL SCHEMA
publish_video({
  account_ids: ["acct_example_yt"],
  media_handle: "pd_media_11111111-1111-4111-8111-111111111111",
  caption: "Three moves that changed our launch",
  intent: "Execute the approved launch schedule",
  publish_at: "2026-09-03T09:00:00Z"
})

Configured adapter output

YouTube destination configuration

These settings are added after tool validation. They are not publish_video inputs.

title
first caption line

Uses the first line, capped at 100 characters; falls back to Postdom video when that line is empty.

visibility
private

Keeps the configured publish private for review.

madeForKids
false

Marks the configured video as not made for kids.

containsSyntheticMedia
true

Applies the synthetic-media disclosure.

CONFIGURED YOUTUBE OUTPUT · NOT TOOL INPUT
{
  "platform": "youtube",
  "settings": {
    "title": "<first caption line, maximum 100 characters>",
    "visibility": "private",
    "madeForKids": false,
    "containsSyntheticMedia": true
  }
}
VERIFIED · 26 AUGUST 2026Configured tool schemas · API routes · YouTube adapter defaults

Examples are synthetic. Private workspace and provider identifiers are excluded.