Confirm which API received the request.
Check the configured base URL without printing the key. These steps apply to requests sent to api.codimixa.com. If your request went to another service, inspect that service’s account and error details.
For 429, separate pacing from account conditions.
Read the response body and inspect the relevant account limits or balance. If the response indicates rate limiting, reduce concurrency and follow any returned retry timing. Correct an account restriction before resending.
Capture the response without logging your key.
Run a small request with the key from your local environment. This saves only the response headers and body; avoid verbose curl output, which can print request credentials. Read Retry-After when it is present. An account restriction needs a configuration or account fix before retrying.
curl --silent --show-error \
--dump-header response-headers.txt --output response.json \
--write-out 'HTTP %{http_code}\n' \
https://api.codimixa.com/v1/chat/completions \
-H "Authorization: Bearer $CODIMIXA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"YOUR_MODEL_ID","messages":[{"role":"user","content":"Reply with OK."}],"max_tokens":8}'Use the failure to narrow the next check.
Preserve the status and sanitized error message. Remove keys and sensitive prompt content from any shared report.
| Observed failure | Next check |
|---|---|
| Authentication or permission error | The resolved key, account access and target base URL |
| Model or route not found | Exact model ID and request path |
| Invalid request | Fields, API format and model limits |
| 429 response | Error details, request pacing and account conditions |
| Timeout or server failure | Request timing, public status and a bounded retry policy |
Keep retries bounded.
Set a maximum number of attempts and a maximum elapsed time in your application. Check whether your SDK retries automatically. Avoid stacking an application retry loop on top of SDK retries without a shared limit.
Collect a useful support report.
Record the time, model ID, client version, status and request identifier if one was returned. Include a minimal example with credentials and private content removed.
Use one bounded retry policy.
For an application using the Python SDK, set a timeout and an explicit retry ceiling. The settings below allow at most two SDK retries after the first attempt; do not add another unbounded retry loop. Check the returned error body before retrying an account or billing restriction.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["CODIMIXA_API_KEY"],
base_url="https://api.codimixa.com/v1",
max_retries=2,
timeout=30.0,
)A FEW DETAILS
Before you continue
Does a green status page mean my request should work?
The public status page checks reachability. It does not verify your key, model access or the result of an authenticated request.