cocodot
← Back to guides
Local card declined, direct access hard? cocodot does both
TroubleshootingUpdated 2026-09

model not found: Five Causes and How to Tell Them Apart in Two Minutes

Nine times out of ten the model was not retired — the name, the endpoint, or the entitlement does not line up. One request narrows it down immediately.

TL;DR: The error means **the name you asked for does not exist at that endpoint** — note the second half, because the same model name is not necessarily served everywhere. Five causes by frequency: (1) **the name or version suffix is wrong**, by far the most common; (2) **base_url points somewhere else**, so the request reached a service that legitimately does not have it; (3) **the model needs to be enabled** on your account; (4) **you used an alias that provider does not accept** (official name versus provider code); (5) the model really was retired. **Do one thing first: call `/v1/models` with the same key and base_url and compare the list character by character with what you sent.** That single request eliminates the first four.

Always start by listing the models

Nearly every OpenAI-compatible endpoint exposes `GET /v1/models`. Call it **with the key and base_url you are actually using**, then compare the returned list against your model string character by character. It takes under a minute and eliminates three of the most common causes at once — because in all three, the name you want simply will not appear in that list.

The base_url trap: that trailing /v1

This is the single most asked question. Some providers expect base_url to end in `/v1`, others append it for you. The failure is deceptive: you do not get a 404, you get **model not found** — because the request reached a path that exists but does not know that model. **Print the full outgoing URL and look at it.** Do not trust what the config file says it should be.

Official names and provider codes may both work, or only one

When calling through a gateway, a model can have two usable names: the vendor's official name (`claude-sonnet-5`) and the gateway's own code. Some accept both, some only one. **Do not assume — one look at the docs or the model list settles it.** cocodot accepts both: official names and codes (such as `mcs-6`) route to the same model. The full list is at cocodot.co/pricing#models, machine-readable at `GET https://cocodot.co/api/ai/models`.

If every model reports not found, it is the endpoint

When several different model names all fail, the problem is not the names. It is almost always the base_url, the auth header, or the request path — the request is not arriving where you think. Verify connectivity with the simplest model and shortest possible body first, then come back to the model name. **Solve reachability before you solve the specific model**; doing it the other way round wastes a lot of time.

When it really was retired

Models do get retired, particularly previews and dated snapshots. Check the vendor's release notes to confirm. If so, the only option is a different model — which is where an OpenAI-compatible endpoint pays off: switching is one string, not a re-integration.

Five causes, and how to confirm each

CauseWhat it looks likeHow to confirm
Name or suffix wrongAnother model name works finePull /v1/models and compare exactly
base_url points elsewhereEvery model reports not foundPrint the actual request URL
Model not enabledOther models work, this one does notCheck the provider console
Alias not accepted thereOfficial name works but code does not, or vice versaRead the provider's naming docs
Genuinely retiredAnnounced by the vendorCheck the vendor's release notes

FAQ

It works on the website but not through the API. Why?

Web access and API entitlement are separate. Being able to use a model in a browser does not mean the API is enabled for it — check the entitlement in the provider console.

Should I include the date suffix in model names?

It depends on the provider. Some accept a bare alias that tracks the latest version; others require the full string. Pull the model list and copy exactly what appears there.

About cocodot

cocodot is a payment and AI access service for developers and cross-border teams in mainland China. It provides US-BIN virtual cards issued by a licensed institution — used to pay for overseas subscriptions and ad accounts — and an OpenAI-compatible AI API gateway for calling Claude, GPT and Gemini from within mainland China. Both share one wallet, funded by Alipay and accounted in USD. Card: $9.9 to open, 3% to load, 0% on spend, $1 per active card per month.

Service scope, pricing and limits →
model not found: Five Causes and How to Tell Them Apart in Two Minutes · cocodot