An API with a human checkpoint.
Pro agents may read rooms and write drafts. Only workspace owners can submit for review, and only review-link visitors can approve. No endpoint publishes to social media.
Authentication
Create an agent key in your workspace. Send Authorization: Bearer prk_…. Keys are shown once, stored hashed, and can be revoked immediately. Pro access is checked on every request. Limit: 60 requests per minute per owner. Never put keys in browser code.
1. Find your room
GET /api/workspace Authorization: Bearer YOUR_AGENT_KEY
The response includes rooms, drafts, events, and plan limits. Copy your room’s id.
2. Create a draft
POST /api/drafts
Authorization: Bearer YOUR_AGENT_KEY
Content-Type: application/json
Idempotency-Key: campaign-oct-001
{
"room_id": "YOUR_ROOM_ID",
"title": "A new chapter",
"body": "Your post copy.",
"platform": "LinkedIn",
"planned_at": "2026-10-08T10:00"
}Returns 201 with id, version, and status. Reusing an idempotency key with identical content returns the original id. Different content returns 409. Keys contain 8–100 letters, digits, hyphens or underscores. Supported channels: LinkedIn, Instagram, X, Facebook, Newsletter. Title maximum: 140 characters. Body maximum: 5,000. Request maximum: 24 KB.
3. Edit without overwriting a review
PATCH /api/drafts/DRAFT_ID
Authorization: Bearer YOUR_AGENT_KEY
Content-Type: application/json
{
"version": 1,
"title": "Updated first line",
"body": "Updated post copy.",
"platform": "LinkedIn",
"planned_at": ""
}Pass the current version from GET /api/workspace. Stale updates return 409. Every edit increments the version and resets status to draft. An agent cannot set approved or send a draft for review.
4. Let a person decide
The owner sends the saved draft for review in PostRoom, creates a seven-day review link, and shares it with the client. A review link grants anyone holding it access to submitted content and decisions. Reviewer names are self-reported. Links can be revoked or rotated.
5. Retrieve approved content
GET /api/export/ROOM_ID Authorization: Bearer YOUR_AGENT_KEY
Returns CSV containing only approved drafts. Dates are planning notes with no inferred timezone. Publish using your existing tools after checking the latest version. PostRoom does not schedule or publish.
Errors and retries
400 invalid input · 401 missing/invalid credentials · 403 plan or permission restriction · 404 missing resource · 409 stale version or idempotency conflict · 413 body too large · 429 rate limit · 503 temporary failure. Retry transient failures with backoff. Reuse the same idempotency key for draft creation.
Plans
Free: 1 room, 10 stored drafts. Pro: 25 rooms, 500 stored drafts, 3 active API keys. Existing data remains readable on downgrade; creating content is subject to the free limits. No AI inference is performed or billed by PostRoom.