| title | Manifest error codes | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sidebarTitle | Errors | ||||||||||||
| description | Reference for every Manifest proxy error code (M001-M500). What you saw, why it happened, and how to fix it. Covers auth, providers, limits, validation. | ||||||||||||
| icon | circle-alert | ||||||||||||
| keywords |
|
When Manifest blocks or rejects a request, the response message starts with a code in square brackets:
[🦚 Manifest M100] No anthropic API key yet. Add one here: https://app.manifest.build/...
See https://manifest.build/docs/errors/M100
Look up the code below to see what it means and how to fix it.
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 |
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 |
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 |
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 |
Manifest itself broke. Surfaces as HTTP 500.
| Code | What |
|---|---|
| M500: Internal server error | Unhandled error in the proxy pipeline |