Pipeline schedules¶
Run a locked pipeline version on a recurring cron schedule.
List pipeline schedules by pipeline_ ID¶
Operation path: GET /api/v2/pipelines/{pipeline_id}/schedules
List the schedules of a pipeline, across all of its versions.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| pipeline_id | path | string | true | Pipeline ID |
| offset | query | integer | false | none |
| limit | query | integer | false | none |
Example responses¶
200 Response
{
"properties": {
"count": {
"readOnly": true,
"title": "Count",
"type": "integer"
},
"data": {
"items": {
"description": "Response schema for a pipeline schedule. ``image_id`` + ``image_version`` surface the snapshot values so a client can render the image the schedule locked to (useful for an upgrade-my-schedule flow that recreates the schedule against a newer image version).",
"properties": {
"createdAt": {
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"cronExpression": {
"title": "Cronexpression",
"type": "string"
},
"id": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Id",
"type": "string"
},
"imageId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Imageid",
"type": "string"
},
"imageVersion": {
"title": "Imageversion",
"type": "integer"
},
"pipelineId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Pipelineid",
"type": "string"
},
"status": {
"description": "Lifecycle status of a pipeline schedule.",
"enum": [
"ACTIVE",
"PAUSED",
"DELETED"
],
"title": "PipelineScheduleStatus",
"type": "string"
},
"timezone": {
"title": "Timezone",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"title": "Updatedat",
"type": "string"
},
"version": {
"title": "Version",
"type": "integer"
}
},
"required": [
"id",
"pipelineId",
"version",
"imageId",
"imageVersion",
"cronExpression",
"timezone",
"status",
"createdAt",
"updatedAt"
],
"title": "PipelineScheduleResponse",
"type": "object"
},
"title": "Data",
"type": "array"
},
"next": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next"
},
"previous": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Previous"
},
"totalCount": {
"title": "Totalcount",
"type": "integer"
}
},
"required": [
"data",
"totalCount",
"count"
],
"title": "DataPage[PipelineScheduleResponse]",
"type": "object"
}
Responses¶
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | DataPage_PipelineScheduleResponse_ |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Create pipeline schedule by pipeline_ ID¶
Operation path: POST /api/v2/pipelines/{pipeline_id}/schedules
Schedule a locked pipeline version to run on a recurring cron schedule.
Body parameter¶
{
"description": "Request body for post /pipelines/{pid}/schedules. every field except ``timezone`` is user-supplied and required. ``pipeline_version_id`` identifies the locked version (source + entrypoint) that the schedule fires; ``pipeline_input_id`` the immutable input payload; ``image_id`` + ``image_version`` the ``pipelineimage`` the cronjob's container runs. together they form the reproducibility tuple the spec's design decision a snapshots at create-time.",
"properties": {
"cronExpression": {
"title": "Cronexpression",
"type": "string"
},
"imageId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Imageid",
"type": "string"
},
"imageVersion": {
"title": "Imageversion",
"type": "integer"
},
"pipelineInputId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Pipelineinputid",
"type": "string"
},
"pipelineVersionId": {
"title": "Pipelineversionid",
"type": "integer"
},
"timezone": {
"default": "UTC",
"title": "Timezone",
"type": "string"
}
},
"required": [
"cronExpression",
"pipelineVersionId",
"pipelineInputId",
"imageId",
"imageVersion"
],
"title": "PipelineScheduleCreateRequest",
"type": "object"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| pipeline_id | path | string | true | Pipeline ID |
| body | body | PipelineScheduleCreateRequest | true | none |
Example responses¶
201 Response
{
"description": "Response schema for a pipeline schedule. ``image_id`` + ``image_version`` surface the snapshot values so a client can render the image the schedule locked to (useful for an upgrade-my-schedule flow that recreates the schedule against a newer image version).",
"properties": {
"createdAt": {
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"cronExpression": {
"title": "Cronexpression",
"type": "string"
},
"id": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Id",
"type": "string"
},
"imageId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Imageid",
"type": "string"
},
"imageVersion": {
"title": "Imageversion",
"type": "integer"
},
"pipelineId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Pipelineid",
"type": "string"
},
"status": {
"description": "Lifecycle status of a pipeline schedule.",
"enum": [
"ACTIVE",
"PAUSED",
"DELETED"
],
"title": "PipelineScheduleStatus",
"type": "string"
},
"timezone": {
"title": "Timezone",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"title": "Updatedat",
"type": "string"
},
"version": {
"title": "Version",
"type": "integer"
}
},
"required": [
"id",
"pipelineId",
"version",
"imageId",
"imageVersion",
"cronExpression",
"timezone",
"status",
"createdAt",
"updatedAt"
],
"title": "PipelineScheduleResponse",
"type": "object"
}
Responses¶
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 201 | Created | Successful Response | PipelineScheduleResponse |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Delete pipeline schedule by pipeline_ ID¶
Operation path: DELETE /api/v2/pipelines/{pipeline_id}/schedules/{schedule_id}
Delete a pipeline schedule. Future runs are not started.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| pipeline_id | path | string | true | Pipeline ID |
| schedule_id | path | string | true | Schedule ID |
Example responses¶
422 Response
{
"properties": {
"detail": {
"items": {
"properties": {
"ctx": {
"title": "Context",
"type": "object"
},
"input": {
"title": "Input"
},
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location",
"type": "array"
},
"msg": {
"title": "Message",
"type": "string"
},
"type": {
"title": "Error Type",
"type": "string"
}
},
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError",
"type": "object"
},
"title": "Detail",
"type": "array"
}
},
"title": "HTTPValidationError",
"type": "object"
}
Responses¶
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 204 | No Content | Successful Response | None |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Get pipeline schedule by pipeline_ ID¶
Operation path: GET /api/v2/pipelines/{pipeline_id}/schedules/{schedule_id}
Retrieve a pipeline schedule.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| pipeline_id | path | string | true | Pipeline ID |
| schedule_id | path | string | true | Schedule ID |
Example responses¶
200 Response
{
"description": "Response schema for a pipeline schedule. ``image_id`` + ``image_version`` surface the snapshot values so a client can render the image the schedule locked to (useful for an upgrade-my-schedule flow that recreates the schedule against a newer image version).",
"properties": {
"createdAt": {
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"cronExpression": {
"title": "Cronexpression",
"type": "string"
},
"id": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Id",
"type": "string"
},
"imageId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Imageid",
"type": "string"
},
"imageVersion": {
"title": "Imageversion",
"type": "integer"
},
"pipelineId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Pipelineid",
"type": "string"
},
"status": {
"description": "Lifecycle status of a pipeline schedule.",
"enum": [
"ACTIVE",
"PAUSED",
"DELETED"
],
"title": "PipelineScheduleStatus",
"type": "string"
},
"timezone": {
"title": "Timezone",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"title": "Updatedat",
"type": "string"
},
"version": {
"title": "Version",
"type": "integer"
}
},
"required": [
"id",
"pipelineId",
"version",
"imageId",
"imageVersion",
"cronExpression",
"timezone",
"status",
"createdAt",
"updatedAt"
],
"title": "PipelineScheduleResponse",
"type": "object"
}
Responses¶
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | PipelineScheduleResponse |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Update pipeline schedule by pipeline_ ID¶
Operation path: PATCH /api/v2/pipelines/{pipeline_id}/schedules/{schedule_id}
Update the cron expression or timezone of a pipeline schedule.
Body parameter¶
{
"description": "Request body for patch /pipelines/{pid}/schedules/{sid}. only the mutable fields — the image snapshot + user identity are frozen at create-time (see model docstring).",
"properties": {
"cronExpression": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cronexpression"
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Timezone"
}
},
"title": "PipelineScheduleUpdateRequest",
"type": "object"
}
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| pipeline_id | path | string | true | Pipeline ID |
| schedule_id | path | string | true | Schedule ID |
| body | body | PipelineScheduleUpdateRequest | true | none |
Example responses¶
200 Response
{
"description": "Response schema for a pipeline schedule. ``image_id`` + ``image_version`` surface the snapshot values so a client can render the image the schedule locked to (useful for an upgrade-my-schedule flow that recreates the schedule against a newer image version).",
"properties": {
"createdAt": {
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"cronExpression": {
"title": "Cronexpression",
"type": "string"
},
"id": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Id",
"type": "string"
},
"imageId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Imageid",
"type": "string"
},
"imageVersion": {
"title": "Imageversion",
"type": "integer"
},
"pipelineId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Pipelineid",
"type": "string"
},
"status": {
"description": "Lifecycle status of a pipeline schedule.",
"enum": [
"ACTIVE",
"PAUSED",
"DELETED"
],
"title": "PipelineScheduleStatus",
"type": "string"
},
"timezone": {
"title": "Timezone",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"title": "Updatedat",
"type": "string"
},
"version": {
"title": "Version",
"type": "integer"
}
},
"required": [
"id",
"pipelineId",
"version",
"imageId",
"imageVersion",
"cronExpression",
"timezone",
"status",
"createdAt",
"updatedAt"
],
"title": "PipelineScheduleResponse",
"type": "object"
}
Responses¶
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | Successful Response | PipelineScheduleResponse |
| 422 | Unprocessable Entity | Validation Error | HTTPValidationError |
Schemas¶
DataPage_PipelineScheduleResponse_
{
"properties": {
"count": {
"readOnly": true,
"title": "Count",
"type": "integer"
},
"data": {
"items": {
"description": "Response schema for a pipeline schedule. ``image_id`` + ``image_version`` surface the snapshot values so a client can render the image the schedule locked to (useful for an upgrade-my-schedule flow that recreates the schedule against a newer image version).",
"properties": {
"createdAt": {
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"cronExpression": {
"title": "Cronexpression",
"type": "string"
},
"id": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Id",
"type": "string"
},
"imageId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Imageid",
"type": "string"
},
"imageVersion": {
"title": "Imageversion",
"type": "integer"
},
"pipelineId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Pipelineid",
"type": "string"
},
"status": {
"description": "Lifecycle status of a pipeline schedule.",
"enum": [
"ACTIVE",
"PAUSED",
"DELETED"
],
"title": "PipelineScheduleStatus",
"type": "string"
},
"timezone": {
"title": "Timezone",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"title": "Updatedat",
"type": "string"
},
"version": {
"title": "Version",
"type": "integer"
}
},
"required": [
"id",
"pipelineId",
"version",
"imageId",
"imageVersion",
"cronExpression",
"timezone",
"status",
"createdAt",
"updatedAt"
],
"title": "PipelineScheduleResponse",
"type": "object"
},
"title": "Data",
"type": "array"
},
"next": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Next"
},
"previous": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Previous"
},
"totalCount": {
"title": "Totalcount",
"type": "integer"
}
},
"required": [
"data",
"totalCount",
"count"
],
"title": "DataPage[PipelineScheduleResponse]",
"type": "object"
}
DataPage[PipelineScheduleResponse]
Properties¶
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| count | integer | true | none | |
| data | [PipelineScheduleResponse] | true | [Response schema for a pipeline schedule. image_id + image_version surface the snapshot values so a client can render the image the schedule locked to (useful for an upgrade-my-schedule flow that recreates the schedule against a newer image version).] |
|
| next | any | false | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | string | false | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | null | false | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| previous | any | false | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | string | false | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | null | false | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| totalCount | integer | true | none |
HTTPValidationError
{
"properties": {
"detail": {
"items": {
"properties": {
"ctx": {
"title": "Context",
"type": "object"
},
"input": {
"title": "Input"
},
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location",
"type": "array"
},
"msg": {
"title": "Message",
"type": "string"
},
"type": {
"title": "Error Type",
"type": "string"
}
},
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError",
"type": "object"
},
"title": "Detail",
"type": "array"
}
},
"title": "HTTPValidationError",
"type": "object"
}
HTTPValidationError
Properties¶
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| detail | [ValidationError] | false | none |
PipelineScheduleCreateRequest
{
"description": "Request body for post /pipelines/{pid}/schedules. every field except ``timezone`` is user-supplied and required. ``pipeline_version_id`` identifies the locked version (source + entrypoint) that the schedule fires; ``pipeline_input_id`` the immutable input payload; ``image_id`` + ``image_version`` the ``pipelineimage`` the cronjob's container runs. together they form the reproducibility tuple the spec's design decision a snapshots at create-time.",
"properties": {
"cronExpression": {
"title": "Cronexpression",
"type": "string"
},
"imageId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Imageid",
"type": "string"
},
"imageVersion": {
"title": "Imageversion",
"type": "integer"
},
"pipelineInputId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Pipelineinputid",
"type": "string"
},
"pipelineVersionId": {
"title": "Pipelineversionid",
"type": "integer"
},
"timezone": {
"default": "UTC",
"title": "Timezone",
"type": "string"
}
},
"required": [
"cronExpression",
"pipelineVersionId",
"pipelineInputId",
"imageId",
"imageVersion"
],
"title": "PipelineScheduleCreateRequest",
"type": "object"
}
PipelineScheduleCreateRequest
Properties¶
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| cronExpression | string | true | none | |
| imageId | string | true | maxLength: 24 minLength: 24 minLength: 24 |
none |
| imageVersion | integer | true | none | |
| pipelineInputId | string | true | maxLength: 24 minLength: 24 minLength: 24 |
none |
| pipelineVersionId | integer | true | none | |
| timezone | string | false | none |
PipelineScheduleResponse
{
"description": "Response schema for a pipeline schedule. ``image_id`` + ``image_version`` surface the snapshot values so a client can render the image the schedule locked to (useful for an upgrade-my-schedule flow that recreates the schedule against a newer image version).",
"properties": {
"createdAt": {
"format": "date-time",
"title": "Createdat",
"type": "string"
},
"cronExpression": {
"title": "Cronexpression",
"type": "string"
},
"id": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Id",
"type": "string"
},
"imageId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Imageid",
"type": "string"
},
"imageVersion": {
"title": "Imageversion",
"type": "integer"
},
"pipelineId": {
"maxLength": 24,
"minLength": 24,
"pattern": "^[0-9a-fA-F]{24}$",
"title": "Pipelineid",
"type": "string"
},
"status": {
"description": "Lifecycle status of a pipeline schedule.",
"enum": [
"ACTIVE",
"PAUSED",
"DELETED"
],
"title": "PipelineScheduleStatus",
"type": "string"
},
"timezone": {
"title": "Timezone",
"type": "string"
},
"updatedAt": {
"format": "date-time",
"title": "Updatedat",
"type": "string"
},
"version": {
"title": "Version",
"type": "integer"
}
},
"required": [
"id",
"pipelineId",
"version",
"imageId",
"imageVersion",
"cronExpression",
"timezone",
"status",
"createdAt",
"updatedAt"
],
"title": "PipelineScheduleResponse",
"type": "object"
}
PipelineScheduleResponse
Properties¶
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| createdAt | string(date-time) | true | none | |
| cronExpression | string | true | none | |
| id | string | true | maxLength: 24 minLength: 24 minLength: 24 |
none |
| imageId | string | true | maxLength: 24 minLength: 24 minLength: 24 |
none |
| imageVersion | integer | true | none | |
| pipelineId | string | true | maxLength: 24 minLength: 24 minLength: 24 |
none |
| status | PipelineScheduleStatus | true | Lifecycle status of a pipeline schedule. | |
| timezone | string | true | none | |
| updatedAt | string(date-time) | true | none | |
| version | integer | true | none |
PipelineScheduleStatus
{
"description": "Lifecycle status of a pipeline schedule.",
"enum": [
"ACTIVE",
"PAUSED",
"DELETED"
],
"title": "PipelineScheduleStatus",
"type": "string"
}
PipelineScheduleStatus
Properties¶
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| PipelineScheduleStatus | string | false | Lifecycle status of a pipeline schedule. |
Enumerated Values¶
| Property | Value |
|---|---|
| PipelineScheduleStatus | [ACTIVE, PAUSED, DELETED] |
PipelineScheduleUpdateRequest
{
"description": "Request body for patch /pipelines/{pid}/schedules/{sid}. only the mutable fields — the image snapshot + user identity are frozen at create-time (see model docstring).",
"properties": {
"cronExpression": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Cronexpression"
},
"timezone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Timezone"
}
},
"title": "PipelineScheduleUpdateRequest",
"type": "object"
}
PipelineScheduleUpdateRequest
Properties¶
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| cronExpression | any | false | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | string | false | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | null | false | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| timezone | any | false | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | string | false | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | null | false | none |
ValidationError
{
"properties": {
"ctx": {
"title": "Context",
"type": "object"
},
"input": {
"title": "Input"
},
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"title": "Location",
"type": "array"
},
"msg": {
"title": "Message",
"type": "string"
},
"type": {
"title": "Error Type",
"type": "string"
}
},
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError",
"type": "object"
}
ValidationError
Properties¶
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| ctx | object | false | none | |
| input | any | false | none | |
| loc | [anyOf] | true | none |
anyOf
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | string | false | none |
or
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » anonymous | integer | false | none |
continued
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| msg | string | true | none | |
| type | string | true | none |