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

# Plan limits and usage

> What your plan counts, which limits are enforced and which are measured, what happens when you exceed one, and where to watch your usage.

Your plan carries several allowances. They are not all enforced the same way,
and knowing which is which tells you what will actually happen when you cross
one.

## What your plan carries

| Allowance                             | Counts                                              | Enforcement                                                   |
| :------------------------------------ | :-------------------------------------------------- | :------------------------------------------------------------ |
| **Seats**                             | Users with a membership in the organization         | **Enforced.** Adding a user beyond the limit is refused.      |
| **Query retention**                   | How far back a log query may reach                  | **Enforced.** A query beyond it returns `RETENTION_EXCEEDED`. |
| **Logs / metrics / traces per month** | Records ingested in the current calendar month, UTC | Measured and reported.                                        |
| **Synthetic checks**                  | Checks configured                                   | Measured and reported.                                        |
| **Services**                          | Distinct `service.name` values seen                 | Measured and reported.                                        |

<Warning>
  **Exceeding a volume allowance does not stop your ingest.** There is no
  automatic cut-off on logs, metrics, traces, services or synthetic checks —
  telemetry keeps arriving and stays queryable.

  This is deliberate: dropping a customer's telemetry at midnight on the 20th
  is how you lose the incident you were paying to be able to investigate.
  Sustained overage is handled commercially, on your invoice or by your account
  contact, rather than by silent data loss.

  It also means **you will not be warned by a failure.** Watch
  **Settings → Usage** if the bill matters to you.
</Warning>

### Seats fail open, on purpose

The seat check is the one commercial limit that refuses an action. If the check
itself cannot run — no plan on record, no limit set, or a lookup that times
out — the user is **added** rather than blocked.

Locking an administrator out of adding a colleague because a billing lookup was
slow is worse than one unbilled seat, and it is recoverable in both directions.
Every such case is logged, so it surfaces on our side rather than yours.

## Watching your usage

**Settings → Usage** shows the current calendar month against your plan:
records per signal, an approximate volume in gigabytes, percent of allowance
used, your retention window and your plan name. It is cached for five minutes,
so it lags a burst slightly.

<Info>
  **The gigabyte figure is an approximation**, derived from record counts using
  typical per-record sizes — roughly 1 KB per log line, 2 KB per span, 200
  bytes per metric sample. Your actual bytes depend on how many attributes you
  attach. Treat it as a scale indicator, not an invoice.

  The record counts themselves are exact.
</Info>

The same numbers are available from the API — see
[Usage and billing](/api-reference/introduction) in the API reference — if you
want them on your own dashboard or in a monthly report.

## Ingest limits, which are different

Plan allowances are monthly and commercial. **Ingest limits are per-request and
technical**, they apply on every plan, and they *do* reject:

* A request rate ceiling, applied per license key.
* A maximum request body size.
* Per-request caps on Prometheus remote-write payloads: series, samples, labels
  per series and label length.
* A timestamp window — samples too far in the past or the future are rejected
  rather than stored somewhere you will never find them.

The exact figures, the status codes and what to do about each are on
[Ingest endpoints](/send-data/endpoints), which is the page to open when
something is being refused right now.

<Note>
  **`429` is an ingest rate limit; there is no plan-allowance equivalent.** If
  you are being rate limited, batch harder — a Collector between your services
  and aiAxonIQ turns thousands of small requests into a few large ones and is
  the standard fix. See [Installation overview](/send-data/overview).
</Note>

## Feature entitlements

Separately from volume, your plan determines which product areas are enabled:
logs, metrics, traces, dashboards, alerts, synthetics, security, LLM
observability and AgentSight.

A request to a disabled area returns `403 UPGRADE_REQUIRED` rather than an
empty result, so it is unambiguous:

```json theme={null}
{
  "error": "UPGRADE_REQUIRED",
  "message": "Upgrade required to access logs explorer"
}
```

<Info>
  **A `403` on ingest and a `403` in the product mean different things.** At the
  receiver it means the signal is not enabled for your key. In the product it
  means the *feature* is not on your plan. Both are answered by your account
  contact rather than by a configuration change on your side.
</Info>

## Reducing usage

If you are approaching an allowance, the levers in order of return are the same
ones that reduce retention cost: drop health-check traffic at the Collector,
sample traces, raise log levels in noisy services, and control metric
cardinality. Each is covered under
[Reducing what you store](/concepts/retention#reducing-what-you-store).

## Next

<CardGroup cols={3}>
  <Card title="Ingest endpoints" icon="list" href="/send-data/endpoints">
    Rate limits, size caps and every status code the receiver returns.
  </Card>

  <Card title="Data retention" icon="calendar-days" href="/concepts/retention">
    How long each signal is kept and why metrics outlive logs.
  </Card>

  <Card title="Sampling" icon="percent" href="/send-data/otel/sampling">
    The largest single reduction available on trace volume.
  </Card>
</CardGroup>
