# Error Codes

TapTalk.io SDK has two different types of error codes, which are:

[Server Error Codes](#server-error-codes): This error caused by server-side issues.\
[Client Error Codes](#client-error-codes): This error caused by client-side issues such as invalid parameters and validation handling.

### Server Error Codes

Server-side error codes generally contain five-digit integers beginning with **4xx** and **5xx**.<br>

| **Error Codes** | **Description**                                                                                                                         |
| --------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| 40001           | HTTP request header validation failed.                                                                                                  |
| 40002           | API request parameter validation failed.                                                                                                |
| 40101           | The request failed because HTTP request header Authorization is not provided when required.                                             |
| 40102           | The request failed because HTTP request header Authorization format is invalid.                                                         |
| 40103           | The request failed because the server failed to parse the token or the token is not found or invalid. Client should get a new token.    |
| 40104           | The request failed because the token has expired. Client should get a new token.                                                        |
| 40105           | The request failed because the token owner does not belong to the client's info. Client should get a new token.                         |
| 40106           | The request failed because the user is not found for the specified token.                                                               |
| 49101           | The authentication request failed because the app key is not provided.                                                                  |
| 49102           | The authentication request failed because server failed to parse the app key, or the app key is invalid.                                |
| 49103           | The authentication request failed because the provided app key is not found.                                                            |
| 49104           | The authentication request failed because the provided app key is not intended to be used with the client's platform.                   |
| 49106           | The authentication request failed because the app key has expired.                                                                      |
| 49201           | The authentication request failed because the app is not enabled by the customer.                                                       |
| 49202           | The authentication request failed because the app is not available because either the app, project, or customer is currently suspended. |
| 49203           | The authentication request failed because the app is not found.                                                                         |
| 50001           | The authentication request failed because an error occurred while validating the app key.                                               |

### Client Error Codes

Client-side error codes generally contain five-digit integers beginning with **9xx**.

| **Error Codes** | **Description**                                                                         |
| --------------- | --------------------------------------------------------------------------------------- |
| 90001           | The request failed because TapTalk.io active user is not found.                         |
| 90002           | The request failed because access token is not available, authentication is needed.     |
| 90003           | The request failed because user already connected to TapTalk.io.                        |
| 90004           | The request failed because the device is not connected to the server.                   |
| 90005           | The request failed because provided authentication ticket is invalid.                   |
| 90006           | The request failed because user is not authenticated.                                   |
| 90101           | The request failed because the selected group chat has already been deleted.            |
| 90102           | The request failed because another admin needs to be assigned before leaving the group. |
| 90301           | The request failed because file URI data was not found.                                 |
| 90302           | The request failed because maximum file size was exceeded.                              |
| 90303           | The server failed to process the file upload due to user cancellation.                  |
| 90304           | The request failed because image compression was unsuccessful.                          |
| 90305           | The request failed because an invalid message type was provided.                        |
| 90306           | The request failed because media caption exceeds the character limit.                   |
