posts
Update a post by slug
Update an existing post using its URL slug. The publication is identified by the API key provided in the Authorization header.
Behavior:
- Only provided fields are updated; omitted fields remain unchanged
- When markdown is provided, it replaces the full content. Rich blocks (embeds, buttons, callouts) created in the editor will be lost
- Set status to "published" to publish a draft, "draft" to unpublish, or "archived" to archive
- When editing an already-live post that should remain live, include status: "published" in the update and verify the returned post status before telling the writer it is live
- Set scheduledAt (Unix timestamp in milliseconds) to schedule a draft's first-publish for a future time. Must be in the future and at most 30 days out. Only valid for posts that haven't been published or already scheduled. Pass scheduledAt: null to cancel a previously scheduled publish (or to reschedule: cancel first, then schedule again with the new time). Set sendNewsletter: true alongside scheduledAt to email subscribers when the post publishes.
- Set imageUrl to update the post's cover/hero image; the URL is fetched, re-hosted, and a placeholder is generated. Pass clearImage: true to remove the existing cover.
put/v1/posts/slug/{slug}
Path parameters
slugstring required
URL-friendly identifier of the post to update
Request body
Response
Post updated successfully