Developers · Scheduling API

The social media scheduling API.Your script exits, the post still goes out.

Breakreach's scheduling API queues posts on 15 networks from one request: a scheduledAt read in your workspace's timezone, useNextSlot to take the next free slot of your posting schedule, or draft to wait for a person. Posts publish from Breakreach's servers, with retries, so nothing has to stay running on your side.

OpenAPI spec

Checked against the API code on October 7, 2026. Breakreach is our product.

curl https://api.breakreach.com/v1/next-slot \  -H "Authorization: Bearer $BREAKREACH_API_KEY"
GET /v1/next-slotSending
{  "scheduledAt": "2026-10-08T11:00:00",  "timezone": "Europe/Paris",  "utc": "2026-10-08T09:00:00.000Z"}
app.breakreach.com/calendar
This week4 queue slots
Tue
Wed
Thu
Fri
11 AM12 PM1 PM2 PM3 PM4 PM5 PM
Roastery1:00 PM
11:00 AM
Latte art tip11:00 AM
4:00 PM
Pour-over1:00 PM
11:00 AM
4:00 PM
Queued for Thursday at 11:00 AM
The next free slot of the workspace schedule, then a post that takes it. Times come back in the workspace timezone and in UTC.

Scheduling API endpoints6 endpoints, one API key.

  • POST/v1/postsSchedule with scheduledAt or useNextSlot, publish now, or save a draft
  • GET/v1/next-slotThe next free slot of the workspace posting schedule, in its timezone and in UTC
  • PATCH/v1/posts/:idReschedule, schedule a draft, retry a failed post or move a post back to drafts
  • DELETE/v1/posts/:idUnschedule and remove a post
  • GET/v1/postsThe queue: filter with status=scheduled, draft, published or failed
  • GET/v1/workspacesWorkspaces with their slug and timezone

Base URL https://api.breakreach.com. Every call sends your key as Authorization: Bearer br_…; errors answer { "error": "…" } with a 4xx or 5xx status. Every parameter is in the OpenAPI spec.

The four ways to time a post

FieldTypeWhat it does
scheduledAtstring2026-10-08T09:00:00 is 9 AM in the workspace timezone. A Z or an offset (+02:00) is honoured as written. A time in the past publishes at once
useNextSlotbooleanThe earliest future slot of the posting schedule with no post already scheduled at that exact time, up to 14 days ahead
publishNowbooleanPublish at once
draftbooleanSave without a time, or place it on the calendar with scheduledAt; it publishes only once someone schedules it

Which networks it coversChecked against the code, not a feature list.

SchedulingNext free slotDrafts
Instagram, TikTok, YouTube, PinterestYes, With mediaYesYes, Media can come later
X, LinkedIn, Facebook, Threads, BlueskyYesYesYes
Reddit, Telegram, DiscordYesYesYes
Slack, Mastodon, WordPressYesYesYes
Scheduling works the same on all 15 networks: Breakreach holds the post and publishes it at the time, so no network's own scheduling feature is involved. Checked on October 7, 2026.

Which timezone does scheduledAt use?The workspace's, unless you say otherwise.

Each workspace has a timezone, returned by GET /v1/workspaces. A scheduledAt without an offset is read in it, so 2026-10-08T09:00:00 in a Europe/Paris workspace goes out at 09:00 in Paris, 07:00 UTC in October. Send an ISO string with Z or an offset when your times come from somewhere else.

Responses always carry scheduledAt in UTC. Daylight saving is handled by the timezone database, so a weekly 9 AM post stays at 9 AM local across the change.

How does the next free slot work?A posting schedule per workspace, like a queue.

Every workspace has a posting schedule: weekdays at 11:00 and 16:00 until someone changes it in Settings, Schedule. useNextSlot takes the earliest slot in the future that no scheduled post already holds, looking up to 14 days ahead. Ten posts sent with useNextSlot fill ten slots in a row.

Call GET /v1/next-slot first when you want to show the time before committing. If the workspace has no schedule or the next 14 days are full, both calls answer 404 with the reason, and you can fall back to an explicit scheduledAt.

Can I schedule posts for approval first?Drafts wait for a person.

"draft": true saves the post in Breakreach without scheduling it. A draft needs no time and no media yet, so a CMS, a release script or an AI agent can propose a post and leave the photo to someone else. With a scheduledAt, the draft sits on the calendar at that time until it's approved.

It goes out once someone schedules it in the app, or when your code calls PATCH /v1/posts/:id with scheduledAt, useNextSlot or publishNow. "draft": true on a scheduled post takes it back out of the queue.

What happens at publish time?

Scheduled posts sit in Breakreach's job queue and publish from our servers, so your script, your laptop or your agent's session can be gone. Temporary failures (rate limits, timeouts, 5xx) are retried up to 3 times, 5, 10 and 15 minutes later, only on the accounts that failed.

Rescheduling replaces the queued job, and any pending retry, so a moved post never goes out twice. The post.published and post.failed webhooks tell your system how it went.

What does the scheduling API cost?

The Developer plan costs $5 a month per connected account up to 20, $3 from 21 to 100 and $2 after that, never per call or per post. The API also comes with every regular plan, from Starter at $29 a month for 5 accounts.

For AI agents

Agents get the same calls.As MCP tools, no code to write.

Agents get the same queue: “schedule these three posts in my next free slots” fills three slots in a row, and the times come back in your timezone.

  • get_next_slotAnswers “when should I post next?” from the posting schedule
  • create_postSchedules at a time, the next free slot, or as a draft
  • update_postMoves, approves or retries a post
  • list_postsReads the queue: what's scheduled this week

What the scheduling API doesn't do yetSo you know before you build.

  • Recurring posts: send one request per occurrence
  • Editing a published post: create a new one
  • Changing the posting schedule through the API: it's set in Settings, Schedule
  • A best-time suggestion per account: the slots are the ones you set

The rest of the API (webhooks, workspaces per customer, connect links for your users, the price per connected account) is on the developers page.

FAQ

Questions, answered.

Short answers about the Scheduling API.

Yes. POST /v1/posts with a scheduledAt schedules a post on any of 15 networks, Instagram, TikTok, LinkedIn and X included. Breakreach holds it and publishes it at the time from its own servers.

There is no limit on scheduledAt. useNextSlot looks up to 14 days ahead for a free slot of the posting schedule.

No. Once the API answers scheduled, the post is in Breakreach's queue and publishes with your script, server or agent gone.

PATCH /v1/posts/:id with a new scheduledAt (or useNextSlot) moves it; draft: true takes it out of the queue; DELETE /v1/posts/:id removes it.

Yes. Create them with draft: true. They wait in Breakreach until someone schedules them in the app, or your code schedules them with PATCH.

The workspace timezone, unless the string carries Z or an offset. Responses return scheduledAt in UTC.

Instagram
TikTok
LinkedIn
YouTube
X
Facebook
Threads

Your first call is five minutes away.From $5 a month per account.

Billed per connected account. Cancel anytime.