# HTTP status codes The API returns standard HTTP status codes to indicate the success or failure of a request. - **2xx codes** indicate success. - **4xx codes** indicate an error with the request (e.g., invalid parameters, missing authentication, resource not found). - **5xx codes** indicate a server-side error. Clients should always be prepared to handle `4xx` and `5xx` responses gracefully. Some errors may include an error payload with additional details to help diagnose and resolve issues. ## Status codes reference | Status Code | Error Type | Description | | --- | --- | --- | | **400** | Bad Request | The request was malformed or missing required fields. Review the request payload and parameters. | | **401** | Unauthorized | Authentication failed or the user does not have permission to access the resource. Ensure your API key is valid. | | **404** | Not Found | The requested resource could not be found. Verify the resource identifier or endpoint URL. | | **413** | Request Entity Too Large | The payload size exceeded the allowed limit. Consider reducing the request size or batching data. | | **429** | Too Many Requests | The request rate limit was exceeded. Clients should implement retry logic with exponential backoff. | | **500** | Internal Server Error | A server-side error occurred while processing the request. These errors are rare—retrying the request may resolve the issue. | ## Handling errors - Validate requests before sending them to reduce `400` errors. - Check authentication headers and tokens for `401` responses. - Retry with backoff when encountering `429` (rate limits) or certain `500` errors. - Log error payloads for debugging and support purposes.