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 0ea92f336d98, read at 2026-09-20T04:40:38.717Z.
Posts
| Method | Path | Permission |
|---|---|---|
GET | /v1/jobs | posts:read |
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}/repost | 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 |
GET | /v1/posts/{id}/package | posts:read |
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/keyframes | renders:write |
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 |
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 |
GET | /v1/media/renders | media:read |
POST | /v1/media/renders/{id}/delete | media: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 |
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 |
Publishing
| 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 |
POST | /v1/deliveries/{id}/redeliver | connections:write |
Publishing - Webhooks
| Method | Path | Permission |
|---|---|---|
GET | /v1/webhook | webhooks:read |
PUT | /v1/webhook | webhooks:write |
Received
| Method | Path | Permission |
|---|---|---|
GET | /v1/ingest-events | received:read |
GET | /v1/ingest-events/{id} | received: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 |
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 |
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/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}/revoke | signed-in person |
GET | /v1/keys/permissions | signed-in person |
POST | /v1/licence | signed-in person |
GET | /v1/ready | 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 |
POST | /v1/team/name | signed-in person |
POST | /v1/templates/sync | signed-in person |
POST | /v1/webhook/secret | signed-in person |
GET | /v1/whoami | signed-in person |