Workspace.Workflows.Validation
Tags: automation, workflows
Endpoints
GET /{workflow_id}/route-dry-run- Route Dry RunGET /{workflow_id}/validate-access- Validate AccessGET /{workflow_id}/validate-config- Validate Config
Route Dry Run
GET /api/v2/w/{workspace_uuid}/workflows/{workflow_id}/route-dry-run
Description:
Workflow creation and management
Trace automatic routing for a Chat without performing the transition.
Replays the same routing logic the platform uses at the next turn, but does not change Assignment state. Use this to see which child Task would be selected for a given Chat and optional task overrides.
Path parameters
workflow_id: Workflow to evaluate.
Query parameters
chat_id: Chat on an Assignment in that Workflow.current_task_id(optional): Override the active Task for evaluation.current_assignment_task_id(optional): Override the active Assignment Task for evaluation.
Response: Task and Assignment identifiers, candidate child Task IDs,
the winning child Task ID when one is selected, and errorType when
evaluation fails. CEL expressions, form values, Member fields, Chat
content, and raw error messages are not returned.
Permissions: Workflow edit access on workflow_id and read access
to chat_id (Assignment owner or chats:read scope). Read-only
Workflow access is not sufficient because the trace exposes routing
topology and Task IDs.
Authentication: Requires workspace member
Parameters:
workflow_id(Integer)chat_id(Integer)current_task_id(Integer)current_assignment_task_id(Integer)
Response: See WorkflowRouteDryRunResponse
Validate Access
GET /api/v2/w/{workspace_uuid}/workflows/{workflow_id}/validate-access
Description:
Workflow creation and management
Validate that roles with workflow access also have access to dependency resources.
Checks all abilities on the workflow and its tasks, then verifies that each role with workflow USE access also has access to the forms, files, folders, and calendars referenced by those abilities. Each ability type defines its own validation logic via the AbilityRegistry.
Path Parameters:
workflow_id: Unique identifier of the workflow (integer)
Response: Returns a WorkflowAccessValidationResponse containing:
warnings: Array of WorkflowAccessWarning objects describing missing access
Permissions: Requires valid workspace membership and "edit" permission on the workflow.
Authentication: Requires workspace member
Parameters:
workflow_id(Integer)
Response: See WorkflowAccessValidationResponse
Validate Config
GET /api/v2/w/{workspace_uuid}/workflows/{workflow_id}/validate-config
Description:
Workflow creation and management
Validate that this workflow's abilities reference live workspace resources.
Calls collect_config_issues on every ability (enabled or not) and
aggregates non-blocking diagnostics (for example, files or folders that
were deleted after the ability was saved). Runtime resolution stays
resilient regardless — this route exists to surface drift to operators
before they re-enable something or save an unrelated change that would
drag broken config along with it.
Path Parameters:
workflow_id: Unique identifier of the workflow (integer)
Response: Returns a WorkflowConfigValidationResponse containing:
issues: Array of AbilityConfigIssue entries describing config drift
Permissions: Requires valid workspace membership and "edit" permission on the workflow.
Authentication: Requires workspace member
Parameters:
workflow_id(Integer)
Response: See WorkflowConfigValidationResponse