arazzo: 1.0.1
info:
title: ZenML Audit Pipeline Runs
summary: Walk from a named pipeline to its run history and drill into the most recent run.
description: >-
Audits the execution history of a pipeline. The workflow lists pipelines to
resolve a pipeline by name, lists the runs scoped to that pipeline id, and
reads the most recent run in detail. This is the canonical read path for
understanding what a pipeline has done. Every step spells out its request
inline, including the bearer Authorization header, so the flow can be read
and executed without opening the underlying OpenAPI description.
version: 1.0.0
x-realizes-capability-ids:
- BC-610.60
x-capability-derivation:
method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
min_confidence: 0.7
sources:
- capability_id: BC-610.60
capability_name: Artificial Intelligence Management
spec: zenml-pipelines-api-openapi.yml
confidence: 0.75
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: pipelineRunsApi
url: ../openapi/zenml-pipeline-runs-api-openapi.yml
type: openapi
- name: pipelinesApi
url: ../openapi/zenml-pipelines-api-openapi.yml
type: openapi
workflows:
- workflowId: audit-pipeline-runs
summary: Resolve a pipeline by name, list its runs, and read the latest run.
description: >-
Lists pipelines filtered by name to resolve a pipeline id, lists runs for
that pipeline, and reads the most recent run in detail.
inputs:
type: object
required:
- accessToken
- pipelineName
properties:
accessToken:
type: string
description: ZenML JWT access token obtained from the login endpoint.
pipelineName:
type: string
description: The name of the pipeline whose run history should be audited.
steps:
- stepId: resolvePipeline
description: >-
List pipelines filtered by name to resolve the target pipeline id.
operationId: listPipelines
parameters:
- name: Authorization
in: header
value: Bearer $inputs.accessToken
- name: name
in: query
value: $inputs.pipelineName
- name: page
in: query
value: 1
- name: size
in: query
value: 1
successCriteria:
- condition: $statusCode == 200
outputs:
pipelineId: $response.body#/items/0/id
- stepId: listRuns
description: >-
List the runs scoped to the resolved pipeline id, newest first.
operationId: listPipelineRuns
parameters:
- name: Authorization
in: header
value: Bearer $inputs.accessToken
- name: pipeline_id
in: query
value: $steps.resolvePipeline.outputs.pipelineId
- name: page
in: query
value: 1
- name: size
in: query
value: 20
successCriteria:
- condition: $statusCode == 200
outputs:
runCount: $response.body#/total
latestRunId: $response.body#/items/0/id
- stepId: readLatestRun
description: >-
Read the most recent run in detail to surface its status and timing.
operationId: getPipelineRun
parameters:
- name: Authorization
in: header
value: Bearer $inputs.accessToken
- name: run_id
in: path
value: $steps.listRuns.outputs.latestRunId
successCriteria:
- condition: $statusCode == 200
outputs:
runId: $response.body#/id
status: $response.body#/status
startTime: $response.body#/start_time
outputs:
pipelineId: $steps.resolvePipeline.outputs.pipelineId
runCount: $steps.listRuns.outputs.runCount
latestRunStatus: $steps.readLatestRun.outputs.status
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.