# Autenticación

> **Referencia de red:** Para la guía completa de autenticación de todos los sitios de Tools.FAST, consulta [tools.fast/api/docs/authentication](https://tools.fast/api/docs/authentication).

## Encabezado de clave de API

Envía tu clave de API en el encabezado `X-Fast-Api-Key`:

`X-Fast-Api-Key: fast_prod_...`

Los endpoints públicos protegidos de trabajos requieren `X-Fast-Api-Key` de una cuenta con acceso Pro. Las claves gratuitas y otras claves que no sean Pro devuelven `403 api_key.pro_required` en rutas de envío, ciclo de vida y descarga de trabajos.

## Solo del lado del servidor

La API está diseñada para integraciones del lado del servidor. Mantén las claves de API en tu servidor y no las incluyas en paquetes del navegador ni en clientes móviles.

## Obtener una clave de API

1. [Crea una cuenta](/?account=apiKeys&account_source=api-docs).
2. Ve a **Claves de API**.
3. Crea una clave nueva; empezará por `fast_prod_`.
4. Guarda la clave de forma segura; solo se muestra una vez.

Crear una clave de API no añade créditos ni acceso Pro a la API. Los trabajos de extracción requieren acceso Pro y usan los créditos de tu cuenta de Tools.FAST.

## Gestión de claves

Puedes crear varias claves de API, por ejemplo claves separadas para staging y producción, o por aplicación. Revoca cualquier clave desde la página **Claves de API**. Las claves revocadas dejan de funcionar inmediatamente.

## Lista de IP permitidas

Al crear una clave de API, puedes restringirla a direcciones IP concretas. Escribe una dirección única, como `203.0.113.5`, o un rango CIDR, como `203.0.113.0/24`. Las solicitudes desde IPs no permitidas se rechazan con `401`.

Recomendamos permitir solo las IPs de tus servidores en producción; limita el impacto si una clave se filtra.

## Créditos y límites disponibles

Usa `GET /entitlements/me` antes de flujos grandes para mostrar los créditos disponibles o decidir si debes pedir al usuario que añada créditos.

```bash
curl https://api.tools.fast/extract/entitlements/me \
  -H "X-Fast-Api-Key: $API_KEY"
```

Respuesta típica:

```json
{
  "service": "extract.fast",
  "tier": "pro",
  "credits": {
    "available": 29366,
    "isUnlimited": false
  },
  "limits": {
    "maxFileSizeMb": 1024
  }
}
```

## Claves ausentes o no válidas

Las claves ausentes, caducadas o no válidas devuelven una respuesta de error estable. No analices campos de texto; usa el código `error` y el estado HTTP.

```json
{
  "error": "api_key.invalid_or_ip_not_allowed",
  "detail": "X-Fast-Api-Key was provided but is invalid for this request (or IP not allowlisted)."
}
```

Las claves gratuitas y otras claves que no sean Pro devuelven:

```json
{
  "error": "api_key.pro_required",
  "detail": "Pro access is required to use public API job endpoints."
}
```
