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

# Límites de uso

> Cómo la API de Nuvia trata los límites de solicitud hoy

Esta página describe, de forma factual, los límites de solicitud que la API de Nuvia aplica **hoy**.
Para autenticar sus llamadas, consulte [Autenticación](/es/autenticacao).

## API REST (llamadas con API key)

Actualmente **no hay límite de solicitudes por ruta** aplicado a las llamadas autenticadas por API
key. No publicamos un número de solicitudes por segundo o por minuto para la API REST principal
porque no existe un límite de ese tipo vigente.

<Note>
  Aunque no haya límite por ruta hoy, diseñe su integración para ser resiliente: trate las
  respuestas `429 Too Many Requests` con **reintento y backoff exponencial**. Así, si se aplican
  límites en el futuro, su código ya los maneja sin cambios.
</Note>

## Límites que existen hoy

Algunos flujos específicos tienen un límite aplicado. Responden `429 Too Many Requests` con el
cuerpo:

```json theme={null}
{
  "statusCode": 429,
  "message": "..."
}
```

| Flujo                                          | Límite         | Ventana     | Contado por  |
| ---------------------------------------------- | -------------- | ----------- | ------------ |
| OAuth / MCP (`/token`, `/register`)            | 60 solicitudes | 60 segundos | Dirección IP |
| Recuperación de contraseña (`forgot-password`) | 3 solicitudes  | 1 hora      | Email        |

<Warning>
  Estas respuestas `429` **no** incluyen headers de límite de uso: no hay `X-RateLimit-Limit`,
  `X-RateLimit-Remaining` ni `Retry-After`. No dependa de estos headers para decidir cuándo
  reintentar la solicitud; use su propia estrategia de backoff.
</Warning>

## Recomendación

<Steps>
  <Step title="Implemente reintento con backoff">
    Al recibir `429`, espere antes de reintentar y aumente el intervalo en cada nuevo intento
    (backoff exponencial), con un tope de intentos.
  </Step>

  <Step title="No dependa de headers de límite">
    Como las respuestas `429` no traen headers de límite de uso, base el backoff en su propio
    control de tiempo, no en valores retornados por la API.
  </Step>
</Steps>
