Skip to content

Exception Handling Implementation Standard

Purpose

The Exception Handling Implementation Standard defines how backend failures become safe API errors and auditable operational signals.

Error Categories

Category API Error Direction
Validation failure VALIDATION_FAILED.
Authentication failure AUTHENTICATION_REQUIRED or TOKEN_INVALID.
Authorization denial AUTHORIZATION_DENIED or MFA_REQUIRED.
Tenant context failure TENANT_CONTEXT_REQUIRED, ORGANIZATION_CONTEXT_REQUIRED, or TENANT_ACCESS_DENIED.
Entitlement failure ENTITLEMENT_REQUIRED or USAGE_LIMIT_REACHED.
Idempotency failure IDEMPOTENCY_KEY_REQUIRED or IDEMPOTENCY_CONFLICT.
Conflict RESOURCE_CONFLICT.
Integration failure INTEGRATION_UNAVAILABLE or INTEGRATION_CALLBACK_INVALID.
Unexpected failure INTERNAL_ERROR.

Rules

  • Exceptions must be translated into the standard error envelope.
  • Error responses include correlation ID.
  • Errors do not expose stack traces, SQL details, secrets, tokens, provider credentials, or internal class names.
  • Retryability must be explicit where useful.
  • Domain errors use business language and stable codes.
  • Security denials must not reveal sensitive resource existence.
  • Material failures are logged with safe context and audit metadata where required.

Handling Flow

flowchart LR
    Failure[Failure]
    Classify[Classify]
    Map[Map to Error Code]
    Envelope[Standard Error Envelope]
    Audit[Safe Log and Audit]

    Failure --> Classify --> Map --> Envelope
    Map --> Audit

Testing Expectations

Tests must verify error code mapping, correlation IDs, safe messages, no sensitive leakage, retryable flags, and tenant-safe denial behavior.