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

# Autenticación

> Cómo autenticarte con la API de Waspy usando API keys.

## Métodos de autenticación

La API de Waspy acepta dos tipos de token en el header `Authorization`:

| Método      | Formato           | Uso recomendado                   |
| ----------- | ----------------- | --------------------------------- |
| **API Key** | `wspy_...`        | Integraciones server-to-server    |
| **JWT**     | Token JWT firmado | Sesiones de usuario (uso interno) |

Para integraciones, usá siempre **API keys**.

***

## API Keys

### Crear una API key

1. Ingresá a Waspy → **Configuración** → **API Keys**
2. Hacé click en **Crear API key**
3. Asigná un nombre descriptivo (ej: "CRM Integración")
4. Seleccioná los [scopes](/scopes) que necesita
5. Opcionalmente, configurá una fecha de expiración
6. Copiá la key — **se muestra una sola vez**

### Formato

Las API keys tienen el prefijo `wspy_` seguido de un token seguro:

```
wspy_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4
```

### Usar la API key

Incluí la key en el header `Authorization` de cada request:

```bash theme={null}
curl https://api.waspytech.com/api/v2/account \
  -H "Authorization: Bearer wspy_tu_api_key_aqui"
```

### Seguridad

* La key se almacena hasheada. Waspy no puede recuperarla.
* Si la perdés, revocá la anterior y creá una nueva.
* Podés configurar una fecha de expiración al crearla.
* Revocá inmediatamente cualquier key comprometida desde el panel.

### Qué pasa si la key es inválida

```json theme={null}
{
  "error": {
    "code": "INVALID_API_KEY",
    "message": "API key inválida, expirada o revocada.",
    "status": 401
  },
  "meta": { "requestId": "..." }
}
```

***

## Scopes y permisos

Cada API key puede tener permisos limitados. Si creás una key sin scopes específicos, tiene acceso completo.

Para limitar el acceso, asigná solo los scopes que necesita tu integración.

Más detalles en [Scopes y permisos](/scopes).

***

## Buenas prácticas

<Warning>
  No expongas API keys en código del lado del cliente (frontend, apps móviles). Usá siempre un backend como intermediario.
</Warning>

* Usá una key por integración, no una key compartida para todo.
* Asigná solo los scopes necesarios.
* Rotá las keys periódicamente.
* Configurá expiración si la integración es temporal.
* Monitoreá `lastUsedAt` en el panel para detectar keys sin uso.
