API Reference

API overview

Base URL, versioning, SDKs

Everything OpenPost does in the UI is also available through a versioned REST API. The API is JSON-in, JSON-out, authenticated with a workspace-scoped Bearer token. If you can make an HTTP request, you can automate your publishing.

Base URL

http
https://api.openpost.so/v1

Versioning

URL path (/v1). Breaking changes ship a new /v2.

Transport

HTTPS only. TLS 1.2+

Content type

application/json

Timezones

All timestamps are ISO 8601 UTC

Rate limit

300 req/min per workspace (same on all plans)

Upload caps

1 GB video, 30 MB image. Schedule up to 180 days out.

Quick example

curl
curl -X POST https://api.openpost.so/v1/posts \
  -H "Authorization: Bearer $OP_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Hello world from the OpenPost API",
    "platforms": ["twitter", "bluesky"],
    "schedule_at": "2026-05-01T14:00:00Z"
  }'
json
{
  "id": "3a6f1e9e-4c2b-4a1d-9e3a-112233445566",
  "status": "scheduled",
  "scheduled_at": "2026-05-01T14:00:00Z",
  "platforms": ["twitter", "bluesky"]
}

Platforms vs integrations

When creating a post you pass platforms— the platform names of the accounts you’ve connected in your workspace (twitter, bluesky, linkedin, and so on). Integrations are the underlying connected accounts; list them with GET /v1/integrationsto see what’s available.

Platforms currently live

X and Bluesky are live for posting today. Instagram, YouTube, TikTok, Threads, Facebook, and LinkedIn are in platform review and will enable once approved.

Recipes

Copy-paste starting points for the most common workflows. Swap $OP_KEY for your own key. See per-platform fields for the full set of platform-specific options.

Schedule a tweet with a reply restriction

curl
curl -X POST https://api.openpost.so/v1/posts \
  -H "Authorization: Bearer $OP_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Shipping v2 in 24 hours.",
    "platforms": ["twitter"],
    "schedule_at": "2026-05-01T14:00:00Z",
    "platform_settings": {
      "twitter": { "who_can_reply": "following" }
    }
  }'

Post to X and Bluesky at once

curl
curl -X POST https://api.openpost.so/v1/posts \
  -H "Authorization: Bearer $OP_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Launching today.",
    "platforms": ["twitter", "bluesky"],
    "platform_overrides": {
      "bluesky": "Launching today on Bluesky too!"
    }
  }'

Start here

Resources

SDKs

Official SDKs are coming soon. For now, any HTTP client works — the API is plain JSON over HTTPS.

Last updated April 2026 Edit this page