Last updated: Jul 30, 2026

Status & Lifecycles

Status & Lifecycleslink

Some Infraspeak entities follow defined state machines. Understanding these lifecycles helps you build integrations that correctly track and transition entity states.

Failure (Work Order) Lifecyclelink

Work Orders follow this state progression:

stateDiagram-v2
    [*] --> WAITING_APPROVAL
    WAITING_APPROVAL --> ARCHIVED : delete
    WAITING_APPROVAL --> COMPLETED : decline
    WAITING_APPROVAL --> WAITING_RESOLUTION : approve
    WAITING_RESOLUTION --> ARCHIVED : delete
    WAITING_RESOLUTION --> WAITING_APPROVAL : undo approval
    WAITING_RESOLUTION --> IN_RESOLUTION : start
    WAITING_APPROVAL --> IN_RESOLUTION : start
    IN_RESOLUTION --> ARCHIVED : delete
    IN_RESOLUTION --> PAUSED : pause
    PAUSED --> ARCHIVED : delete
    PAUSED --> IN_RESOLUTION : resume
    PAUSED --> COMPLETED : close
    IN_RESOLUTION --> COMPLETED : close
    COMPLETED --> IN_RESOLUTION : reopen
    COMPLETED --> ARCHIVED : delete

Failure Stateslink

State Description Actions Available
WAITING_APPROVAL Newly created, pending review Approve, Decline, Start, Delete
WAITING_RESOLUTION Approved, ready to start Start, Undo Approval, Delete
IN_RESOLUTION Work in progress Pause, Close, Delete
PAUSED Work temporarily stopped Resume, Close, Delete
COMPLETED Work closed/finished Reopen, Delete
ARCHIVED Deleted record None

Filtering by Statelink

# Get all open failures (not closed or archived)
GET /failures/open

# Get all closed failures
GET /failures/closed

# Filter by specific state
GET /failures?s_state=WAITING_RESOLUTION

# Multiple states
GET /failures?s_state_in=WAITING_RESOLUTION,IN_RESOLUTION

Scheduled Work (Planned Job Order) Lifecyclelink

Preventive maintenance tasks follow this state progression:

stateDiagram-v2
    [*] --> SCHEDULED
    SCHEDULED --> ARCHIVED : cancel
    ARCHIVED --> SCHEDULED : undo cancelation
    SCHEDULED --> CANCELED : delete
    CANCELED --> SCHEDULED : undo deletion
    SCHEDULED --> RUNNING : start
    RUNNING --> PAUSED : pause
    PAUSED --> RUNNING : resume
    PAUSED --> COMPLETED : close
    RUNNING --> COMPLETED : close
    COMPLETED --> RUNNING : reopen
    COMPLETED --> COMPLETED_CANCELED : delete
    COMPLETED_CANCELED --> COMPLETED : undo deletion

Scheduled Work Stateslink

State Description Actions Available
SCHEDULED Scheduled job order Start, Cancel, Delete
RUNNING Work in progress Pause, Close
PAUSED Work temporarily stopped Resume, Close
COMPLETED Work closed/finished Reopen, Delete
COMPLETED_CANCELED Deleted record Undo Deletion

Buy Order Lifecyclelink

Purchase orders follow this flow:

stateDiagram-v2
    [*] --> SAVED_AS_DRAFT
    SAVED_AS_DRAFT --> CREATED : create
    CREATED --> RECEIVED : receive
    CREATED --> RECEIVED_PARTIALLY : receive partially
    RECEIVED --> CREATED : undo receive
    RECEIVED --> CONFIRMED : confirm
    RECEIVED_PARTIALLY --> RECEIVED : receive
    CONFIRMED --> RECEIVED : undo confirmation

Buy Order Stateslink

State Description Actions Available
SAVED_AS_DRAFT Draft order Create
CREATED Order submitted Receive, Receive Partially
RECEIVED_PARTIALLY Googs partially received Receive
RECEIVED All goods received Confirm, Undo Receive
CONFIRMED Order fulfilled Undo Confirmation

Sell Order Lifecyclelink

Sell order follow this flow:

stateDiagram-v2
    [*] --> DRAFT
    DRAFT --> RUNNING : start
    DRAFT --> CANCELLED : cancel
    CANCELLED --> DRAFT : undo cancelation
    RUNNING --> COMPLETED : complete
    RUNNING --> CANCELLED : cancel
    COMPLETED --> RUNNING : undo completion
    COMPLETED --> COMPLETED_CONFIRMED : confirm
    COMPLETED_CONFIRMED --> COMPLETED : undo confirmation

Sell Order Stateslink

State Description Actions Available
DRAFT Draft order Start, Cancel
RUNNING Order being prepared Complete, Cancel
CANCELLED Order cancelled Undo Cancelation
COMPLETED Order attended Confirm, Undo Completion
COMPLETED_CONFIRMED Order fulfilled Undo Confirmation

Working with State Timestampslink

State transitions are usually tracked with timestamps. Example from a Work Order:

{
  "id": "12345",
  "type": "failure",
  "attributes": {
    "state": "COMPLETED",
    "report_date": "2026-06-16 10:30:00",
    "approved_date": "2026-06-16 11:00:00",
    "started_date": "2026-06-16 14:00:00",
    "completed_date": "2026-06-16 16:30:00"
  }
}