Skip to content

API, MCP and extension

Get started with the REST API

What the REST API covers, how requests are authenticated, scopes, cursor paging, safe retries with Idempotency-Key, rate limits and the OpenAPI file.

Last updated 2 min read

The REST API lets your own code work with a workspace: accounts, groups, posts, drafts, media, tags, queue times and analytics. It is part of the Ultimate plan.

Authentication

Send an API key in the Authorization header: Authorization: Bearer apk_.... A key acts as the person who created it, in its workspace, with that person's role and account access. Every rule of the app applies: approvals, plan limits and a locked workspace refusing changes. See API keys.

The OpenAPI document

GET /api/v1/openapi.json on your SocialApp address describes every operation and field, so you can generate a client.

Main operations

  • GET /api/v1/me: the key's workspace, person, role and plan.
  • GET /api/v1/accounts and /groups: what the key can reach.
  • POST /api/v1/posts: share now, schedule, add to queue, share next or save a draft, to accounts or groups.
  • GET /api/v1/posts?status=queued: the posts of a Manage Posts tab.
  • Media uploads in 8 MB parts, or an import from a link.
  • Tags, an account's queue times, and an account's analytics summary.

Paging, retries and limits

  • Lists return { data, nextCursor }. Pass cursor to get the next page, and limit up to 100.
  • Send an Idempotency-Key header with a UUID on creates: repeating the request returns the first answer and creates nothing new.
  • Each key can make 120 requests a minute. Every answer has RateLimit headers; over the limit you get 429 with Retry-After.

Posts made through the API are marked as such in Manage Posts.