Validate Workflow
Validate a workflow definition without executing it
Validate a workflow definition without executing it
Checks the current workflow definition for structural errors — missing required fields, invalid node configurations, broken edge references — without placing a call or creating a run.
If invalid, the response includes a list of errors each with a kind (node, edge, or workflow), the offending id, the field, and a human-readable message. See Errors for the full error schema.
Quick reference#
Validate a workflow definition without executing it. Send the request to POST /api/v1/workflow/{workflowid}/validate on the Paladin API base URL.
| Method | POST |
|---|---|
| Path | /api/v1/workflow/{workflowid}/validate |
| Path parameters | workflowid |
| Authentication | Use the authentication method shown in the OpenAPI block and the Authentication docs. Keep API keys server-side. |
Before you call#
- Confirm you are using the production base URL shown in the API reference.
- Make sure any path IDs belong to the same Paladin organization as the credential you are using.
- Validate request bodies and required fields before sending production traffic.
Common error checks#
- Use 401 or 403 responses to check credentials, organization scope, and permissions.
- Use 404 responses to check whether the referenced resource exists in the current organization.
- Use 422 responses to inspect missing or invalid request fields.
OpenAPI#
POST /api/v1/workflow/{workflowid}/validate
openapi: 3.1.0
info:
title: Paladin API
description: API for the Paladin app
version: 1.0.0
servers:
- url: https://app.paladin.northmanngrp.com
description: Production
security: []
paths:
/api/v1/workflow/{workflow_id}/validate:
post:
tags:
- main
summary: Validate Workflow
description: |-
Validate all nodes in a workflow to ensure they have required fields.
Args:
workflow_id: The ID of the workflow to validate
user: The authenticated user
Returns:
Object indicating if workflow is valid and any invalid nodes/edges
operationId: validate_workflow_api_v1_workflow__workflow_id__validate_post
parameters:
- name: workflow_id
in: path
required: true
schema:
type: integer
title: Workflow Id
- name: authorization
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: Authorization
- name: X-API-Key
in: header
required: false
schema:
anyOf:
- type: string
- type: 'null'
title: X-Api-Key
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateWorkflowResponse'
'404':
description: Not found
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
components:
schemas:
ValidateWorkflowResponse:
properties:
is_valid:
type: boolean
title: Is Valid
errors:
items:
$ref: '#/components/schemas/WorkflowError'
type: array
title: Errors
type: object
required:
- is_valid
- errors
title: ValidateWorkflowResponse
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
WorkflowError:
properties:
kind:
$ref: '#/components/schemas/ItemKind'
id:
anyOf:
- type: string
- type: 'null'
title: Id
field:
anyOf:
- type: string
- type: 'null'
title: Field
message:
type: string
title: Message
type: object
required:
- kind
- id
- field
- message
title: WorkflowError
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
ItemKind:
type: string
enum:
- node
- edge
- workflow
title: ItemKind