Browse docs
What do you need before you publish?#
You need one connected account for the platform. Connect it in the SkedCast console. If a client owns the account, create a connect link with POST /v1/clients/{id}/connect-invites and send it to them. They authorize from that page without a SkedCast login.
GET /v1/accounts lists the connected accounts with their ids. Pass that id in targets.accountIds below.
How do you schedule a Threads post with the API?#
curl -X POST https://api.skedcast.com/v1/posts \
-H "Authorization: Bearer sked_live_YOUR_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"clientId": "<clientId>",
"content": "Launch day is here 🚀",
"mediaIds": ["<mediaAssetId>"],
"targets": { "mode": "selection", "accountIds": ["<threadsAccountId>"] },
"schedule": { "type": "at", "scheduledAt": "2030-01-15T15:00:00Z" }
}'Which Threads fields can you set?#
Put everything platform-specific in one variants entry with "platform": "threads" and an overrides object. Send only threads keys on a threads variant. SkedCast reads the keys in the table below and ignores the rest.
How do you add Threads-specific settings?#
{
"clientId": "<clientId>",
"content": "Same launch, different feed 👀",
"mediaIds": [],
"targets": { "mode": "selection", "accountIds": ["<threadsAccountId>"] },
"variants": [
{ "platform": "threads", "overrides": { "replyControl": "accounts_you_follow" } }
],
"schedule": { "type": "at", "scheduledAt": "2030-01-15T15:00:00Z" }
}How do you check that the post published?#
Publishing creates one post target per account. GET /v1/post-targets/{id} (or GET /v1/posts/{id}) reports status, plus externalId (Threads's own post id) and permalink (its public URL) once published. To avoid polling, subscribe to the target.published and target.failed webhooks (see the webhooks guide).
FAQ
- Can I publish a thread of connected posts?
- Yes. The post-level thread field ({ segments: [...] }) works the same on X, Bluesky and Threads: segment 0 is the head post and each later segment replies to the one before it. On Threads every later segment is a reply and needs the account's threads_manage_replies permission. A connection without it publishes segment 0 only, as a normal post.