error key:
type— a stable, machine-readable category. Branch on this.message— a human-readable explanation. Safe to log; do not pattern-match on it.code— a dotted sub-code for finer handling.param— the offending field, when applicable.
Status codes
Pair
429 and 5xx handling with idempotency keys so retries never
double-post.