IPA (Intelligent Purchase Authorisation) lifecycle — the routes, states, and events below use the IPA identifiers unchanged. This page is the state-machine reference. For the API surface and request/response shape, see the Errand guide; for the concept and composition model, see Errands.
An Errand has three product phases that map onto the underlying states:
Terminal states (
completed, failed, cancelled, expired) close the Errand out of whichever phase it was in.
State diagram
Status reference
How transitions map to the public API
The following response fields are populated as the Errand advances:
The
_links map on every response declares which actions the current state allows:
Event stream
Every state change is recorded as an event. Fetch them withGET /v0/user/ipa/{ipa_id}/events, or embed them via expand=events. Event types include ipa.status_change, ipa.clarification_sent, ipa.clarification_received, ipa.approval_requested, ipa.approval_received, ipa.workflow_started, ipa.workflow_completed, ipa.workflow_failed, ipa.cancelled, ipa.workflow_resumed, ipa.monitor_started, and ipa.price_checked.
Related
- Errand guide — request/response shape and drive-the-lifecycle recipes.
- Errands — concept page and composition with PINTs.
- Enable Errands for a user — an end-to-end quickstart that walks the diagram above.
- PINTs and scopes — the primitives an Errand rides on.