--- title: 'Error Handling' description: 'Learn about error responses from the Chatwoot API' --- # Error Handling When using the Chatwoot API, you may encounter various error responses. This guide helps you understand and handle these errors effectively. ## HTTP Status Codes Chatwoot APIs use standard HTTP status codes to indicate the success or failure of a request: | Status Code | Description | |-------------|-------------| | 200 OK | The request was successful | | 201 Created | The resource was successfully created | | 400 Bad Request | The request was invalid or cannot be served | | 401 Unauthorized | Authentication failed or user doesn't have permissions | | 403 Forbidden | The authenticated user doesn't have access to the requested resource | | 404 Not Found | The requested resource doesn't exist | | 422 Unprocessable Entity | The request was well-formed but was unable to be followed due to semantic errors | | 429 Too Many Requests | Too many requests, rate limiting applied | | 500 Internal Server Error | Something went wrong on our servers | ## Error Response Format Error responses include a JSON object with an error message: ```json { "error": "Invalid login credentials" } ``` ## Common Error Scenarios ### Authentication Errors - **401 Unauthorized**: Invalid or missing API access token - **403 Forbidden**: Insufficient permissions for the requested operation ### Resource Errors - **404 Not Found**: The requested resource does not exist - **422 Unprocessable Entity**: The request contained invalid data ### Rate Limiting - **429 Too Many Requests**: You've exceeded the API rate limits ## Handling Errors When building integrations with Chatwoot, always: 1. Check HTTP status codes 2. Parse error messages 3. Implement appropriate retry logic 4. Log errors for debugging 5. Provide meaningful error messages to users