> ## Documentation Index
> Fetch the complete documentation index at: https://developers.kit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API V3 response codes

> Key response codes you may encounter while using the Kit API

When an API call succeeds, the API will return a 200 or 201 HTTP response and a JSON response body unless otherwise noted.

If there's some error, the API will return an HTTP response in the 400 or 500 range and a response body indicating what the error was. For example:

`{ "error": "Authorization Failed", "message": "API Key not present" }` with a 401 error.

## 401 | Authorization failed

If you receive a 401 error - check the error message to see whether the issue is due to:

* API key not being present
* `API key` being present when only `API secret` is permitted
* An incorrect API key is used

## 403 | Subscriber limit exceeded

We return a 403 when the number of subscribers in the request would exceed the account's subscriber limit - the account would need to upgrade to a higher limit and restart the subscriber upload to continue.

## 422 | Bad data

When you create or update a field, you may receive an error response with status code `422` if any fields contain bad data or required fields are missing.

## 429 | Rate limiting

Our rate limit is no more than 120 requests over a rolling 60 second period, for a given api key.

If your request rate exceeds our limits, you will receive a 429 response, which your code should gracefully handle. We recommend spacing out your requests and performing an [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff) to keep within the limit.

## 500 | Internal server errors

If the server is overloaded or you encounter a bug, you will receive a response with status code `500`. Try again after a short period, and if you continue to encounter an error, please raise the issue with support.
