Appearance
Errors
Failed requests return JSON:
json
{
"error": {
"code": "INSUFFICIENT_GPU_CAPACITY",
"message": "Requested GPU is currently unavailable"
}
}Validation failures from FastAPI use 422 with VALIDATION_ERROR.
Common codes
| Code | HTTP | Meaning |
|---|---|---|
UNAUTHORIZED | 401 | Missing or invalid API key |
NOT_FOUND | 404 | Resource missing or not owned |
VALIDATION_ERROR | 400 / 422 | Bad input |
CREDENTIALS_MISSING | 400 | Required provider connection not registered |
TARGET_REQUIRED | 400 | Job needs compute or endpoint |
TARGET_CONFLICT | 400 | Both compute and endpoint set |
IDEMPOTENCY_CONFLICT | 409 | Same key, different body |
RATE_LIMITED | 429 | Too many requests |
PROVIDER_ERROR | 502 | RunPod call failed |
OUTPUT_NOT_READY | 409 | Job still running |
OUTPUT_UNAVAILABLE | 409 | Job did not complete |
OUTPUT_MISSING | 404 | Output file gone |
Python SDK
The SDK raises SkilleoError with .status_code, .code, and .message. Failed jobs from jobs.wait() or runs from runs.wait() raise even when HTTP status is 200.