# 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.                   |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.taptalk.io/powertalk-chat-sdk-documentation/powertalk-ios/error-codes.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
