Disclosure and availability: DaoXE is a multi-model multi-protocol API gateway we operate. It is listed on models.dev as provider key
daoxewithapi=https://daoxe.com/v1and envDAOXE_API_KEY. It is not available in mainland China. This article is for developers in regions allowed by the service terms.
For a long time my gateway setup notes looked like this:
base_url = https://something/v1
model = gpt-4o-mini # hope this still exists
That pattern fails in three predictable ways:
- The blog model ID is not in your account catalog.
- The host is correct, but the provider key your client expects is different.
- The catalog moved and your README did not.
This post is the discovery workflow I use now: public catalog first, account catalog second, client third.
Series context
Earlier posts covered smoke tests, multiprotocol checks, client setup, and IDE failure isolation:
- is a public provider/model catalog many coding tools read.
When a gateway lands there, clients that support custom / catalog-driven providers can resolve:
Field
Why it matters
provider key
stable id for configs ( daoxe, not a marketing name)
apibase
host + /v1shape
env var
which secret name tools expect
For DaoXE the live catalog entry is effectively:
CODEkey: daoxe
api: https://daoxe.com/v1
env: DAOXE_API_KEY
That is public discovery, not proof your account can call every model.
2. Account catalog: GET /v1/models
Public catalogs and account catalogs are different objects.
CODEexport DAOXE_API_KEY="your_api_key"
export DAOXE_BASE_URL="https://daoxe.com/v1"
curl --fail-with-body --show-error --silent \
-H "Authorization: Bearer $DAOXE_API_KEY" \
"$DAOXE_BASE_URL/models"
I treat the response as live data for this account only:
- copy an exact
id
- do not invent IDs from screenshots
- do not assume yesterday's list is still valid
If
/modelsreturns 401, stop blaming the IDE. Fix auth first.
3. One tiny Chat Completions smoke with that exact ID
CODEexport DAOXE_MODEL="paste_exact_id_from_models_response"
curl --fail-with-body --show-error --silent \
-H "Authorization: Bearer $DAOXE_API_KEY" \
-H "Content-Type: application/json" \
-d "{
\"model\": \"$DAOXE_MODEL\",
\"max_tokens\": 8,
\"messages\": [{\"role\":\"user\",\"content\":\"Reply with OK.\"}]
}" \
"$DAOXE_BASE_URL/chat/completions"
Only after this returns HTTP 200 do I open Cline / Continue / Claude-shaped tools.
4. Wire the client to the same triple
The only triple that should move between tools:
Piece
Example for DaoXE
Base URL
https://daoxe.com/v1
API key storage
env / secret store ( DAOXE_API_KEYor the client's custom key field)
Model ID
exact id from /v1/modelsnow
Public setup notes:
Footguns this workflow prevents
Footgun
Symptom
Fix
Blog model ID
model_not_found
re-copy from /v1/models
Marketing name as API id
client 400
use catalog id, not label
Public catalog only
"listed but my key fails"
public catalog ≠ account access
Account catalog only
"works for me, not for teammate"
each account has its own list
Skipping smoke
IDE red noise
curl first
What success looks like
Success is not "every model on models.dev works for every key."
Success is:
- you can find the gateway in a public catalog or docs
- you can list models for your key
- you can call one model with a tiny request
- you can clone that triple into one client without guessing
Soft CTA
If you want the product side of this writeup:
https://daoxe.com/?utm_source=devto&utm_medium=organic&utm_campaign=global_launch_modelsdev
If something fails, comment with client name + whether
/v1/modelsreturned 200 for your key. Do not paste API keys.
Series
- Smoke test
- Multiprotocol checklist
- Client setup
- curl OK, IDE fails
- Claude protocol
This post: models.dev + account/modelsdiscovery
↗ Original-Artikel auf dev.to lesenVollständiger Original-BerichtAusführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to. - copy an exact
SOCIAL SHARE CARD GENERATOR