Skip to content

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

NameTypeRequiredDescription
X-API-KEYstringRequiredTu API key única obtenida desde el dashboard de Dailybot.
Content-TypestringRequiredDebe ser application/json.
AcceptstringRequiredDebe ser application/json.
Petición autenticada
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
json
{
  "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
json
{
  "detail": "Authentication credentials were not provided."
}

Info

Una API key lleva el contexto tanto de la organizacióncomo del propietario de la clave. Todas las llamadas API están limitadas a la organización a la que pertenece la clave, y las verificaciones de permisos reflejan los niveles de acceso del propietario.

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ónHTTPcode
El propietario de la key está desactivado403api_key_owner_inactive
La organización está en plan gratuito403plan_free_api_keys_forbidden
El plan no incluye acceso a la API403plan_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ónKey completa visible?Lecturas posteriores muestran
Crear (POST)✅ Sí, en respuesta 201Solo key_suffix
Regenerar (PATCH con regenerate: true)✅ Sí, en respuesta 200Solo key_suffix
Listar / Detalle (GET)❌ NuncaSolo key_suffix
Actualizar sin regenerar (PATCH)❌ NuncaSolo key_suffix

Warning

Copia la key inmediatamente tras crearla o regenerarla — no podrás recuperarla después. Guárdala en una variable de entorno o gestor de secretos. El formato enmascarado es: ••••••••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 org
  • POST /v1/send-email/ — límite 20/día por org
  • GET/POST /v1/agent-messages/, POST /v1/agent-messages/read/
  • GET /v1/agent/health/, flujo de registro y claim de agentes
  • GET /v1/me/, GET /v1/organization/, GET /v1/cli/status/

Matriz de métodos de autenticación

Info

Las API keys funcionan en TODOS los endpoints /v1/. No hay restricción del lado del servidor que limite las API keys a operaciones de agente.
Grupo de endpointsAPI KeyCLI TokenOAuth2
/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:

text
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

La autenticación por Token de Intercambio está desactivada por defecto. Si necesitas usar tokens de intercambio, por favorcontacta a nuestro equipo de soporte con detalles sobre tu caso de uso.

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
json
{
  "detail": "Request was throttled. Expected available in 30 seconds."
}

Tip

Los planes Enterprise incluyen límites de tasa más altos.Contacta a ventas para detalles sobre los niveles de límites de tasa.

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