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

# API Overview

> Base URL, request format, response envelope, and rate limits

## Base URL

```
https://api.check.et/api/v1
```

All endpoints are HTTPS only. HTTP requests are redirected.

## Request format

Send `Content-Type: application/json` for JSON bodies. For file uploads, send `multipart/form-data`.

## Authentication

All endpoints require a bearer token:

```
Authorization: Bearer chk_xxxx
```

## Response envelope

Every response returns JSON. Successful responses have HTTP `2xx` status codes:

```json theme={null}
{
  "success": true,
  "exists": true,
  "duplicate": false,
  "message": null,
  "data": { ... }
}
```

Error responses have `4xx` or `5xx` codes:

```json theme={null}
{
  "message": "The transaction_number field is required."
}
```

For validation errors:

```json theme={null}
{
  "message": "The given data was invalid.",
  "errors": {
    "bank": ["The bank field is required."]
  }
}
```

## HTTP status codes

| Code  | Meaning                                        |
| ----- | ---------------------------------------------- |
| `200` | Success - transaction verified                 |
| `400` | Bad request - invalid input                    |
| `401` | Unauthenticated - missing or invalid API key   |
| `403` | Forbidden - your key lacks permission          |
| `404` | Not found - transaction could not be verified  |
| `422` | Validation error - see `errors` field          |
| `429` | Rate limited                                   |
| `500` | Server error - retry with exponential back-off |

## Quota

| Plan | Monthly verifications |
| ---- | --------------------- |
| Free | 200                   |
| Pro  | Unlimited             |

When the monthly quota is exhausted the API returns `402 Payment Required`. Upgrade at [check.et/dashboard/billing](https://check.et/dashboard/billing).
