Skip to main content
Twelve API surfaces, several codebases, several error envelopes. Each engine’s pages list its own status codes; this page is the cross-reference — read it once and your error handler (or your agent’s) will know what to parse everywhere.

The shapes

The five situations that matter

However the envelope is spelled, an error lands in one of five families. This is the branch table an agent needs:
Business refusals are not transport errors. The Commerce Engine rejects an illegal state transition with a 4xx carrying an invariant code an agent can branch on; NSR answers a refused authorization with a 200 whose verdict is refused (with the cited rules); a Voice call blocked by DNC or quiet hours is a policy 403. Handle these as decisions, not retries.
Last modified on August 31, 2026