v0.5.0
Reference

Schedule API

Register schedules and inspect or operate their runs.

Base URL: your SDK-facing API, locally http://localhost:8081. Read authentication and conventions first. Download OpenAPI 3.0 for the full machine-readable contract.

GET /schedules

List the application's schedules

Authentication: ApiKeyAuth

Parameters

NameInRequiredTypeDescription
statusqueryNostring
cursorqueryNostring
limitqueryNointeger

Responses

StatusMeaningSchema
200A page of schedules, each with a recent-run health summaryScheduleListResponse
400Invalid status filter or limitProblemDetails
401Missing or invalid API keyProblemDetails

PUT /schedules/{name}

Create or update a schedule

Idempotent upsert keyed on the application-scoped, case-insensitive name.

An unchanged body returns 200 without bumping definitionVersion or moving nextRunAt, so re-applying the same schedule on every deploy is a no-op. A changed body returns 200 with a new version and a re-planned next run. A new name returns 201. Re-applying an archived schedule brings it back Active.

definition is validated by the same rules as POST /pipelines.

Authentication: ApiKeyAuth

Parameters

NameInRequiredTypeDescription
namepathYesstringApplication-scoped schedule name, matched case-insensitively.

Request body

Required.

Content type: application/json. ScheduleUpsertRequest

yaml
$ref: "#/components/schemas/ScheduleUpsertRequest"

Responses

StatusMeaningSchema
200The existing schedule was updated or left unchangedSchedule
201A new schedule was createdSchedule
400Validation failed, with per-field messagesProblemDetails
401Missing or invalid API keyProblemDetails
500The schedule could not be storedProblemDetails

GET /schedules/{name}

Get one schedule

Authentication: ApiKeyAuth

Parameters

NameInRequiredTypeDescription
namepathYesstringApplication-scoped schedule name, matched case-insensitively.

Responses

StatusMeaningSchema
200Definition, policies, next and last run, health summarySchedule
400Invalid schedule nameProblemDetails
401Missing or invalid API keyProblemDetails
404No such schedule in this applicationProblemDetails

GET /schedules/{name}/runs

List a schedule's run history

Authentication: ApiKeyAuth

Parameters

NameInRequiredTypeDescription
namepathYesstringApplication-scoped schedule name, matched case-insensitively.
cursorqueryNostring
limitqueryNointeger

Responses

StatusMeaningSchema
200A page of runs, newest firstScheduleRunListResponse
400Invalid schedule name or limitProblemDetails
401Missing or invalid API key
404No such schedule in this applicationProblemDetails

POST /schedules/{name}/pause

Pause a schedule

Stops creating pipelines. The definition and history are kept.

Authentication: ApiKeyAuth

Parameters

NameInRequiredTypeDescription
namepathYesstringApplication-scoped schedule name, matched case-insensitively.

Responses

StatusMeaningSchema
200The paused scheduleSchedule
401Missing or invalid API key
404No such schedule in this applicationProblemDetails

POST /schedules/{name}/resume

Resume a schedule

Recomputes nextRunAt from now, so a schedule paused for a week does not wake up owing a week of ticks whatever its catch-up policy says.

Authentication: ApiKeyAuth

Parameters

NameInRequiredTypeDescription
namepathYesstringApplication-scoped schedule name, matched case-insensitively.

Responses

StatusMeaningSchema
200The resumed scheduleSchedule
400The stored schedule can no longer be plannedProblemDetails
401Missing or invalid API key
404No such schedule in this applicationProblemDetails
409The schedule has no future run (a Once schedule already past)ProblemDetails

POST /schedules/{name}/archive

Archive a schedule

Terminal. Re-applying the definition with PUT brings it back Active.

Authentication: ApiKeyAuth

Parameters

NameInRequiredTypeDescription
namepathYesstringApplication-scoped schedule name, matched case-insensitively.

Responses

StatusMeaningSchema
200The archived scheduleSchedule
401Missing or invalid API key
404No such schedule in this applicationProblemDetails

POST /schedules/{name}/trigger

Run a schedule immediately

Creates a run with trigger: Manual right away. It does not move the schedule's cursor, and overlap and catch-up policies do not apply — a manual run was explicitly asked for. The optional input replaces the first stage's input.

Authentication: ApiKeyAuth

Parameters

NameInRequiredTypeDescription
namepathYesstringApplication-scoped schedule name, matched case-insensitively.

Request body

Optional.

Content type: application/json. ScheduleTriggerRequest

yaml
$ref: "#/components/schemas/ScheduleTriggerRequest"

Responses

StatusMeaningSchema
201The manual run and its pipelineScheduleTriggerResponse
400Invalid payloadProblemDetails
401Missing or invalid API key
404No such schedule in this applicationProblemDetails
409The schedule is archivedProblemDetails
Download this page as MarkdownMatches the 0.5.0 source release

Start here