Get a post
Returns a single post by id, with its per-account targets and attached media included in the response.
You don’t need to tell us which workspace the post belongs to — Postbreeze figures that out from the post itself and checks that your API key can reach that workspace.
Deleted posts return null.
Authorizations
Your Postbreeze API key
Path Parameters
Prefixed cuid of the post to fetch.
"post_01HZX5T2K9Q3RB6N6JZP3RYV0M"
Response
The post.
Prefixed cuid identifier.
Workspace this post belongs to.
User id of the author.
Aggregate publish state. Derived from per-target statuses (PARTIALLY_PUBLISHED when some succeed and some fail).
DRAFT, NEEDS_APPROVAL, SCHEDULED, PUBLISHING, PARTIALLY_PUBLISHED, PUBLISHED, FAILED, CANCELED Default caption applied to every target unless overridden via targets[].captionOverride.
ISO-8601 publish time. Doubles as the calendar pin for drafts (set via draftScheduledAt).
IANA timezone the post was composed in. Cosmetic — used by the UI.
Temporal workflow id driving this post's publish, when scheduled. Null on drafts and after cancellation.
Workflow id staged during the schedule transaction. Visible while a Temporal start is in flight; cleared on commit.
User id of the approver. Set when an NEEDS_APPROVAL post is approved.
When the post was approved, if applicable.
True when the post was authored by an API-key or OAuth request. Cookie-session dashboard posts are false.
True when the request used the flat platforms[] body shape. False for the nested targets[] shape and dashboard posts.
Soft-delete timestamp. Listings and GET /posts/:id exclude rows where this is non-null.
When the post was created.
When the post was last modified.
One fan-out target per connected account this post publishes to.
Library media attached to the post, ordered by order. Per-target overrides on targets[].mediaIds win over this list.