---
title: "Validate a workflow"
method: POST
path: "/api/workflows/{workflow_id}/validations/"
tags: ["workflows"]
---

# Validate a workflow

`POST /api/workflows/{workflow_id}/validations/`

Validate the latest editable draft and send real preview notifications or webhooks for delivery tasks. No logs are fetched and no aggregation runs. Configuration failures are returned in the `200` validation envelope; a draft with no tasks succeeds with an empty `task_results` array.

## Path parameters

- `workflow_id` string, required

## Headers

- `Authorization` string, required

## Response `200`

Workflow validation result.

- WorkflowsValidateWorkflowResponse200
  - `status` 'success' | 'validation_error', required
  - `validation` ApiWorkflowsWorkflowIdValidationsPostResponsesContentApplicationJsonSchemaValidation, required
    - `is_valid` boolean, required
    - `error` string, nullable, required
  - `task_results` ApiWorkflowsWorkflowIdValidationsPostResponsesContentApplicationJsonSchemaTaskResultsItems[], required
    - `task_id` string, required
    - `task_type` string, required
    - `status` 'passed' | 'failed' | 'skipped', required
    - `message` string, required
  - `is_all_passed` boolean, required

## Other responses

- `401` — Authentication failed.
- `404` — Workflow family has no editable draft.

---

[API](https://skmtc.dev/respan/apis/api-reference.md) · [All operations](https://skmtc.dev/respan/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/respan/api-reference/revisions/764fca4d43e4/schema)
