Authentication (M001–M005)
These fire when the bearer token on/v1/chat/completions is missing or wrong. They surface as HTTP 401 to non-chat clients.
| Code | What |
|---|---|
| M001: Missing Authorization header | No Authorization header on the request |
| M002: Empty Bearer token | Header present, token after Bearer is blank |
| M003: Invalid key format | Token doesn’t start with mnfst_ |
| M004: Key expired | Key past its expiration date |
| M005: Key not recognized | No matching agent for this key |
Providers (M100–M101)
Your key is fine, but no provider credentials are wired up. See Routing and API key providers.| Code | What |
|---|---|
| M100: Provider API key missing | Routing picked a provider you haven’t connected |
| M101: No providers configured | Agent has zero providers connected |
Limits (M200–M203)
You hit a usage cap or rate limit. They surface as HTTP 429. See Set limits.| Code | What |
|---|---|
| M200: Usage limit exceeded | Cost or message-count limit you set was crossed |
| M201: Per-user rate limit exceeded | More than 200 requests/minute from one user |
| M202: Per-IP rate limit exceeded | More than 500 requests/minute from one IP |
| M203: Concurrency limit exceeded | More than 10 in-flight requests at once |
Validation (M300–M301)
The request body is malformed. They surface as HTTP 400.| Code | What |
|---|---|
| M300: Missing messages array | Body has no messages array, or it’s empty |
| M301: Messages array too long | More than 1000 messages in a single request |
Server (M500)
Manifest itself broke. Surfaces as HTTP 500.| Code | What |
|---|---|
| M500: Internal server error | Unhandled error in the proxy pipeline |