Skip to main content
When Manifest blocks or rejects a request, the response message starts with a code in square brackets:
Look up the code below to see what it means and how to fix it.

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.

Providers (M100–M102)

Your Manifest key is fine, but provider credentials are missing or unusable. See Routing, API key providers, and Subscription-based providers.

Limits (M200–M204)

You hit a usage cap, rate limit, or Free plan request quota. M200-M203 surface as HTTP 429. M204 surfaces as HTTP 402 because it is a billing plan restriction.

Request validation and model selection (M300–M303)

M300 means the request body is malformed and surfaces as HTTP 400. M302 and M303 mean Manifest can’t reach the model the request asked for; both come back as a friendly proxy message.
M301 is missing from that list on purpose. It capped requests at 1000 messages, and the cap was removed. If an older self-hosted build still returns it, upgrade and the limit goes away.

Server (M500)

Manifest itself broke. Surfaces as HTTP 500.