Skip to main content

Schedule a post

Give it a scheduledFor and a timezone instead of publishNow.

The scheduling window

scheduledFor must land between 10 minutes and 75 days from now. Outside that range the API returns 400 immediately, rather than uploading your media and letting the platform reject it afterwards. timezone is an IANA name (America/New_York, Europe/Berlin). It does not shift scheduledFor, which is an absolute instant. It records the timezone the post was authored in so the calendar renders the time a person meant.

List the calendar

Edit a scheduled post

Editable fields are caption, scheduledFor, timezone and status (between draft and scheduled). Media is changed through the media endpoints, not here. A post can be edited while its status is draft, scheduled, queued or failed. queued still counts: the publish queue re-reads the row at delivery and drops a message whose time no longer matches, so moving a queued post is safe. Once it is uploading or publishing, the platform owns it and edits are rejected.

Drafts

A JSON create call always schedules or publishes. Send neither publishNow nor scheduledFor and it returns 400. To park a post as a draft (on the calendar, not going anywhere), create it with a scheduledFor, then update it with:
Promote it later by setting a time:

Cancel

Deleting removes the Sapt post record and files owned by that post, including media claimed from a streaming upload. Referenced asset-library files remain. It does not retract anything already published. For that, use Delete published Facebook post. To remove clips 24 hours after successful publication, follow Media retention and cleanup.