Beta batch 4 is open: schedule to Bluesky, Mastodon, LinkedIn, Reddit, Telegram and Discord from one calendar. Request access
by Phronesis AI Lab
API

A REST API for the whole publishing loop

Create, schedule and queue posts, read analytics, manage channels and subscribe to webhooks. Plain JSON over HTTPS, versioned under /v1, with a CLI on top, and in beta while we harden it.

Endpoints

What the API covers

The four surfaces most integrations need: posts, scheduling, analytics and channels.

Posts

Create, update and publish posts to any connected channel. Attach media, set a version per network and read status through to publish.

Schedule

Schedule for a time or drop into the next queue slot, read the calendar and reschedule. Failed posts keep a reason and a retry, never silently dropped.

Analytics

Pull reach, engagement and clicks per post and per channel. The same numbers the app shows, ready for your own dashboards.

Channels

List connected accounts, check their health and start an OAuth connect flow for a new one. Know which channels are live before you post.

Request and response

Schedule a post, read it back

Send a post to a connected channel and get an id and status you can track. The example below is illustrative; field names may change while the API is in beta.

  • Bearer token auth with a workspace API key
  • Every response carries a status and an id
  • Rate-limit headers on every call
POST /v1/posts
# Request
POST /v1/posts
Authorization: Bearer sk_live_...

{
  "channel": "linkedin",
  "caption": "We're hiring a backend engineer",
  "schedule_at": "2026-09-24T09:30:00Z"
}

# Response  201 Created
{
  "id": "post_7c1e",
  "status": "scheduled",
  "channel": "linkedin",
  "schedule_at": "2026-09-24T09:30:00Z"
}
Platform

Auth, webhooks and limits

The plumbing around the endpoints, kept explicit so integrations stay predictable.

Authentication

Use a workspace API key for server-to-server calls, or the OAuth flow with scoped tokens to act on behalf of a customer.

Webhooks

Subscribe to publish, failure and approval events. Each delivery is a signed JSON payload, so your systems react in real time.

Rate limits

Per-workspace limits, with the remaining count and reset time on every response header. Back off cleanly instead of guessing.

Open to every beta workspace

The API, MCP server and CLI are available during the beta; webhooks fire on publish, failure and approval. Plans are not priced yet; the pricing page explains what is free.

View pricing
API FAQ

Questions about the API

Which plans include the API?

During the beta, the API, webhooks, the MCP server and the CLI are open to beta workspaces. Plans are not priced yet; we will publish exactly what each plan includes before paid plans launch.

Is there a CLI?

Yes. The CLI wraps the same endpoints, so you can schedule, queue and check post status from a terminal, a script or a CI job, authenticated with the same workspace API key.

API keys or OAuth?

Both. Use a workspace API key for your own server-to-server automation. Use OAuth with scoped tokens when you build something that acts on another customer workspace.

How do rate limits work?

Limits are per workspace. Every response carries headers with the limit, the remaining count and the reset time, so you can throttle before you hit a 429 rather than after.

Is the API stable?

The API is in beta while we harden it against real integrations. Endpoints are versioned under /v1 and we flag breaking changes in the changelog ahead of time.

What does a failed publish look like?

The publisher retries with backoff. If a platform still rejects the post, the status turns to a failure and a webhook fires with the reason, so your side can surface it and trigger a retry.

Wire your systems into the loop

The API, CLI and webhooks are open during the beta. Request access.