ZenML · Arazzo Workflow

ZenML Authenticate and List Pipelines

Version 1.0.0

Exchange credentials for a token, confirm the session identity, and list pipelines.

1 workflow 1 source API 1 provider
View Spec View on GitHub AIMachine LearningMLOpsLLMOpsPipelinesOpen SourcePythonArazzoWorkflows

Provider

zenml

Workflows

authenticate-and-list-pipelines
Log in for a token, confirm the user, and list visible pipelines.
Posts credentials to obtain an access token, reads the current user with that token, and lists pipelines for the session.
3 steps inputs: password, username outputs: accessToken, pipelineCount, userId
1
login
login
Exchange the username and password for a JWT access token.
2
confirmSession
getCurrentUser
Read the current user with the freshly issued token to confirm the session is valid.
3
listPipelines
listPipelines
List the pipelines visible to the authenticated session.

Source API Descriptions

Arazzo Workflow Specification

zenml-authenticate-and-list-pipelines-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: ZenML Authenticate and List Pipelines
  summary: Exchange credentials for a token, confirm the session identity, and list pipelines.
  description: >-
    Establishes an authenticated ZenML session and exercises it. The workflow
    posts credentials to the login endpoint to obtain a bearer access token,
    uses that token to read the current user, and then lists the pipelines
    visible to the session. Every step spells out its request inline, including
    the bearer Authorization header derived from the login step, so the flow can
    be read and executed without opening the underlying OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: zenmlApi
  url: ../openapi/zenml-openapi.yml
  type: openapi
workflows:
- workflowId: authenticate-and-list-pipelines
  summary: Log in for a token, confirm the user, and list visible pipelines.
  description: >-
    Posts credentials to obtain an access token, reads the current user with
    that token, and lists pipelines for the session.
  inputs:
    type: object
    required:
    - username
    - password
    properties:
      username:
        type: string
        description: ZenML account username.
      password:
        type: string
        description: ZenML account password.
  steps:
  - stepId: login
    description: >-
      Exchange the username and password for a JWT access token.
    operationId: login
    requestBody:
      contentType: application/x-www-form-urlencoded
      payload:
        username: $inputs.username
        password: $inputs.password
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      accessToken: $response.body#/access_token
  - stepId: confirmSession
    description: >-
      Read the current user with the freshly issued token to confirm the
      session is valid.
    operationId: getCurrentUser
    parameters:
    - name: Authorization
      in: header
      value: Bearer $steps.login.outputs.accessToken
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/id
      userName: $response.body#/name
  - stepId: listPipelines
    description: >-
      List the pipelines visible to the authenticated session.
    operationId: listPipelines
    parameters:
    - name: Authorization
      in: header
      value: Bearer $steps.login.outputs.accessToken
    - name: page
      in: query
      value: 1
    - name: size
      in: query
      value: 20
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      pipelineCount: $response.body#/total
      firstPipelineId: $response.body#/items/0/id
  outputs:
    userId: $steps.confirmSession.outputs.userId
    accessToken: $steps.login.outputs.accessToken
    pipelineCount: $steps.listPipelines.outputs.pipelineCount