---
title: Clave y límites
description: GET /v1/key en Clipia AI Gateway — nombre de la clave, uso en 30 días, saldo disponible y límite de solicitudes, además de las cabeceras de límite de frecuencia y la respuesta 429 para el chat con LLM.
icon: Gauge
---

`GET /v1/key` es un endpoint compatible con OpenAI que muestra qué clave está usando, cuánto ha gastado en los últimos 30 días, cuántos créditos tiene disponibles la cuenta y el límite de solicitudes de la clave. El coste de cada solicitud de chat se devuelve en su propia respuesta, en el campo `usage.cost`.

## Información de la clave [#key]

<Method name="GET" path="/v1/key" />

```bash
curl https://api.clipia.ai/v1/key \
  -H "Authorization: Bearer $CLIPIA_KEY"
```

**Respuesta `200`**

```json
{
  "data": {
    "label": "prod key (····a1b2)",
    "limit": null,
    "usage": 1240.5,
    "limit_remaining": 8320,
    "is_free_tier": false,
    "rate_limit": { "requests": 120, "interval": "1m" }
  }
}
```

<TypeTable
  type={{
    label: { type: 'string', description: 'Nombre de la clave y sus cuatro últimos caracteres. Para una conexión OAuth: "Connected session".' },
    limit: { type: 'null', description: 'La clave no tiene un límite de gasto propio; siempre null.' },
    usage: { type: 'number', description: 'Créditos gastados con esta clave en los últimos 30 días, descontados los reembolsos.' },
    limit_remaining: { type: 'number', description: 'Créditos disponibles actualmente en la cuenta. El saldo es común a todas las claves.' },
    is_free_tier: { type: 'boolean', description: 'Siempre false.' },
    'rate_limit.requests': { type: 'integer', description: 'Límite de solicitudes por minuto de la clave.' },
    'rate_limit.interval': { type: 'string', description: 'La ventana del límite, siempre "1m".' },
  }}
/>

El mismo saldo, desglosado en créditos de suscripción y créditos comprados, lo devuelve [`GET /v1/account`](/es/docs/api-reference/account).

## Coste de la solicitud [#cost]

El coste de cada solicitud de chat en créditos se devuelve en el campo `usage.cost` de la respuesta. En modo streaming, pase `stream_options: { "include_usage": true }` y `usage` llegará en el último fragmento antes de `data: [DONE]`: consulte [Chat Completions](/es/docs/llm-gateway/chat-completions).

<Callout type="info" title="Aún no se puede consultar el coste por id">
Por ahora no es posible consultar el coste de una solicitud completada por su `id` (`chatcmpl-…`). Guarde `usage.cost` de la respuesta si necesita contabilizar cada llamada. El gasto total de la clave en 30 días está en `GET /v1/key`, y el registro de solicitudes, en la pestaña **Registros** de la [consola de desarrollador](/es/developer).
</Callout>

## Límites [#limits]

El chat con LLM está sujeto a los mismos límites que el resto de la API:

- **120 solicitudes por minuto por clave** y 600 entre todas las claves de la cuenta;
- un **límite de concurrencia**, si se ha fijado para la clave o la cuenta;
- un **límite de tokens por minuto y un presupuesto en créditos**, solo si el equipo de Clipia los ha fijado; por defecto no hay ninguno.

Consulte [Límites de frecuencia](/es/docs/api-reference/rate-limits) para más detalles.

### Cabeceras de respuesta

<TypeTable
  type={{
    'RateLimit-Limit': { type: 'integer', description: 'Límite de solicitudes por minuto de la clave.' },
    'RateLimit-Remaining': { type: 'integer', description: 'Solicitudes que le quedan a la clave en el minuto actual.' },
    'RateLimit-Reset': { type: 'integer', description: 'Cuándo se reinicia la ventana, en tiempo Unix en segundos.' },
    'x-ratelimit-remaining-requests': { type: 'integer', description: 'Igual que RateLimit-Remaining, en formato de OpenAI.' },
    'x-ratelimit-remaining-tokens': { type: 'integer', description: 'Tokens restantes en el minuto actual. Solo si se ha fijado un límite de tokens.' },
    'Retry-After': { type: 'integer', description: 'Se envía con un 429: cuántos segundos debe esperar antes de reintentar.' },
  }}
/>

### Respuesta 429

```http
HTTP/1.1 429 Too Many Requests
Retry-After: 12
Content-Type: application/json
```

```json
{
  "error": {
    "message": "API rate limit exceeded. Slow down and retry after the reset window.",
    "type": "rate_limit_error",
    "param": null,
    "code": "rate_limit_exceeded"
  }
}
```

<Callout type="info" title="Respete Retry-After">
Ante un `429`, espere los segundos indicados en `Retry-After` antes de reintentar: es más fiable que un retardo fijo.
</Callout>
