Errors
Error Codes
A guide to common API error codes, status responses, and rate limiting behavior
Get Markdown🚦 Error Codes & Rate Limiting
Hands In uses conventional HTTP status codes to indicate the type of error. This section lists common error codes, along with guidance on interpreting rate limit responses and retry strategies.
🔸 Client Errors (4xx)
These are issues with the request — you’ll need to correct the input or fix your integration logic.
| HTTP Status | Error Name | Description |
|---|---|---|
| 400 | INVALID_FIELD | Malformed request or missing fields |
| 401 | UNAUTHORIZED | Authentication failed — check API key/token |
| 403 | FORBIDDEN | Access denied — see detail for specific reason |
| 404 | NOT_FOUND | Resource not found — check resource ID or endpoint |
| 409 | CONFLICT | Request could not be completed due to a state conflict |
| 422 | UNPROCESSABLE_ENTITY | Validation failed — required or invalid fields |
| 429 | TOO_MANY_REQUESTS | Rate limit exceeded |
🔺 Server Errors (5xx)
These indicate internal issues. They are typically temporary and safe to retry.
| HTTP Status | Error Name | Description |
|---|---|---|
| 500 | INTERNAL_SERVER_ERROR | Unexpected internal error |
| 502 | BAD_GATEWAY | Temporary unavailability between services |
| 503 | SERVICE_UNAVAILABLE | API temporarily down — retry with exponential backoff |
⏱️ Rate Limiting
Hands In enforces request rate limits to ensure platform stability.
- When exceeded, you'll receive a
429 Too Many Requestsstatus - The
Retry-Afterheader (in seconds) indicates when to retry - Always use exponential backoff when retrying (1s, 2s, 4s…)
- If you're consistently hitting limits, contact support to discuss limits for your account