Business and validation errors use this shape:
Authentication, throttling, and idempotency failures can return a detail field without message. Branch on the HTTP status before reading either field.

Safe retries

  1. Store a correlation ID before the first request.
  2. Reuse external_id when reconciling quote creation.
  3. Reuse Idempotency-Key for the same supported write and body.
  4. Generate a new timestamp, nonce, and signature for every HTTP attempt.
  5. After a timeout or server error, read the resource before writing again.
Vantage stores idempotent responses for 48 hours. Reusing a key with a different method, path, or body returns 409 Conflict.