Browse docs
What the unified API covers#
Building against 11 platforms directly means 11 OAuth implementations, 11 rate-limit regimes, 11 media-upload flows and 11 ways of reporting an error. SkedCast collapses that to one: one Bearer auth scheme (API key or OAuth 2.1), one keyset pagination convention, one RFC 9457 error shape, one presign → upload → register media flow, and one compose endpoint (POST /v1/posts) that fans out to every destination you name.
- One auth model: API keys or OAuth 2.1, never a separate app registration per platform.
- One compose call: a single POST /v1/posts with a targets array, not a create-post call per platform.
- One media flow: upload once and publish to every platform. SkedCast prepares what each platform needs.
- One event stream: webhooks with one signature scheme, whichever platform fired the event.
What stays platform-specific, on purpose#
Some differences are defined by the platform: TikTok's mandatory privacyLevel, Pinterest's required boardId, YouTube's optional category, subtitles and chapters. SkedCast keeps them in a per-platform variants[].overrides object, documented per platform, instead of a lowest-common-denominator field that quietly drops functionality.
{
"clientId": "<clientId>",
"content": "Same caption, different platforms.",
"mediaIds": ["<mediaAssetId>"],
"targets": { "mode": "selection", "accountIds": ["<tiktokAccountId>", "<pinterestAccountId>"] },
"variants": [
{ "platform": "tiktok", "overrides": { "privacyLevel": "PUBLIC_TO_EVERYONE" } },
{ "platform": "pinterest", "overrides": { "boardId": "<boardId>" } }
],
"schedule": { "type": "at", "scheduledAt": "2030-01-15T15:00:00Z" }
}Where SkedCast's /v1 draws the line#
FAQ
- Does a unified API mean every platform has the same features?
- No. A unified API gives you one contract for the parts that are genuinely common (auth, pagination, errors, media, events). Platform-specific capability, such as TikTok's privacy levels or YouTube's categories, stays platform-specific and stays reachable through variants[].overrides; it is not reduced to a shared subset.
- Can I use the API from Python?
- Yes. It's a standard REST API (JSON over HTTPS), so any HTTP client works, such as Python's requests or httpx. You can also generate a typed Python client from the OpenAPI 3.1 document at https://skedcast.com/openapi.json. See the OpenAPI and client libraries guide.