Skip to content
Menu
Base URLhttps://api.getworg.com/v1

Troubleshooting

Find the symptom, run the check. Your coding agent gets the same table in /agent-context.md.

First checks

  1. List the models with your key: curl https://api.getworg.com/v1/models -H "Authorization: Bearer $WORG_API_KEY". A list back means the key and base URL are right.
  2. Read the code field of the error, not only the message. The message can change; the code does not.
  3. Keep the x-request-id header from the response. Send it with any question to team@getworg.com.

Symptoms

SymptomCheckMore
5xx errors or timeoutsCheck the status page first: https://status.getworg.com. If it shows an incident, the fault is on the Worg side and your code can stay as it is; retry with backoff until it clears. If everything is up, send the x-request-id to team@getworg.com.Status page
401 invalid_api_keyThe key is missing, wrong, or has quotes or spaces around it. Check that WORG_API_KEY is set in the process that sends the request, and that the header is Authorization: Bearer <key>.Authentication
404 not_found on every requestThe base URL is wrong. It must be exactly https://api.getworg.com/v1: with /v1, and without /chat/completions at the end. Clients add the path themselves.Connect clients
404 not_found on /v1/responses, /v1/messages or /v1/embeddingsThe client calls an API that Worg does not offer. Switch it to Chat Completions. In the Vercel AI SDK, use the OpenAI-compatible provider or openai.chat(), not openai().Connect clients
404 model_not_foundThe model ID is mistyped or has a prefix the client did not remove. Copy an ID from GET /v1/models, or use combo/<name> for a combo.Models and compatibility
402 insufficient_balance while the balance still shows moneyWorg holds the most a request can cost before sending it. Without max_tokens the hold covers the whole output limit, which can be more than the balance. Set max_tokens; the error message states both amounts.Rate limits
402 key_budget_exceeded, workspace_budget_exceeded or org_budget_exceededA monthly budget is used up. A top-up does not help: an admin raises the budget in the console, or you use another key.Errors and retries
403 model_not_allowedThe key is limited to other models. An admin adds the model to the key, or you use a key that allows it.Authentication
403 key_suspendedThe key spent far more than usual in the last hour. An owner or admin rotates or resumes it in API keys.Authentication
429 rpm_exceeded, tpm_exceeded or concurrency_exceededYour own limits. They apply per key and to the whole organization, so a second key does not add capacity. Wait for the seconds in Retry-After and run fewer requests at once; coding agents that start parallel tasks reach the concurrency limit first. To go higher, write to team@getworg.com.Rate limits
429 capacity_busy or 502 upstream_unavailableThe lane is busy or briefly down. Retry with backoff. Call the model by its name alone, such as deepseek-v4.1-flash, to let Worg try its other lane in the same request, or use a combo.Models and compatibility
A stream stops with an error chunkThe lane failed after the stream started. A started stream stays on its lane, even in a combo, so send the request again.Errors and retries
The answer is cut off (finish_reason "length"), or content is empty and reasoning_content is notmax_tokens ran out. On lanes that reason, the thinking uses output tokens too. Raise max_tokens or lower reasoning_effort.Models and compatibility
A CORS error in the browserBrowsers on other sites cannot call /v1. Call the API from your server and keep the key there.Authentication

Every error code with its meaning is in Errors and retries.

Next: Errors and retriesConnect clientsAgent context