Autenticación
Una cabecera, dos tipos de credencial, y por qué la mayúscula importa.
Toda petición lleva la misma cabecera:
Authorization: Bearer <token>
La mayúscula importa
El prefijo se compara exactamente como Bearer (con B mayúscula y un
espacio). bearer abc o BEARER abc se rechazan igual que si no hubieras
mandado nada:
{ "error": { "code": "unauthorized", "message": "Missing or malformed Authorization header." } }
Es la causa número uno de un 401 con una credencial que sí es válida.
Dos familias de token
El prefijo dice qué tienes en la mano:
| Prefijo | Qué es | Actúa como |
|---|---|---|
eel_sk_ |
Clave de API del espacio | El espacio de trabajo. No hay persona detrás |
eel_at_ |
Token de acceso de una app conectada | La persona que la autorizó |
eel_rt_ |
Token de refresco de una app conectada | Nada por sí solo. Solo sirve para pedir otro eel_at_ |
La forma de la respuesta nunca cambia entre una y otra. Lo que cambia son las filas que trae: una clave ve lo que ve el espacio, un token ve lo que ve su persona. Eso está explicado en Qué ve cada credencial.
Cuándo falla, y con qué
| Situación | Código | Estado |
|---|---|---|
| Sin cabecera, o mal formada | unauthorized |
401 |
| Token que no existe, revocado o vencido | unauthorized |
401 |
| Token válido al que le falta el permiso | forbidden |
403 |
| Demasiadas peticiones | rate_limited |
429 |
Un 403 en esta API significa casi siempre una sola cosa: le falta un permiso a la credencial, y el mensaje dice cuál.
Lo que no verás es un 403 por un registro que existe pero no puedes ver. Eso responde 404, igual que un identificador inventado. Ver Reglas comunes.
La revocación tarda hasta un minuto
Una credencial ya verificada sigue valiendo durante 60 segundos. Revocar una clave, o dejar que venza, puede tardar ese minuto en surtir efecto.
Si necesitas cortar el acceso con certeza, revoca la credencial y cuenta ese minuto antes de dar el corte por hecho.