Rate limits
Streampixel applies per-user rate limits to write-heavy build pipeline endpoints to protect the build manager and downstream streaming infrastructure.
When you exceed a limit, the API returns
429 Too Many Requests with a JSON body explaining when you can retry.
429 Too Many Requests
Standard error response
Every error response — regardless of status code — uses the same JSON shape:code, errors[], or nested envelope. Always parse message from the JSON body and surface it to operators or logs.
Successful responses (
2xx) vary by endpoint and are documented on each endpoint’s page. The error shape above is uniform across the entire API.HTTP status codes
Common causes
- 400 Bad Request
- 403 Forbidden
- 404 Not Found
- 429 Too Many Requests
- 500 Internal Server Error
- Required field omitted from the JSON body (e.g.,
fileUrl,projectId). - Wrong field type (number passed where a string was expected).
- Empty string where a non-empty value is required.
- Invalid
fileUrlshape (must be a public direct download link).
Retry strategy
The rule of thumb:- Retry on
429and5xx. - Do not retry on any other
4xx— the request is wrong; retrying won’t fix it. - Use exponential backoff with jitter so a fleet of clients doesn’t synchronize on the same retry tick.
Pseudocode: backoff retry loop
Node.js
Python
Best practices
- Always read
messagefrom the response body — never rely on the status code alone for human-friendly errors. - Log the full request and response (with
apiKeyredacted) when you hit an unexpected error. The body almost always pinpoints the issue. - Honor
429— if you see one, slow down. Repeatedly hammering a rate-limited endpoint will get the entire user account temporarily blocked. - Treat
5xxas transient unless they persist beyond 2–3 retries spread over ~30 seconds. After that, alert and investigate. - Never retry idempotently destructive calls without confirming success first — for
upload-filespecifically, if the first call timed out, check the project’s build list before retrying.
Next steps
API authentication
How
apiKey and userId work and where to obtain them.Webhooks
Replace polling with push-based event delivery.