logo
Schedulin Developers

Your First Post

This walkthrough takes you from zero to a scheduled post.

1. Find a channel

Posts are published to a connected channel — a "social account". List them and grab an id:

curl https://api.schedulin.app/v0/social-accounts \
  -H "x-api-key: sk_live_..."
{
  "data": [
    { "id": "acc_123", "platform": "instagram", "username": "@yourbrand" },
    { "id": "acc_456", "platform": "twitter", "username": "@yourbrand" }
  ]
}

2. Create the post

POST /v0/posts requires caption, socialAccountId, and a media array (each item needs a url). Use action to control what happens:

actionBehavior
nowPublish immediately
schedulePublish at scheduledAt
queueAdd to the channel's posting queue
draftSave as a draft, publish later
curl -X POST https://api.schedulin.app/v0/posts \
  -H "x-api-key: sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "socialAccountId": "acc_123",
    "caption": "Hello from the Schedulin API 👋",
    "media": [{ "url": "https://cdn.example.com/launch.jpg" }],
    "action": "schedule",
    "scheduledAt": "2026-06-01T15:00:00Z"
  }'
TIP
Don't have a hosted media URL yet? See to get a presigned upload URL from the API.

3. Confirm it's scheduled

curl "https://api.schedulin.app/v0/posts?status=SCHEDULED" \
  -H "x-api-key: sk_live_..."

That's it — you've published through the API. Browse Examples for more recipes.