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

# Usage

> Read back what you have called, what it cost, and what credits remain.

Two endpoints report your own usage. Both are free, both answer only for your account, and both take
an inclusive day range in IST. Omit the range for the last 30 days.

## Totals

```bash theme={null}
curl "https://api.privue.ai/usage/v1/summary?from=2026-08-01&to=2026-08-31" \
  -H "Authorization: Bearer $PRIVUE_API_KEY"
```

```json theme={null}
{
  "start": "2026-08-01",
  "end": "2026-08-31",
  "total_calls": 1432,
  "billed_calls": 1401,
  "failed_calls": 31,
  "credits_remaining": 8599,
  "by_operation": [
    { "operation": "pan.verify", "version": "v1", "calls": 900, "billed_calls": 894, "failed_calls": 6 },
    { "operation": "bank.penny-drop", "version": "v1", "calls": 532, "billed_calls": 507, "failed_calls": 25 }
  ]
}
```

`total_calls` counts every call. `billed_calls` is the subset you were charged for, and
`failed_calls` the subset that returned an error and was not charged. A free call that succeeded, such
as a DigiLocker status poll, falls in neither, so the two subsets do not always sum to the total.

`credits_remaining` is the balance on the key that made the request, at the moment it was made.

## Individual calls

```bash theme={null}
curl "https://api.privue.ai/usage/v1/calls?from=2026-08-01&to=2026-08-31&limit=100" \
  -H "Authorization: Bearer $PRIVUE_API_KEY"
```

```json theme={null}
{
  "calls": [
    {
      "id": "0f8b1e2c-2b23-4a5f-9c31-1a7bb6b6b0a1",
      "at": "2026-08-31T18:42:07",
      "operation": "pan.verify",
      "version": "v1",
      "status_code": 200,
      "billed": true,
      "duration_ms": 812,
      "reference": "3b862714-d27d-4907-9027-e6399f8a8d46"
    }
  ],
  "next_cursor": "MjAyNi0wOC0zMVQxODo0MjowN3wwZjhiMWUyYw=="
}
```

This is the line-by-line record behind the totals, newest first. Use it to reconcile an invoice or to
find the call behind a support question: `reference` is the identifier to quote.

Pages are positioned rather than numbered, so calls arriving while you page cannot shift a later page
and hide a row. Pass `next_cursor` as `cursor` for the next page; its absence means the end.

`at` is in IST, matching the day range.

## What is not here

Usage reads are not themselves recorded, so checking your usage does not change it.

The record holds what was called and what it cost, never what the call was about. It carries no
identifier, name or document, so a usage export is safe to share internally without review.
