# Llaves de API

Emitir, usar y revocar llaves — los tres scopes, sus prefijos y los permisos de lectura y escritura.

Las llaves se emiten en **Configuración › Desarrollador**.

## Los tres scopes

| Scope            | Prefijo     | Superficie                         | ¿Al navegador? |
| ---------------- | ----------- | ---------------------------------- | -------------- |
| `api_v1`         | `wak_v1_`   | Catálogo de propiedades y asesores | **No**         |
| `campaign_rr`    | `wak_rr_`   | Rotación: el widget WaTel          | **Sí**         |
| `campaign_leads` | `wak_lead_` | Alta de prospectos                 | **No**         |

El scope decide **qué superficie** puede llamar la llave. Una llave `campaign_rr` no
publica prospectos aunque tenga permiso de escritura, y una `api_v1` no sirve para la
rotación.

`campaign_rr` es la del **widget WaTel** (los botones de WhatsApp y llamada) que se
incrusta en una landing: lee quién sigue en la rotación y registra el clic. Es la única
que puede llegar al navegador.

## Permisos

Dos, independientes, y hace falta al menos uno:

- **Lectura** — habilita `GET`.
- **Escritura** — habilita `POST` y `PATCH`. Nunca `DELETE`.

La comprobación es **por método HTTP**.

## Cómo se envía

```http
Authorization: Bearer wak_v1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

```http
X-Api-Key: wak_v1_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
```

## Errores de autenticación

:::note
Un `401` **no distingue** entre una llave inválida y una válida a la que le falta el
permiso del método. Si la llave es la correcta, revisa sus permisos antes de darla por
mala.
:::

## El secreto se muestra una vez

Al crear la llave se muestra el valor completo **una sola vez**. Después solo queda el
prefijo. Si se pierde, se revoca y se emite otra.

## Revocar

Revocar es inmediato. Las peticiones en curso con esa llave empiezan a fallar con `401`.

---

Índice completo del centro de ayuda: https://help.linkerestate.com/llms.txt