Send a single POST /v1/chat/completions request to verify your key and a live model.
- Base URL:
https://inference.dahl.global/v1 - A Bearer API key with tokens on it
- A current model ID from `GET /v1/models`
Step 1 — Get a key with tokens
- Open inference.dahl.global → Create account. Save the fingerprint.
- The welcome grant is 100 million tokens in the pool. The first key starts at 0.
- In /account → API keys, Allocate tokens from the pool to the key, then copy the key.
Export the key:
export DAHL_API_KEY="dahl_…"
Step 2 — List models
GET /v1/models is public — no API key. Pick an id from data. For most tasks start with MiniMax M2.7: MiniMaxAI/MiniMax-M2.7.
curl https://inference.dahl.global/v1/modelsStep 3 — First request
curl https://inference.dahl.global/v1/chat/completions \
-H "Authorization: Bearer $DAHL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.7",
"messages": [
{ "role": "user", "content": "Hello, Dahl!" }
]
}'Expected result
200 OK. Assistant text is in choices[0].message.content.
{
"choices": [
{
"message": {
"role": "assistant",
"content": "..."
}
}
]
}Common first failures
| Response | Usually means | Check |
|---|---|---|
401 Missing API token | No Authorization header | Add Authorization: Bearer |
| 401 invalid / expired | Wrong or revoked key | New key at /account |
| 402 exhausted | Nothing allocated on the key | Allocate from the pool or top up |
| 4xx / 502 | Stale model id | GET /v1/models and use a live id |
| 503 / timeouts | Network overload | Short backoff and retry |