Skip to main content

Error format

Every /mm/v1 error returns a JSON body with a stable error code and a fixed message:
RISK_LIMIT also names the limit that was hit:
Write your logic against error (and limit). The message is for people and may change. A 401 also carries WWW-Authenticate: Bearer realm="mm/v1".

Error codes

Authentication

Authorization and trading availability

Request validation

Not found and market state

Order policy

Idempotency and state conflicts

Rate limiting

Server errors

A path or method that is not part of the API returns a plain 404 from the router, not this JSON envelope.

How to handle errors

Any refusal of a placement (400, 403, 404, 409, 422) creates nothing. See Building a reliable client for the full retry rules.