---
title: "Validate a workflow definition"
method: POST
path: "/api/apps/{app_id}/workflows/validate-definition"
---

# Validate a workflow definition

`POST /api/apps/{app_id}/workflows/validate-definition`

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Checks a workflow definition and tells you what is wrong with it, without saving anything.

Call this before [Create workflow](/api-reference/create-workflow) or [Update workflow](/api-reference/update-workflow) to catch problems while you still have the definition in hand. An invalid definition comes back as a 200 with `valid` set to `false` and the problems in `errors`, not as an error status, so branch on `valid` rather than on the status code.

The response also lists the task types and activities this app can use, which is the set a valid definition has to stay inside.

This endpoint is limited to 30 requests per minute.

## Path parameters

- `app_id` string, required — ID of the app whose workflows you want to work with.

## Request body

- ValidateDefinitionRequest
  - `definition` object, required — The CNCF Serverless Workflow v1.0 document to check.

## Response `200`

The verdict. Check `valid`, not the status code.

- ValidationResponse
  - `valid` boolean, required — Whether the definition can be saved as-is.
  - `errors` object[] — What is wrong with the definition, one entry per problem. Empty when `valid` is `true`.
  - `supported_task_types` string[] — Task types a definition may use.
  - `available_activities` string[] — Activities this app can call from a task.

## Other responses

- `401` — Missing or invalid credentials.
- `402` — This workspace's plan does not include workflows. Upgrade to Builder or above.
- `403` — You don't have access to this app, the app does not exist, the app still runs the older automations engine instead of workflows, or you used a workspace API key. A missing app and an app you cannot reach are deliberately the same answer.
- `422` — Validation Error

## Changes

- **2026-08-26** `f2727732ced1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/idealspot/apis/base44-app-management-api/changes/api/apps/:app_id/workflows/validate-definition/post.md)

---

[API](https://skmtc.dev/idealspot/apis/base44-app-management-api.md) · [All operations](https://skmtc.dev/idealspot/apis/base44-app-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/idealspot/base44-app-management-api/revisions/31ef75eb64ab/schema)
