---
title: "Validate a workflow graph (structural + reference resolution)"
method: POST
path: "/workflows/validate"
tags: ["Workflows"]
---

# Validate a workflow graph (structural + reference resolution)

`POST /workflows/validate`

## Request

- Base URL: `https://be.graph8.com/api/v1`
- URL: `https://be.graph8.com/api/v1/workflows/validate`
- Auth: HTTP bearer

Validate a workflow without saving. Returns errors + warnings +
missing_references so an MCP client can repair before retrying create.

The inner ``config`` is normalized the same way create/update do so
a caller can validate hybrid/ReactFlow shapes and get a clean answer
instead of a structural error from a key the validator didn't expect.

## Headers

- `Authorization` string, nullable
- `X-Target-Org-Id` string, nullable

## Request body

- object: WorkflowValidateRequest: {config: {nodes, edges, start_node_id}}.

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graph8/apis/graph8-developer-api.md) · [All operations](https://skmtc.dev/graph8/apis/graph8-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/graph8/apis/graph8-developer-api/revisions/89fc11143b70?raw)
