Workflow
FSM unreachable states API
Detects FSM states never reachable from the initial state and states that cannot reach any final state, to catch dead logic. Answers 'Are any states unreachable?', 'Can every state still finish?'.
Price$0.02per request
MethodPOST
Route/v1/workflow/fsm-unreachable
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
fsmstate-machineunreachabledead-statevalidatereachabilityautomataworkflow
API URL
Integration docshttps://x402.hexl.dev/v1/workflow/fsm-unreachableExample request
{
"states": [
"idle",
"running",
"done",
"orphan"
],
"initial": "idle",
"transitions": [
{
"from": "idle",
"on": "start",
"to": "running"
},
{
"from": "running",
"on": "finish",
"to": "done"
}
],
"finals": [
"done"
]
}Example response
{
"unreachableStates": [
"orphan"
],
"cannotReachFinalStates": [
"orphan"
],
"allReachable": false,
"interpretation": "Unreachable from initial: orphan."
}Input schema
{
"type": "object",
"required": [
"states",
"initial",
"transitions"
],
"properties": {
"states": {
"type": "array",
"items": {
"type": "string"
},
"examples": [
[
"idle",
"running",
"done",
"orphan"
]
]
},
"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
}