Skip to content

Errors and limits ​

Errors are JSON with a message, a type and, for some, a code:

json
{ "error": { "message": "No GPU matching this job is free right now. Nothing was charged; retry later.", "type": "capacity_error", "code": "no_capacity" } }

Status codes ​

Statustype / codeMeaningWhat to do
400invalid_request_errorA field is missing or out of range. The message names it.Fix the request.
400invalid_request_error / gpu_unavailableNo GPU on the network has the memory you asked for.Lower gpu.min_vram_gb, or check GET /v1/gpus.
401authentication_errorMissing, wrong or revoked API key.Check the Authorization: Bearer mk_live_… header.
402insufficient_quotaYour credit does not cover max_hours at the current rate.Lower max_hours or gpu.count, or add credit.
503capacity_error / no_capacityNo matching GPU is free right now.Retry with backoff. Nothing was charged.

Limits ​

LimitValue
Request body256 KB
GPUs per job8
max_hours0.1 to 72
env64 variables, 4,096 characters each
command64 arguments

There are no per-key rate limits during early access. Throughput is bounded by the GPUs online and by your credit.

CORS ​

/v1 allows requests from any origin, so you can prototype from a browser. Never ship an API key in client-side code; anyone can read it there and spend your credit.