# API Response Codes

## Glossary

| **Response Code**                | **Messages**                                                                                                                             | **Explanation**                                                                                                                                                                                                                                                                                                                                                                                                          |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `200 OK`                         | The request was successful!                                                                                                              | N/A                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `400 Bad Request`                | Request validation failed on an input.                                                                                                   | Check that your inputs are entered correctly.                                                                                                                                                                                                                                                                                                                                                                            |
| `401 Unauthorized`               | Participant authentication is required.                                                                                                  | N/A                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `402 Usage Limit`                | Participant quota has been exhausted.                                                                                                    | You've reached a plan limit and will need to upgrade to the next tier.                                                                                                                                                                                                                                                                                                                                                   |
| `402 Payment Method Required`    | You must add a payment method to your account to use the REST API for affiliate programs.                                                | N/A                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `403 Not Authorized`             | <p>You are not allowed to perform that action.</p><p><br>Or no valid participant access token provided.</p>                              | <p>Your API key may be revoked or contain a typo, or you may be trying to interact with another user's program or participant data (which is not allowed).<br><br>Verify that your API key has access permission to the campaign (or if you are a team member, make sure you have an Admin role within the team or that you have API access to the campaign).</p>                                                        |
| `403 Paid Plan Required`         | A paid plan is required to use the GrowSurf REST API                                                                                     | N/A                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `404 Resource Not Found`         | The requested resource does not exist.                                                                                                   | You may be trying to request a resource that does not exist or was deleted.                                                                                                                                                                                                                                                                                                                                              |
| `409 Conflict Duplicate Request` | Conflicting duplicate request.                                                                                                           | N/A                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `422 Unprocessable Entity Error` | This endpoint is only available for referral programs. Your program is an affiliate program.                                             | You may be trying to call an endpoint that is only valid to referral programs (or vice versa with affiliate programs).                                                                                                                                                                                                                                                                                                   |
| `422 Participant Blocked`        | Participant was detected as a high-risk fraudster and was blocked from joining.                                                          | <p>The person may be a high-risk fraudster, and has been blocked from entering the program. <a href="https://support.growsurf.com/article/195-what-does-the-growsurf-anti-fraud-system-entail">Learn more about how GrowSurf's anti-fraud system works</a>.<br><br>Please check that your program's anti-fraud settings are not set to <em>Strict</em>, or that you do not have the email or IP address blacklisted.</p> |
| `429 Too Many Requests`          | You have reached a rate limit.                                                                                                           | <p>You have sent too many requests in a given time OR You have reached the usage limit in your current plan.<br><br>See <a href="https://docs.growsurf.com/developer-tools/rest-api/api-guidelines#rate-limits">Rate Limits</a> and <a href="https://docs.growsurf.com/developer-tools/rest-api/api-guidelines#max-connections">Max Connections</a> for more details on rate limits.</p>                                 |
| `5XX Internal Server Error`      | The GrowSurf server is inaccessible or offline -- that's our fault! Check for updates on our [status page](https://growsurf.com/status). | N/A                                                                                                                                                                                                                                                                                                                                                                                                                      |


---

# 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.growsurf.com/developer-tools/rest-api/api-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.
