Skip to main content

Pipelines API Reference

The Michelangelo AI pipelines API provides four gRPC services that cover the full ML pipeline lifecycle. PipelineService manages pipeline definitions — the workflow templates that describe how to train, evaluate, and deploy models. PipelineRunService manages individual executions of those pipelines. TriggerRunService manages scheduled or batch trigger executions that spawn pipeline runs. ProjectService manages projects, the logical grouping that organizes related ML resources.

New to this reference? See How to Read the gRPC API Reference for the shared CRUD-plus-list pattern, the Required column, and how undocumented fields are shown.


PipelineService​

Pipeline Service defines the Pipeline related methods, such as CRUD and list.

A Pipeline represents a workflow that can be executed to train, evaluate, and deploy ML models. Manifests can be in YAML or UniFlow (Python SDK) format. A pipeline transitions through build states — CREATED, BUILDING, READY, or ERROR — before it can be run.

CreatePipeline​

CreatePipeline(CreatePipelineRequest) → CreatePipelineResponse

Create a new Pipeline with the given spec.

Request fields

FieldTypeRequiredDescription
pipelinePipelineYesThe metadata and spec of the Pipeline to be created.
create_optionsCreateOptionsNo—

Response fields

FieldTypeDescription
pipelinePipelineThe created Pipeline.

GetPipeline​

GetPipeline(GetPipelineRequest) → GetPipelineResponse

Get the specified Pipeline.

Request fields

FieldTypeRequiredDescription
namestringYesName of the Pipeline.
namespacestringYesObject name and auth scope.
get_optionsGetOptionsNo—

Response fields

FieldTypeDescription
pipelinePipelineThe requested Pipeline.

UpdatePipeline​

UpdatePipeline(UpdatePipelineRequest) → UpdatePipelineResponse

Update a Pipeline with the given spec.

Request fields

FieldTypeRequiredDescription
pipelinePipelineYesThe metadata and spec of the Pipeline to be updated.
update_optionsUpdateOptionsNo—

Response fields

FieldTypeDescription
pipelinePipelineThe updated Pipeline.

DeletePipeline​

DeletePipeline(DeletePipelineRequest) → DeletePipelineResponse

Delete a Pipeline.

Request fields

FieldTypeRequiredDescription
namestringYesName of the Pipeline.
namespacestringYesObject name and auth scope.
delete_optionsDeleteOptionsNo—

Response fields

This response has no fields.


DeletePipelineCollection​

DeletePipelineCollection(DeletePipelineCollectionRequest) → DeletePipelineCollectionResponse

Delete collection of Pipeline.

Request fields

FieldTypeRequiredDescription
namespacestringYesObject name and auth scope.
delete_optionsDeleteOptionsNo—
list_optionsListOptionsNo—

Response fields

This response has no fields.


ListPipeline​

ListPipeline(ListPipelineRequest) → ListPipelineResponse

List objects of type Pipeline.

Note: Watch and list across all namespaces are not supported.

Request fields

FieldTypeRequiredDescription
namespacestringYes—
list_optionsListOptionsNo—
list_options_extListOptionsExtNo—

Response fields

FieldTypeDescription
pipeline_listPipelineList—

PipelineRunService​

PipelineRun Service defines the PipelineRun related methods, such as CRUD and list.

A PipelineRun represents a single execution instance of a pipeline workflow. It tracks which pipeline version was used, who triggered the run, the input parameters, and execution progress through states — PENDING, RUNNING, SUCCEEDED, FAILED, KILLED, or SKIPPED.

CreatePipelineRun​

CreatePipelineRun(CreatePipelineRunRequest) → CreatePipelineRunResponse

Create a new PipelineRun with the given spec.

Request fields

FieldTypeRequiredDescription
pipeline_runPipelineRunYesThe metadata and spec of the PipelineRun to be created.
create_optionsCreateOptionsNo—

Response fields

FieldTypeDescription
pipeline_runPipelineRunThe created PipelineRun.

GetPipelineRun​

GetPipelineRun(GetPipelineRunRequest) → GetPipelineRunResponse

Get the specified PipelineRun.

Request fields

FieldTypeRequiredDescription
namestringYesName of the PipelineRun.
namespacestringYesObject name and auth scope.
get_optionsGetOptionsNo—

Response fields

FieldTypeDescription
pipeline_runPipelineRunThe requested PipelineRun.

UpdatePipelineRun​

UpdatePipelineRun(UpdatePipelineRunRequest) → UpdatePipelineRunResponse

Update a PipelineRun with the given spec.

Request fields

FieldTypeRequiredDescription
pipeline_runPipelineRunYesThe metadata and spec of the PipelineRun to be updated.
update_optionsUpdateOptionsNo—

Response fields

FieldTypeDescription
pipeline_runPipelineRunThe updated PipelineRun.

DeletePipelineRun​

DeletePipelineRun(DeletePipelineRunRequest) → DeletePipelineRunResponse

Delete a PipelineRun.

Request fields

FieldTypeRequiredDescription
namestringYesName of the PipelineRun.
namespacestringYesObject name and auth scope.
delete_optionsDeleteOptionsNo—

Response fields

This response has no fields.


DeletePipelineRunCollection​

DeletePipelineRunCollection(DeletePipelineRunCollectionRequest) → DeletePipelineRunCollectionResponse

Delete collection of PipelineRun.

Request fields

FieldTypeRequiredDescription
namespacestringYesObject name and auth scope.
delete_optionsDeleteOptionsNo—
list_optionsListOptionsNo—

Response fields

This response has no fields.


ListPipelineRun​

ListPipelineRun(ListPipelineRunRequest) → ListPipelineRunResponse

List objects of type PipelineRun.

Note: Watch and list across all namespaces are not supported.

Request fields

FieldTypeRequiredDescription
namespacestringYes—
list_optionsListOptionsNo—
list_options_extListOptionsExtNo—

Response fields

FieldTypeDescription
pipeline_run_listPipelineRunList—

TriggerRunService​

TriggerRun Service defines the TriggerRun related methods, such as CRUD and list.

A TriggerRun represents a single execution of a pipeline trigger. A trigger can be a cron schedule, an interval schedule, or a batch rerun of existing pipeline runs. One trigger run may spawn multiple pipeline runs. Trigger runs can be paused and resumed (for cron and interval types) or killed.

CreateTriggerRun​

CreateTriggerRun(CreateTriggerRunRequest) → CreateTriggerRunResponse

Create a new TriggerRun with the given spec.

Request fields

FieldTypeRequiredDescription
trigger_runTriggerRunYesThe metadata and spec of the TriggerRun to be created.
create_optionsCreateOptionsNo—

Response fields

FieldTypeDescription
trigger_runTriggerRunThe created TriggerRun.

GetTriggerRun​

GetTriggerRun(GetTriggerRunRequest) → GetTriggerRunResponse

Get the specified TriggerRun.

Request fields

FieldTypeRequiredDescription
namestringYesName of the TriggerRun.
namespacestringYesObject name and auth scope.
get_optionsGetOptionsNo—

Response fields

FieldTypeDescription
trigger_runTriggerRunThe requested TriggerRun.

UpdateTriggerRun​

UpdateTriggerRun(UpdateTriggerRunRequest) → UpdateTriggerRunResponse

Update a TriggerRun with the given spec.

Request fields

FieldTypeRequiredDescription
trigger_runTriggerRunYesThe metadata and spec of the TriggerRun to be updated.
update_optionsUpdateOptionsNo—

Response fields

FieldTypeDescription
trigger_runTriggerRunThe updated TriggerRun.

DeleteTriggerRun​

DeleteTriggerRun(DeleteTriggerRunRequest) → DeleteTriggerRunResponse

Delete a TriggerRun.

Request fields

FieldTypeRequiredDescription
namestringYesName of the TriggerRun.
namespacestringYesObject name and auth scope.
delete_optionsDeleteOptionsNo—

Response fields

This response has no fields.


DeleteTriggerRunCollection​

DeleteTriggerRunCollection(DeleteTriggerRunCollectionRequest) → DeleteTriggerRunCollectionResponse

Delete collection of TriggerRun.

Request fields

FieldTypeRequiredDescription
namespacestringYesObject name and auth scope.
delete_optionsDeleteOptionsNo—
list_optionsListOptionsNo—

Response fields

This response has no fields.


ListTriggerRun​

ListTriggerRun(ListTriggerRunRequest) → ListTriggerRunResponse

List objects of type TriggerRun.

Note: Watch and list across all namespaces are not supported.

Request fields

FieldTypeRequiredDescription
namespacestringYes—
list_optionsListOptionsNo—
list_options_extListOptionsExtNo—

Response fields

FieldTypeDescription
trigger_run_listTriggerRunList—

ProjectService​

Project Service defines the Project related methods, such as CRUD and list.

A Project is a logical grouping of ML resources for a specific ML use case. It carries ownership information, resource retention policies, a Git repository reference, and lifecycle phase tracking (DEVELOPMENT, STAGING, PRODUCTION, DECOMMISSION). New pipeline and pipeline run creation is blocked on decommissioned projects.

CreateProject​

CreateProject(CreateProjectRequest) → CreateProjectResponse

Create a new Project with the given spec.

Request fields

FieldTypeRequiredDescription
projectProjectYesThe metadata and spec of the Project to be created.
create_optionsCreateOptionsNo—

Response fields

FieldTypeDescription
projectProjectThe created Project.

GetProject​

GetProject(GetProjectRequest) → GetProjectResponse

Get the specified Project.

Request fields

FieldTypeRequiredDescription
namestringYesName of the Project.
namespacestringYesObject name and auth scope.
get_optionsGetOptionsNo—

Response fields

FieldTypeDescription
projectProjectThe requested Project.

UpdateProject​

UpdateProject(UpdateProjectRequest) → UpdateProjectResponse

Update a Project with the given spec.

Request fields

FieldTypeRequiredDescription
projectProjectYesThe metadata and spec of the Project to be updated.
update_optionsUpdateOptionsNo—

Response fields

FieldTypeDescription
projectProjectThe updated Project.

DeleteProject​

DeleteProject(DeleteProjectRequest) → DeleteProjectResponse

Delete a Project.

Request fields

FieldTypeRequiredDescription
namestringYesName of the Project.
namespacestringYesObject name and auth scope.
delete_optionsDeleteOptionsNo—

Response fields

This response has no fields.


DeleteProjectCollection​

DeleteProjectCollection(DeleteProjectCollectionRequest) → DeleteProjectCollectionResponse

Delete collection of Project.

Request fields

FieldTypeRequiredDescription
namespacestringYesObject name and auth scope.
delete_optionsDeleteOptionsNo—
list_optionsListOptionsNo—

Response fields

This response has no fields.


ListProject​

ListProject(ListProjectRequest) → ListProjectResponse

List objects of type Project.

Note: Watch and list across all namespaces are not supported.

Request fields

FieldTypeRequiredDescription
namespacestringYes—
list_optionsListOptionsNo—
list_options_extListOptionsExtNo—

Response fields

FieldTypeDescription
project_listProjectList—

Next Steps​