error.code— stable, machine-readable identifier. Branch on this.error.message— human-readable summary. Suitable for logs; safe to surface to your end users.error.details— optional, code-specific extra fields.
Codes
not_found and cross-tenant isolation
A 404 not_found is returned both when the record genuinely doesn’t
exist and when it belongs to a different organisation. This is
deliberate — we never reveal whether an id belongs to another tenant.
A guessed UUID from another org always returns 404, never data.
Validation errors
422 validation_failed includes per-field detail:

