Skip to content
ver .md sin procesar

Plan · Notificaciones y reportes

El catálogo de notificaciones, los interruptores y el resumen diario de cada persona, las rutas de canal y los reportes programados de la organización, y los canales donde publican. Parte de la API de Dailybot Plan (Beta).

En esta página

Beta

Plan está en beta. Todo lo que está bajo /plan en la aplicación web, los comandos del CLI y de la agent skill para proyectos, objetivos, tableros y tareas, y la API pública /v1/plan/ puede cambiar antes de la disponibilidad general. ¿Quieres probarlo con tu equipo? Escribe a [email protected].

GET/v1/plan/notifications/catalog/BetaAPI keyCLI Auth

El catálogo de notificaciones

Todos los tipos de notificación, personales y de la organización: el único catálogo desde el que se renderizan los ajustes web, el CLI y la agent skill. scope es personal (un interruptor que una persona configura para sí misma, por DM y/o correo) u org (un tipo que una ruta de canal puede publicar). Los valores key son identificadores estables en minúsculas; default es lo que una persona recibe antes de tocar el interruptor; los tipos immediate nunca quedan retenidos por la ventana de agrupación.

Objeto NotificationKind

NombreTipoRequeridoDescripción
keystringRequeridoIdentificador estable en minúsculas: lo que reciben items[].kind y los kinds de una ruta.
scopeenumRequeridopersonal (un interruptor que una persona configura para sí misma, DM y/o correo) u org (un tipo que una ruta puede publicar en un canal).
groupstringRequeridoLa groups[].key a la que pertenece, para renderizar.
titlestringRequerido—
descriptionstringRequerido—
eventsarray<string>RequeridoLos tipos de evento de tarea que lo producen.
targetingenumRequeridoA quién llega: me, watched, content_author, project_members, scheduled u org.
supportsarray<string>RequeridoLos canales que puede usar: chat, email.
defaultobjectRequerido{chat, email}: lo que una persona recibe antes de tocar el interruptor.
immediatebooleanRequeridoUn tipo inmediato nunca queda retenido por la ventana de agrupación.

Respuesta

NombreTipoRequeridoDescripción
groupsarray<object>RequeridoFilas {key, title}, en orden de presentación.
kindsarray<NotificationKind>RequeridoLos objetos NotificationKind.

Errores

EstadoCuándo
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
curl -sS "https://api.dailybot.com/v1/plan/notifications/catalog/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
GET/v1/plan/me/notifications/BetaCLI Auth

Mis interruptores de notificaciones

Los interruptores efectivos de quien llama, un elemento por tipo personal, con valores chat / email: el interruptor guardado cuando existe (stored: true), o el predeterminado del catálogo (stored: false). destination dice adónde van las notificaciones de chat: un mensaje directo por defecto, o un canal público que la persona eligió. Una persona nunca recibe notificaciones de sus propias acciones, digan lo que digan estos valores.

Objeto NotificationDestination

NombreTipoRequeridoDescripción
typeenumRequeridodm (por defecto) o channel.
channelChatChannel | nullRequeridoEl canal público cuando type es channel. Ver ChatChannel.

Objeto ChatChannel

NombreTipoRequeridoDescripción
external_idstringRequeridoEl id del canal en la plataforma: el mismo valor que recibe dailybot chat send --channel.
namestringRequeridoNombre del canal.
typeenumRequeridoUno de channel (público), private_channel, group_chat.

Objeto NotificationPreferenceItem

NombreTipoRequeridoDescripción
kindstringRequeridoLa key del catálogo.
groupstringRequerido—
titlestringRequerido—
supportsarray<string>Requeridochat, email.
defaultobjectRequerido{chat, email} del catálogo.
storedbooleanRequeridotrue cuando la persona configuró este interruptor; false cuando el valor es el predeterminado del catálogo.
chatbooleanRequeridoValor efectivo.
emailbooleanRequeridoValor efectivo.

Respuesta

NombreTipoRequeridoDescripción
destinationNotificationDestinationRequeridoUn objeto NotificationDestination.
itemsarray<NotificationPreferenceItem>RequeridoUna fila por tipo personal: objetos NotificationPreferenceItem.
paused_untildatetime | nullRequeridoReservado; siempre null en esta versión.

Errores

EstadoCuándo
400La credencial es una key de agente o de la organización (`actor_required`); este endpoint requiere una persona.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403Las cuentas de invitado no pueden usar Plan (`guest_not_allowed`).
curl -sS "https://api.dailybot.com/v1/plan/me/notifications/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Requiere una persona: llámalo con una sesión iniciada, un token de usuario del CLI o una API key personal, que actúa como su persona. Una key de agente o de la organización recibe `400 actor_required`.
PUT/v1/plan/me/notifications/BetaCLI Auth

Cambiar mis interruptores de notificaciones

Parcial: solo se escriben los tipos y canales que nombras; todo lo demás conserva su valor efectivo. Responde el cuerpo efectivo completo, igual que GET. Un tipo desconocido es 400 unknown_notification_kind y un campo desconocido es 400 unknown_field (extra.parameter lo nombra). Un canal de destination debe ser público (type: channel en GET /v1/plan/channels/); uno privado es 400 channel_not_found, y las notificaciones sobre trabajo solo para miembros siguen llegando por DM. paused_until está reservado: enviar un valor es 501 not_implemented.

Encabezados

NombreTipoRequeridoDescripción
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Cuerpo de la solicitud

NombreTipoRequeridoDescripción
destinationobjectOpcional{type: "dm"} o {type: "channel", channel: {external_id}}.
itemsarray<object>OpcionalFilas {kind, chat?, email?}: la key del catálogo y los canales a configurar. Omite un canal para dejarlo como está.
paused_untildatetime | nullOpcionalReservado. Solo se acepta null; una fecha y hora es 501 not_implemented.
agent_namestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente.

Respuesta

NombreTipoRequeridoDescripción
destinationNotificationDestinationRequeridoUn objeto NotificationDestination.
itemsarray<NotificationPreferenceItem>RequeridoUna fila por tipo personal: objetos NotificationPreferenceItem.
paused_untildatetime | nullRequeridoReservado; siempre null en esta versión.

Errores

EstadoCuándo
400Un tipo desconocido (`unknown_notification_kind`), un campo desconocido (`unknown_field`), un canal que no es público o no se conoce (`channel_not_found`), una key de agente o de la organización (`actor_required`), o un nombre de agente no válido (`invalid_agent_attribution`).
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403Las cuentas de invitado no pueden usar Plan (`guest_not_allowed`).
curl -sS -X PUT "https://api.dailybot.com/v1/plan/me/notifications/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "items": [
    {
      "kind": "task_assigned",
      "email": true
    },
    {
      "kind": "comment_added",
      "chat": false
    }
  ]
}'

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:write`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Requiere una persona: llámalo con una sesión iniciada, un token de usuario del CLI o una API key personal, que actúa como su persona. Una key de agente o de la organización recibe `400 actor_required`.
GET/v1/plan/notification-routes/BetaAPI keyCLI AuthPaginación por número de página

Listar las rutas de canal de la organización

Todas las rutas: un canal de chat, los tipos de notificación de la organización que recibe y su alcance (todo el espacio de trabajo, algunos tableros o algunos proyectos). viewer.can_manage dice si quien llama puede crear o cambiar rutas. Cualquier miembro, y cualquier key, puede leer.

Parámetros de consulta

NombreTipoRequeridoDescripción
pageintegerOpcionalNúmero de página, empezando en 1.
page_sizeintegerOpcionalFilas por página. 50 por defecto, máximo 100. Los valores fuera de rango se ajustan, nunca se rechazan: pedir 500 devuelve 100.

Objeto NotificationRoute

NombreTipoRequeridoDescripción
uuiduuidRequeridoIdentificador público estable.
namestringRequeridoNombre de la ruta.
enabledbooleanRequeridoUna ruta desactivada conserva su configuración y no publica nada.
channelChatChannelRequeridoDónde publica. Ver ChatChannel.
kindsarray<string>RequeridoLos tipos de notificación de la organización que recibe (valores key del catálogo).
scopeRouteScopeRequeridoQué trabajo cubre. Ver RouteScope.
created_byUserRef | nullRequeridoQuién la creó. Ver UserRef.
created_atdatetime | nullRequerido—
updated_atdatetime | nullRequerido—

Objeto RouteScope

NombreTipoRequeridoDescripción
typeenumRequeridoall (todo el espacio de trabajo), boards o projects.
uuidsarray<uuid>RequeridoLos uuids de tableros o proyectos cuando type no es all. Solo se aceptan tableros y proyectos que todo el espacio de trabajo puede ver.

Objeto RoutesViewer

NombreTipoRequeridoDescripción
can_managebooleanRequeridoSi quien llama puede crear, cambiar o borrar rutas y reportes programados: un administrador de la organización con una credencial que puede escribir.

Objeto UserRef

NombreTipoRequeridoDescripción
uuiduuidRequeridoIdentificador público estable.
namestringOpcionalNombre visible.
avatar_urlstring | nullOpcional—
has_photobooleanOpcional—

Respuesta

NombreTipoRequeridoDescripción
countintegerRequeridoNúmero total de filas.
nexturiRequeridoURL de la página siguiente, o null.
previousuriRequeridoURL de la página anterior, o null.
resultsarray<NotificationRoute>RequeridoLa página de objetos NotificationRoute.
viewerRoutesViewerRequeridoUn objeto RoutesViewer.

Errores

EstadoCuándo
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
curl -sS "https://api.dailybot.com/v1/plan/notification-routes/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
POST/v1/plan/notification-routes/BetaCLI Auth

Crear una ruta de canal

Solo administradores de la organización. Una ruta publica los tipos de notificación de la organización que elijas (una tarea completada, una actualización de proyecto, un cambio de líder…) en un canal de chat, para todo el espacio de trabajo o para algunos tableros o proyectos. Máximo 10 rutas por organización. Acepta Idempotency-Key.

Encabezados

NombreTipoRequeridoDescripción
Idempotency-KeystringOpcionalUna clave que generas para esta intención. Una repetición con la misma clave y el mismo cuerpo devuelve la primera respuesta sin un segundo efecto secundario y lleva Idempotency-Replayed: true. Las claves se conservan durante 24 horas. La misma clave con un cuerpo distinto es 409 idempotency_key_payload_mismatch; una repetición mientras la primera llamada sigue en curso recibe 409 idempotency_in_progress durante hasta 120 segundos.
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Cuerpo de la solicitud

NombreTipoRequeridoDescripción
namestringOpcionalNombre de la ruta.
enabledbooleanOpcionaltrue por defecto.
channelobjectOpcional{external_id}: el id del canal en la plataforma, como lo lista GET /v1/plan/channels/. Un id desconocido es 400 channel_not_found.
kindsarray<string>OpcionalTipos de la organización del catálogo (scope: org). Cualquier otra cosa es 400 unknown_notification_kind.
scopeRouteScopeOpcional{type, uuids}. Un tablero o proyecto solo para miembros es 400 route_scope_not_org_visible con extra.uuids: los canales solo reciben lo que todo el espacio de trabajo puede ver.
agent_namestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente.

Respuesta

NombreTipoRequeridoDescripción
(body)NotificationRouteRequeridoUn objeto NotificationRoute.

Errores

EstadoCuándo
400Un campo falló la validación: `channel_not_found`, `unknown_notification_kind`, `route_scope_not_org_visible` (`extra.uuids`), `unknown_field`, o `notification_routes_limit_reached` (`extra.limit`, 10 rutas). `invalid_agent_attribution` significa que el nombre del agente no es válido.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403No eres administrador de la organización (`insufficient_scope`), o eres invitado (`guest_not_allowed`). Una key de agente o de la organización también se rechaza aquí.
curl -sS -X POST "https://api.dailybot.com/v1/plan/notification-routes/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Engineering channel",
  "channel": {
    "external_id": "C0123ABC"
  },
  "kinds": [
    "task_completed",
    "project_update_posted",
    "project_lead_changed"
  ],
  "scope": {
    "type": "boards",
    "uuids": [
      "00000000-0000-4000-8000-000000000002"
    ]
  }
}'

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:admin` — escrituras de contenedores. Un miembro no invitado puede llamarlo con una sesión iniciada o una API key personal (una key con scopes de Plan explícitos necesita `tasks:write`, que lo cubre); una key de agente o de la organización recibe `403 insufficient_scope`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Solo administradores de la organización, con una sesión iniciada, un token de usuario del CLI o una API key personal. Cualquier miembro y cualquier key puede leer.
GET/v1/plan/notification-routes/{route_id}/BetaAPI keyCLI Auth

Obtener una ruta de canal

Una ruta. Una ruta de otra organización es 404.

Parámetros de ruta

NombreTipoRequeridoDescripción
route_iduuidRequeridoEl uuid de la ruta.

Respuesta

NombreTipoRequeridoDescripción
(body)NotificationRouteRequeridoUn objeto NotificationRoute.

Errores

EstadoCuándo
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
404La ruta no existe en tu organización (`not_found`), nunca un 403.
curl -sS "https://api.dailybot.com/v1/plan/notification-routes/00000000-0000-4000-8000-000000000021/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
PATCH/v1/plan/notification-routes/{route_id}/BetaCLI Auth

Cambiar una ruta de canal

Solo administradores de la organización. Parcial: solo se escriben los campos que envías, con la misma validación que al crear.

Parámetros de ruta

NombreTipoRequeridoDescripción
route_iduuidRequeridoEl uuid de la ruta.

Encabezados

NombreTipoRequeridoDescripción
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Cuerpo de la solicitud

NombreTipoRequeridoDescripción
namestringOpcionalNombre de la ruta.
enabledbooleanOpcionaltrue por defecto.
channelobjectOpcional{external_id}: el id del canal en la plataforma, como lo lista GET /v1/plan/channels/. Un id desconocido es 400 channel_not_found.
kindsarray<string>OpcionalTipos de la organización del catálogo (scope: org). Cualquier otra cosa es 400 unknown_notification_kind.
scopeRouteScopeOpcional{type, uuids}. Un tablero o proyecto solo para miembros es 400 route_scope_not_org_visible con extra.uuids: los canales solo reciben lo que todo el espacio de trabajo puede ver.
agent_namestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente.

Respuesta

NombreTipoRequeridoDescripción
(body)NotificationRouteRequeridoUn objeto NotificationRoute.

Errores

EstadoCuándo
400Un campo falló la validación: `channel_not_found`, `unknown_notification_kind`, `route_scope_not_org_visible` (`extra.uuids`), `unknown_field`, o `notification_routes_limit_reached` (`extra.limit`, 10 rutas). `invalid_agent_attribution` significa que el nombre del agente no es válido.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403No eres administrador de la organización (`insufficient_scope`), o eres invitado (`guest_not_allowed`). Una key de agente o de la organización también se rechaza aquí.
404La ruta no existe en tu organización (`not_found`), nunca un 403.
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/notification-routes/00000000-0000-4000-8000-000000000021/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "enabled": false
}'

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:admin` — escrituras de contenedores. Un miembro no invitado puede llamarlo con una sesión iniciada o una API key personal (una key con scopes de Plan explícitos necesita `tasks:write`, que lo cubre); una key de agente o de la organización recibe `403 insufficient_scope`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Solo administradores de la organización, con una sesión iniciada, un token de usuario del CLI o una API key personal. Cualquier miembro y cualquier key puede leer.
DELETE/v1/plan/notification-routes/{route_id}/BetaCLI Auth

Borrar una ruta de canal

Solo administradores de la organización. El canal deja de recibir de inmediato. Responde 204.

Parámetros de ruta

NombreTipoRequeridoDescripción
route_iduuidRequeridoEl uuid de la ruta.

Encabezados

NombreTipoRequeridoDescripción
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Errores

EstadoCuándo
400La validación falló; el `code` de la respuesta indica qué campo. `invalid_agent_attribution` significa que el nombre del agente no es válido.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403No eres administrador de la organización (`insufficient_scope`), o eres invitado (`guest_not_allowed`). Una key de agente o de la organización también se rechaza aquí.
404La ruta no existe en tu organización (`not_found`), nunca un 403.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/notification-routes/00000000-0000-4000-8000-000000000021/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:admin` — escrituras de contenedores. Un miembro no invitado puede llamarlo con una sesión iniciada o una API key personal (una key con scopes de Plan explícitos necesita `tasks:write`, que lo cubre); una key de agente o de la organización recibe `403 insufficient_scope`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Solo administradores de la organización, con una sesión iniciada, un token de usuario del CLI o una API key personal. Cualquier miembro y cualquier key puede leer.
POST/v1/plan/notification-routes/{route_id}/send-test/BetaCLI Auth

Publicar un mensaje de prueba en el canal de una ruta, o previsualizarlo

Solo administradores de la organización. Con ?dry_run=true se renderiza la muestra y se resuelve el canal, y no se envía ni se registra nada. Sin él, se publica y registra un mensaje como cualquier publicación de la ruta.

Parámetros de ruta

NombreTipoRequeridoDescripción
route_iduuidRequeridoEl uuid de la ruta.

Parámetros de consulta

NombreTipoRequeridoDescripción
dry_runbooleanOpcionaltrue solo renderiza y resuelve; no se envía ni se registra nada. Falla de forma segura: cualquier valor distinto de 0, false, no u off es un ensayo.

Encabezados

NombreTipoRequeridoDescripción
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Respuesta

NombreTipoRequeridoDescripción
dry_runbooleanRequeridoRefleja la solicitud: true cuando no se envió nada.
channelChatChannelRequeridoUn objeto ChatChannel.
textstringRequeridoEl mensaje de muestra renderizado.
sentbooleanRequeridofalse en un ensayo.
statusstringOpcionalEl estado de la entrega cuando se envió.
delivery_uuiduuid | nullOpcionalEl registro de entrega cuando se envió; ver el endpoint de entregas.

Errores

EstadoCuándo
400La validación falló; el `code` de la respuesta indica qué campo. `invalid_agent_attribution` significa que el nombre del agente no es válido.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403No eres administrador de la organización (`insufficient_scope`), o eres invitado (`guest_not_allowed`). Una key de agente o de la organización también se rechaza aquí.
404La ruta no existe en tu organización (`not_found`), nunca un 403.
curl -sS -X POST "https://api.dailybot.com/v1/plan/notification-routes/00000000-0000-4000-8000-000000000021/send-test/?dry_run=true" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:admin` — escrituras de contenedores. Un miembro no invitado puede llamarlo con una sesión iniciada o una API key personal (una key con scopes de Plan explícitos necesita `tasks:write`, que lo cubre); una key de agente o de la organización recibe `403 insufficient_scope`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Solo administradores de la organización, con una sesión iniciada, un token de usuario del CLI o una API key personal. Cualquier miembro y cualquier key puede leer.
GET/v1/plan/notification-routes/{route_id}/deliveries/BetaAPI keyCLI AuthPaginación por número de página

Las últimas entregas de una ruta

Las 20 entregas más recientes, de la más nueva a la más antigua: sent, failed (con un código de motivo) o skipped (not_org_visible, rate_limited). Nunca el texto del mensaje.

Parámetros de ruta

NombreTipoRequeridoDescripción
route_iduuidRequeridoEl uuid de la ruta.

Objeto DeliveryRecord

NombreTipoRequeridoDescripción
uuiduuidRequerido—
statusenumRequeridosent, failed (ver error) o skipped (not_org_visible, rate_limited).
channelenumRequeridochat o email.
errorstring | nullRequeridoUn código de motivo cuando la entrega falló o se omitió. Nunca el texto del mensaje.
message_idstring | nullRequeridoEl id del mensaje en la plataforma cuando se publicó.
created_atdatetimeRequerido—

Respuesta

NombreTipoRequeridoDescripción
countintegerRequeridoNúmero total de filas.
nexturiRequeridoURL de la página siguiente, o null.
previousuriRequeridoURL de la página anterior, o null.
resultsarray<DeliveryRecord>RequeridoLos objetos DeliveryRecord.

Errores

EstadoCuándo
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
404La ruta no existe en tu organización (`not_found`), nunca un 403.
curl -sS "https://api.dailybot.com/v1/plan/notification-routes/00000000-0000-4000-8000-000000000021/deliveries/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
GET/v1/plan/channels/BetaAPI keyCLI AuthPaginación por número de página

Buscar los canales de chat en los que pueden publicar rutas y reportes

Los canales de la plataforma conectada, ordenados por nombre, como una página. search es una subcadena del nombre sin distinguir mayúsculas. platform nombra la plataforma (slack, msteams, discord, google_chat); sin plataforma de chat conectada la respuesta es 400 platform_not_connected. Los administradores de la organización ven los canales privados donde está el bot; los demás solo ven canales públicos (un canal privado está ausente, no prohibido). type=channel responde solo canales públicos, para todos: lo que debe ser un destino personal de notificaciones.

Parámetros de consulta

NombreTipoRequeridoDescripción
searchstringOpcionalSubcadena del nombre del canal, sin distinguir mayúsculas.
typestringOpcionalchannel responde solo canales públicos, para todos. Sin él, los administradores de la organización también ven los canales privados donde está el bot.
pageintegerOpcionalNúmero de página, empezando en 1.
page_sizeintegerOpcionalFilas por página. 50 por defecto, máximo 100. Los valores fuera de rango se ajustan, nunca se rechazan: pedir 500 devuelve 100.

Respuesta

NombreTipoRequeridoDescripción
countintegerRequeridoNúmero total de filas.
nexturiRequeridoURL de la página siguiente, o null.
previousuriRequeridoURL de la página anterior, o null.
resultsarray<ChatChannel>RequeridoLa página de objetos ChatChannel.
platformstringRequeridoslack, msteams, discord o google_chat.

Errores

EstadoCuándo
400No hay una plataforma de chat conectada (`platform_not_connected`), o `type` o un valor de paginación no es válido.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
curl -sS "https://api.dailybot.com/v1/plan/channels/?search=eng&type=channel" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
GET/v1/plan/reports/BetaAPI keyCLI AuthPaginación por número de página

Listar los reportes programados de la organización

Todos los reportes programados con su tipo (daily, week_start, week_end), weekdays ISO (lunes = 1), time local en su timezone IANA, canal, destinatarios de correo, alcance y última ejecución. viewer.can_manage dice si quien llama puede cambiarlos (un administrador de la organización).

Parámetros de consulta

NombreTipoRequeridoDescripción
pageintegerOpcionalNúmero de página, empezando en 1.
page_sizeintegerOpcionalFilas por página. 50 por defecto, máximo 100. Los valores fuera de rango se ajustan, nunca se rechazan: pedir 500 devuelve 100.

Objeto ReportSchedule

NombreTipoRequeridoDescripción
uuiduuidRequerido—
namestringRequerido—
kindenumRequeridodaily, week_start o week_end.
enabledbooleanRequerido—
weekdaysarray<integer>RequeridoDías ISO, lunes = 1. Un reporte week_start o week_end tiene exactamente uno.
timestringRequeridoHH:MM, 24 horas, en timezone.
timezonestringRequeridoNombre IANA.
channelChatChannel | nullRequeridoDónde publica, o null si solo va por correo. Ver ChatChannel.
email_recipientsarray<UserRef>RequeridoVer UserRef.
scopeRouteScopeRequeridoVer RouteScope.
created_byUserRef | nullRequerido—
last_runReportRun | nullRequeridoVer ReportRun.
created_atdatetime | nullRequerido—
updated_atdatetime | nullRequerido—

Objeto ReportRun

NombreTipoRequeridoDescripción
uuiduuidRequerido—
period_keystringRequeridoEl periodo que cubrió la ejecución, por ejemplo una fecha o una semana ISO.
scheduled_fordatetimeRequerido—
sent_atdatetime | nullRequerido—
statusenumRequeridosent, failed (ver error) o skipped_empty.
errorstring | nullRequeridoUn código de motivo cuando falló.
channel_message_idstring | nullRequerido—
email_countintegerRequeridoCuántos correos se enviaron.
is_testbooleanRequeridotrue para un envío de prueba; no cuenta como la ejecución del periodo.

Respuesta

NombreTipoRequeridoDescripción
countintegerRequeridoNúmero total de filas.
nexturiRequeridoURL de la página siguiente, o null.
previousuriRequeridoURL de la página anterior, o null.
resultsarray<ReportSchedule>RequeridoLa página de objetos ReportSchedule.
viewerRoutesViewerRequeridoUn objeto RoutesViewer.

Errores

EstadoCuándo
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
curl -sS "https://api.dailybot.com/v1/plan/reports/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
POST/v1/plan/reports/BetaCLI Auth

Programar un reporte

Solo administradores de la organización. Un reporte diario dice qué se espera hoy y quién es responsable; uno de inicio de semana mira la semana que empieza; uno de fin de semana dice qué se cerró, qué está en riesgo y qué no se cerró. Se publica en un canal, va por correo a las personas que nombres, o ambas cosas, los días de la semana y a la hora local que elijas. Máximo 10 reportes programados por organización. Acepta Idempotency-Key.

Encabezados

NombreTipoRequeridoDescripción
Idempotency-KeystringOpcionalUna clave que generas para esta intención. Una repetición con la misma clave y el mismo cuerpo devuelve la primera respuesta sin un segundo efecto secundario y lleva Idempotency-Replayed: true. Las claves se conservan durante 24 horas. La misma clave con un cuerpo distinto es 409 idempotency_key_payload_mismatch; una repetición mientras la primera llamada sigue en curso recibe 409 idempotency_in_progress durante hasta 120 segundos.
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Cuerpo de la solicitud

NombreTipoRequeridoDescripción
namestringOpcionalNombre del reporte programado.
kindenumOpcionaldaily (qué se espera hoy, con responsables), week_start (la semana que empieza) o week_end (qué se cerró, qué está en riesgo, qué no se cerró).
enabledbooleanOpcionaltrue por defecto.
weekdaysarray<integer>OpcionalDías ISO, lunes = 1 … domingo = 7. Un reporte daily acepta cualquier conjunto (por ejemplo [1,2,3,4,5]); week_start y week_end aceptan exactamente uno.
timestringOpcionalHH:MM, 24 horas, en timezone.
timezonestringOpcionalNombre IANA. Por defecto, el de la organización.
channelobject | nullOpcional{external_id} del canal donde publicar, o null si solo va por correo. Un reporte programado necesita un canal, destinatarios de correo, o ambos.
email_recipientsarray<uuid>OpcionalUuids de usuarios que lo reciben por correo. [] los limpia.
scopeRouteScopeOpcional{type, uuids}: todo el espacio de trabajo, algunos tableros o algunos proyectos. El trabajo solo para miembros se rechaza con 400 route_scope_not_org_visible.
agent_namestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente.

Respuesta

NombreTipoRequeridoDescripción
(body)ReportScheduleRequeridoUn objeto ReportSchedule.

Errores

EstadoCuándo
400Un campo del reporte programado no es válido (`invalid_schedule`, `extra.parameter` es `weekdays`, `time`, `timezone`, `channel` o `kind`), el canal es desconocido (`channel_not_found`), el alcance nombra trabajo solo para miembros (`route_scope_not_org_visible`), un campo es desconocido (`unknown_field`), o la organización ya tiene 10 reportes programados (`report_schedules_limit_reached`, `extra.limit`). `invalid_agent_attribution` significa que el nombre del agente no es válido.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403No eres administrador de la organización (`insufficient_scope`), o eres invitado (`guest_not_allowed`). Una key de agente o de la organización también se rechaza aquí.
curl -sS -X POST "https://api.dailybot.com/v1/plan/reports/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Friday wrap-up",
  "kind": "week_end",
  "weekdays": [
    5
  ],
  "time": "16:00",
  "timezone": "America/Bogota",
  "channel": {
    "external_id": "C0123ABC"
  },
  "scope": {
    "type": "all",
    "uuids": []
  }
}'

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:admin` — escrituras de contenedores. Un miembro no invitado puede llamarlo con una sesión iniciada o una API key personal (una key con scopes de Plan explícitos necesita `tasks:write`, que lo cubre); una key de agente o de la organización recibe `403 insufficient_scope`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Solo administradores de la organización, con una sesión iniciada, un token de usuario del CLI o una API key personal. Cualquier miembro y cualquier key puede leer.
GET/v1/plan/reports/{report_id}/BetaAPI keyCLI Auth

Obtener un reporte programado

Un reporte programado. Uno de otra organización es 404.

Parámetros de ruta

NombreTipoRequeridoDescripción
report_iduuidRequeridoEl uuid del reporte programado.

Respuesta

NombreTipoRequeridoDescripción
(body)ReportScheduleRequeridoUn objeto ReportSchedule.

Errores

EstadoCuándo
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
404El reporte programado no existe en tu organización (`not_found`), nunca un 403.
curl -sS "https://api.dailybot.com/v1/plan/reports/00000000-0000-4000-8000-000000000022/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
PATCH/v1/plan/reports/{report_id}/BetaCLI Auth

Cambiar un reporte programado

Solo administradores de la organización. Parcial, con la misma validación que al crear. channel: null limpia el canal y email_recipients: [] limpia los destinatarios; limpiar ambos es 400 invalid_schedule (extra.parameter: "channel").

Parámetros de ruta

NombreTipoRequeridoDescripción
report_iduuidRequeridoEl uuid del reporte programado.

Encabezados

NombreTipoRequeridoDescripción
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Cuerpo de la solicitud

NombreTipoRequeridoDescripción
namestringOpcionalNombre del reporte programado.
kindenumOpcionaldaily (qué se espera hoy, con responsables), week_start (la semana que empieza) o week_end (qué se cerró, qué está en riesgo, qué no se cerró).
enabledbooleanOpcionaltrue por defecto.
weekdaysarray<integer>OpcionalDías ISO, lunes = 1 … domingo = 7. Un reporte daily acepta cualquier conjunto (por ejemplo [1,2,3,4,5]); week_start y week_end aceptan exactamente uno.
timestringOpcionalHH:MM, 24 horas, en timezone.
timezonestringOpcionalNombre IANA. Por defecto, el de la organización.
channelobject | nullOpcional{external_id} del canal donde publicar, o null si solo va por correo. Un reporte programado necesita un canal, destinatarios de correo, o ambos.
email_recipientsarray<uuid>OpcionalUuids de usuarios que lo reciben por correo. [] los limpia.
scopeRouteScopeOpcional{type, uuids}: todo el espacio de trabajo, algunos tableros o algunos proyectos. El trabajo solo para miembros se rechaza con 400 route_scope_not_org_visible.
agent_namestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente.

Respuesta

NombreTipoRequeridoDescripción
(body)ReportScheduleRequeridoUn objeto ReportSchedule.

Errores

EstadoCuándo
400Un campo del reporte programado no es válido (`invalid_schedule`, `extra.parameter` es `weekdays`, `time`, `timezone`, `channel` o `kind`), el canal es desconocido (`channel_not_found`), el alcance nombra trabajo solo para miembros (`route_scope_not_org_visible`), un campo es desconocido (`unknown_field`), o la organización ya tiene 10 reportes programados (`report_schedules_limit_reached`, `extra.limit`). `invalid_agent_attribution` significa que el nombre del agente no es válido.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403No eres administrador de la organización (`insufficient_scope`), o eres invitado (`guest_not_allowed`). Una key de agente o de la organización también se rechaza aquí.
404El reporte programado no existe en tu organización (`not_found`), nunca un 403.
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/reports/00000000-0000-4000-8000-000000000022/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "weekdays": [
    1
  ],
  "kind": "week_start",
  "time": "09:00"
}'

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:admin` — escrituras de contenedores. Un miembro no invitado puede llamarlo con una sesión iniciada o una API key personal (una key con scopes de Plan explícitos necesita `tasks:write`, que lo cubre); una key de agente o de la organización recibe `403 insufficient_scope`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Solo administradores de la organización, con una sesión iniciada, un token de usuario del CLI o una API key personal. Cualquier miembro y cualquier key puede leer.
DELETE/v1/plan/reports/{report_id}/BetaCLI Auth

Borrar un reporte programado

Solo administradores de la organización. Sus ejecuciones se borran con él. Responde 204.

Parámetros de ruta

NombreTipoRequeridoDescripción
report_iduuidRequeridoEl uuid del reporte programado.

Encabezados

NombreTipoRequeridoDescripción
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Errores

EstadoCuándo
400La validación falló; el `code` de la respuesta indica qué campo. `invalid_agent_attribution` significa que el nombre del agente no es válido.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403No eres administrador de la organización (`insufficient_scope`), o eres invitado (`guest_not_allowed`). Una key de agente o de la organización también se rechaza aquí.
404El reporte programado no existe en tu organización (`not_found`), nunca un 403.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/reports/00000000-0000-4000-8000-000000000022/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:admin` — escrituras de contenedores. Un miembro no invitado puede llamarlo con una sesión iniciada o una API key personal (una key con scopes de Plan explícitos necesita `tasks:write`, que lo cubre); una key de agente o de la organización recibe `403 insufficient_scope`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Solo administradores de la organización, con una sesión iniciada, un token de usuario del CLI o una API key personal. Cualquier miembro y cualquier key puede leer.
GET/v1/plan/reports/{report_id}/preview/BetaAPI keyCLI Auth

Previsualizar un reporte programado con datos reales

El reporte tal como se enviaría ahora: el mismo ReportDocument desde el que se renderizan el mensaje de chat y el correo. Los reportes de la organización solo incluyen tableros y proyectos que todo el espacio de trabajo puede ver.

Parámetros de ruta

NombreTipoRequeridoDescripción
report_iduuidRequeridoEl uuid del reporte programado.

Objeto ReportDocument

NombreTipoRequeridoDescripción
kindenumRequeridodaily, week_start, week_end o personal_daily.
localestringRequerido—
headerobjectRequerido{title, period_key, period_label, scope}.
sectionsarray<ReportSection>RequeridoVer ReportSection.
emptybooleanRequeridotrue cuando ninguna sección tiene elementos.
narrativestringOpcionalUn párrafo breve de resumen, opcional.

Objeto ReportSection

NombreTipoRequeridoDescripción
keystringRequeridoClave estable de la sección, por ejemplo closed, at_risk, due_today.
titlestringRequerido—
countintegerRequerido—
emptybooleanRequerido—
itemsarray<ReportItem>RequeridoVer ReportItem.

Objeto ReportItem

NombreTipoRequeridoDescripción
typeenumRequeridotask, project, milestone, goal o text.
uuidstringRequerido—
keystringOpcionalLa clave de la tarea, como ENG-142, cuando el elemento es una tarea.
titlestringRequerido—
urlstringRequeridoEnlace directo a la aplicación web.
ownerUserRefOpcional—
due_datedateOpcional—
statestringOpcional—
categorystringOpcional—
healthstringOpcional—
badgesarray<string>RequeridoMarcas cortas como overdue o blocked.

Objeto UserRef

NombreTipoRequeridoDescripción
uuiduuidRequeridoIdentificador público estable.
namestringOpcionalNombre visible.
avatar_urlstring | nullOpcional—
has_photobooleanOpcional—

Respuesta

NombreTipoRequeridoDescripción
(body)ReportDocumentRequeridoUn objeto ReportDocument.

Errores

EstadoCuándo
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
404El reporte programado no existe en tu organización (`not_found`), nunca un 403.
curl -sS "https://api.dailybot.com/v1/plan/reports/00000000-0000-4000-8000-000000000022/preview/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
POST/v1/plan/reports/{report_id}/send-test/BetaCLI Auth

Enviar ahora un reporte programado como prueba, o previsualizar lo que se enviaría

Solo administradores de la organización. Con ?dry_run=true se responden el documento, el canal y los destinatarios, y no se envía nada. Sin él, el reporte se envía ahora y se registra como ejecución de prueba (is_test: true); no cuenta como la ejecución del periodo.

Parámetros de ruta

NombreTipoRequeridoDescripción
report_iduuidRequeridoEl uuid del reporte programado.

Parámetros de consulta

NombreTipoRequeridoDescripción
dry_runbooleanOpcionaltrue solo renderiza y resuelve; no se envía ni se registra nada. Falla de forma segura: cualquier valor distinto de 0, false, no u off es un ensayo.

Encabezados

NombreTipoRequeridoDescripción
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Respuesta

NombreTipoRequeridoDescripción
dry_runbooleanRequeridoRefleja la solicitud: true cuando no se envió nada.
documentReportDocumentRequeridoUn objeto ReportDocument.
channelChatChannel | nullRequeridoUn objeto ChatChannel.
email_recipientsarray<UserRef>RequeridoLos objetos UserRef.
sentbooleanRequeridofalse en un ensayo.
runReportRunOpcionalLa ejecución de prueba cuando se envió. Ver ReportRun.

Errores

EstadoCuándo
400La validación falló; el `code` de la respuesta indica qué campo. `invalid_agent_attribution` significa que el nombre del agente no es válido.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403No eres administrador de la organización (`insufficient_scope`), o eres invitado (`guest_not_allowed`). Una key de agente o de la organización también se rechaza aquí.
404El reporte programado no existe en tu organización (`not_found`), nunca un 403.
curl -sS -X POST "https://api.dailybot.com/v1/plan/reports/00000000-0000-4000-8000-000000000022/send-test/?dry_run=true" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:admin` — escrituras de contenedores. Un miembro no invitado puede llamarlo con una sesión iniciada o una API key personal (una key con scopes de Plan explícitos necesita `tasks:write`, que lo cubre); una key de agente o de la organización recibe `403 insufficient_scope`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Solo administradores de la organización, con una sesión iniciada, un token de usuario del CLI o una API key personal. Cualquier miembro y cualquier key puede leer.
GET/v1/plan/reports/{report_id}/runs/BetaAPI keyCLI AuthPaginación por número de página

Las últimas ejecuciones de un reporte programado

Las 20 ejecuciones más recientes, de la más nueva a la más antigua: sent, failed (con un código de motivo) o skipped_empty. Los envíos de prueba llevan is_test: true.

Parámetros de ruta

NombreTipoRequeridoDescripción
report_iduuidRequeridoEl uuid del reporte programado.

Respuesta

NombreTipoRequeridoDescripción
countintegerRequeridoNúmero total de filas.
nexturiRequeridoURL de la página siguiente, o null.
previousuriRequeridoURL de la página anterior, o null.
resultsarray<ReportRun>RequeridoLas objetos ReportRun.

Errores

EstadoCuándo
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
404El reporte programado no existe en tu organización (`not_found`), nunca un 403.
curl -sS "https://api.dailybot.com/v1/plan/reports/00000000-0000-4000-8000-000000000022/runs/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
GET/v1/plan/me/briefing/BetaCLI Auth

Mis ajustes del resumen diario

Los ajustes del resumen diario de quien llama, con valores efectivos. Sin nada guardado, la respuesta es la predeterminada: los días laborales de la persona (lunes a viernes si nunca los cambió), 09:00 en su propia zona horaria (timezone_is_default: true), chat activado, correo desactivado, enabled: false. La parte de chat siempre es un mensaje directo, nunca el canal de notificaciones de la persona: el resumen incluye también su trabajo solo para miembros.

Respuesta

NombreTipoRequeridoDescripción
enabledbooleanRequeridoSi el resumen se envía o no.
weekdaysarray<integer>RequeridoDías ISO, lunes = 1.
timestringRequeridoHH:MM, 24 horas, en timezone.
timezonestringRequeridoNombre IANA.
timezone_is_defaultbooleanRequeridotrue cuando la zona horaria es la de la persona y no una que configuró aquí.
chatbooleanRequeridoEntregar por mensaje directo.
emailbooleanRequeridoEntregar por correo.
skip_when_emptybooleanRequeridoOmitir el resumen un día en que no hay nada que decir.
effectivebooleanRequeridotrue cuando los días son los días laborales predeterminados de la persona y no un conjunto guardado aquí.
last_sent_atdatetime | nullRequeridoCuándo se envió el resumen por última vez, o null.

Errores

EstadoCuándo
400La credencial es una key de agente o de la organización (`actor_required`); este endpoint requiere una persona.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403Las cuentas de invitado no pueden usar Plan (`guest_not_allowed`).
curl -sS "https://api.dailybot.com/v1/plan/me/briefing/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Requiere una persona: llámalo con una sesión iniciada, un token de usuario del CLI o una API key personal, que actúa como su persona. Una key de agente o de la organización recibe `400 actor_required`.
PUT/v1/plan/me/briefing/BetaCLI Auth

Cambiar mi resumen diario

Parcial: solo se escriben los campos que envías. weekdays son ISO 1..7, time es HH:MM, timezone es un nombre IANA (opcional: la primera escritura guarda el de la persona). Al menos uno de chat y email debe quedar activado. Los rechazos son 400 invalid_schedule (extra.parameter) y 400 unknown_field. Responde el cuerpo efectivo completo.

Encabezados

NombreTipoRequeridoDescripción
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Cuerpo de la solicitud

NombreTipoRequeridoDescripción
enabledbooleanOpcionalSi el resumen se envía o no.
weekdaysarray<integer>OpcionalDías ISO, lunes = 1 … domingo = 7.
timestringOpcionalHH:MM, 24 horas.
timezonestringOpcionalNombre IANA.
chatbooleanOpcionalEntregar por mensaje directo.
emailbooleanOpcionalEntregar por correo.
skip_when_emptybooleanOpcionalOmitir el resumen un día en que no hay nada que decir.
agent_namestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente.

Respuesta

NombreTipoRequeridoDescripción
enabledbooleanRequeridoSi el resumen se envía o no.
weekdaysarray<integer>RequeridoDías ISO, lunes = 1.
timestringRequeridoHH:MM, 24 horas, en timezone.
timezonestringRequeridoNombre IANA.
timezone_is_defaultbooleanRequeridotrue cuando la zona horaria es la de la persona y no una que configuró aquí.
chatbooleanRequeridoEntregar por mensaje directo.
emailbooleanRequeridoEntregar por correo.
skip_when_emptybooleanRequeridoOmitir el resumen un día en que no hay nada que decir.
effectivebooleanRequeridotrue cuando los días son los días laborales predeterminados de la persona y no un conjunto guardado aquí.
last_sent_atdatetime | nullRequeridoCuándo se envió el resumen por última vez, o null.

Errores

EstadoCuándo
400Un campo no es válido (`invalid_schedule`, `extra.parameter` lo nombra), es desconocido (`unknown_field`), ambos canales están desactivados, la credencial es una key de agente o de la organización (`actor_required`), o el nombre del agente no es válido (`invalid_agent_attribution`).
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403Las cuentas de invitado no pueden usar Plan (`guest_not_allowed`).
curl -sS -X PUT "https://api.dailybot.com/v1/plan/me/briefing/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "enabled": true,
  "weekdays": [
    1,
    2,
    3,
    4,
    5
  ],
  "time": "08:30",
  "email": true
}'

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:write`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Requiere una persona: llámalo con una sesión iniciada, un token de usuario del CLI o una API key personal, que actúa como su persona. Una key de agente o de la organización recibe `400 actor_required`.
GET/v1/plan/me/briefing/preview/BetaCLI Auth

Previsualizar el resumen de hoy

El resumen de hoy para quien llama, renderizado ahora: el ReportDocument personal_daily con lo vencido, lo que vence hoy, lo en curso, lo bloqueado y lo siguiente, las menciones sin leer y los proyectos que lidera.

Respuesta

NombreTipoRequeridoDescripción
(body)ReportDocumentRequeridoUn objeto ReportDocument.

Errores

EstadoCuándo
400La credencial es una key de agente o de la organización (`actor_required`); este endpoint requiere una persona.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403Las cuentas de invitado no pueden usar Plan (`guest_not_allowed`).
curl -sS "https://api.dailybot.com/v1/plan/me/briefing/preview/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:read`.
  • Límite de solicitudes: 120 lecturas por minuto por actor.
  • Requiere una persona: llámalo con una sesión iniciada, un token de usuario del CLI o una API key personal, que actúa como su persona. Una key de agente o de la organización recibe `400 actor_required`.
POST/v1/plan/me/briefing/send-test/BetaCLI Auth

Enviarme ahora el resumen de hoy, o previsualizarlo

Con ?dry_run=true no se envía nada. Sin él, el resumen de hoy le llega a quien llama por mensaje directo y/o correo, según sus ajustes.

Parámetros de consulta

NombreTipoRequeridoDescripción
dry_runbooleanOpcionaltrue solo renderiza y resuelve; no se envía ni se registra nada. Falla de forma segura: cualquier valor distinto de 0, false, no u off es un ensayo.

Encabezados

NombreTipoRequeridoDescripción
X-Dailybot-Agent-NamestringOpcionalEl nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente.

Respuesta

NombreTipoRequeridoDescripción
dry_runbooleanRequeridoRefleja la solicitud: true cuando no se envió nada.
documentReportDocumentRequeridoUn objeto ReportDocument.
sentbooleanRequeridofalse en un ensayo.

Errores

EstadoCuándo
400La credencial es una key de agente o de la organización (`actor_required`); este endpoint requiere una persona.
401Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`).
402Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected].
403Las cuentas de invitado no pueden usar Plan (`guest_not_allowed`).
curl -sS -X POST "https://api.dailybot.com/v1/plan/me/briefing/send-test/?dry_run=true" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Scope: `tasks:write`.
  • Límite de solicitudes: 60 escrituras por minuto por actor.
  • Requiere una persona: llámalo con una sesión iniciada, un token de usuario del CLI o una API key personal, que actúa como su persona. Una key de agente o de la organización recibe `400 actor_required`.

Esta página es la referencia de Plan · Notificaciones y reportes. Todos los endpoints viven bajo https://api.dailybot.com/v1/plan/ y responden JSON.

Autentícate con una sesión iniciada o un token de usuario del CLI (Authorization: Bearer …), o con una API key (X-API-KEY). Una API key personal actúa como su persona y puede hacer todo lo que esa persona puede hacer en Dailybot; una key de agente o de la organización nunca actúa como una persona y se rechaza en los endpoints que la requieren. En un endpoint, la insignia API key significa que también se acepta una key de agente o de la organización. Consulta Autenticación para Plan, Autenticación y Errores para las reglas comunes a todas las APIs de Dailybot.

Si es tu primera vez con Plan, lee la introducción para entender el modelo: proyectos, tableros, estados, claves, orden, versiones y archivado.

Los endpoints personales (me/notifications, me/briefing) requieren una persona: una sesión iniciada, un token de usuario del CLI o una API key personal; una key de agente o de la organización recibe 400 actor_required. Las rutas, los reportes programados y sus envíos de prueba son para administradores de la organización. Todo envío de prueba acepta ?dry_run=true, que renderiza y resuelve sin enviar. El resumen de una persona siempre llega por mensaje directo y/o correo, nunca a un canal.