---
title: "Get the Batch API's current limits"
method: GET
path: "/v1/batches/limits"
tags: ["Batches"]
---

# Get the Batch API's current limits

`GET /v1/batches/limits`

## Request

- Base URL: `https://inference.openrelay.inc`
- URL: `https://inference.openrelay.inc/v1/batches/limits`
- Auth: HTTP bearer

Returns the limits a batch submission runs against today: the per-batch minimum fee and the metadata caps that create and update both enforce.
The minimum fee is 0 when none is configured. orl estimate and orl batches create read this instead of assuming fixed constants, so a limit change on the server reaches them without a CLI release.

Requires the `batch.read` permission. See [Permissions](https://docs.openrelay.inc/docs/permissions) for the roles and API key permissions that include it.

## Response `200`

OK

- BatchLimits: Batch API limits that affect what a submission or an estimate should assume.
  - `metadata` BatchLimitsMetadata, required: The metadata caps the batch metadata update also enforces.
    - `max_key_length` integer, required: Maximum length of a metadata key.
    - `max_pairs` integer, required: Maximum key-value pairs the metadata map may hold.
    - `max_value_length` integer, required: Maximum length of a metadata value.
  - `min_fee_nano_usd` integer, required: The per-batch minimum charge, in nanoUSD. 0 when no minimum fee is configured.

## Other responses

- `401`: Missing or invalid API key
- `403`: Refused, type permission_error. An inference call, a batch create or a file upload is refused while the account is unavailable, paused or under review (account_suspended, account_unavailable) or being verified (account_pending_verification), and an inference call names a model that takes an access request first (model_access_required). With permissions enabled, a role, key restriction, network rule or policy refuses the request (permission_denied, with permission and denied_by), or the model is outside the key's, role's or organization's model list (model_not_allowed, with permission, denied_by, model and allowed_models_hint); the OpenRelay-Required-Permission header names the permission.

## Changes

- **2026-10-26** `7fe59d94a9f5`: 6 info
  - added the non-success response with the status `403`
  - added the optional property `error/allowed_models_hint` to the response with the `401` status
  - added the optional property `error/denied_by` to the response with the `401` status
  - added the optional property `error/model` to the response with the `401` status
  - …2 more
- **2026-10-21** `dc9750cb25b5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/openrelay/apis/openrelay-api/changes/v1/batches/limits/get.md)

---

[API](https://skmtc.dev/openrelay/apis/openrelay-api.md) - [All operations](https://skmtc.dev/openrelay/apis/openrelay-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openrelay/apis/openrelay-api/revisions/7fe59d94a9f5?raw)
