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 — that instant is absolute. It records the timezone the post was authored in so the calendar renders the time a human meant.
STORIES cannot be scheduled. Stories must go out with publishNow: true.

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

Create a post with neither publishNow nor scheduledFor and it lands as a draft — on the calendar, not going anywhere. Promote it later by setting a time:

Cancel

Deleting removes the post and its staged media. It does not retract anything already published — for that, use Delete published Facebook post.