arazzo: 1.0.1
info:
title: ZenML Register Model
summary: Register a new model in the model control plane and enumerate its versions.
description: >-
Registers a model in the ZenML model control plane and surfaces the versions
tracked under it. The workflow creates the model, confirms it is discoverable
in the model listing, and then lists the versions scoped to the new model id.
Model versions are created by pipeline runs rather than by a dedicated REST
endpoint, so the version step reads whatever versions already exist for the
model. 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-models-api-openapi.yml
confidence: 0.85
model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: modelsApi
url: ../openapi/zenml-models-api-openapi.yml
type: openapi
workflows:
- workflowId: register-model
summary: Create a model, confirm it in the listing, and enumerate its versions.
description: >-
Creates a model with the supplied metadata, lists models filtered by name
to confirm registration, and lists the versions scoped to the new model id.
inputs:
type: object
required:
- accessToken
- modelName
properties:
accessToken:
type: string
description: ZenML JWT access token obtained from the login endpoint.
modelName:
type: string
description: The name to register the model under.
description:
type: string
description: Optional description of the model.
license:
type: string
description: Optional license identifier for the model.
useCases:
type: string
description: Optional free-text description of the model's intended use cases.
steps:
- stepId: createModel
description: >-
Register the model with the supplied name and optional metadata.
operationId: createModel
parameters:
- name: Authorization
in: header
value: Bearer $inputs.accessToken
requestBody:
contentType: application/json
payload:
name: $inputs.modelName
description: $inputs.description
license: $inputs.license
use_cases: $inputs.useCases
successCriteria:
- condition: $statusCode == 201
outputs:
modelId: $response.body#/id
modelName: $response.body#/name
- stepId: confirmModel
description: >-
List models to confirm the newly registered model is discoverable.
operationId: listModels
parameters:
- name: Authorization
in: header
value: Bearer $inputs.accessToken
- name: page
in: query
value: 1
- name: size
in: query
value: 100
successCriteria:
- condition: $statusCode == 200
outputs:
total: $response.body#/total
- stepId: listVersions
description: >-
List the versions tracked under the new model id.
operationId: listModelVersions
parameters:
- name: Authorization
in: header
value: Bearer $inputs.accessToken
- name: model_id
in: query
value: $steps.createModel.outputs.modelId
- name: page
in: query
value: 1
- name: size
in: query
value: 20
successCriteria:
- condition: $statusCode == 200
outputs:
latestVersionId: $response.body#/items/0/id
versionCount: $response.body#/total
outputs:
modelId: $steps.createModel.outputs.modelId
modelName: $steps.createModel.outputs.modelName
latestVersionId: $steps.listVersions.outputs.latestVersionId
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.