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