Below you'll find all possible statuses during a post's life cycle.
The post is in a holding pattern.
The post is currently part of an approval workflow. A post can be removed from approvals by reverting it back to draft. Users with post:publish permission may bypass approvals by setting the status to queued. Once approved, the post status will either be queued or set back to draft if the current status is approvals.queued or approvals.draft.
The post is queued to be published to the associated channel. Publishing happens only once live_at is in the past or null. A post is either queued automatically upon approval or manually if a user has the post:publish permission. Only a queued or queued.paused status can be changed by the user (usually back to draft).
queued.paused: the post is queued but publishing is currently paused (the post cannot be published) - queued.publishing: The post is currently being published - queued.unpublishing: The post is currently being unpublished - queued.published: the post is still queued and has been successfully published. This indicates that the post hasn't gone live yet usually because of an external queue or some privacy controls. - queued.error: there was an error sending the post to the channel
The post is now live to the public on the associated channel. This state is either set automatically after queued.published or manually by a user with post:publish permission. In order to change the post's status to live, live_at is required.
The post is now unpublished on the external platform. If post failed to unpublish, it will get reverted back to live from queued.unpublishing.