For the complete documentation index, see llms.txt. This page is also available as Markdown.

Tenants

Deprecated

List Workspaces Endpoint

get

Endpoint to list workspaces.

Only superusers can list all workspaces, without membership.

Args: tenant_id: Deprecated, use workspace_id instead. tenant_name: Deprecated, use workspace_name instead. workspace_id: Workspace ID to filter by. workspace_name: Workspace name to filter by. url: Workspace service URL to filter by. organization_id: Organization ID to filter by. status: Filter by workspace status. is_managed: Filter by whether the workspace is managed by ZenML Pro. owner_id: Id of the Workspace owner offset: Offset for pagination. limit: Limit for pagination. auth_context: Auth context. workspace_manager: Workspace manager. organization_manager: Organization manager. rbac: RBAC component.

Returns: List of all workspaces within the given filter params.

Raises: IllegalOperationError: If the operation is not allowed.

Authorizations
OAuth2clientCredentialsRequired
Token URL:

OAuth2authorizationCodeRequired
Authorization URL: Token URL: Refresh URL:
Query parameters
tenant_idstring · uuid · nullableOptional
tenant_namestring · nullableOptional
workspace_idstring · uuid · nullableOptional
workspace_namestring · nullableOptional
urlstring · nullableOptional
organization_idstring · uuid · nullableOptional
statusstring · enum · nullableOptional

Enum that represents the desired state or status of a workspace.

These values can be used in two places:

  • in the desired_state field of a workspace object, to indicate the desired state of the workspace (with the exception of PENDING and FAILED which are not valid values for desired_state)
  • in the status field of a workspace object, to indicate the current state of the workspace
Possible values:
is_managedboolean · nullableOptional
owner_idstring · uuid · nullableOptional
offsetintegerOptionalDefault: 0
limitinteger · max: 100OptionalDefault: 100
Responses
200

Successful Response

application/json

Pydantic Model for viewing a workspace.

idstring · uuidRequired
namestring · min: 1 · max: 50Required

The name of the workspace.

display_namestring · min: 1 · max: 50Required

The display name of the workspace.

descriptionstring · min: 1 · max: 256 · nullableOptional

The description of the workspace.

logo_urlstring · nullableOptional

The logo URL of the workspace.

is_managedbooleanOptional

Whether the workspace is managed by ZenML Pro or managed externally and enrolled.

Default: true
workspace_typestring · enumOptional

The product type of the workspace.

Default: zenmlPossible values:
enrollment_keystring · nullableOptional

Credentials generated for enrolled workspaces. Only set for enrolled workspaces and only during the enrollment process.

desired_statestring · enumRequired

The desired state of the workspace.

Possible values:
state_reasonstring · enumRequired

The reason for the current workspace state.

Possible values:
statusstring · enumRequired

The current operational state of the workspace.

Possible values:
createdstring · date-timeRequired
updatedstring · date-timeRequired
status_updatedstring · date-time · nullableOptional

The time the status was last updated.

get/tenants
GET /tenants HTTP/1.1
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
  {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "text",
    "display_name": "text",
    "description": "text",
    "logo_url": "text",
    "organization": {
      "name": "text",
      "description": "text",
      "logo_url": "text",
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "created": "2026-01-01T00:00:00.000Z",
      "updated": "2026-01-01T00:00:00.000Z",
      "owner": {
        "password": "text",
        "password_expired": true,
        "name": "text",
        "avatar_url": "text",
        "company": "text",
        "job_title": "text",
        "metadata": {
          "ANY_ADDITIONAL_PROPERTY": "anything"
        },
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "username": "text",
        "email": "text",
        "oauth_provider": "text",
        "oauth_id": "text",
        "is_active": true,
        "is_superuser": false,
        "is_service_account": false,
        "organization_id": "123e4567-e89b-12d3-a456-426614174000",
        "password_changed_at": "2026-01-01T00:00:00.000Z",
        "is_onboarded": false
      },
      "links": [
        {
          "label": "text",
          "url": "text"
        }
      ],
      "announcements": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "message": "text",
          "dismissable": false,
          "link": {
            "label": "text",
            "url": "text"
          },
          "type": "info"
        }
      ],
      "trusted_domains": [
        "text"
      ],
      "has_active_subscription": true,
      "trial_expiry": 1,
      "enabled_features": [
        "user"
      ]
    },
    "owner": {
      "password": "text",
      "password_expired": true,
      "name": "text",
      "avatar_url": "text",
      "company": "text",
      "job_title": "text",
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "username": "text",
      "email": "text",
      "oauth_provider": "text",
      "oauth_id": "text",
      "is_active": true,
      "is_superuser": false,
      "is_service_account": false,
      "organization_id": "123e4567-e89b-12d3-a456-426614174000",
      "password_changed_at": "2026-01-01T00:00:00.000Z",
      "is_onboarded": false
    },
    "is_managed": true,
    "workspace_type": "zenml",
    "enrollment_key": "text",
    "zenml_service": {
      "configuration": {
        "version": "text",
        "analytics_enabled": true,
        "secrets_store": {
          "type": "sql"
        },
        "backup_secrets_store": {
          "type": "sql"
        },
        "admin": {
          "helm_chart_version": "text",
          "image_repository": "text",
          "image_tag": "text",
          "debug": true,
          "otel_exporter_otlp_endpoint": "text",
          "otel_logs_enabled": true,
          "otel_metrics_enabled": true,
          "otel_traces_enabled": true,
          "otel_service_name_prefix": "text",
          "rbac_implementation_source": "text",
          "workload_manager_implementation_source": "text",
          "feature_gate_implementation_source": "text",
          "stream_broker_implementation_source": "text",
          "environment_vars": {
            "ANY_ADDITIONAL_PROPERTY": "text"
          },
          "secret_environment_vars": {
            "ANY_ADDITIONAL_PROPERTY": "text"
          },
          "provider_type": "argocd",
          "provider_config": {
            "terraform": {
              "ANY_ADDITIONAL_PROPERTY": "anything"
            },
            "argocd": {
              "github_client": {
                "ANY_ADDITIONAL_PROPERTY": "anything"
              }
            }
          },
          "service_tier": "basic",
          "resources": {
            "replicas": 1,
            "cpu": "text",
            "memory": "text",
            "max_cpu": "text",
            "max_memory": "text",
            "memory_migration": "text",
            "max_memory_migration": "text",
            "autoscaling_enabled": false,
            "min_replicas": 1,
            "max_replicas": 1,
            "thread_pool_size": 40,
            "db_pool_size": 20,
            "db_pool_overflow": 20,
            "workspace_node_pool": "main",
            "workload_node_pool": "main",
            "max_concurrent_template_runs": 1,
            "memory_run_template": "text",
            "max_memory_run_template": "text",
            "max_storage_size": 1073741824
          },
          "features": {
            "schedules": {
              "enabled": true
            },
            "resource_pools": {
              "enabled": true
            },
            "async_snapshot_execution": {
              "enabled": true
            }
          }
        }
      },
      "status": {
        "server_url": "text",
        "version": "text",
        "storage_size": 1,
        "storage_size_last_updated": "2026-01-01T00:00:00.000Z",
        "storage_access_blocked": false,
        "enabled_features": [
          "user"
        ]
      }
    },
    "usage_counts": {
      "ANY_ADDITIONAL_PROPERTY": 1
    },
    "desired_state": "not_initialized",
    "state_reason": "user_action",
    "status": "not_initialized",
    "created": "2026-01-01T00:00:00.000Z",
    "updated": "2026-01-01T00:00:00.000Z",
    "status_updated": "2026-01-01T00:00:00.000Z"
  }
]
Deprecated

Create Workspace Endpoint

post

Create or enroll a workspace.

Args: workspace_create: Workspace create model. organization_id: ID of the organization to which the workspace belongs to. force: If it should be created regardless of workspace limits. enroll: Set if this is an unmanaged workspace that is being enrolled. name: Name of the workspace. description: Description of the workspace. rbac: RBAC component. auth_context: Auth context. workspace_manager: Workspace manager. organization_manager: Organization manager.

Returns: Model of the created workspace.

Raises: IllegalOperationError: If the operation is not allowed.

Authorizations
OAuth2clientCredentialsRequired
Token URL:

OAuth2authorizationCodeRequired
Authorization URL: Token URL: Refresh URL:
Query parameters
organization_idstring · uuid · nullableOptional
namestring · nullableOptional
descriptionstring · nullableOptional
forcebooleanOptionalDefault: false
enrollbooleanOptionalDefault: false
Body

Pydantic Model for creating a workspace.

idstring · uuid · nullableOptional

Custom workspace ID. Use to enroll an existing workspace or to restore a deleted workspace.

namestring · min: 1 · max: 50 · nullableOptional

The name of the workspace.

display_namestring · min: 1 · max: 50 · nullableOptional

The display name of the workspace.

descriptionstring · min: 1 · max: 256 · nullableOptional

The description of the workspace.

logo_urlstring · nullableOptional

The logo URL of the workspace.

owner_idstring · uuid · nullableOptional

The UUID of the workspace owner. If not set, the current user is set as the owner.

organization_idstring · uuid · nullableOptional

The UUID of the organization the workspace belongs to. If not set, the organization where the current user is owner is set as the workspace's organization.

is_managedbooleanOptional

Whether the workspace is managed by ZenML Pro or managed externally and enrolled.

Default: true
workspace_typestring · enumOptional

The product type of the workspace. Immutable after creation.

Default: zenmlPossible values:
enrollment_keystring · nullableOptional

Credentials generated externally for enrolled workspaces. If not set, credentials are generated as part of the enrollment process.

Responses
200

Successful Response

application/json

Pydantic Model for viewing a workspace.

idstring · uuidRequired
namestring · min: 1 · max: 50Required

The name of the workspace.

display_namestring · min: 1 · max: 50Required

The display name of the workspace.

descriptionstring · min: 1 · max: 256 · nullableOptional

The description of the workspace.

logo_urlstring · nullableOptional

The logo URL of the workspace.

is_managedbooleanOptional

Whether the workspace is managed by ZenML Pro or managed externally and enrolled.

Default: true
workspace_typestring · enumOptional

The product type of the workspace.

Default: zenmlPossible values:
enrollment_keystring · nullableOptional

Credentials generated for enrolled workspaces. Only set for enrolled workspaces and only during the enrollment process.

desired_statestring · enumRequired

The desired state of the workspace.

Possible values:
state_reasonstring · enumRequired

The reason for the current workspace state.

Possible values:
statusstring · enumRequired

The current operational state of the workspace.

Possible values:
createdstring · date-timeRequired
updatedstring · date-timeRequired
status_updatedstring · date-time · nullableOptional

The time the status was last updated.

post/tenants
POST /tenants HTTP/1.1
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 1915

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "display_name": "text",
  "description": "text",
  "logo_url": "text",
  "owner_id": "123e4567-e89b-12d3-a456-426614174000",
  "organization_id": "123e4567-e89b-12d3-a456-426614174000",
  "is_managed": true,
  "workspace_type": "zenml",
  "enrollment_key": "text",
  "zenml_service": {
    "configuration": {
      "version": "text",
      "analytics_enabled": true,
      "secrets_store": {
        "type": "sql"
      },
      "backup_secrets_store": {
        "type": "sql"
      },
      "admin": {
        "helm_chart_version": "text",
        "image_repository": "text",
        "image_tag": "text",
        "debug": true,
        "otel_exporter_otlp_endpoint": "text",
        "otel_logs_enabled": true,
        "otel_metrics_enabled": true,
        "otel_traces_enabled": true,
        "otel_service_name_prefix": "text",
        "rbac_implementation_source": "text",
        "workload_manager_implementation_source": "text",
        "feature_gate_implementation_source": "text",
        "stream_broker_implementation_source": "text",
        "environment_vars": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        },
        "secret_environment_vars": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        },
        "provider_type": "argocd",
        "provider_config": {
          "terraform": {
            "ANY_ADDITIONAL_PROPERTY": "anything"
          },
          "argocd": {
            "github_client": {
              "ANY_ADDITIONAL_PROPERTY": "anything"
            }
          }
        },
        "service_tier": "basic",
        "resources": {
          "replicas": 1,
          "cpu": "text",
          "memory": "text",
          "max_cpu": "text",
          "max_memory": "text",
          "memory_migration": "text",
          "max_memory_migration": "text",
          "autoscaling_enabled": false,
          "min_replicas": 1,
          "max_replicas": 1,
          "thread_pool_size": 40,
          "db_pool_size": 20,
          "db_pool_overflow": 20,
          "workspace_node_pool": "main",
          "workload_node_pool": "main",
          "max_concurrent_template_runs": 1,
          "memory_run_template": "text",
          "max_memory_run_template": "text",
          "max_storage_size": 1073741824
        },
        "features": {
          "schedules": {
            "enabled": true
          },
          "resource_pools": {
            "enabled": true
          },
          "async_snapshot_execution": {
            "enabled": true
          }
        }
      }
    },
    "status": {
      "server_url": "text",
      "version": "text",
      "storage_size": 1,
      "storage_size_last_updated": "2026-01-01T00:00:00.000Z",
      "storage_access_blocked": false,
      "enabled_features": [
        "user"
      ]
    }
  }
}
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "name": "text",
  "display_name": "text",
  "description": "text",
  "logo_url": "text",
  "organization": {
    "name": "text",
    "description": "text",
    "logo_url": "text",
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "created": "2026-01-01T00:00:00.000Z",
    "updated": "2026-01-01T00:00:00.000Z",
    "owner": {
      "password": "text",
      "password_expired": true,
      "name": "text",
      "avatar_url": "text",
      "company": "text",
      "job_title": "text",
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "username": "text",
      "email": "text",
      "oauth_provider": "text",
      "oauth_id": "text",
      "is_active": true,
      "is_superuser": false,
      "is_service_account": false,
      "organization_id": "123e4567-e89b-12d3-a456-426614174000",
      "password_changed_at": "2026-01-01T00:00:00.000Z",
      "is_onboarded": false
    },
    "links": [
      {
        "label": "text",
        "url": "text"
      }
    ],
    "announcements": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "message": "text",
        "dismissable": false,
        "link": {
          "label": "text",
          "url": "text"
        },
        "type": "info"
      }
    ],
    "trusted_domains": [
      "text"
    ],
    "has_active_subscription": true,
    "trial_expiry": 1,
    "enabled_features": [
      "user"
    ]
  },
  "owner": {
    "password": "text",
    "password_expired": true,
    "name": "text",
    "avatar_url": "text",
    "company": "text",
    "job_title": "text",
    "metadata": {
      "ANY_ADDITIONAL_PROPERTY": "anything"
    },
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "username": "text",
    "email": "text",
    "oauth_provider": "text",
    "oauth_id": "text",
    "is_active": true,
    "is_superuser": false,
    "is_service_account": false,
    "organization_id": "123e4567-e89b-12d3-a456-426614174000",
    "password_changed_at": "2026-01-01T00:00:00.000Z",
    "is_onboarded": false
  },
  "is_managed": true,
  "workspace_type": "zenml",
  "enrollment_key": "text",
  "zenml_service": {
    "configuration": {
      "version": "text",
      "analytics_enabled": true,
      "secrets_store": {
        "type": "sql"
      },
      "backup_secrets_store": {
        "type": "sql"
      },
      "admin": {
        "helm_chart_version": "text",
        "image_repository": "text",
        "image_tag": "text",
        "debug": true,
        "otel_exporter_otlp_endpoint": "text",
        "otel_logs_enabled": true,
        "otel_metrics_enabled": true,
        "otel_traces_enabled": true,
        "otel_service_name_prefix": "text",
        "rbac_implementation_source": "text",
        "workload_manager_implementation_source": "text",
        "feature_gate_implementation_source": "text",
        "stream_broker_implementation_source": "text",
        "environment_vars": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        },
        "secret_environment_vars": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        },
        "provider_type": "argocd",
        "provider_config": {
          "terraform": {
            "ANY_ADDITIONAL_PROPERTY": "anything"
          },
          "argocd": {
            "github_client": {
              "ANY_ADDITIONAL_PROPERTY": "anything"
            }
          }
        },
        "service_tier": "basic",
        "resources": {
          "replicas": 1,
          "cpu": "text",
          "memory": "text",
          "max_cpu": "text",
          "max_memory": "text",
          "memory_migration": "text",
          "max_memory_migration": "text",
          "autoscaling_enabled": false,
          "min_replicas": 1,
          "max_replicas": 1,
          "thread_pool_size": 40,
          "db_pool_size": 20,
          "db_pool_overflow": 20,
          "workspace_node_pool": "main",
          "workload_node_pool": "main",
          "max_concurrent_template_runs": 1,
          "memory_run_template": "text",
          "max_memory_run_template": "text",
          "max_storage_size": 1073741824
        },
        "features": {
          "schedules": {
            "enabled": true
          },
          "resource_pools": {
            "enabled": true
          },
          "async_snapshot_execution": {
            "enabled": true
          }
        }
      }
    },
    "status": {
      "server_url": "text",
      "version": "text",
      "storage_size": 1,
      "storage_size_last_updated": "2026-01-01T00:00:00.000Z",
      "storage_access_blocked": false,
      "enabled_features": [
        "user"
      ]
    }
  },
  "usage_counts": {
    "ANY_ADDITIONAL_PROPERTY": 1
  },
  "desired_state": "not_initialized",
  "state_reason": "user_action",
  "status": "not_initialized",
  "created": "2026-01-01T00:00:00.000Z",
  "updated": "2026-01-01T00:00:00.000Z",
  "status_updated": "2026-01-01T00:00:00.000Z"
}
Deprecated

Delete All Workspaces Endpoint

delete

Delete all workspaces.

Args: user: Authenticated user. workspace_manager: Workspace manager.

Raises: IllegalOperationError: If a regular user tries to force delete or if the operation is not allowed in the current environment.

Authorizations
OAuth2clientCredentialsRequired
Token URL:

OAuth2authorizationCodeRequired
Authorization URL: Token URL: Refresh URL:
Responses
200

Successful Response

application/json
anyOptional
delete/tenants
DELETE /tenants HTTP/1.1
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
200

Successful Response

No content

ZenML Scarf

Last updated

Was this helpful?