FAQ and Troubleshooting
First, identify how far the request got
- No HTTP response: For DNS, TLS certificate, connection, or timeout errors, check the full URL and the network in the environment making the request. Do not bypass the issue by disabling certificate verification.
- An HTTP error status: Read the specific error text in the JSON response, such as
error.messageormessage, then use the table below. - HTTP 200 without the expected result: Check the response body, streaming format, and task status. Successfully submitting an asynchronous task does not mean generation has finished.
How to handle status codes
| Status | Check first | Next step |
|---|---|---|
| 400 | JSON, required fields, model parameters, and protocol | Retry with the minimal request, removing advanced parameters you do not need yet. |
| 401 | Complete API Key, enabled status, expiration, and authentication header | Copy the key again from API Keys. Avoid masked text or a duplicate sk- prefix. |
| 403 | Model permissions, group, and IP allowlist | Check key restrictions. The allowlist must contain the outbound IP of the server actually making the request. |
| 404 | Request path, model ID, or task ID | Check for a duplicate /v1. A 404 alone does not prove the URL is wrong. |
| 408 / timeout | Network, client timeout, and whether the server accepted the request | Check Usage Logs. If an asynchronous task already has an ID, query it before submitting again. |
| 429 | Rate limits or quota restrictions described in the error body | Reduce concurrency and wait before retrying. For quota errors, check both the account balance and key quota. |
| 500 / 502 / 503 / 504 | Server or upstream status | Keep the request ID and error details. Avoid rapid retries; contact support if the issue persists. |
The response body is the best guide to the actual problem. Different endpoints may return different status codes for the same business condition.
The model is listed, but requests say it does not exist
Check the full model ID, account group, and key's model restrictions. Confirm that your client uses a protocol supported by that model. Access to /v1/models does not mean a model works with every endpoint or tool.
I added funds, but still get a quota error
Your account balance and the API Key's individual quota apply separately. Once funds appear in your account, check whether the key has exhausted its quota, expired, or been disabled. If you use a plan, also check that the request is covered by it.
The response is an HTML page
The request usually reached a website page or an incorrect path. Check the final request URL against the Base URL guide. Do not use the documentation site's address as your API address.
Requests work on my computer, but fail in Dify or n8n
Dify and n8n send requests from their own server or container. Check DNS, connectivity, and proxy settings in that environment. Its localhost refers to itself, not to an API service running on your computer.
What to send to support
Contact CertaEdge online support with the time of the error, client name and version, model ID, full endpoint, HTTP status, redacted error body, and any available request or task ID. Do not send complete API Keys, sign-in credentials, or full conversations containing sensitive information.