Base URL
https://api.rotor.sh
All API endpoints are versioned under /v1/.
Authentication
All /v1/* routes require a workspace API key passed as a Bearer token:
Authorization: Bearer rt_ws_your_key_hereWorkspace keys are prefixed rt_ws_ and scoped to a single workspace. Generate them from your workspace settings at rotor.sh.
Rate Limits
Requests are rate-limited per workspace based on your plan:
| Plan | Requests/minute |
|---|---|
| Free | 60 |
| Pro | 300 |
| Team | 1,000 |
| Enterprise | Custom |
Error Format
All errors return a consistent JSON envelope:
{
"error": {
"code": "QUOTA_EXCEEDED",
"message": "Monthly job quota exceeded for this workspace",
"details": { "used": 10000, "limit": 10000, "plan": "free" }
}
}Tag Groups
The OpenAPI spec below groups endpoints by resource:
- Queues — create, list, get, delete queues; per-queue metrics
- Jobs — enqueue single + batch; get status; retry; DLQ management
- Schedules — create, list, pause, resume, delete recurring jobs
- Status — workspace health check + quota usage
- Usage — billing-period execution breakdown
- Metrics — Prometheus-compatible counters (internal; gated at infra level)
OpenAPI Spec
Download the full machine-readable spec:
curl https://api.rotor.sh/doc -o openapi.jsonThe spec covers all /v1 endpoints with full request/response schemas. You can import it into Insomnia, Postman, or any OpenAPI-compatible client.
Endpoints at a glance
| Method | Path | Description |
|---|---|---|
| GET | /v1/queues | List all queues |
| POST | /v1/queues | Create a queue |
| GET | /v1/queues/:name | Get queue config + metrics |
| PATCH | /v1/queues/:name | Update queue config |
| DELETE | /v1/queues/:name | Delete a queue |
| POST | /v1/queues/:name/jobs | Enqueue a job |
| POST | /v1/queues/:name/jobs/batch | Enqueue jobs in bulk |
| GET | /v1/queues/:name/jobs | List jobs (with ?state=, ?tag=) |
| GET | /v1/queues/:name/jobs/:id | Get job status |
| DELETE | /v1/queues/:name/jobs/:id | Cancel / delete a job |
| POST | /v1/queues/:name/jobs/:id/retry | Retry a failed job |
| GET | /v1/schedules | List schedules |
| POST | /v1/schedules | Create a schedule |
| PATCH | /v1/schedules/:name/pause | Pause a schedule |
| PATCH | /v1/schedules/:name/resume | Resume a schedule |
| DELETE | /v1/schedules/:name | Delete a schedule |
| GET | /v1/status | Workspace health + quota |
| GET | /v1/usage | Billing-period execution breakdown |