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

# Quotas and Billing

> The API consumes your existing Preuve account quotas. No separate API billing.

The Agent API is an access channel, not a separate product: every call draws on the same account balance and quotas as the web app.

## What each call consumes

| Call                      | Consumes                                                                                                                                                                         |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scanType: "starter"` run | Never charged. Free-tier and regional accounts: one scan from the Starter scan allowance. Paid accounts (Founder, Lifetime, premium): unlimited, under a silent fair-use ceiling |
| `scanType: "deep"` run    | See the waterfall below                                                                                                                                                          |
| Enrich (core sections)    | Nothing extra - included in the run                                                                                                                                              |
| Deep modules              | Nothing extra - included in the paid deep report (capped at one successful generation per module)                                                                                |
| Poll / export             | Nothing                                                                                                                                                                          |

## Deep scan quota waterfall

A deep run claims quota in this order:

1. **Active subscription** (Radar Pro, etc.) - decrements your monthly subscription scan counter.
2. **Lifetime plan** (Lifetime Pro / Business) - decrements your monthly lifetime scan counter (10 or 20 scans/month). When the monthly counter is exhausted, the run falls back to tokens if you have any.
3. **Tokens** - deducts 1 token from your balance, recorded in the transaction ledger.

No quota and no tokens returns `402 INSUFFICIENT_TOKENS` - the run fails before any analysis starts, and nothing is charged.

## Safety nets

* **Automatic refunds**: if a run fails before the analysis actually starts (service disabled, dispatch failure, ...), whatever it claimed - token, lifetime scan, subscription scan, Starter scan - is refunded.
* **Idempotent retries**: re-POSTing a `clientRunId` whose run failed before dispatch retries it without double-spending. A run that started always returns its stored outcome.
* **Explicit `scanType`**: agents cannot spend paid quota by accident; deep is always an explicit choice.
* **Failed modules never consume the per-module cap**; only a successful generation does.

## Rate limits

| Limiter        | Limit                                                                                        |
| -------------- | -------------------------------------------------------------------------------------------- |
| Run creation   | 10/min per key                                                                               |
| Concurrency    | 3 starter / 2 deep analyses in flight per account (single runs; batches are bounded by size) |
| Batch creation | 10/min per key                                                                               |
| Enrich         | 12/min per key + analysis                                                                    |
| Daily ceiling  | Rolling 24h cap on run creation per key (`429 DAILY_LIMIT_REACHED` with the `limit` field)   |

Rate limits key on the API key, not the caller IP, so IP rotation does not widen any window.
