Workflows Endpoints¶
Multi-step orchestrated pipeline management.
Overview¶
| Method | Endpoint | Description |
|---|---|---|
| POST | /workflows/ |
Create workflow |
| GET | /workflows/{workflow_id} |
Get workflow status |
| POST | /workflows/{workflow_id}/start |
Start workflow |
| POST | /workflows/{workflow_id}/resume |
Resume paused workflow |
| POST | /workflows/{workflow_id}/cleanup |
Cleanup resources |
Workflow Lifecycle¶
stateDiagram-v2
[*] --> Created: Create
Created --> Running: Start
Running --> Paused: Pause
Paused --> Running: Resume
Running --> Completed: All steps done
Running --> Failed: Step fails
Completed --> [*]
Failed --> [*]
API Reference¶
Custom API - Workflows 1.0.0¶
This is a very custom OpenAPI schema
workflows¶
POST /api/v1/workflows/validate¶
Validate Workflow Definition
Description
Validate a workflow definition without creating DB rows or files.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
Request body
{
"description": "Generate and refine fashion images",
"name": "Fashion Image Pipeline",
"origin_instance": "api-prod",
"steps": [
{
"config": {
"height": 1024,
"prompt": "fashion model wearing elegant dress",
"width": 1024
},
"id": "generate",
"task_type": "GENERATION"
},
{
"config": {
"upscale_factor": 2.0
},
"depends_on": [
"generate"
],
"id": "refine",
"input_mappings": [
{
"from_field": "result_image_path",
"from_step": "generate",
"to_field": "base_image_url"
}
],
"task_type": "REFINE"
}
]
}
Schema of the request body
{
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Id",
"description": "Optional caller-assigned ID used to make workflow creation idempotent"
},
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"title": "Name",
"description": "Human-readable workflow name"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Description",
"description": "Optional workflow description"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepDefinition"
},
"type": "array",
"minItems": 1,
"title": "Steps",
"description": "List of steps defining the workflow DAG"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config",
"description": "Global workflow configuration"
},
"origin_instance": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"title": "Origin Instance",
"description": "Origin instance identifier"
},
"origin_zone": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
],
"title": "Origin Zone",
"description": "Origin zone identifier"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
],
"title": "Origin Tenant Id",
"description": "Tenant identifier for multi-tenant setups"
},
"origin_reference": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Origin Reference",
"description": "External reference ID for tracking"
},
"webhook_url": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Webhook Url",
"description": "URL to call when workflow completes"
},
"suppress_subtask_events": {
"type": "boolean",
"title": "Suppress Subtask Events",
"description": "Whether to suppress individual task events",
"default": true
}
},
"type": "object",
"required": [
"name",
"steps",
"origin_instance"
],
"title": "CreateWorkflow",
"description": "Schema for creating a new workflow.",
"example": {
"description": "Generate and refine fashion images",
"name": "Fashion Image Pipeline",
"origin_instance": "api-prod",
"steps": [
{
"config": {
"height": 1024,
"prompt": "fashion model wearing elegant dress",
"width": 1024
},
"id": "generate",
"task_type": "GENERATION"
},
{
"config": {
"upscale_factor": 2.0
},
"depends_on": [
"generate"
],
"id": "refine",
"input_mappings": [
{
"from_field": "result_image_path",
"from_step": "generate",
"to_field": "base_image_url"
}
],
"task_type": "REFINE"
}
]
}
}
Responses
{
"valid": true,
"errors": [
"string"
],
"errors_detail": [
{
"step_id": null,
"field": null,
"code": "dag_structure",
"message": "string"
}
],
"warnings": [
{
"step_id": null,
"code": "unknown_config_keys",
"message": "string"
}
],
"terminal_step_id": null,
"execution_levels": [
[
"string"
]
],
"resolved_queues": {}
}
Schema of the response body
{
"properties": {
"valid": {
"type": "boolean",
"title": "Valid"
},
"errors": {
"items": {
"type": "string"
},
"type": "array",
"title": "Errors"
},
"errors_detail": {
"items": {
"$ref": "#/components/schemas/WorkflowValidateErrorDetail"
},
"type": "array",
"title": "Errors Detail"
},
"warnings": {
"items": {
"$ref": "#/components/schemas/WorkflowValidateWarning"
},
"type": "array",
"title": "Warnings"
},
"terminal_step_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Terminal Step Id"
},
"execution_levels": {
"items": {
"items": {
"type": "string"
},
"type": "array"
},
"type": "array",
"title": "Execution Levels"
},
"resolved_queues": {
"additionalProperties": {
"type": "string"
},
"type": "object",
"title": "Resolved Queues"
}
},
"type": "object",
"required": [
"valid",
"errors",
"errors_detail",
"warnings",
"terminal_step_id",
"execution_levels",
"resolved_queues"
],
"title": "WorkflowValidateResponse",
"description": "Response from the workflow validate-only endpoint."
}
POST /api/v1/workflows/¶
Create Workflow
Description
Create a new workflow.
Creates a workflow from the provided definition. If start=True (default),
the workflow will be started immediately after creation.
The workflow definition must include: - name: Human-readable name - steps: List of step definitions forming a DAG - origin_instance: Identifier for the calling system
Each step must specify: - id: Unique identifier within the workflow - task_type: Type of task (GENERATION, REFINE, etc.) - config: Task-specific configuration - depends_on: (optional) List of step IDs this step depends on - input_mappings: (optional) How to map outputs from previous steps
Returns the created workflow with all steps.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
start |
query | boolean | True | No | Start workflow immediately after creation |
Request body
{
"description": "Generate and refine fashion images",
"name": "Fashion Image Pipeline",
"origin_instance": "api-prod",
"steps": [
{
"config": {
"height": 1024,
"prompt": "fashion model wearing elegant dress",
"width": 1024
},
"id": "generate",
"task_type": "GENERATION"
},
{
"config": {
"upscale_factor": 2.0
},
"depends_on": [
"generate"
],
"id": "refine",
"input_mappings": [
{
"from_field": "result_image_path",
"from_step": "generate",
"to_field": "base_image_url"
}
],
"task_type": "REFINE"
}
]
}
Schema of the request body
{
"properties": {
"id": {
"anyOf": [
{
"type": "string",
"format": "uuid"
},
{
"type": "null"
}
],
"title": "Id",
"description": "Optional caller-assigned ID used to make workflow creation idempotent"
},
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"title": "Name",
"description": "Human-readable workflow name"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Description",
"description": "Optional workflow description"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepDefinition"
},
"type": "array",
"minItems": 1,
"title": "Steps",
"description": "List of steps defining the workflow DAG"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config",
"description": "Global workflow configuration"
},
"origin_instance": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"title": "Origin Instance",
"description": "Origin instance identifier"
},
"origin_zone": {
"anyOf": [
{
"type": "string",
"maxLength": 50
},
{
"type": "null"
}
],
"title": "Origin Zone",
"description": "Origin zone identifier"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string",
"maxLength": 100
},
{
"type": "null"
}
],
"title": "Origin Tenant Id",
"description": "Tenant identifier for multi-tenant setups"
},
"origin_reference": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Origin Reference",
"description": "External reference ID for tracking"
},
"webhook_url": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Webhook Url",
"description": "URL to call when workflow completes"
},
"suppress_subtask_events": {
"type": "boolean",
"title": "Suppress Subtask Events",
"description": "Whether to suppress individual task events",
"default": true
}
},
"type": "object",
"required": [
"name",
"steps",
"origin_instance"
],
"title": "CreateWorkflow",
"description": "Schema for creating a new workflow.",
"example": {
"description": "Generate and refine fashion images",
"name": "Fashion Image Pipeline",
"origin_instance": "api-prod",
"steps": [
{
"config": {
"height": 1024,
"prompt": "fashion model wearing elegant dress",
"width": 1024
},
"id": "generate",
"task_type": "GENERATION"
},
{
"config": {
"upscale_factor": 2.0
},
"depends_on": [
"generate"
],
"id": "refine",
"input_mappings": [
{
"from_field": "result_image_path",
"from_step": "generate",
"to_field": "base_image_url"
}
],
"task_type": "REFINE"
}
]
}
}
Responses
{
"id": "0054f1f3-22d5-4ecb-a7ea-0c2b79ec8526",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "18bdcff8-2d8a-494c-8ae2-6a79e6610de7",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"status": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"total_steps": {
"type": "integer",
"title": "Total Steps"
},
"completed_steps": {
"type": "integer",
"title": "Completed Steps"
},
"progress": {
"type": "number",
"title": "Progress"
},
"current_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Step"
},
"final_step_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Final Step Id"
},
"final_step_result": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Final Step Result"
},
"canvas_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Canvas Task Id"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config"
},
"suppress_subtask_events": {
"type": "boolean",
"title": "Suppress Subtask Events"
},
"origin_instance": {
"type": "string",
"title": "Origin Instance"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id"
},
"origin_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Reference"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Webhook Url"
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"errors": {
"items": {
"type": "string"
},
"type": "array",
"title": "Errors"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"is_deleted": {
"type": "boolean",
"title": "Is Deleted",
"default": false
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepPublic"
},
"type": "array",
"title": "Steps"
}
},
"type": "object",
"required": [
"id",
"name",
"status",
"total_steps",
"completed_steps",
"progress",
"config",
"suppress_subtask_events",
"origin_instance",
"errors",
"created_at",
"updated_at"
],
"title": "WorkflowPublic",
"description": "Public representation of a workflow."
}
GET /api/v1/workflows/¶
List Workflows
Description
List workflows with filtering and pagination.
Supports filtering by: - status: Filter by workflow status - origin_instance: Filter by origin system - origin_tenant_id: Filter by tenant - include_deleted: Include soft-deleted workflows (default: False)
Results are ordered by creation date (newest first).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
include_deleted |
query | boolean | False | No | Include deleted workflows |
limit |
query | integer | 50 | No | |
origin_instance |
query | No | |||
origin_tenant_id |
query | No | |||
skip |
query | integer | 0 | No | |
status |
query | No |
Responses
{
"workflows": [
{
"id": "4cca0128-42b5-4407-bd2d-84151d03884e",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "9b052bac-7977-4736-9db1-2457f26f412a",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
],
"total": 0,
"skip": 0,
"limit": 0
}
Schema of the response body
{
"properties": {
"workflows": {
"items": {
"$ref": "#/components/schemas/WorkflowPublic"
},
"type": "array",
"title": "Workflows"
},
"total": {
"type": "integer",
"title": "Total"
},
"skip": {
"type": "integer",
"title": "Skip"
},
"limit": {
"type": "integer",
"title": "Limit"
}
},
"type": "object",
"required": [
"workflows",
"total",
"skip",
"limit"
],
"title": "WorkflowListResponse",
"description": "Response schema for listing workflows."
}
GET /api/v1/workflows/{workflow_id}¶
Get Workflow
Description
Get a workflow by ID.
Returns the workflow with all its steps and their current status.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
workflow_id |
path | string | No |
Responses
{
"id": "d99cf60d-7bb3-4ec3-8207-c0048bd4d594",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "2ce55fea-5bfd-4039-b241-2da5dc04387a",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"status": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"total_steps": {
"type": "integer",
"title": "Total Steps"
},
"completed_steps": {
"type": "integer",
"title": "Completed Steps"
},
"progress": {
"type": "number",
"title": "Progress"
},
"current_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Step"
},
"final_step_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Final Step Id"
},
"final_step_result": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Final Step Result"
},
"canvas_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Canvas Task Id"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config"
},
"suppress_subtask_events": {
"type": "boolean",
"title": "Suppress Subtask Events"
},
"origin_instance": {
"type": "string",
"title": "Origin Instance"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id"
},
"origin_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Reference"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Webhook Url"
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"errors": {
"items": {
"type": "string"
},
"type": "array",
"title": "Errors"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"is_deleted": {
"type": "boolean",
"title": "Is Deleted",
"default": false
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepPublic"
},
"type": "array",
"title": "Steps"
}
},
"type": "object",
"required": [
"id",
"name",
"status",
"total_steps",
"completed_steps",
"progress",
"config",
"suppress_subtask_events",
"origin_instance",
"errors",
"created_at",
"updated_at"
],
"title": "WorkflowPublic",
"description": "Public representation of a workflow."
}
PATCH /api/v1/workflows/{workflow_id}¶
Update Workflow
Description
Update workflow metadata.
Can update: - name - description - webhook_url
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
workflow_id |
path | string | No |
Request body
Schema of the request body
{
"properties": {
"name": {
"anyOf": [
{
"type": "string",
"maxLength": 255,
"minLength": 1
},
{
"type": "null"
}
],
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 1000
},
{
"type": "null"
}
],
"title": "Description"
},
"webhook_url": {
"anyOf": [
{
"type": "string",
"maxLength": 512
},
{
"type": "null"
}
],
"title": "Webhook Url"
}
},
"type": "object",
"title": "WorkflowUpdate",
"description": "Schema for updating a workflow."
}
Responses
{
"id": "651e7743-c328-4918-959b-28c88f64b6c7",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "e5721e2e-8578-4f48-84fe-0d412b24d9c5",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"status": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"total_steps": {
"type": "integer",
"title": "Total Steps"
},
"completed_steps": {
"type": "integer",
"title": "Completed Steps"
},
"progress": {
"type": "number",
"title": "Progress"
},
"current_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Step"
},
"final_step_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Final Step Id"
},
"final_step_result": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Final Step Result"
},
"canvas_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Canvas Task Id"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config"
},
"suppress_subtask_events": {
"type": "boolean",
"title": "Suppress Subtask Events"
},
"origin_instance": {
"type": "string",
"title": "Origin Instance"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id"
},
"origin_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Reference"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Webhook Url"
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"errors": {
"items": {
"type": "string"
},
"type": "array",
"title": "Errors"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"is_deleted": {
"type": "boolean",
"title": "Is Deleted",
"default": false
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepPublic"
},
"type": "array",
"title": "Steps"
}
},
"type": "object",
"required": [
"id",
"name",
"status",
"total_steps",
"completed_steps",
"progress",
"config",
"suppress_subtask_events",
"origin_instance",
"errors",
"created_at",
"updated_at"
],
"title": "WorkflowPublic",
"description": "Public representation of a workflow."
}
DELETE /api/v1/workflows/{workflow_id}¶
Cancel Workflow
Description
Cancel a running workflow.
Cancels the workflow and all running tasks. The workflow must be in PENDING or RUNNING state.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
workflow_id |
path | string | No |
Responses
{
"id": "2ae17c72-eba4-4195-89b0-74225750db9a",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "a55a1230-8b79-42c0-8c02-1ac5433409cd",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"status": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"total_steps": {
"type": "integer",
"title": "Total Steps"
},
"completed_steps": {
"type": "integer",
"title": "Completed Steps"
},
"progress": {
"type": "number",
"title": "Progress"
},
"current_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Step"
},
"final_step_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Final Step Id"
},
"final_step_result": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Final Step Result"
},
"canvas_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Canvas Task Id"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config"
},
"suppress_subtask_events": {
"type": "boolean",
"title": "Suppress Subtask Events"
},
"origin_instance": {
"type": "string",
"title": "Origin Instance"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id"
},
"origin_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Reference"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Webhook Url"
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"errors": {
"items": {
"type": "string"
},
"type": "array",
"title": "Errors"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"is_deleted": {
"type": "boolean",
"title": "Is Deleted",
"default": false
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepPublic"
},
"type": "array",
"title": "Steps"
}
},
"type": "object",
"required": [
"id",
"name",
"status",
"total_steps",
"completed_steps",
"progress",
"config",
"suppress_subtask_events",
"origin_instance",
"errors",
"created_at",
"updated_at"
],
"title": "WorkflowPublic",
"description": "Public representation of a workflow."
}
GET /api/v1/workflows/{workflow_id}/artifacts¶
Get Workflow Artifacts
Description
Resolve per-step media artifacts for a workflow from its task rows.
Read-only. TRANSFORMATIONS_SOLVER steps report zero output artifacts by design (numeric result, no media fields).
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
include_inputs |
query | boolean | False | No | |
workflow_id |
path | string | No |
Responses
{
"workflow_id": "69a00bf3-9dd3-4f89-87b0-8801fd134306",
"steps": [
{
"step_id": "string",
"task_id": null,
"task_type": "string",
"node_type": null,
"status": "string",
"artifacts": [
{
"name": "string",
"field": "string",
"url": "string",
"kind": "image",
"mime": null,
"source": "input"
}
]
}
]
}
Schema of the response body
{
"properties": {
"workflow_id": {
"type": "string",
"format": "uuid",
"title": "Workflow Id"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepArtifacts"
},
"type": "array",
"title": "Steps"
}
},
"type": "object",
"required": [
"workflow_id"
],
"title": "WorkflowArtifactsResponse",
"description": "Response from GET /workflows/{id}/artifacts.\n\nSteps with a TRANSFORMATIONS_SOLVER task report zero output artifacts by\ndesign (its result is numeric transform data, not media) — a\nsolver-terminal workflow legitimately shows completed-with-no-artifacts."
}
POST /api/v1/workflows/{workflow_id}/start¶
Start Workflow
Description
Start a pending workflow.
The workflow must be in PENDING state. This compiles the workflow DAG into Celery tasks and begins execution.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
workflow_id |
path | string | No |
Responses
{
"id": "108a2f09-13aa-4645-b7aa-51fd07dc50f2",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "2217fcf1-be99-4b54-9155-ca0424f816df",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"status": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"total_steps": {
"type": "integer",
"title": "Total Steps"
},
"completed_steps": {
"type": "integer",
"title": "Completed Steps"
},
"progress": {
"type": "number",
"title": "Progress"
},
"current_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Step"
},
"final_step_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Final Step Id"
},
"final_step_result": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Final Step Result"
},
"canvas_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Canvas Task Id"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config"
},
"suppress_subtask_events": {
"type": "boolean",
"title": "Suppress Subtask Events"
},
"origin_instance": {
"type": "string",
"title": "Origin Instance"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id"
},
"origin_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Reference"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Webhook Url"
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"errors": {
"items": {
"type": "string"
},
"type": "array",
"title": "Errors"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"is_deleted": {
"type": "boolean",
"title": "Is Deleted",
"default": false
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepPublic"
},
"type": "array",
"title": "Steps"
}
},
"type": "object",
"required": [
"id",
"name",
"status",
"total_steps",
"completed_steps",
"progress",
"config",
"suppress_subtask_events",
"origin_instance",
"errors",
"created_at",
"updated_at"
],
"title": "WorkflowPublic",
"description": "Public representation of a workflow."
}
POST /api/v1/workflows/{workflow_id}/resume¶
Resume Workflow
Description
Resume a failed workflow from its last checkpoint.
Only works for workflows in FAILED or PAUSED state. Resets failed/running steps and recompiles the remaining DAG for execution.
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
workflow_id |
path | string | No |
Responses
{
"id": "2f9995be-69ec-4e16-8583-26959eb41df9",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "9c9a5a4b-8da6-4b8f-8f52-e8c4b4324851",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
}
Schema of the response body
{
"properties": {
"id": {
"type": "string",
"format": "uuid",
"title": "Id"
},
"name": {
"type": "string",
"title": "Name"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Description"
},
"status": {
"$ref": "#/components/schemas/WorkflowStatus"
},
"total_steps": {
"type": "integer",
"title": "Total Steps"
},
"completed_steps": {
"type": "integer",
"title": "Completed Steps"
},
"progress": {
"type": "number",
"title": "Progress"
},
"current_step": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Current Step"
},
"final_step_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Final Step Id"
},
"final_step_result": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"title": "Final Step Result"
},
"canvas_task_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Canvas Task Id"
},
"config": {
"additionalProperties": true,
"type": "object",
"title": "Config"
},
"suppress_subtask_events": {
"type": "boolean",
"title": "Suppress Subtask Events"
},
"origin_instance": {
"type": "string",
"title": "Origin Instance"
},
"origin_zone": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Zone"
},
"origin_tenant_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Tenant Id"
},
"origin_reference": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Origin Reference"
},
"webhook_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Webhook Url"
},
"error_message": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Error Message"
},
"errors": {
"items": {
"type": "string"
},
"type": "array",
"title": "Errors"
},
"started_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Started At"
},
"completed_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Completed At"
},
"created_at": {
"type": "string",
"format": "date-time",
"title": "Created At"
},
"updated_at": {
"type": "string",
"format": "date-time",
"title": "Updated At"
},
"is_deleted": {
"type": "boolean",
"title": "Is Deleted",
"default": false
},
"deleted_at": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"title": "Deleted At"
},
"steps": {
"items": {
"$ref": "#/components/schemas/WorkflowStepPublic"
},
"type": "array",
"title": "Steps"
}
},
"type": "object",
"required": [
"id",
"name",
"status",
"total_steps",
"completed_steps",
"progress",
"config",
"suppress_subtask_events",
"origin_instance",
"errors",
"created_at",
"updated_at"
],
"title": "WorkflowPublic",
"description": "Public representation of a workflow."
}
POST /api/v1/workflows/{workflow_id}/cleanup¶
Cleanup Workflow
Description
Clean up a workflow by soft-deleting it and optionally cleaning up task files.
This endpoint marks the workflow as deleted and optionally: - Deletes all task output files (images, etc.) - Soft-deletes associated task records
The workflow and its tasks will be excluded from list queries by default
after cleanup. Use include_deleted=true on list endpoints to see them.
Args: workflow_id: ID of the workflow to clean up cleanup_tasks: Whether to clean up associated task files (default: True)
Returns: The cleaned up workflow with cleanup details including: - tasks_processed: Number of tasks that were processed - tasks_cleaned: Number of tasks successfully cleaned - deleted_paths: List of file paths that were deleted - errors: List of any errors encountered during cleanup
Input parameters
| Parameter | In | Type | Default | Nullable | Description |
|---|---|---|---|---|---|
HTTPBearer |
header | string | N/A | No | JWT Bearer token |
cleanup_tasks |
query | boolean | True | No | Whether to clean up associated task files |
workflow_id |
path | string | No |
Responses
{
"workflow": {
"id": "dccfed10-6a18-4e56-8ade-84db4b674c4f",
"name": "string",
"description": null,
"status": "PENDING",
"total_steps": 0,
"completed_steps": 0,
"progress": 10.12,
"current_step": null,
"final_step_id": null,
"final_step_result": null,
"canvas_task_id": null,
"config": {},
"suppress_subtask_events": true,
"origin_instance": "string",
"origin_zone": null,
"origin_tenant_id": null,
"origin_reference": null,
"webhook_url": null,
"error_message": null,
"errors": [
"string"
],
"started_at": null,
"completed_at": null,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z",
"is_deleted": true,
"deleted_at": null,
"steps": [
{
"id": "cf11ca44-6a3c-4283-9244-1ba0c46594b6",
"step_id": "string",
"task_type": "string",
"node_type": null,
"node_schema_version": 0,
"config": {},
"provider_config": null,
"active_provider_capabilities": null,
"fallback_provider_type": null,
"fallback_provider_config": null,
"fallback_provider_capabilities": null,
"dependencies": [
"string"
],
"input_mappings": [
{}
],
"status": "PENDING",
"task_id": null,
"result": null,
"error_message": null,
"started_at": null,
"completed_at": null,
"retry_count": 0,
"max_retries": 0,
"created_at": "2022-04-13T15:42:05.901Z",
"updated_at": "2022-04-13T15:42:05.901Z"
}
]
},
"cleanup": {
"tasks_processed": 0,
"tasks_cleaned": 0,
"deleted_paths": [
"string"
],
"errors": [
{
"task_id": "92a2598c-35be-4309-b7fb-f58ba195b792",
"step_id": "string",
"task_type": "string",
"error": "string"
}
]
}
}
Schema of the response body
{
"properties": {
"workflow": {
"$ref": "#/components/schemas/WorkflowPublic"
},
"cleanup": {
"$ref": "#/components/schemas/WorkflowCleanupDetail"
}
},
"type": "object",
"required": [
"workflow",
"cleanup"
],
"title": "WorkflowCleanupResponse",
"description": "Response schema for workflow cleanup endpoint."
}
Schemas¶
ArtifactRef¶
| Name | Type | Description |
|---|---|---|
field |
string | Task attribute the artifact came from |
kind |
string | Coarse media kind |
mime |
Guessed MIME type, or null | |
name |
string | Display name (historical monitoring naming, e.g. result_mask_1) |
source |
string | Whether the task consumed or produced it |
url |
string | Public URL; EMPTY string when the stored path is invalid |
CreateWorkflow¶
| Name | Type | Description |
|---|---|---|
config |
Global workflow configuration | |
description |
Optional workflow description | |
id |
Optional caller-assigned ID used to make workflow creation idempotent | |
name |
string | Human-readable workflow name |
origin_instance |
string | Origin instance identifier |
origin_reference |
External reference ID for tracking | |
origin_tenant_id |
Tenant identifier for multi-tenant setups | |
origin_zone |
Origin zone identifier | |
steps |
Array<WorkflowStepDefinition> | List of steps defining the workflow DAG |
suppress_subtask_events |
boolean | Whether to suppress individual task events |
webhook_url |
URL to call when workflow completes |
FieldMapping¶
| Name | Type | Description |
|---|---|---|
from_field |
string | Output field name from source step |
from_step |
string | Step ID to get output from |
to_field |
string | Input field name in target step |
transform |
Optional transformation to apply when mapping |
HTTPValidationError¶
| Name | Type | Description |
|---|---|---|
detail |
Array<ValidationError> |
ProviderType¶
Type: string
StepStatus¶
Type: string
TaskType¶
Type: string
TransformType¶
Type: string
ValidationError¶
| Name | Type | Description |
|---|---|---|
loc |
Array<> | |
msg |
string | |
type |
string |
WorkflowArtifactsResponse¶
| Name | Type | Description |
|---|---|---|
steps |
Array<WorkflowStepArtifacts> | |
workflow_id |
string(uuid) |
WorkflowCleanupDetail¶
| Name | Type | Description |
|---|---|---|
deleted_paths |
Array<string> | |
errors |
Array<WorkflowCleanupError> | |
tasks_cleaned |
integer | |
tasks_processed |
integer |
WorkflowCleanupError¶
| Name | Type | Description |
|---|---|---|
error |
string | |
step_id |
string | |
task_id |
string(uuid) | |
task_type |
string |
WorkflowCleanupResponse¶
| Name | Type | Description |
|---|---|---|
cleanup |
WorkflowCleanupDetail | |
workflow |
WorkflowPublic |
WorkflowListResponse¶
| Name | Type | Description |
|---|---|---|
limit |
integer | |
skip |
integer | |
total |
integer | |
workflows |
Array<WorkflowPublic> |
WorkflowPublic¶
| Name | Type | Description |
|---|---|---|
canvas_task_id |
||
completed_at |
||
completed_steps |
integer | |
config |
||
created_at |
string(date-time) | |
current_step |
||
deleted_at |
||
description |
||
error_message |
||
errors |
Array<string> | |
final_step_id |
||
final_step_result |
||
id |
string(uuid) | |
is_deleted |
boolean | |
name |
string | |
origin_instance |
string | |
origin_reference |
||
origin_tenant_id |
||
origin_zone |
||
progress |
number | |
started_at |
||
status |
WorkflowStatus | |
steps |
Array<WorkflowStepPublic> | |
suppress_subtask_events |
boolean | |
total_steps |
integer | |
updated_at |
string(date-time) | |
webhook_url |
WorkflowStatus¶
Type: string
WorkflowStepArtifacts¶
| Name | Type | Description |
|---|---|---|
artifacts |
Array<ArtifactRef> | |
node_type |
||
status |
string | |
step_id |
string | |
task_id |
||
task_type |
string |
WorkflowStepDefinition¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
List of active capabilities for this task | |
config |
Static configuration for the task (prompt, dimensions, etc.) | |
depends_on |
Array<string> | List of step IDs this step depends on |
fallback_provider_capabilities |
Capabilities for the fallback provider. | |
fallback_provider_config |
Provider-specific config for the fallback provider. | |
fallback_provider_type |
Fallback provider activated when primary exhausts all retries. | |
id |
string | Unique identifier for this step within the workflow |
input_mappings |
Array<FieldMapping> | Mappings from previous step outputs to this step's inputs |
max_retries |
integer | Maximum retry attempts for this step |
node_schema_version |
integer | Node input/output schema version |
node_type |
Node dispatch key; None = legacy task_type dispatch | |
provider_config |
Provider-specific configuration (provider_type, fal_app_id, etc.) | |
task_type |
TaskType | Type of task to execute |
WorkflowStepPublic¶
| Name | Type | Description |
|---|---|---|
active_provider_capabilities |
||
completed_at |
||
config |
||
created_at |
string(date-time) | |
dependencies |
Array<string> | |
error_message |
||
fallback_provider_capabilities |
||
fallback_provider_config |
||
fallback_provider_type |
||
id |
string(uuid) | |
input_mappings |
Array<> | |
max_retries |
integer | |
node_schema_version |
integer | |
node_type |
||
provider_config |
||
result |
||
retry_count |
integer | |
started_at |
||
status |
StepStatus | |
step_id |
string | |
task_id |
||
task_type |
string | |
updated_at |
string(date-time) |
WorkflowUpdate¶
| Name | Type | Description |
|---|---|---|
description |
||
name |
||
webhook_url |
WorkflowValidateErrorDetail¶
| Name | Type | Description |
|---|---|---|
code |
string | |
field |
||
message |
string | |
step_id |
WorkflowValidateResponse¶
| Name | Type | Description |
|---|---|---|
errors |
Array<string> | |
errors_detail |
Array<WorkflowValidateErrorDetail> | |
execution_levels |
Array<Array<string>> | |
resolved_queues |
||
terminal_step_id |
||
valid |
boolean | |
warnings |
Array<WorkflowValidateWarning> |
WorkflowValidateWarning¶
| Name | Type | Description |
|---|---|---|
code |
string | |
message |
string | |
step_id |
Security schemes¶
| Name | Type | Scheme | Description |
|---|---|---|---|
| HTTPBearer | http | bearer |