Browse docs
1. The connect flow#
Your end users need to authorize their own social accounts without ever handing you a password. SkedCast's connect-invite links solve this: your app calls POST /clients/:id/connect-invites, gets back a URL, and sends it to the end user — they authorize each platform on a SkedCast-hosted page and never see SkedCast's own login. This is the same mechanism SkedCast's own agency customers use to onboard their clients.
curl -X POST https://api.skedcast.com/v1/clients/<clientId>/connect-invites \
-H "Authorization: Bearer sked_live_YOUR_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{ "platforms": ["instagram", "tiktok"], "expiresInHours": 72 }'2. Token storage — not your problem#
This is the part most teams underestimate: OAuth tokens per platform, refresh logic, and reauth handling when a user revokes access. Building on top of an existing posting API means you never see or store a platform access token at all — SkedCast holds them (encrypted at rest) and you address accounts by SkedCast's own account id.
3. Representing a scheduled post in your own data model#
Store the SkedCast post id (and, once published, each target's externalId/permalink) alongside whatever your app's own domain object is — a "campaign", a "listing", a "drop". Treat the compose call as the write and the webhook (or a poll) as the confirmation; don't assume synchronous success just because POST /posts returned 201 — that response confirms the post was accepted and validated, not that it has published yet.
4. Finding out what happened#
Subscribe your backend to target.published / target.failed / media.ready and update your own record when they arrive — this is far cheaper than polling every post you've ever created. See the webhooks guide for the full event catalog and signature verification.
Build it yourself, or integrate social media APIs into your app#
FAQ
- Do I need my end users to have their own SkedCast account?
- No — connect-invite links let them authorize platforms on a SkedCast-hosted page without ever creating a SkedCast login. Your app is the only thing they see; SkedCast is the infrastructure underneath.
- Can I white-label this so it looks like my own product?
- The API and connect-invite flow are usable from any of your own UI — you control everything your end users see except the one hosted connect-invite page itself. See the API reference for what account/post data you can surface in your own interface.