Every endpoint
The whole workspace API, grouped by the permission that reaches it. Generated from a running Reelwire, so this is what the server actually serves rather than what somebody remembered to write down. Platform routes, which belong to Reelwire staff, are not listed.
Base URL in development is http://localhost:4000. Every path below is prefixed with that.
note
Contract 0967143e8947, read at 2026-09-29T02:57:29.717Z.
Posts
| Method | Path | Permission |
|---|---|---|
GET | /v1/jobs | posts:read |
POST | /v1/jobs/{id}/archive | posts:write |
POST | /v1/jobs/{id}/cancel | posts:write |
POST | /v1/jobs/{id}/delete | posts:write |
GET | /v1/jobs/{id}/download | posts:read |
POST | /v1/jobs/{id}/mark-deleted | posts:write |
POST | /v1/jobs/{id}/mark-published | posts:write |
POST | /v1/jobs/{id}/repost | posts:write |
POST | /v1/jobs/{id}/resend-email | posts:write |
POST | /v1/jobs/{id}/resend-webhook | posts:write |
GET | /v1/jobs/{id}/reuse | posts:read |
POST | /v1/jobs/{id}/skip | posts:write |
POST | /v1/jobs/{id}/unarchive | posts:write |
POST | /v1/jobs/{id}/update | posts:write |
GET | /v1/overview | posts:read |
GET | /v1/pipeline | posts:read |
GET | /v1/pipeline/{id} | posts:read |
GET | /v1/posts | posts:read |
POST | /v1/posts/{id}/metrics | posts:write |
GET | /v1/posts/{id}/package | posts:read |
POST | /v1/posts/{id}/report | posts:write |
Posts - Approvals
| Method | Path | Permission |
|---|---|---|
GET | /v1/approvals | approvals:read |
POST | /v1/approvals/{id} | approvals:write |
Schedule
| Method | Path | Permission |
|---|---|---|
GET | /v1/calendar | schedule:read |
Templates
| Method | Path | Permission |
|---|---|---|
GET | /v1/catalogue | templates:read |
GET | /v1/formats/feed/{feedId} | templates:read |
GET | /v1/formats/feed/{source}/{format} | templates:read |
GET | /v1/formats/template/{templateId} | templates:read |
GET | /v1/formats/templates | templates:read |
GET | /v1/templates | templates:read |
GET | /v1/templates/{templateId}/reference | templates:read |
GET | /v1/templates/{templateId}/reference/{ratio} | templates:read |
Templates - Direct export
| Method | Path | Permission |
|---|---|---|
POST | /v1/direct-export/batch | renders:write |
POST | /v1/direct-export/keyframes | renders:write |
GET | /v1/direct-export/queue | renders:read |
POST | /v1/direct-export/timing | renders:write |
POST | /v1/direct-export/video | renders:write |
GET | /v1/direct-export/video/{jobId} | renders:read |
POST | /v1/direct-export/video/{jobId}/discard | renders:write |
GET | /v1/direct-export/video/{jobId}/download | renders:read |
POST | /v1/direct-export/video/{jobId}/link | renders:write |
GET | /v1/direct-export/video/{jobId}/reuse | renders:read |
GET | /v1/direct-export/videos | renders:read |
GET | /v1/direct-export/videos/{jobId} | renders:read |
POST | /v1/direct-export/zip | renders:write |
GET | /v1/render-jobs | renders:read |
GET | /v1/render-jobs/{id}/package | renders:read |
Media
| Method | Path | Permission |
|---|---|---|
GET | /v1/assets/{id} | media:read |
GET | /v1/assets/{id}/download | media:read |
GET | /v1/media | media:read |
POST | /v1/media | media:write |
POST | /v1/media/{id}/delete | media:write |
POST | /v1/media/{id}/rename | media:write |
GET | /v1/media/{id}/uses | media:read |
POST | /v1/media/import | media:write |
GET | /v1/media/renders | media:read |
POST | /v1/media/renders/{id}/delete | media:write |
GET | /v1/media/renders/{id}/reuse | media:read |
POST | /v1/media/upload-link | media:write |
Media - AI assistant
| Method | Path | Permission |
|---|---|---|
GET | /v1/ai/chats | ai:read |
POST | /v1/ai/chats | ai:write |
GET | /v1/ai/chats/{id} | ai:read |
POST | /v1/ai/chats/{id}/messages | ai:write |
POST | /v1/ai/chats/{id}/stop | ai:write |
POST | /v1/ai/generate | ai:write |
GET | /v1/ai/models | ai:read |
POST | /v1/ai/results/{id}/keep | ai:write |
Brands
| Method | Path | Permission |
|---|---|---|
GET | /v1/brands | brands:read |
POST | /v1/brands | brands:write |
GET | /v1/brands/{id} | brands:read |
PATCH | /v1/brands/{id} | brands:write |
POST | /v1/brands/{id}/assets/{slot} | brands:write |
POST | /v1/brands/{id}/assets/{slot}/delete | brands:write |
POST | /v1/brands/{id}/assets/{slot}/link | brands:write |
POST | /v1/brands/{id}/delete | brands:write |
GET | /v1/brands/draft | brands:read |
POST | /v1/brands/palette | brands:write |
Channels
| Method | Path | Permission |
|---|---|---|
GET | /v1/channels | channels:read |
POST | /v1/channels | channels:write |
PATCH | /v1/channels/{id} | channels:write |
PUT | /v1/channels/{id}/credentials | channels:write |
POST | /v1/channels/{id}/credentials/delete | channels:write |
POST | /v1/channels/{id}/delete | channels:write |
POST | /v1/channels/{id}/subscriptions | channels:write |
PATCH | /v1/channels/{id}/subscriptions/{subId} | channels:write |
POST | /v1/channels/{id}/subscriptions/{subId}/delete | channels:write |
GET | /v1/channels/surfaces | channels:read |
Syndication
| Method | Path | Permission |
|---|---|---|
GET | /v1/syndication/deliveries | syndication:read |
POST | /v1/syndication/deliveries/{id}/redeliver | syndication:write |
GET | /v1/syndication/groups | syndication:read |
POST | /v1/syndication/groups | syndication:write |
GET | /v1/syndication/groups/{id} | syndication:read |
PATCH | /v1/syndication/groups/{id} | syndication:write |
POST | /v1/syndication/groups/{id}/delete | syndication:write |
POST | /v1/syndication/groups/{id}/partners | syndication:write |
GET | /v1/syndication/partners | syndication:read |
GET | /v1/syndication/partners/{id} | syndication:read |
PATCH | /v1/syndication/partners/{id} | syndication:write |
POST | /v1/syndication/partners/{id}/delete | syndication:write |
POST | /v1/syndication/preview | syndication:write |
POST | /v1/syndication/sender/test | syndication:write |
GET | /v1/syndication/settings | syndication:read |
PUT | /v1/syndication/settings | syndication:write |
Feeds
| Method | Path | Permission |
|---|---|---|
GET | /v1/feeds | feeds:read |
PUT | /v1/feeds | feeds:write |
GET | /v1/feeds/{feedId}/reference | feeds:read |
GET | /v1/feeds/{feedId}/reference/{ratio} | feeds:read |
Manual post lists
| Method | Path | Permission |
|---|---|---|
GET | /v1/queues | postlists:read |
POST | /v1/queues | postlists:write |
PATCH | /v1/queues/{id} | postlists:write |
POST | /v1/queues/{id}/delete | postlists:write |
POST | /v1/queues/{id}/packages | postlists:write |
PATCH | /v1/queues/{id}/packages/{packageId} | postlists:write |
POST | /v1/queues/{id}/packages/{packageId}/delete | postlists:write |
Custom feeds
| Method | Path | Permission |
|---|---|---|
GET | /v1/streams | streams:read |
POST | /v1/streams | streams:write |
POST | /v1/streams/{id}/delete | streams:write |
POST | /v1/streams/{id}/suggest-map | streams:write |
POST | /v1/streams/{id}/update | streams:write |
Custom feeds - Send raw data
| Method | Path | Permission |
|---|---|---|
POST | /v1/ingest/{source}/{format} | ingest:write |
POST | /v1/ingest/{source}/{format}/validate | ingest:write |
GET | /v1/stream | ingest:write |
POST | /v1/stream | ingest:write |
POST | /v1/stream/validate | ingest:write |
Webhook - Delivery log
| Method | Path | Permission |
|---|---|---|
GET | /v1/connections | connections:read |
PUT | /v1/connections/mode | connections:write |
GET | /v1/connector/adapters/{platform} | connections:read |
GET | /v1/connector/env | connections:read |
GET | /v1/connector/script/{language} | connections:read |
GET | /v1/deliveries | connections:read |
GET | /v1/deliveries/{id} | connections:read |
POST | /v1/deliveries/{id}/redeliver | connections:write |
Webhook
| Method | Path | Permission |
|---|---|---|
GET | /v1/webhook | webhooks:read |
PUT | /v1/webhook | webhooks:write |
POST | /v1/webhook/test | webhooks:write |
Received
| Method | Path | Permission |
|---|---|---|
GET | /v1/ingest-events | received:read |
GET | /v1/ingest-events/{id} | received:read |
Analytics
| Method | Path | Permission |
|---|---|---|
GET | /v1/analytics/posts | analytics:read |
GET | /v1/analytics/posts/{id} | analytics:read |
POST | /v1/analytics/snapshots/{id}/delete | analytics:write |
GET | /v1/analytics/summary | analytics:read |
A/B tests
| Method | Path | Permission |
|---|---|---|
GET | /v1/ab-tests | abtests:read |
POST | /v1/ab-tests | abtests:write |
GET | /v1/ab-tests/{id} | abtests:read |
POST | /v1/ab-tests/{id}/delete | abtests:write |
POST | /v1/ab-tests/{id}/promote | abtests:write |
POST | /v1/ab-tests/{id}/stop | abtests:write |
GET | /v1/ab-tests/options | abtests:read |
Team
| Method | Path | Permission |
|---|---|---|
GET | /v1/team/users | team:read |
POST | /v1/team/users | team:write |
PATCH | /v1/team/users/{userId} | team:write |
POST | /v1/team/users/{userId}/delete | team:write |
POST | /v1/team/users/{userId}/resend | team:write |
Allowance
| Method | Path | Permission |
|---|---|---|
GET | /v1/renders/quota | allowance:read |
Plan
| Method | Path | Permission |
|---|---|---|
GET | /v1/licence | plan:read |
Not available to API keys
These belong to a signed-in person. A key is refused on all of them, whatever it holds.
| Method | Path | Permission |
|---|---|---|
GET | /v1/_meta | signed-in person |
GET | /v1/_routes | signed-in person |
GET | /v1/ai-keys | signed-in person |
PUT | /v1/ai-keys/{provider}/{section} | signed-in person |
POST | /v1/ai-keys/{provider}/{section}/delete | signed-in person |
POST | /v1/auth/account/delete | signed-in person |
POST | /v1/auth/heartbeat | signed-in person |
POST | /v1/auth/login | signed-in person |
POST | /v1/auth/logout | signed-in person |
POST | /v1/auth/password-reset | signed-in person |
POST | /v1/auth/password-reset/confirm | signed-in person |
POST | /v1/auth/password-reset/request | signed-in person |
PATCH | /v1/auth/profile | signed-in person |
GET | /v1/auth/session | signed-in person |
POST | /v1/auth/signup | signed-in person |
POST | /v1/auth/verify | signed-in person |
POST | /v1/auth/verify/resend | signed-in person |
GET | /v1/billing | signed-in person |
POST | /v1/billing/address | signed-in person |
POST | /v1/billing/checkout | signed-in person |
GET | /v1/billing/checkout/{sessionId} | signed-in person |
GET | /v1/billing/confirmation | signed-in person |
POST | /v1/billing/confirmation/cancel | signed-in person |
POST | /v1/billing/payment | signed-in person |
POST | /v1/billing/plan | signed-in person |
POST | /v1/billing/portal | signed-in person |
POST | /v1/broadcast | signed-in person |
GET | /v1/broadcast/{id} | signed-in person |
POST | /v1/broadcast/validate | signed-in person |
GET | /v1/broadcasts | signed-in person |
GET | /v1/commission | signed-in person |
PATCH | /v1/commission | signed-in person |
GET | /v1/commission/contract | signed-in person |
POST | /v1/commission/payouts | signed-in person |
POST | /v1/commission/payouts/{id}/link | signed-in person |
GET | /v1/commission/payouts/{id}/statement | signed-in person |
PUT | /v1/commission/tax | signed-in person |
GET | /v1/commission/tax/document | signed-in person |
POST | /v1/commission/tax/document | signed-in person |
GET | /v1/export-files/{jobId} | signed-in person |
POST | /v1/forms | signed-in person |
GET | /v1/health | signed-in person |
GET | /v1/keys | signed-in person |
POST | /v1/keys | signed-in person |
PATCH | /v1/keys/{keyId} | signed-in person |
POST | /v1/keys/{keyId}/remove | signed-in person |
POST | /v1/keys/{keyId}/revoke | signed-in person |
GET | /v1/keys/permissions | signed-in person |
GET | /v1/kit/{token} | signed-in person |
POST | /v1/kit/{token}/{postGroupId}/deleted | signed-in person |
POST | /v1/kit/{token}/{postGroupId}/published | signed-in person |
POST | /v1/kit/{token}/{postGroupId}/skip | signed-in person |
POST | /v1/licence | signed-in person |
GET | /v1/mail/stop | signed-in person |
POST | /v1/mail/stop | signed-in person |
POST | /v1/oauth/consent | signed-in person |
POST | /v1/oauth/describe | signed-in person |
GET | /v1/partner/confirm/{token} | signed-in person |
POST | /v1/partner/confirm/{token} | signed-in person |
GET | /v1/partner/kit/{token} | signed-in person |
GET | /v1/partner/stop/{token} | signed-in person |
POST | /v1/partner/stop/{token} | signed-in person |
GET | /v1/payout | signed-in person |
POST | /v1/payout | signed-in person |
GET | /v1/ready | signed-in person |
GET | /v1/referrals/resolve | signed-in person |
POST | /v1/renders/buy | signed-in person |
POST | /v1/renders/drop | signed-in person |
POST | /v1/renders/keep | signed-in person |
POST | /v1/storage/split | signed-in person |
POST | /v1/stripe/webhook | signed-in person |
POST | /v1/team/leave | signed-in person |
GET | /v1/team/markets | signed-in person |
POST | /v1/team/markets | signed-in person |
POST | /v1/team/name | signed-in person |
POST | /v1/templates/sync | signed-in person |
POST | /v1/upload-files | signed-in person |
GET | /v1/version | signed-in person |
POST | /v1/webhook/secret | signed-in person |
GET | /v1/whoami | signed-in person |