An API call was refused
Every refusal carries the same envelope,{ error: { message, type, code } }, plus an X-Request-Id header worth quoting in any support ticket. The first question is always whether waiting helps.
402 Payment Required
402 Payment Required
The workspace balance cannot cover the call, so it was refused before reaching a GPU. Nothing was billed. Add credits at Settings > Cost. If a settlement drove the balance below zero, your next top-up offsets the negative amount first. See Pricing and credits.
403 Forbidden
403 Forbidden
Either the key cannot reach what you asked for, or the workspace cannot. A pipeline-scoped key whose pipeline id does not match the URL path, or a key scoped away from the model, produces the first. Switch to a workspace-scoped key and select the model with the
model field in the body. See Authentication.A 403 that talks about a limit is the second: your lifetime credit purchases have not reached the milestone that unlocks the capability. Adding credits clears it.404 Not Found
404 Not Found
The model id does not resolve for your key. Model ids are not OpenAI names, and they are not the title on a model card. Read the live list and pass one of those ids:
429 Too Many Requests
429 Too Many Requests
Read
Retry-After, wait that long, then send the same request again. Which limit you hit is named in the response headers, and there are two different ones:The window slides, so capacity returns gradually rather than refilling on a clock edge: pacing requests evenly beats bursting. If many workers share one key, add jitter to your retries. A
429 on a key that has never authenticated before is the connection gate, which bounds how fast new credentials can be presented; roll a new key out on one request before fanning out. Read error.limit from the response for the current number, and see Rate limits.There is no plan that raises these. Subscriptions are retired, and a checkout attempt returns 410 subscription_sales_retired.The agent and optimization runs
The agent is asking too many questions, or picked the wrong thing
The agent is asking too many questions, or picked the wrong thing
It asks when your prompt is ambiguous, and it answers a direct instruction. Say one of these:Resetting clears the current configuration and conversation context. Previous optimization results and deployment history stay in the dashboard.
The run is taking too long, or I closed the tab
The run is taking too long, or I closed the tab
Runs execute server-side, so a refresh, a dropped connection, or a closed tab does not stop one. Reopening the session re-attaches in about a second. If a run was interrupted, it converges to a blocked, retryable state rather than appearing to run forever. See Execution lifecycle.
Results do not meet my constraints
Results do not meet my constraints
Results reflect the constraints you gave. Adjust and run again:Each starts a new run with a new quote, and you can compare sessions side by side.
The run completed but no speedup was shown
The run completed but no speedup was shown
RunInfra publishes a ratio only when both sides were measured the same way. When they were not, it crowns no winner and names the axis that differed: candidates on different GPUs, latencies from different instruments, throughput in different units, per-request costs on different bases, or two labels pointing at one stored measurement. Re-run the lanes so both sides share one GPU target and one measurement path. See Run outcomes.
I expected quantization and the run did not quantize
I expected quantization and the run did not quantize
That is the default. Quantization trades output quality for speed and memory, so it runs only when you ask for it, when the model does not fit the resolved GPU, or when the target is local or on-device hardware. The plan says which applied. Ask for it directly, or give the run a hardware target it has to fit:See Lossless first.
Quality regressed on the optimized variant
Quality regressed on the optimized variant
Aggressive low-bit quantization can cost quality on complex tasks. If the measured gate fails or your own test set looks worse, ask for higher precision:Expect higher memory use or cost than a low-bit variant.
Deployments
The deployment failed
The deployment failed
The Deploy tab names the cause and the next action first. The common ones are GPU availability and a model too large for the chosen GPU, and switching tiers usually resolves both. When a worker starts but never comes up, RunInfra reads that worker’s own log and names only what it can prove. See Deployments overview.
The runbook was refused when I accepted it
The runbook was refused when I accepted it
A model your workspace provably cannot read is refused at accept, before a GPU starts and before billable work begins. The refusal names the one action that fixes it, usually connecting or reconnecting a Hugging Face account, accepting the model’s license with that same account, or pointing the runbook at a repository that ships full safetensors weights. See Model access.
Still stuck
Send feedback from inside the app, or email support with theX-Request-Id from the failing response.
Related
Errors
Every status and code, with the caller action.
Rate limits
The three layers that can refuse you.
Idempotent retries
Retry without a second charge.