Errors
Treat the HTTP status as part of the contract. Check JSON when available and handle proxy or parser responses that are not JSON.
Status reference
401
- Meaning
- API credits are exhausted.
- Action
- Wait for the reset or check the credential’s configured allowance.
404
- Meaning
- Missing, invalid or inactive API key; unsupported content type; or an unknown endpoint.
- Action
- Verify the URL, key header and text/plain body. Do not retry blindly.
413
- Meaning
- Source exceeds the application’s 1,000,000-code-unit limit.
- Action
- Reduce source length. Earlier request-body limits can produce a different error.
422
- Meaning
- Source compilation or obfuscation failed.
- Action
- Inspect error and optional detail, correct the source, then observe the error cooldown.
429
- Meaning
- Credential cooldown or request-rate limit.
- Action
- Wait before retrying. Use Retry-After or retryAfter if supplied; they are not present on every error.
500
- Meaning
- Internal failure or an earlier request parsing failure.
- Action
- Inspect the response; reduce an oversized body or retry a temporary failure with a bounded backoff.
502
- Meaning
- The source body is empty: Code is missing.
- Action
- Send non-empty raw Roblox Luau source.
503 / 504
- Meaning
- Worker or queue unavailable, or a request timed out.
- Action
- Retry with bounded exponential backoff; avoid parallel retries with the same key.
Example error
HTTP 429 · application/json
{
"status": false,
"error": "Cooldown activated"
}Retry safely
- Do not retry invalid keys, exhausted credits or invalid source without fixing the cause.
- For transient failures, wait progressively longer between attempts and cap the number of retries.
- Do not assume every error contains the same usage, timing or retry fields.
- Keep a local copy of both source and successful output so that recovery does not require another build.
