Skip to main content
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.
BoundPlatform defaultMaximum configurable ceilingFailure status
HTTP request envelope1,048,576 bytesFixed413
Canonical JSON bytes for input plus offerings262,144 bytes1,048,576 bytes413
Unicode characters in one string16,38465,536400
Items in one array1001,000400
Fields in one object1001,000400
Object or array depth1232400
The first deterministic violation is returned before run creation, cap reservation, queue insertion, or provider access.
{
  "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:
{
  "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:
{
  "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.