API Error Codes & Troubleshooting Guide
Diagnose HTTP status responses, understand machine-readable error codes, and implement deterministic remediation workflows.
Direct Error Handling Specification
All RSFlowHub error responses adhere to a uniform JSON error contract containing a machine-readable error.code string, human-friendly error.message, numeric error.status, and an actionable error.suggestion. Zero credits are deducted when requests fail schema validation (422), authentication (401), or server-side execution (500).
Standard Error Envelope Contract
Your client applications can rely on a consistent JSON structure across all endpoints whenever a non-200 HTTP code is received:
{
"success": false,
"error": {
"code": "insufficient_credits",
"message": "Credit balance depleted. Please top up your account.",
"status": 402,
"suggestion": "Purchase credits in Dashboard -> Billing to resume API operations."
}
}
Search Error Directory
Filter by HTTP status (e.g. 401), error type (e.g. rate_limit), or keywords.
bad_request
400 Bad Request
The request payload is malformed or missing required parameter fields.
Sample JSON Response:
{
"success": false,
"error": {
"code": "bad_request",
"message": "The text parameter is required.",
"status": 400,
"suggestion": "Check the required parameters table in API documentation."
}
}
unauthorized
401 Unauthorized
The provided API key is invalid, expired, revoked, or missing from request headers.
Sample JSON Response:
{
"success": false,
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key.",
"status": 401,
"suggestion": "Generate a new API key in Dashboard -> API Keys."
}
}
insufficient_credits
402 Payment Required
Account credit balance is insufficient to fulfill this API operation.
Sample JSON Response:
{
"success": false,
"error": {
"code": "insufficient_credits",
"message": "Credit balance depleted. Please top up your account.",
"status": 402,
"suggestion": "Recharge credits at \/dashboard\/billing."
}
}
not_found
404 Endpoint Not Found
Target API endpoint or resource slug does not exist in the routing registry.
Sample JSON Response:
{
"success": false,
"error": {
"code": "not_found",
"message": "The requested endpoint does not exist.",
"status": 404,
"suggestion": "Refer to the endpoint list in Docs -> Overview."
}
}
validation_error
422 Unprocessable Content
Request payload failed schema validation rules or constraints.
Sample JSON Response:
{
"success": false,
"error": {
"code": "validation_error",
"message": "The text field cannot exceed 5000 characters.",
"status": 422,
"suggestion": "Truncate or batch your input text before submitting."
}
}
rate_limit_exceeded
429 Too Many Requests
Rate limit exceeded for current API key or concurrency threshold.
Sample JSON Response:
{
"success": false,
"error": {
"code": "rate_limit_exceeded",
"message": "Rate limit exceeded. Try again in 12 seconds.",
"status": 429,
"suggestion": "Pause requests according to the Retry-After header."
}
}
server_error
500 Internal Server Error
Gateway or AI processing pipeline encountered an unexpected condition.
Sample JSON Response:
{
"success": false,
"error": {
"code": "server_error",
"message": "An unexpected error occurred during processing.",
"status": 500,
"suggestion": "Retry the request with backoff. Pre-auth credit lock was rolled back."
}
}