# Client Response Codes

## Glossary

| **Response Code**                | **Messages**                                                                                                                                                         | **Explanation**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `200 OK`                         | The request was successful!                                                                                                                                          | N/A                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `400 Bad Request`                | Participant cannot join this program.                                                                                                                                | The participant was prevented from being added to the program (please check that your program's anti-fraud settings are not set to *Strict*, or that you do not have the email or IP address blacklisted)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `401 Unauthorized`               | Participant authentication is required.                                                                                                                              | If an existing participant is trying to access their account, they need to first authenticate (by logging in via one-time access token link in email)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `401 Failed to add participant`  | Participant was not able to join this program.                                                                                                                       | The person may be a high-risk fraudster, and has been blocked from entering the program. [Learn more about how GrowSurf's anti-fraud system works](https://support.growsurf.com/article/195-what-does-the-growsurf-anti-fraud-system-entail).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `402`                            | Usage limit exceeded                                                                                                                                                 | N/A                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `403 Forbidden`                  | <ol><li>You are not allowed to perform that action.</li><li>No valid participant access token provided.</li><li>Request was blocked (includes CORS issues)</li></ol> | <p></p><ol><li>This may be due to the URL not matching what is configured for your program. Make sure to check your whitelisted URLs as well. Any URLs that makes excessive unauthorized requests to your GrowSurf program may be blocked. Please reach out to <support@growsurf.com> for assistance.</li><li>If an existing participant is trying to access their account, they need to first authenticate (by logging in via one-time access token link in email)</li><li>Your program may be blocked due to excessive requests made to our system from the same IP address. Please see <a href="https://support.growsurf.com/article/483-i-am-having-cors-issues-when-loading-the-growsurf-universal-code">this article</a>.</li></ol> |
| `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.                                                                                                                                       | <p>If a request is made but has not finished and that exact same request is made.</p><p></p><p>More details on the specific request will be provided within the returned error.</p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `429 Too Many Requests`          | You have reached your \<rate> limit                                                                                                                                  | You have reached the rate limit.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
