Catalog/workflow-fsm-validate

Workflow

Validate state machine API

Validates an FSM definition: confirms initial/final states exist and transitions reference known states, and flags duplicate (state,event) pairs and unreachable/dead-end states. Answers 'Is this state machine well-formed?', 'Is it deterministic?'.

Price$0.02per request
MethodPOST
Route/v1/workflow/fsm-validate
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
fsmstate-machinevalidatestatecharttransitionsdeterministicautomataworkflow
API URLhttps://x402.hexl.dev/v1/workflow/fsm-validate
Integration docs
Example request
{
  "states": [
    "idle",
    "running",
    "done"
  ],
  "initial": "idle",
  "transitions": [
    {
      "from": "idle",
      "on": "start",
      "to": "running"
    },
    {
      "from": "running",
      "on": "finish",
      "to": "done"
    }
  ],
  "finals": [
    "done"
  ]
}
Example response
{
  "valid": true,
  "deterministic": true,
  "duplicateTransitions": [],
  "unreachableStates": [],
  "deadEndStates": [],
  "interpretation": "FSM is well-formed and deterministic."
}
Input schema
{
  "type": "object",
  "required": [
    "states",
    "initial",
    "transitions"
  ],
  "properties": {
    "states": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "examples": [
        [
          "idle",
          "running",
          "done"
        ]
      ]
    },
    "initial": {
      "type": "string",
      "examples": [
        "idle"
      ]
    },
    "transitions": {
      "type": "array",
      "examples": [
        [
          {
            "from": "idle",
            "on": "start",
            "to": "running"
          },
          {
            "from": "running",
            "on": "finish",
            "to": "done"
          }
        ]
      ]
    },
    "finals": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "examples": [
        [
          "done"
        ]
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}