# Response Codes

## Overview

Explore the various possible response codes and their meanings.

These error codes can be encountered in all:

<table data-view="cards"><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><a href="#search-and-collect-response-codes">Search and collect response codes</a></td><td>Codes received with Elasticsearch DSL, Search filters, and Collect endpoints</td></tr><tr><td><a href="#bulk-collect-response-codes">Bulk Collect response codes</a></td><td>Codes received with Bulk Collect endpoints</td></tr><tr><td><a href="#subscriptions-response-codes">Webhook (subscriptions) response codes</a></td><td>Codes received with Webhook subscription endpoints</td></tr><tr><td><a href="#real-time-api-response-codes">Real-time Employee API response codes</a></td><td>Codes received with Real-time Employee API endpoint</td></tr></tbody></table>

## Search and collect response codes

| Response code | Description                                                                                                                                                                |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `200`         | A successful request                                                                                                                                                       |
| `400`         | Request was unacceptable, often due to a missing required parameter.                                                                                                       |
| `401`         | No valid API Key was provided. Check if your key is valid and try again.                                                                                                   |
| `402`         | Insufficient credits. Contact your account manager to get more credits.                                                                                                    |
| `404`         | <p>Several cases can cause the error:</p><ul><li>Nonexistent API URL</li><li>Nonexistent ID: Using a profile ID that does not exist in our database</li></ul>              |
| `422`         | Incorrect data structure or data types are provided in the request.                                                                                                        |
| `429`         | <p>Endpoint <a href="rate-limits">rate limit</a> has been exceeded.<br>All API endpoints restrict the number of requests allowed per second for each client's API Key.</p> |
| `500`         | Code `500` denotes server issues. One possible example is that the wrong request type was selected (POST/GET).                                                             |
| `502`         | Bad Gateway                                                                                                                                                                |
| `503`         | Service is unavailable due to too many requests being received by our API.                                                                                                 |

## Bulk Collect response codes

| Response codes | Description                                                                                                                                                                                                                                  |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `201`          | A successful request.                                                                                                                                                                                                                        |
| `202`          | The process is in progress.                                                                                                                                                                                                                  |
| `400`          | Indicates incorrectly formatted or oversized files or invalid data.                                                                                                                                                                          |
| `402`          | Insufficient credits. Reduce your request size or contact your account manager to get more credits.                                                                                                                                          |
| `404`          | Request did not find any matching IDs.                                                                                                                                                                                                       |
| `409`          | Duplicate POST requests were submitted.                                                                                                                                                                                                      |
| `422`          | <ul><li>Request exceeded the limit of 10k IDs</li><li>The provided URLs cannot be parsed into shorthand names</li><li>Input does not meet the <code>shorthand\_names</code> requirements</li><li>Request input includes duplicates</li></ul> |
| `503`          | <p>Collect allows you to download the prepared dataset as often as you like within 30 days of submitting the query.<br>After 30 days of query submission, the GET query will return a <code>404</code> response code.</p>                    |

## Subscriptions response codes

### ID endpoint response codes

| Request code | Description                                                                                                                                                                                                                                 |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `200`        | Successful request                                                                                                                                                                                                                          |
| `400`        | <ul><li>Error codes indicate failures due to incorrectly formatted or oversized files or invalid data.</li><li>The subscription has already expired.</li><li>Renewing a subscription would push the expiry date over 1 year away.</li></ul> |
| `401`        | No valid API Key was provided. Check if your key is valid and try again.                                                                                                                                                                    |
| `404`        | Subscription doesn’t exist or doesn’t belong to the user                                                                                                                                                                                    |
| `409`        | Subscription was just created and hasn’t finished initialising                                                                                                                                                                              |
| `422`        | The webhook URL you provided is invalid.                                                                                                                                                                                                    |
| `5xx`        | Unable to create subscription due to a server error.                                                                                                                                                                                        |

### Search Filter and Elasticsearch DSL endpoint response codes

| Request code | Description                                                                                                                                                                                                                                               |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `200`        | A successful request                                                                                                                                                                                                                                      |
| `400`        | The request was unacceptable, often due to a missing required parameter.                                                                                                                                                                                  |
| `401`        | No valid API Key was provided. Check if your key is valid and try again.                                                                                                                                                                                  |
| `422`        | <p>There are two possible reasons for the <code>422</code> error code:</p><ol><li>The webhook URL you provided is invalid</li><li>You have used incompatible filters (such as any date filter from search filters or Elasticsearch DSL schema).</li></ol> |

### Real-time Employee API response codes <a href="#real-time-api-response-codes" id="real-time-api-response-codes"></a>

| `200` | A successful request. Credits are deducted.                                                                                                              |
| ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400` | The request was unacceptable, often due to a missing required parameter.                                                                                 |
| `402` | Insufficient credits                                                                                                                                     |
| `408` | Response timeout. Credits have not been deducted for this request. You can try sending the request again.                                                |
| `422` | <p>Incorrect data structure or data types were provided in the request. Unprocessable content</p><ul><li>Invalid URL</li><li>Invalid cache age</li></ul> |
| `453` | Employee profile data is unavailable due to a privacy request to delete the data from our database.                                                      |
| `503` | Something went wrong on the API side. You will get a Bad gateway error message if you have selected the wrong request type.                              |
