Skip to main content
By default, every schedule Stratos AI creates lands in the connected TikTok account’s drafts. A human opens the TikTok app and taps post. This is the safe default, and it’s what every automation and every POST /v1/schedules call gets unless you explicitly ask for otherwise.

What mode: "publish" actually does

mode: "publish" skips the draft step and posts live immediately, using TikTok’s own DIRECT_POST capability. Three things all have to be true for it to work:
1

The API key has the schedules:publish scope

This is checked before the request ever reaches TikTok — a key without it gets 403 missing_scope, full stop. This scope is not granted by default on new keys; request it explicitly when creating a key.
2

privacyLevel is set on the request

TikTok’s own API requires this for direct posts. Stratos AI enforces the same check before calling TikTok, so you get a clear 400 missing_privacy_level locally instead of an opaque TikTok-side rejection.
3

The connected TikTok account has direct-post audit approval

This is TikTok’s own app-review process, outside Stratos AI’s control. An account without it will fail at the TikTok API call itself — Stratos AI surfaces whatever error TikTok returns.

Using it

From the CLI, this requires an explicit --yes:

For agent operators

If you’re granting an MCP-connected or CLI-scripted agent a schedules:publish-scoped key, understand what you’re authorizing: that agent can post to a real TikTok account with no human review of the specific post. The stratos_schedule_create MCP tool’s description states this and instructs the agent to only use mode: "publish" when explicitly asked — but the scope grant is what actually enforces it, not the instruction. Issue publish-capable keys deliberately, and revoke them the moment you’re not actively using that capability.