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

# Limits and cost controls

> Request bounds, rate limits, monthly admission caps, and error shapes.

Run admission applies an HTTP envelope limit, versioned JSON request bounds,
per-minute rate limiting, and an optional organization monthly run cap.

## Request bounds

The released engine configuration may lower or raise the effective JSON bounds
within the platform ceilings. A zero or omitted configuration value inherits
the platform default.

| Bound                                             | Platform default | Maximum configurable ceiling | Failure status |
| ------------------------------------------------- | ---------------: | ---------------------------: | -------------: |
| HTTP request envelope                             |  1,048,576 bytes |                        Fixed |          `413` |
| Canonical JSON bytes for `input` plus `offerings` |    262,144 bytes |              1,048,576 bytes |          `413` |
| Unicode characters in one string                  |           16,384 |                       65,536 |          `400` |
| Items in one array                                |              100 |                        1,000 |          `400` |
| Fields in one object                              |              100 |                        1,000 |          `400` |
| Object or array depth                             |               12 |                           32 |          `400` |

The first deterministic violation is returned before run creation, cap
reservation, queue insertion, or provider access.

```json theme={null}
{
  "code": "request_bound_exceeded",
  "message": "Request exceeds max_array_items",
  "details": {
    "bound": "max_array_items",
    "path": "$.input.items",
    "limit": 100,
    "actual": 101
  }
}
```

The `details` object always contains `bound`, `path`, `limit`, and `actual`.

## Requests per minute

Engine-scoped routes use the engine's configured RPM when it is non-zero.
Other public routes, and engines without an override, use the organization
default. A rejected request returns:

```json theme={null}
{
  "code": "rate_limited",
  "message": "Rate limit exceeded"
}
```

The response is `429` and includes `Retry-After` in seconds. If the rate-limit
backend is unavailable, request processing currently continues and the
degraded enforcement interval is recorded operationally. The monthly cap below
remains the atomic admission backstop when configured.

## Monthly run cap

Every successfully created run reserves one unit in the current UTC calendar
month. Live, sandbox, and deterministic fixture runs use the same organization
cap. Concurrent admission performs the cap check and reservation in the run
creation transaction.

At the configured limit, the API creates no run and returns `429`:

```json theme={null}
{
  "code": "run_cap_exceeded",
  "message": "Monthly run cap reached for this organization. Contact support to raise the limit."
}
```

Existing organizations without a configured cap are uncapped. Partner
credentials are issued only after an explicit launch cap and RPM are set.

## Provider and output declarations

Released configs can declare `max_provider_calls` up to 100 and
`max_output_tokens` up to 1,000,000. The configuration validator accepts zero
as not yet enforced. These declarations do not replace the admission controls
above, and a launch contract must state the actual configured values before
credentials are issued.

## Escalation

To request a limit change, contact `support@usenexio.com` with the environment
slug, engine slug, expected peak RPM, expected monthly run count, and the
relevant `run_id` or error timestamp. Do not retry a monthly-cap error in a
tight loop.
