REST API
Authentication, request and response formats, paging, and every endpoint of the scheduler’s REST API.
The Scheduler API manages a project’s jobs and reads their runs. Send every request to https://scheduler-api.digitospace.com. The paths below are relative to it.
Authentication
Send your token as a bearer token on every request:
Authorization: Bearer <token>A missing or unknown token gets 401 with the code unauthenticated.
Requests and responses
- Request bodies are JSON, sent with
Content-Type: application/json, and at most 1 MB. - Times are RFC 3339 in UTC, such as
2026-09-25T23:00:00Z. - Durations are whole seconds.
Every successful response wraps its result in data, with details about the request in meta:
{
"data": { "id": "01m3c081d2wj4g63qcr53pa1yh", "name": "Nightly report" },
"meta": { "requestId": "01m3c081dbf3j55x7hsa7wc1yj" }
}Every failure is a problem document with a stable code. See Errors.
Paging
Lists are newest first, 50 to a page. Pass limit for up to 200 to a page.
For the next page, pass meta.page.nextCursor from the last response as cursor. It is null on the last page.
GET /v1/projects/{project}/jobs?limit=100&cursor=01m3c081d2wj4g63qcr53pa1yhEndpoints
| Method | Path | Does |
|---|---|---|
GET | /v1/projects/{project}/jobs | List jobs |
POST | /v1/projects/{project}/jobs | Create a job |
GET | /v1/projects/{project}/jobs/{job} | Read a job |
PUT | /v1/projects/{project}/jobs/{job} | Replace a job’s settings |
DELETE | /v1/projects/{project}/jobs/{job} | Delete a job and its runs |
POST | /v1/projects/{project}/jobs/{job}/pause | Stop scheduling it |
POST | /v1/projects/{project}/jobs/{job}/resume | Schedule it again, from now |
POST | /v1/projects/{project}/jobs/{job}/run | Run it now |
GET | /v1/projects/{project}/jobs/{job}/runs | List its runs |
GET | /v1/projects/{project}/jobs/{job}/runs/{run} | Read a run and its attempts |
POST | /v1/schedules/preview | The next 5 times a schedule runs |
Last updated