POST
/v1/posts/{postId}/test-email

Sends a test newsletter email for the specified draft post to the publication owner's email address. Useful for previewing how a post will look as a newsletter before publishing. Only works for draft posts.

Authorization

apiKey
headerAuthorizationBearer <token>

API key for authenticating protected endpoints. Pass as Bearer token in Authorization header.

Path Parameters

postId*string

Unique identifier of the post to preview

Request Body

Body

application/json
  1. body

Response Body

Test email sent successfully

application/json
  1. response
success*true

Whether the email was sent

Value intrue
curl -X POST "https://example.com/v1/posts/string/test-email" \  -H "Content-Type: application/json" \  -d '{}'
{  "success": true}

Update a post by slug PUT

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. - Set `imageAlt` to describe the cover image for screen readers. It renders everywhere the cover appears, so set it whenever you set `imageUrl`.

List your drafted content GET

Retrieve a paginated list of the short-form content in your publication's library, newest activity first. The publication is identified by the API key. Filter with `kind` and `status`. `status` defaults to `all`, which is everything except the pieces you've archived — a piece that was delivered stays listed whether or not it was archived afterwards. Bodies aren't included; fetch a single piece to read one.