Autenticación
Todas las peticiones a la API de Dailybot requieren autenticación mediante una API key pasada en los headers de la petición. Esta página cubre los headers requeridos, métodos de autenticación y mejores prácticas de seguridad.
Autenticación por API Key
Dailybot utiliza autenticación basada en headers. Incluye tu API key en el header X-API-KEY en cada petición.
Headers Requeridos
| Name | Type | Required | Description |
|---|---|---|---|
X-API-KEY | string | Required | Tu API key única obtenida desde el dashboard de Dailybot. |
Content-Type | string | Required | Debe ser application/json. |
Accept | string | Required | Debe ser application/json. |
curl -X GET "https://api.dailybot.com/v1/me/" \
-H "X-API-KEY: tu_api_key" \
-H "Content-Type: application/json" \
-H "Accept: application/json"Response200 OK
{
"id": "usr_abc123",
"email": "[email protected]",
"first_name": "María",
"last_name": "García",
"role": "admin"
}Response401 No Autorizado — API key faltante o inválida
{
"detail": "Authentication credentials were not provided."
}Info
Garantía de paridad — API key vs. CLI Bearer
Dailybot soporta dos tipos de credenciales para la API pública: unaAPI key de larga duración (header X-API-KEY) y un token Bearer del CLI personal (Authorization: Bearer …) obtenido con dailybot login. Ambas credenciales otorgan el mismo acceso a todos los endpoints públicos, con la única excepción de los cuatro endpoints CLI-only listados al final de esta sección.
Este es un compromiso explícito de diseño: los campos, la paginación, los códigos de error y los scopes de rate-limit son iguales entre tipos de credencial para el mismo usuario subyacente. La aplicación del contrato enapi-services está en rollout — el log vive en/developers/api-changelog. Si observas un endpoint que se comporta distinto bajo las dos credenciales, por favor abre un issue — es un bug contra este compromiso.
- Uso personal:
dailybot login. - Automatización / CI / cron:
$DAILYBOT_API_KEY. - Agentes de IA: misma
$DAILYBOT_API_KEY.
Los cuatro endpoints CLI-only son los únicos que rechazan API key por diseño:
GET /v1/cli/updates/GET /v1/cli/status/POST /v1/cli/chat/completions//v1/cli/auth/*
Requisitos de plan
Las API keys requieren un plan de pago de Dailybot. Cada petición se valida contra el plan de la organización del propietario de la key en cada petición — no solo al crear la key. Si la org hace downgrade, sus keys dejan de funcionar en 60 segundos.
| Condición | HTTP | code |
|---|---|---|
| El propietario de la key está desactivado | 403 | api_key_owner_inactive |
| La organización está en plan gratuito | 403 | plan_free_api_keys_forbidden |
| El plan no incluye acceso a la API | 403 | plan_missing_core_api_integrations |
owner vs. created_by
Cada API key registra dos usuarios distintos:
owner— el usuario cuya identidad y scope de rol utiliza la key. Las peticiones ven los datos del owner, limitados por su rol.created_by— el admin que creó la key. Puede ser null en keys históricas. Se usa para auditoría.
Ciclo de vida de la key (show-once)
Los secretos de API key siguen la semántica show-once — la key en texto plano solo se devuelve en el momento de creación o regeneración. Después, solo se muestran los últimos 4 caracteres (key_suffix).
| Acción | Key completa visible? | Lecturas posteriores muestran |
|---|---|---|
Crear (POST) | ✅ Sí, en respuesta 201 | Solo key_suffix |
Regenerar (PATCH con regenerate: true) | ✅ Sí, en respuesta 200 | Solo key_suffix |
Listar / Detalle (GET) | ❌ Nunca | Solo key_suffix |
Actualizar sin regenerar (PATCH) | ❌ Nunca | Solo key_suffix |
Warning
••••••••xxxx.Acceso de miembros a API keys
Los miembros no administradores ya pueden gestionar sus propias API keys.
- Admin: ve y gestiona todas las keys de la org; puede crear keys para otros usuarios.
- Miembro: solo ve y gestiona sus propias keys. No puede crear agent keys ni keys para otros.
Lista de endpoints permitidos en plan gratuito (CLI)
Los tokens CLI Bearer en organizaciones de plan gratuito solo pueden acceder a un conjunto restringido de endpoints. El resto devuelve 403 plan_upgrade_required.
POST /v1/agent-reports/— límite 50/día por orgPOST /v1/send-email/— límite 20/día por orgGET/POST /v1/agent-messages/,POST /v1/agent-messages/read/GET /v1/agent/health/, flujo de registro y claim de agentesGET /v1/me/,GET /v1/organization/,GET /v1/cli/status/
Matriz de métodos de autenticación
Info
/v1/. No hay restricción del lado del servidor que limite las API keys a operaciones de agente.| Grupo de endpoints | API Key | CLI Token | OAuth2 |
|---|---|---|---|
| /v1/me/ | ✅ | ✅ | ✅ |
| /v1/organization/ | ✅ | ✅ | — |
| /v1/users/ | ✅ | ✅ | — |
| /v1/teams/, miembros | ✅ | ✅ | — |
| /v1/templates/, /v1/checkins/ | ✅ | ✅ | ✅ |
| /v1/forms/ (todo) | ✅ | ✅ | — |
| /v1/kudos/ (list, create, boost, organization, wall-of-fame) | ✅ | ✅ | — |
| /v1/workflows/ | ✅ | ✅ | — |
| /v1/send-message/ | ✅ | ✅ | — |
| /v1/agent-reports/, health, messages, email | ✅ | ✅ | — |
| /v1/cli/updates/, /v1/cli/status/ | ✅ | ✅ | — |
| /v1/cli/chat/completions/ | ✅ | ✅ | — |
| /v1/cli/auth/status/ | ✅ | ✅ | — |
| /v1/cli/auth/logout/ | — | ✅ | — |
| /v1/platform/* | ✅ | — | — |
URL Base y Versionado
Todos los endpoints API usan la siguiente URL base:
https://api.dailybot.com/v1/La API está versionada a través de la ruta de URL. La versión actual y única es v1. Se recomienda configurar tu cliente HTTP con el prefijo base completo incluyendo la versión para asegurar compatibilidad futura.
Token de Intercambio
El mecanismo de Token de Intercambio te permite hacer llamadas API en nombre de otros miembros de la organización. Esto es útil para escenarios como:
- Dar kudos a miembros del equipo programáticamente
- Completar respuestas de check-in para otros usuarios
- Realizar acciones en el contexto de un usuario diferente
Obtención de Tokens de Intercambio
Hay dos formas de obtener un token de intercambio:
1. Vía ChatOps y Comandos Personalizados
Cuando un usuario activa un comando personalizado en el chat, el comando recibe un token de intercambio que puede usarse para hacer llamadas API en el contexto de ese usuario.
2. Vía Endpoint API Dedicado
Puedes solicitar un token de intercambio para un usuario específico a través de un endpoint dedicado, siempre que tu API key tenga los permisos necesarios.
Función Desactivada por Defecto
Límites de Tasa
La API de Dailybot aplica límites de tasa para asegurar un uso justo. Si excedes el límite, recibirás una respuesta429 Too Many Requests.
Response429 Demasiadas Peticiones
{
"detail": "Request was throttled. Expected available in 30 seconds."
}Tip
Mejores Prácticas de Seguridad
- Nunca subas API keys a control de versiones ni las expongas en código del lado del cliente
- Usa variables de entorno o un gestor de secretos para almacenar credenciales
- Rota las claves regularmente y revoca inmediatamente cualquier clave comprometida
- Revoca claves no utilizadas desde el dashboard de Integraciones
- Usa solo HTTPS — todas las peticiones API deben usar cifrado TLS
- Monitorea el uso de la API a través del dashboard para detectar actividad inesperada