Skip to main content

Workflows Client

The Workflows client lets you explore workflow definitions, fetch metadata, and validate input payloads before executing a run. Use it to inspect schemas and prevent invalid submissions.

Setup

Listing All Workflows

Retrieve all workflows accessible by your API key:

Workflow Object

Getting Workflow Metadata

Fetch detailed metadata for a specific workflow, including its effective input schema and Vault credential configuration:

Metadata Object

Input Schema Structure

The input_schema follows JSON Schema format:

Vault Credential Inputs

A Vault Alias in Workflow is a required run input. Pass the matching Vault entry’s permissioned_user_id under the exact alias:
The entry’s domain must match the configured Vault Domain. For credential pooling, pass a list of permissioned_user_id values. Pass an empty list to pool every vault entry in your workspace for that domain.

Validating Workflow Input

Validate input payloads against a workflow’s schema before starting a run:
client.runs.start() does not call this method; the server validates run_input_variables against the version that runs and raises the same InputValidationError. Manual validation is useful when you want to check inputs without starting a run. Pass the same workflow_version or workflow_branch_id you will start the run with to validate against that version:

Validation Checks

The validator checks:

InputValidationError

When validation fails, an InputValidationError is raised with details:

Versions and Branches

See Workflow Versioning for how versions are numbered and which pin to choose. Metadata describes the latest version on the workflow’s default branch unless you select another one. get_workflow_metadata and validate_workflow_input take the same optional keyword arguments as the run pins; set at most one (setting both raises ValueError):

WorkflowVersion Object

WorkflowBranch Object

Combining with Runs

Use workflow metadata to build dynamic UIs or validate inputs before execution: