# Understanding Response Codes

Mobivate uses standard HTTP status codes to indicate the outcome of an API request.

* **2xx** status codes indicate that the request was successfully processed.
* **4xx** status codes indicate an error caused by the request itself, such as authentication issues, insufficient balance, or missing or invalid parameters.

When an error occurs, the response body will include a **JSON-formatted** payload describing the issue in detail, allowing you to identify and resolve the problem quickly.

### Response Codes

| Attribute | Description                                                 |
| --------- | ----------------------------------------------------------- |
| 200       | Message submitted successfully.                             |
| 400       | Bad request - Some of the provided parameters were invalid. |
| 401       | Unauthorized - API key is invalid or has expired.           |
| 402       | Out of Credit - Insufficient funds to send code.            |
| 403       | Opted Out - Message blocked because recipient is opted out. |
| 429       | Slow down - Rate limit exceeded.                            |
| 500       | Internal error - We are experiencing a technical issue.     |
