List posts
Requires scope: `posts:read`. Returns the post queue with status counts and a pagination envelope. Defaults to queue statuses (draft, scheduled, etc.) unless `status` is supplied.
Authorization
ApiKey A personal API key created in the dashboard (Starter, Pro, and Team plans).
In: header
Query Parameters
Comma-separated statuses to include (e.g. draft,scheduled,posted).
Filter to a single source (e.g. api, blog, onboarding).
Only return posts scheduled at or after this ISO 8601 UTC time.
date-timeOnly return posts scheduled at or before this ISO 8601 UTC time.
date-timeOnly return posts targeting this platform (e.g. twitter, linkedin).
Sort field (e.g. scheduled_at, created_at).
Value in
- "asc"
- "desc"
Page size. Default 100, maximum 200.
value <= 2001000Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/posts"{ "posts": [ { "id": 9001, "status": "scheduled", "scheduled_at": "2026-07-14T15:00:00Z", "source": "api", "post_contents": [ { "id": 5501, "platform": "twitter", "body": "Shipping something small today.", "content_type": "text", "position": 0 } ], "body": "Shipping something small today." } ], "counts": { "scheduled": 12, "draft": 3, "posted": 140, "failed": 1 }, "meta": { "limit": 100, "offset": 0, "total_count": 156 }}Get the authenticated account GET
Returns the account profile, subscription tier, and workspace context. Requires any valid key (no specific scope).
Create a post POST
Requires scope: `posts:write`. Supply `post_contents` (one entry per platform) and `social_account_ids`. Omit `scheduled_at` to create a draft. Recurrence fields require a paid plan.