Reference table
Errors
Lists the error categories Pensieve returns, what each one means, and the response a caller or operator can expect for each.
Pensieve returns every failure in one shape, drawn from a fixed set of categories. This page lists those error categories, what each one means, and the response a caller or an operator can expect when it is returned.
One error shape
Every error the platform returns carries the same shape, so a caller reads any failure the same way whichever system raised it. An error arrives as a value the caller inspects, alongside the category it belongs to.
The class of error, one of the fixed set below.
A stable label for the specific error, safe for a caller to branch on.
A human-readable description of what happened.
An identifier that ties the error to the request trace for an operator.
The error categories
Each category answers a different question about why the request stopped. The response column describes what the caller sees and the step it points to.
| Category | What it means | Response the caller sees |
|---|---|---|
| Unrecognised caller | The request arrives without an established identity. | A prompt to sign in again before the action proceeds. |
| Outside permissions | The caller holds no current right to this action on this patient. | The action is withheld, and the interface offers only what the caller may do. |
| Malformed request | The request is shaped in a way the platform reads as incomplete. | The field that needs correcting, named in the message. |
| Absent item | The referenced patient, order or record is absent. | A statement that the item is absent, with the reference that was tried. |
| State conflict | The action conflicts with the current state, such as an order already completed. | The current state, so the caller reads the next valid step. |
| Unmet precondition | A required condition is outstanding before the action can run. | The condition that remains outstanding. |
| Too many requests | The caller has sent more requests than the platform accepts in the moment. | A short wait before the request is retried. |
| Outside system unavailable | A connected outside system is out of reach. | A hold on the exchange, retried on the outbound path. |
| Internal fault | The platform meets an unexpected condition. | A reference that ties the fault to its trace for an operator. |
An error the interface has already accounted for
Access is a projection of what a person may do, so the interface offers only permitted actions. An outside permissions error is the boundary answering a request that reached past the projection, and it holds the same for every system.
What an operator sees
The reference on every error ties it to the request trace, so an operator follows one failure across the systems the request touched. A state conflict, an absent item, and an internal fault each carry the same reference, and each resolves against the trace of the one request that raised it.
category enum Required | The class the operator filters on to group like failures. |
reference string Required | The trace identifier the operator follows across systems. |
message string Required | The human-readable account written alongside the failure. |
An outside system being out of reach is a category of its own, handled on the outbound path. Read how a held message is queued and replayed in message failure and replay, or how systems react through the event log in events.