> For the complete documentation index, see [llms.txt](https://docs.tsgglobal.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tsgglobal.com/api-reference/programmable-sms/smpp/errors.md).

# Errors

We use HTTP response codes to indicate specific error classes (2xx range is success, 4xx failed based on the provided parameters, 5xx are server errors). Each error has a machine readable id, and a human readable explanation. Authentication is done by passing the API key via the Authorization header.

### Status Codes <a href="#status-codes" id="status-codes"></a>

| Code | Description                                                                                         |
| ---- | --------------------------------------------------------------------------------------------------- |
| 200  | The request was a success.                                                                          |
| 401  | Request failed because user is not authenticated.                                                   |
| 403  | Request failed because user does not have authorization to access a specific resource.              |
| 404  | Resource doesn’t exist.                                                                             |
| 409  | The request conflicts with another request.                                                         |
| 422  | Your request was understood, but contained invalid parameters.                                      |
| 500  | Something went wrong on the server, check status site and/or report the issue.                      |
| 503  | Service is temporarily unavailable. Generally this is temporary and the requests should be retried. |

### &#x20;Error Types <a href="#error-types" id="error-types"></a>

| Type            | Description                                          |
| --------------- | ---------------------------------------------------- |
| unauthenticated | Request failed because the user is authenticated.    |
| unauthorized    | User does not have access to the specified resource. |
| not\_found      | Resource was not found.                              |
| server\_error   | Internal server error.                               |
| invalid\_params | Parameters were not valid.                           |
