> 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

HTTP status codes and machine-readable error types returned by the TSG Global REST APIs.

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

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

| Type            | Description                                           |
| --------------- | ----------------------------------------------------- |
| unauthenticated | Request failed because the user is not 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.                            |
