Skip to main content
Every failure carries one shape, whatever caused it: one error body across the suite rather than one per endpoint. A source’s own status and body are never passed through.
The code is stable. The message is prose and its wording may change.

A 200 that says no

A registration the source holds nothing for is an answer, not a failure. It comes back as 200 with a reason naming what did not hold. A few reasons say the source reached no conclusion, for a reason outside your request, rather than settling the question against you: bank-account-unsettled when the banking network could not settle the account, and in the orchestrated flow source-unavailable and details-refused for a check that answered nothing. The verdict is in reasons, not in the status code: an empty list means the check passed. What each check can conclude is listed with it in the API reference.