Post Bridge API
Create and schedule posts across all nine platforms from your own code. REST, JSON, one bearer token.
Introduction
The Post Bridge API lets you do everything the app does, programmatically: read your connected accounts, and create or schedule posts to any combination of them. It's a small, REST-ish API — JSON in, JSON out.
This clone documents the API surface; the live playground below runs against demo storage so you can see real request/response shapes.
Authentication
Every request needs a bearer token. Create one in the app under Configuration → API Keys. Keys are scoped to one workspace.
curl https://api.post-bridge.com/v1/connections \
-H "Authorization: Bearer pb_live_xxxxxxxx"
Connecting accounts
Accounts are connected once in the app via each platform's OAuth flow (Connections → Add account). The API is read-only for connections — it can't add accounts, only list them, so you always post to accounts a human explicitly authorized.
List connections
Returns every connected account and its platform.
{
"connections": [
{ "id": "cx_01", "platform": "x", "handle": "@postbridge" },
{ "id": "li_01", "platform": "linkedin", "handle": "Post Bridge" }
]
}
Create a post
Posts immediately to the given platforms (or accounts). Provide a shared caption and, optionally, per-platform overrides.
curl https://api.post-bridge.com/v1/posts \
-H "Authorization: Bearer pb_live_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"caption": "gm — shipped a new feature today",
"platforms": ["x", "bluesky", "linkedin"],
"overrides": { "linkedin": "Good morning. We shipped..." }
}'
Schedule a post
Add a schedule_at (ISO-8601) and the post is queued instead of sent.
{
"caption": "Reminder: free 7-day trial ends soon",
"platforms": ["x", "threads"],
"schedule_at": "2026-07-25T09:00:00Z"
}
List posts
Filter by status — draft, scheduled, or posted.
Playground
Edit the request body and run it. This executes against your demo workspace's storage and creates a real (demo-mode) post you'll see in the app.
Errors & rate limits
Errors return a JSON body with an error code and human message. Standard HTTP status codes apply. Rate limit: 120 requests/minute per key; posting is capped at 60 posts/hour to protect your accounts from platform-side spam flags.
| Code | Meaning |
|---|---|
401 unauthorized | Missing or invalid key |
422 over_limit | Caption exceeds a platform limit |
429 rate_limited | Slow down; retry after the header value |