Autenticación
Toda llamada a /v1/* se autentica con una API key en el header Authorization:
Authorization: Bearer tsk_1a2b3c4d_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Formato y ciclo de vida
- La clave tiene el formato
tsk_<prefijo>_<secreto>. El prefijo (8 caracteres hexadecimales) identifica la clave en el panel; el secreto nunca se guarda en texto claro, solo su hash SHA-256. - La clave se muestra una sola vez, en el momento en que se crea. Si la pierdes, revócala y crea otra.
- Cada clave pertenece a un cliente (tenant). Con ella solo ves las preguntas y respuestas de tu propio tenant.
- La revocación (panel, pantalla Credenciales) surte efecto de inmediato: la clave empieza a responder
401 invalid_api_key. - Cada tenant puede tener hasta 20 claves activas. Usa una por sistema o entorno (producción, pruebas) para poder revocar una sin romper las demás.
Dónde guardarla
Nunca uses la clave en el navegador ni en la app
La API key es un secreto de tu servidor. No pongas la clave en código de frontend, aplicaciones móviles, repositorios ni logs. El navegador del usuario debe hablar con tu backend, y tu backend habla con Datafala.
Guarda la clave como variable de entorno o en un almacén de secretos:
# Dokku
dokku config:set meu-app DATAFALA_API_KEY=tsk_1a2b3c4d_...
# Heroku / Render / Railway: usa el panel de variables de entorno del servicio
Errores de autenticación
| HTTP | code | Cuándo |
|---|---|---|
| 401 | invalid_api_key | Header ausente, mal formado, clave inexistente o revocada |
No repitas la solicitud sin corregir la clave. Los endpoints /v1 ignoran las cookies, y el panel (/admin) ignora las API keys.