details is omitted when absent.
The API uses a minimal HTTP status scheme — 400 for request errors, 401 for auth failures, 429 for rate limiting, and 500 for server errors. The precise error is always in the error.code field.
API errors
These apply to/api/v1/swap and general auth/rate-limit handling.
Deploy errors
/api/v1/deploy uses the same { success, error: { code, message, details? } }
envelope, with its own set of codes. Both hosts serve deploys, but a few codes
are specific to one of them.
Deploy validation stops at the first failure, so an error describes one
problem even when several exist. Fix the one you are given and resend.

