2xx range indicate success. Codes in the 4xx range indicate a problem with your request that you can fix. Codes in the 5xx range indicate a server-side issue.
Error response format
All error responses include a JSON body with anerror field and a human-readable message:
Status codes
401 — Unauthorized
Your request did not include a valid API key, or the key has been revoked. How to fix: Verify that theX-API-Key header is present and contains your current key. If you recently revoked the key, generate a new one at Settings → API Keys. See Authentication for setup instructions.
402 — Payment Required
Your account does not have sufficient credits to complete the request. How to fix: Log in to pioneer.ai, go to Settings → Billing, and top up your balance or upgrade your plan.404 — Not Found
The resource you requested does not exist. This can happen when a dataset name, training job ID, evaluation ID, or project ID is misspelled or has been deleted. How to fix: Double-check the ID or name in the request path or body. Use the correspondingGET list endpoint (for example GET /felix/training-jobs) to confirm the resource exists.
422 — Unprocessable Entity
The request body failed validation. A required field is missing, a field has the wrong type, or a value is outside the accepted range. How to fix: Review the errormessage for the specific field that failed. Common causes include:
- Omitting
base_modelfromPOST /felix/training-jobs - Passing an unsupported
task_typetoPOST /generate - Sending fewer than 1 or more than 1,000 strings in the
inputsarray for label-existing endpoints
429 — Too Many Requests
You have exceeded the rate limit for this endpoint. The response includes aRetry-After header that specifies how many seconds to wait before retrying.
How to fix: Respect the Retry-After value and back off before retrying. See Rate Limits for per-endpoint limits and a retry code pattern.

