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=01m3c081d2wj4g63qcr53pa1yh

Endpoints

MethodPathDoes
GET/v1/projects/{project}/jobsList jobs
POST/v1/projects/{project}/jobsCreate 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}/pauseStop scheduling it
POST/v1/projects/{project}/jobs/{job}/resumeSchedule it again, from now
POST/v1/projects/{project}/jobs/{job}/runRun it now
GET/v1/projects/{project}/jobs/{job}/runsList its runs
GET/v1/projects/{project}/jobs/{job}/runs/{run}Read a run and its attempts
POST/v1/schedules/previewThe next 5 times a schedule runs

Last updated