Validate a workflow 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 or 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.

post/api/apps/{app_id}/workflows/validate-definition

Path parameters

app_idstring required

ID of the app whose workflows you want to work with.

ID of the app whose workflows you want to work with.

Request body

definitionobject required

The CNCF Serverless Workflow v1.0 document to check.

Example request

{
  "definition": {
    "do": [],
    "document": {
      "dsl": "1.0.0",
      "name": "notify",
      "version": "1.0.0"
    }
  }
}

Response

The verdict. Check valid, not the status code.

validboolean required

Whether the definition can be saved as-is.

errorsobject[]

What is wrong with the definition, one entry per problem. Empty when valid is true.

supported_task_typesstring[]

Task types a definition may use.

available_activitiesstring[]

Activities this app can call from a task.

Example response

{
  "valid": true,
  "errors": [
    {
      "code": "UNKNOWN_TASK_TYPE",
      "message": "Task 'notify' has no known type",
      "path": "do[0]"
    }
  ],
  "supported_task_types": [
    "call",
    "set",
    "switch",
    "for"
  ],
  "available_activities": [
    "send_email",
    "create_entity_record"
  ]
}

Changes