Schedule a draft
Schedules a draft for scheduledAt. Needs a paid plan and a connected channel. When the workspace needs approval, the post waits for an owner or admin (status pending_approval, with a message). Only drafts can be scheduled: a scheduled post keeps its slot (409 not_a_draft), and two posts can't share the exact minute on one network (409 time_taken).
Try it
Authorization
bearerAuth A Postel API key, Authorization: Bearer pstl_…. Create one in Postel under Settings → API & MCP; it acts for the workspace it was made in.
In: header
Path parameters
The draft's id
Request body
application/json
When to publish, ISO-8601 with a timezone (2026-11-03T09:30:00Z or 2026-11-03T10:30:00+01:00). Must be in the future.
date-timeLinkedIn only: replaces the saved first comment; empty clears it
length <= 1250Responses
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
Get a post
One post by id, with its status, publish time, link once published, and failure when the last publish failed.
Publish a draft now
Needs a paid plan. Postel publishes the draft within a minute; the response comes back at once (202, status scheduled) and post.published or post.failed events say how it went. Publishing never runs inside the request, so a client that times out and retries can't post twice. Refused when the workspace needs approval (409 approval_required): schedule the post instead.