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

# Request errors

> Understand the HTTP response codes returned by the ABBYY FlexiCapture Cloud API, including 400, 403, 404, 409, 429, 500, and 503, and how to handle each.

ABBYY FlexiCapture Cloud API uses conventional HTTP response codes to indicate the failure of an API request.

| Code | Status                | Meaning                                                                                                                                                                                                                                                                                                                                                                 |
| ---- | --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 400  | Bad Request           | Returned if invalid input data is specified. The response body contains an instance of `BadRequestBodyModel`.                                                                                                                                                                                                                                                           |
| 403  | Forbidden             | To use this method, you need a dedicated tenant. Contact us and we will create one for you.                                                                                                                                                                                                                                                                             |
| 404  | Not Found             | Returned if the resource is not found.                                                                                                                                                                                                                                                                                                                                  |
| 409  | Conflict              | Returned if the resource is not ready.                                                                                                                                                                                                                                                                                                                                  |
| 429  | Too Many Requests     | Returned when the workload spikes while additional processing resources are being allocated by the Azure Resource Manager. To handle these errors, implement a retry mechanism that prevents request overload — for example, exponential back-off, sending the first retry request after 5 seconds and increasing the wait time for subsequent requests up to 1 minute. |
| 500  | Internal Server Error | The response body contains an instance of `InternalServerErrorModel`.                                                                                                                                                                                                                                                                                                   |
| 503  | Service Unavailable   | Returned when the workload spikes while additional processing resources are being allocated by the Azure Resource Manager. Handle these errors the same way as 429 errors.                                                                                                                                                                                              |

## BadRequestBodyModel

JSON representation:

```json theme={null}
{
  "id": "string",
  "error": "string",
  "error_description": "string"
}
```

| Field               | Type   | Description                  |
| ------------------- | ------ | ---------------------------- |
| `id`                | string | Required. Request ID.        |
| `error`             | string | Required. Error code.        |
| `error_description` | string | Required. Error description. |

## InternalServerErrorModel

JSON representation:

```json theme={null}
{
  "id": "string",
  "requestId": "string",
  "statusCode": 0,
  "errorCode": 0,
  "message": "string"
}
```

| Field        | Type              | Description                  |
| ------------ | ----------------- | ---------------------------- |
| `id`         | string            | Required. Error ID.          |
| `requestId`  | string            | Required. Request ID.        |
| `statusCode` | integer (\$int32) | Required. Error status code. |
| `errorCode`  | integer (\$int32) | Required. Error code.        |
| `message`    | string            | Required. Error message.     |
