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


---

# 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://wiki.mobivatebulksms.com/overview/introduction/understanding-response-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.
