Skip to content

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.

categoryenum

The class of error, one of the fixed set below.

codestring

A stable label for the specific error, safe for a caller to branch on.

messagestring

A human-readable description of what happened.

referencestring

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.

CategoryWhat it meansResponse the caller sees
Unrecognised callerThe request arrives without an established identity.A prompt to sign in again before the action proceeds.
Outside permissionsThe 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 requestThe request is shaped in a way the platform reads as incomplete.The field that needs correcting, named in the message.
Absent itemThe referenced patient, order or record is absent.A statement that the item is absent, with the reference that was tried.
State conflictThe action conflicts with the current state, such as an order already completed.The current state, so the caller reads the next valid step.
Unmet preconditionA required condition is outstanding before the action can run.The condition that remains outstanding.
Too many requestsThe caller has sent more requests than the platform accepts in the moment.A short wait before the request is retried.
Outside system unavailableA connected outside system is out of reach.A hold on the exchange, retried on the outbound path.
Internal faultThe 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.