Authentication errors (401 / 403)
A401 Unauthorized response means your request reached the API without a valid API key. A 403 Forbidden response means your key was recognized but lacks permission for the action you’re attempting.
Common causes:
- The
Authorizationheader is missing entirely. - The key is malformed or was copied with extra whitespace.
- The key has been revoked or has expired.
Check the Authorization header
Make sure every request includes the header in exactly this format:Here’s a minimal curl call you can use to confirm your key is working:A
200 OK response confirms the key is valid.Regenerate your key if needed
If the key is invalid or compromised, log in to the dashboard at https://api.pinaivu.com, revoke the old key under API Keys, and generate a new one.
Rate limiting (429)
A429 Too Many Requests response means you’ve exceeded your per-key request quota within a given time window.
Common causes:
- Sending requests in a tight loop without any delay.
- A sudden spike in traffic from your application.
Retry-After header in the 429 response tells you the minimum number of seconds to wait.
Python
Model not found
A404 or model-not-found error means the model ID in your request doesn’t match any currently active model on the network.
Common causes:
- A typo in the model name (e.g.
llama-3.2-3binstead ofllama3.2:3b). - The model you’re targeting is temporarily unavailable.
/v1/models endpoint to get the exact IDs of all models that are active right now:
id field — use that value verbatim in your requests. Currently available models include llama3.2:1b and llama3.2:3b.
Validation error (422)
A422 Unprocessable Entity response means the request body failed schema validation. Your JSON was well-formed and your key was accepted, but one or more fields were missing, had the wrong type, or contained an out-of-range value.
Common causes:
- The
modelfield is missing or uses an incorrect ID format (e.g.llama-3.2-3binstead ofllama3.2:3b). - A
messagesentry is missing theroleorcontentproperty. - A numeric parameter such as
temperatureormax_tokensis outside its allowed range.
detail field in the error response body — it identifies exactly which field failed and why:
No nodes available (503)
A503 Service Unavailable response means your request could not be routed to a GPU node — either all nodes are at capacity or the network is in the middle of recovering from a transient issue.
Common causes:
- A temporary surge in demand across the network.
- A small number of nodes going offline simultaneously.
Python
Wrong base URL for OpenAI SDK
If you’re using the OpenAI SDK and receiving connection errors or unexpected404 responses, your base_url may still be pointing at api.openai.com instead of the Pinaivu gateway.
How to fix it:
Set base_url (Python) or baseURL (Node.js) to https://api.pinaivu.com/v1:
Missing request_id in response
Every successful inference response from Pinaivu includes arequest_id that you can use to verify the computation on the explorer. If you don’t see one, the request likely did not complete successfully.
Common causes:
- The request returned an error status (4xx or 5xx) and was never routed to a node.
- The response was parsed before checking for errors, masking the failed status code.
Check the HTTP status code first
Before reading the response body, confirm the status is
200 OK. Any error response (401, 429, 503, etc.) will not carry a request_id.Inspect the full response object
Log or print the raw response to ensure you’re reading the correct field. The
request_id appears at the top level of the response body:For issues not covered here, contact the Pinaivu support team or visit https://explorer.pinaivu.com to inspect your requests at the node level and gather the details needed to diagnose the problem.