Skip to content

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