Posts
Create post
Create a new draft post targeting one or more social accounts. Returns the created post with status 201.
POST
Creates a
draft. To schedule or publish, follow up with PUT /posts/{post} using status=scheduled or status=publishing.
Pinterest posts:
POST /posts does not accept per-platform meta. After creating, call PUT /posts/{post} and set platforms[].meta.board_id for each Pinterest entry — otherwise the publish job fails with Pinterest board_id is required.Request
At least one platform entry. Each entry pins this post to a connected social account and a
content_type.The post body shared across all platforms. Up to 10 000 characters at the API level (per-platform hard caps are enforced separately — see
GET /content-types for the matrix). Defaults to empty.Media items to attach to the post. Each item should match the shape returned by
POST /posts/{post}/media — id, path, url, type, mime_type, original_filename. Most callers use the dedicated upload or attach-from-URL endpoint instead.ISO 8601 datetime in the future (e.g.
2026-05-10T15:30:00Z). Stored on the draft so a follow-up PUT with status=scheduled doesn’t have to repeat it. Defaults to today at 09:00 UTC.Workspace label UUIDs to attach. Must belong to the same workspace as the API key.
Response
Returns201 with the created post. Response shape is identical to GET /posts/{post} — see that endpoint for full field documentation.

