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

# Inspect rate limits

> Non-consuming snapshots of caller-scoped HTTP request windows: aggregate inference_generate limits (dimensioned limits excluded), inference_count, and model_list. No query parameters. Authentication binds all scopes; credentials remain bound to their organization. Null limit/remaining/reset_at means no applicable request bucket, or enforcement disabled when enabled is false. Remaining is capacity before the next request; reset_at is full replenishment as rounded-up Unix seconds; retry_after is rounded-up seconds until the next request (zero when allowed). Target exhaustion returns HTTP 200 with allowed false. Polling consumes only the existing spa_api_account_org quota, whose headers and 429 errors describe polling itself. Backend errors return 503. This is not an admission guarantee: concurrency, billing, free-tier quotas, dimensioned inference policies, and MCP are excluded.

See the [guide](/api/api-reference/errors-and-rate-limits/rate-limits) for permissions, examples, and response semantics.


## OpenAPI

````yaml openapi.json GET /api/v1/rate-limits
openapi: 3.1.0
info:
  contact:
    email: developers@trynito.ai
    name: Nito Developer Support
    url: https://docs.trynito.ai/support
  description: >-
    Nito developer API: inference, Fusion, model catalog, attestation, web
    retrieval, document parsing, API key management, balance, rate-limit
    snapshots, and MCP.
  termsOfService: https://trynito.ai/terms
  title: Nito API
  version: '2026-07-01'
servers:
  - description: Configured gateway
    url: https://app.trynito.ai
security: []
tags:
  - description: >-
      OpenAI Chat Completions-compatible inference routes backed by gateway
      routing, billing, privacy, and streaming controls.
    name: Chat
  - description: >-
      Stateless OpenAI Responses-compatible shims for agent clients, including
      the compact output-item endpoint used by standalone compaction flows.
    name: Responses
  - description: >-
      Anthropic Messages-compatible request, response, token-count, and
      streaming surfaces mapped into canonical gateway contracts.
    name: Messages
  - description: >-
      Model discovery and browser model-picker metadata for safe logical model
      selection.
    name: Models
  - description: >-
      Request-local Attestation metadata for supported Attestable models in the
      Confidential and Encrypted tiers.
    name: Attestation
  - description: >-
      Streamable HTTP MCP transport documented with resource-bound bearer-token
      authentication.
    name: MCP
  - description: >-
      Standalone, credential-authenticated web search and fetch without an
      inference model.
    name: Web
  - description: >-
      OAuth-authorized organization API key administration with explicit consent
      and current owner/admin authorization.
    name: API Keys
  - description: >-
      Browser billing, usage, referral, balance, auto top-up, and x402 funding
      surfaces using integer nanos.
    name: Billing
externalDocs:
  description: Nito developer documentation
  url: https://docs.trynito.ai/nito
paths:
  /api/v1/rate-limits:
    get:
      tags:
        - Models
      summary: Inspect current caller request limits
      description: >-
        Non-consuming snapshots of caller-scoped HTTP request windows: aggregate
        inference_generate limits (dimensioned limits excluded),
        inference_count, and model_list. No query parameters. Authentication
        binds all scopes; credentials remain bound to their organization. Null
        limit/remaining/reset_at means no applicable request bucket, or
        enforcement disabled when enabled is false. Remaining is capacity before
        the next request; reset_at is full replenishment as rounded-up Unix
        seconds; retry_after is rounded-up seconds until the next request (zero
        when allowed). Target exhaustion returns HTTP 200 with allowed false.
        Polling consumes only the existing spa_api_account_org quota, whose
        headers and 429 errors describe polling itself. Backend errors return
        503. This is not an admission guarantee: concurrency, billing, free-tier
        quotas, dimensioned inference policies, and MCP are excluded.
      operationId: getRateLimits
      responses:
        '200':
          content:
            application/json:
              example:
                data:
                  - allowed: true
                    coverage: aggregate_request_limits
                    group: inference_generate
                    limit: 60
                    remaining: 58
                    reset_at: 1790000000
                    retry_after: 0
                  - allowed: true
                    coverage: request_limits
                    group: inference_count
                    limit: 60
                    remaining: 58
                    reset_at: 1790000000
                    retry_after: 0
                  - allowed: true
                    coverage: request_limits
                    group: model_list
                    limit: 60
                    remaining: 58
                    reset_at: 1790000000
                    retry_after: 0
                enabled: true
              schema:
                $ref: '#/components/schemas/RateLimits'
          description: OK
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
        '400':
          content:
            application/json:
              example:
                error:
                  code: invalid_request
                  message: The request is invalid.
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Invalid request
        '401':
          content:
            application/json:
              example:
                error:
                  code: unauthorized
                  message: authentication required
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Authentication required
        '402':
          content:
            application/json:
              example:
                error:
                  code: payment_required
                  message: >-
                    billing credits or an active subscription are required for
                    this request
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Payment required
        '403':
          content:
            application/json:
              example:
                error:
                  code: forbidden
                  message: credential is not authorized for this operation
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Forbidden
        '429':
          content:
            application/json:
              examples:
                insufficient_quota:
                  summary: Billing balance or free-tier quota exhausted
                  value:
                    error:
                      code: insufficient_quota
                      message: insufficient billing balance
                rate_limited:
                  summary: Gateway or provider rate limit exceeded
                  value:
                    error:
                      code: rate_limited
                      message: rate limited
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Rate limited or insufficient quota
          headers:
            Retry-After:
              description: >-
                Seconds to wait before retrying when the gateway can compute a
                retry window.
              example: '60'
              schema:
                type: string
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
        '500':
          content:
            application/json:
              example:
                error:
                  code: internal_error
                  message: internal error
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Internal server error
        '503':
          content:
            application/json:
              example:
                error:
                  code: unavailable
                  message: service unavailable
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: Service unavailable
      security:
        - PublicApiBearer: []
        - PublicApiKeyHeader: []
        - CliOAuthBearer: []
components:
  schemas:
    RateLimits:
      additionalProperties: false
      description: >-
        Schema for `RateLimits` values returned by or accepted by the Nito
        gateway.
      example:
        data:
          - allowed: true
            coverage: aggregate_request_limits
            group: inference_generate
            limit: 60
            remaining: 58
            reset_at: 1790000000
            retry_after: 0
          - allowed: true
            coverage: request_limits
            group: inference_count
            limit: 60
            remaining: 58
            reset_at: 1790000000
            retry_after: 0
          - allowed: true
            coverage: request_limits
            group: model_list
            limit: 60
            remaining: 58
            reset_at: 1790000000
            retry_after: 0
        enabled: true
      properties:
        data:
          description: The `data` field on `RateLimits`.
          example: []
          items:
            additionalProperties: false
            description: Nested schema within `RateLimits` for `RateLimits.data.items`.
            properties:
              allowed:
                description: >-
                  Whether the inspected request windows permit another request;
                  not an admission guarantee.
                example: true
                type: boolean
              coverage:
                description: The `coverage` field on `RateLimits`.
                enum:
                  - aggregate_request_limits
                  - request_limits
                example: aggregate_request_limits
                type: string
              group:
                description: The `group` field on `RateLimits`.
                enum:
                  - inference_generate
                  - inference_count
                  - model_list
                example: inference_generate
                type: string
              limit:
                description: >-
                  Capacity of the controlling bucket; null when no request
                  bucket applies or enforcement is disabled.
                example: 60
                oneOf:
                  - description: >-
                      Nested schema within `RateLimits` for
                      `RateLimits.data.items.limit.oneOf[0]`.
                    type: integer
                  - description: >-
                      Nested schema within `RateLimits` for
                      `RateLimits.data.items.limit.oneOf[1]`.
                    type: 'null'
              remaining:
                description: >-
                  Immediately available requests before the next request; null
                  without an applicable bucket.
                example: 58
                oneOf:
                  - description: >-
                      Nested schema within `RateLimits` for
                      `RateLimits.data.items.remaining.oneOf[0]`.
                    type: integer
                  - description: >-
                      Nested schema within `RateLimits` for
                      `RateLimits.data.items.remaining.oneOf[1]`.
                    type: 'null'
              reset_at:
                description: >-
                  Full replenishment time as rounded-up Unix seconds; null
                  without an applicable bucket.
                example: 1790000000
                oneOf:
                  - description: >-
                      Nested schema within `RateLimits` for
                      `RateLimits.data.items.reset_at.oneOf[0]`.
                    type: integer
                  - description: >-
                      Nested schema within `RateLimits` for
                      `RateLimits.data.items.reset_at.oneOf[1]`.
                    type: 'null'
              retry_after:
                description: >-
                  Rounded-up seconds until the next request fits; zero when
                  allowed.
                example: 0
                type: integer
            required:
              - group
              - coverage
              - allowed
              - limit
              - remaining
              - reset_at
              - retry_after
            type: object
          type: array
        enabled:
          description: Whether request rate-limit enforcement is currently enabled.
          example: true
          type: boolean
      required:
        - enabled
        - data
      type: object
    ErrorResponse:
      description: >-
        Schema for `ErrorResponse` values returned by or accepted by the Nito
        gateway.
      example:
        error:
          code: invalid_request
          message: The request is invalid.
          param: model
      properties:
        error:
          $ref: '#/components/schemas/Error'
          description: The `error` field on `ErrorResponse`.
          example: example
      required:
        - error
      type: object
    Error:
      description: Schema for `Error` values returned by or accepted by the Nito gateway.
      example:
        code: example
        message: example
        operation_id: 00000000-0000-4000-8000-000000000001
        param: example
      properties:
        code:
          description: The `code` field on `Error`.
          example: example
          type: string
        message:
          description: The `message` field on `Error`.
          example: example
          type: string
        operation_id:
          description: The `operation_id` field on `Error`.
          example: 00000000-0000-4000-8000-000000000001
          type: string
        param:
          description: The `param` field on `Error`.
          example: example
          type: string
      required:
        - message
        - code
      type: object
  headers:
    RateLimitLimit:
      description: Maximum requests for the controlling gateway request-rate bucket.
      schema:
        type: string
    RateLimitRemaining:
      description: >-
        Additional requests immediately available in the controlling gateway
        request-rate bucket.
      schema:
        type: string
    RateLimitReset:
      description: >-
        UTC Unix epoch seconds, rounded up, when the controlling gateway
        request-rate bucket is fully replenished.
      schema:
        type: string
  securitySchemes:
    PublicApiBearer:
      description: 'Org API key as Authorization: Bearer z_sk_...'
      scheme: bearer
      type: http
    PublicApiKeyHeader:
      description: Org API-key compatibility header. CLI and MCP tokens are rejected here.
      in: header
      name: X-API-Key
      type: apiKey
    CliOAuthBearer:
      description: 'OAuth CLI access token as Authorization: Bearer nito_cli_...'
      scheme: bearer
      type: http

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.