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 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.