Skip to content
Reading with an AI assistant?View as MarkdownOpen in ClaudeOpen in ChatGPT

Guides

The unified API: one integration for every network

A unified API gives you one authentication model, one compose endpoint and one response shape across every connected network, instead of 11 SDKs, 11 OAuth flows and 11 error formats. Platform differences do not disappear. They are isolated in one overrides object instead of leaking into your whole integration.

Browse docs

6 min read

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.

json
{
  "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" }
}
One compose call, two platforms, two sets of overrides.

Where SkedCast's /v1 draws the line#

Unified across every platformKept platform-specific (by design)
Authentication (API key or OAuth)Platform options in variants[].overrides (TikTok privacyLevel and Pinterest boardId are required; YouTube category, subtitles and chapters are optional)
Pagination, errors, idempotencyContent-type differences (thread segments on X, Bluesky and Threads, carousels on Instagram and Pinterest)
Media upload and processingAnalytics field availability (a platform not reporting a metric returns null, not 0)
Webhook signature schemeEach platform's own posting limits
apiunified apiarchitecture

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.

Ready to broadcast everywhere?

Sign up free — no credit card. You land on the Free plan, and you can start a one-time 7-day Studio trial from your workspace whenever you are ready. Connect your first accounts, import a batch, and watch one post fan out across every platform.