Skip to content
ver .md original

Plan · Notificações e relatórios

O catálogo de notificações, as chaves e o resumo diário de cada pessoa, as rotas de canal e os relatórios agendados da organização, e os canais em que publicam. Parte da API do Dailybot Plan (Beta).

Nesta página

Beta

Plan está em beta. Tudo o que está em /plan no aplicativo web, os comandos da CLI e da agent skill para projetos, metas, quadros e tarefas, e a API pública /v1/plan/ podem mudar antes da disponibilidade geral. Quer testar com sua equipe? Escreva para [email protected].

GET/v1/plan/notifications/catalog/BetaChave de APICLI Auth

O catálogo de notificações

Todos os tipos de notificação, pessoais e da organização: o único catálogo a partir do qual as configurações web, a CLI e a agent skill são renderizadas. scope é personal (uma chave que a pessoa define para si, por DM e/ou e-mail) ou org (um tipo que uma rota de canal pode publicar). Os valores key são identificadores estáveis em minúsculas; default é o que a pessoa recebe antes de mexer na chave; tipos immediate nunca ficam retidos pela janela de agrupamento.

Objeto NotificationKind

NomeTipoObrigatórioDescrição
keystringObrigatórioIdentificador estável em minúsculas: o que items[].kind e os kinds de uma rota recebem.
scopeenumObrigatóriopersonal (uma chave que a pessoa define para si, DM e/ou e-mail) ou org (um tipo que uma rota pode publicar em um canal).
groupstringObrigatórioA groups[].key a que pertence, para renderizar.
titlestringObrigatório—
descriptionstringObrigatório—
eventsarray<string>ObrigatórioOs tipos de evento de tarefa que o produzem.
targetingenumObrigatórioQuem alcança: me, watched, content_author, project_members, scheduled ou org.
supportsarray<string>ObrigatórioOs canais que pode usar: chat, email.
defaultobjectObrigatório{chat, email}: o que a pessoa recebe antes de mexer na chave.
immediatebooleanObrigatórioUm tipo imediato nunca fica retido pela janela de agrupamento.

Resposta

NomeTipoObrigatórioDescrição
groupsarray<object>ObrigatórioLinhas {key, title}, na ordem de exibição.
kindsarray<NotificationKind>ObrigatórioOs objetos NotificationKind.

Erros

StatusQuando
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
curl -sS "https://api.dailybot.com/v1/plan/notifications/catalog/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Funciona com uma sessão iniciada, um token de usuário da CLI, uma API key pessoal, ou uma key de agente ou da organização. Uma key pessoal vê o que sua pessoa vê; uma key de agente ou da organização atua como um ator de sistema e vê apenas quadros visíveis para a organização.
GET/v1/plan/me/notifications/BetaCLI Auth

Minhas chaves de notificação

As chaves efetivas de quem chama, um item por tipo pessoal, com valores chat / email: a chave guardada quando existe (stored: true), senão o padrão do catálogo (stored: false). destination diz para onde vão as notificações de chat: uma mensagem direta por padrão, ou um canal público que a pessoa escolheu. Uma pessoa nunca é notificada das próprias ações, digam o que disserem esses valores.

Objeto NotificationDestination

NomeTipoObrigatórioDescrição
typeenumObrigatóriodm (o padrão) ou channel.
channelChatChannel | nullObrigatórioO canal público quando type é channel. Veja ChatChannel.

Objeto ChatChannel

NomeTipoObrigatórioDescrição
external_idstringObrigatórioO id do canal na plataforma: o mesmo valor que dailybot chat send --channel recebe.
namestringObrigatórioNome do canal.
typeenumObrigatórioUm de channel (público), private_channel, group_chat.

Objeto NotificationPreferenceItem

NomeTipoObrigatórioDescrição
kindstringObrigatórioA key do catálogo.
groupstringObrigatório—
titlestringObrigatório—
supportsarray<string>Obrigatóriochat, email.
defaultobjectObrigatório{chat, email} do catálogo.
storedbooleanObrigatóriotrue quando a pessoa definiu esta chave; false quando o valor é o padrão do catálogo.
chatbooleanObrigatórioValor efetivo.
emailbooleanObrigatórioValor efetivo.

Resposta

NomeTipoObrigatórioDescrição
destinationNotificationDestinationObrigatórioUm objeto NotificationDestination.
itemsarray<NotificationPreferenceItem>ObrigatórioUma linha por tipo pessoal: objetos NotificationPreferenceItem.
paused_untildatetime | nullObrigatórioReservado; sempre null nesta versão.

Erros

StatusQuando
400A credencial é uma key de agente ou da organização (`actor_required`); este endpoint exige uma pessoa.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Contas de convidado não podem usar o Plan (`guest_not_allowed`).
curl -sS "https://api.dailybot.com/v1/plan/me/notifications/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Exige uma pessoa: chame com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal, que age como sua pessoa. Uma key de agente ou da organização recebe `400 actor_required`.
PUT/v1/plan/me/notifications/BetaCLI Auth

Alterar minhas chaves de notificação

Parcial: só os tipos e canais que você nomeia são gravados; todo o resto mantém o valor efetivo. Responde o corpo efetivo completo, igual ao GET. Um tipo desconhecido é 400 unknown_notification_kind e um campo desconhecido é 400 unknown_field (extra.parameter o nomeia). Um canal de destination precisa ser público (type: channel em GET /v1/plan/channels/); um privado é 400 channel_not_found, e notificações sobre trabalho só para membros continuam chegando por DM. paused_until está reservado: enviar um valor é 501 not_implemented.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Corpo da requisição

NomeTipoObrigatórioDescrição
destinationobjectOpcional{type: "dm"} ou {type: "channel", channel: {external_id}}.
itemsarray<object>OpcionalLinhas {kind, chat?, email?}: a key do catálogo e os canais a definir. Omita um canal para deixá-lo como está.
paused_untildatetime | nullOpcionalReservado. Só null é aceito; uma data e hora é 501 not_implemented.
agent_namestringOpcionalO nome do agente que executou esta escrita em nome da pessoa (máx. 128 caracteres, vazio significa sem agente). Tem prioridade sobre o header X-Dailybot-Agent-Name. Veja Atribuição de agente.

Resposta

NomeTipoObrigatórioDescrição
destinationNotificationDestinationObrigatórioUm objeto NotificationDestination.
itemsarray<NotificationPreferenceItem>ObrigatórioUma linha por tipo pessoal: objetos NotificationPreferenceItem.
paused_untildatetime | nullObrigatórioReservado; sempre null nesta versão.

Erros

StatusQuando
400Um tipo desconhecido (`unknown_notification_kind`), um campo desconhecido (`unknown_field`), um canal que não é público ou não é conhecido (`channel_not_found`), uma key de agente ou da organização (`actor_required`), ou um nome de agente inválido (`invalid_agent_attribution`).
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Contas de convidado não podem usar o 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
    }
  ]
}'

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:write`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Exige uma pessoa: chame com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal, que age como sua pessoa. Uma key de agente ou da organização recebe `400 actor_required`.
GET/v1/plan/notification-routes/BetaChave de APICLI AuthPaginação por número de página

Listar as rotas de canal da organização

Todas as rotas: um canal de chat, os tipos de notificação da organização que recebe e seu escopo (todo o espaço de trabalho, alguns quadros ou alguns projetos). viewer.can_manage diz se quem chama pode criar ou alterar rotas. Qualquer membro, e qualquer key, pode ler.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
pageintegerOpcionalNúmero da página, começando em 1.
page_sizeintegerOpcionalLinhas por página. Padrão 50, máximo 100. Valores fora do intervalo são ajustados, nunca rejeitados: pedir 500 retorna 100.

Objeto NotificationRoute

NomeTipoObrigatórioDescrição
uuiduuidObrigatórioIdentificador público estável.
namestringObrigatórioNome da rota.
enabledbooleanObrigatórioUma rota desativada mantém a configuração e não publica nada.
channelChatChannelObrigatórioOnde publica. Veja ChatChannel.
kindsarray<string>ObrigatórioOs tipos de notificação da organização que recebe (valores key do catálogo).
scopeRouteScopeObrigatórioQue trabalho cobre. Veja RouteScope.
created_byUserRef | nullObrigatórioQuem a criou. Veja UserRef.
created_atdatetime | nullObrigatório—
updated_atdatetime | nullObrigatório—

Objeto RouteScope

NomeTipoObrigatórioDescrição
typeenumObrigatórioall (todo o espaço de trabalho), boards ou projects.
uuidsarray<uuid>ObrigatórioOs uuids de quadros ou projetos quando type não é all. Só quadros e projetos que todo o espaço de trabalho pode ver são aceitos.

Objeto RoutesViewer

NomeTipoObrigatórioDescrição
can_managebooleanObrigatórioSe quem chama pode criar, alterar ou apagar rotas e relatórios agendados: um administrador da organização com uma credencial que pode escrever.

Objeto UserRef

NomeTipoObrigatórioDescrição
uuiduuidObrigatórioIdentificador público estável.
namestringOpcionalNome de exibição.
avatar_urlstring | nullOpcional—
has_photobooleanOpcional—

Resposta

NomeTipoObrigatórioDescrição
countintegerObrigatórioNúmero total de linhas.
nexturiObrigatórioURL da próxima página, ou null.
previousuriObrigatórioURL da página anterior, ou null.
resultsarray<NotificationRoute>ObrigatórioA página de objetos NotificationRoute.
viewerRoutesViewerObrigatórioUm objeto RoutesViewer.

Erros

StatusQuando
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
curl -sS "https://api.dailybot.com/v1/plan/notification-routes/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Funciona com uma sessão iniciada, um token de usuário da CLI, uma API key pessoal, ou uma key de agente ou da organização. Uma key pessoal vê o que sua pessoa vê; uma key de agente ou da organização atua como um ator de sistema e vê apenas quadros visíveis para a organização.
POST/v1/plan/notification-routes/BetaCLI Auth

Criar uma rota de canal

Somente administradores da organização. Uma rota publica os tipos de notificação da organização que você escolher (uma tarefa concluída, uma atualização de projeto, uma troca de líder…) em um canal de chat, para todo o espaço de trabalho ou para alguns quadros ou projetos. No máximo 10 rotas por organização. Aceita Idempotency-Key.

Cabeçalhos

NomeTipoObrigatórioDescrição
Idempotency-KeystringOpcionalUma chave que você gera para esta intenção. Uma repetição com a mesma chave e o mesmo corpo retorna a primeira resposta sem um segundo efeito colateral e traz Idempotency-Replayed: true. As chaves são mantidas por 24 horas. A mesma chave com um corpo diferente é 409 idempotency_key_payload_mismatch; uma repetição enquanto a primeira chamada ainda está em execução recebe 409 idempotency_in_progress por até 120 segundos.
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Corpo da requisição

NomeTipoObrigatórioDescrição
namestringOpcionalNome da rota.
enabledbooleanOpcionaltrue por padrão.
channelobjectOpcional{external_id}: o id do canal na plataforma, como GET /v1/plan/channels/ o lista. Ids desconhecidos são 400 channel_not_found.
kindsarray<string>OpcionalTipos da organização do catálogo (scope: org). Qualquer outra coisa é 400 unknown_notification_kind.
scopeRouteScopeOpcional{type, uuids}. Um quadro ou projeto só para membros é 400 route_scope_not_org_visible com extra.uuids: canais só recebem o que todo o espaço de trabalho pode ver.
agent_namestringOpcionalO nome do agente que executou esta escrita em nome da pessoa (máx. 128 caracteres, vazio significa sem agente). Tem prioridade sobre o header X-Dailybot-Agent-Name. Veja Atribuição de agente.

Resposta

NomeTipoObrigatórioDescrição
(body)NotificationRouteObrigatórioUm objeto NotificationRoute.

Erros

StatusQuando
400Um campo falhou na validação: `channel_not_found`, `unknown_notification_kind`, `route_scope_not_org_visible` (`extra.uuids`), `unknown_field`, ou `notification_routes_limit_reached` (`extra.limit`, 10 rotas). `invalid_agent_attribution` significa que o nome do agente não é válido.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Você não é administrador da organização (`insufficient_scope`), ou é convidado (`guest_not_allowed`). Uma key de agente ou da organização também é recusada aqui.
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"
    ]
  }
}'

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:admin` — escritas em contêineres. Um membro não convidado pode chamá-lo com uma sessão iniciada ou uma API key pessoal (uma key com scopes de Plan explícitos precisa de `tasks:write`, que o cobre); uma key de agente ou da organização recebe `403 insufficient_scope`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Somente administradores da organização, com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal. Qualquer membro e qualquer key pode ler.
GET/v1/plan/notification-routes/{route_id}/BetaChave de APICLI Auth

Obter uma rota de canal

Uma rota. Uma rota de outra organização é 404.

Parâmetros de rota

NomeTipoObrigatórioDescrição
route_iduuidObrigatórioO uuid da rota.

Resposta

NomeTipoObrigatórioDescrição
(body)NotificationRouteObrigatórioUm objeto NotificationRoute.

Erros

StatusQuando
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
404A rota não existe na sua organização (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/notification-routes/00000000-0000-4000-8000-000000000021/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Funciona com uma sessão iniciada, um token de usuário da CLI, uma API key pessoal, ou uma key de agente ou da organização. Uma key pessoal vê o que sua pessoa vê; uma key de agente ou da organização atua como um ator de sistema e vê apenas quadros visíveis para a organização.
PATCH/v1/plan/notification-routes/{route_id}/BetaCLI Auth

Alterar uma rota de canal

Somente administradores da organização. Parcial: só os campos enviados são gravados, com a mesma validação da criação.

Parâmetros de rota

NomeTipoObrigatórioDescrição
route_iduuidObrigatórioO uuid da rota.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Corpo da requisição

NomeTipoObrigatórioDescrição
namestringOpcionalNome da rota.
enabledbooleanOpcionaltrue por padrão.
channelobjectOpcional{external_id}: o id do canal na plataforma, como GET /v1/plan/channels/ o lista. Ids desconhecidos são 400 channel_not_found.
kindsarray<string>OpcionalTipos da organização do catálogo (scope: org). Qualquer outra coisa é 400 unknown_notification_kind.
scopeRouteScopeOpcional{type, uuids}. Um quadro ou projeto só para membros é 400 route_scope_not_org_visible com extra.uuids: canais só recebem o que todo o espaço de trabalho pode ver.
agent_namestringOpcionalO nome do agente que executou esta escrita em nome da pessoa (máx. 128 caracteres, vazio significa sem agente). Tem prioridade sobre o header X-Dailybot-Agent-Name. Veja Atribuição de agente.

Resposta

NomeTipoObrigatórioDescrição
(body)NotificationRouteObrigatórioUm objeto NotificationRoute.

Erros

StatusQuando
400Um campo falhou na validação: `channel_not_found`, `unknown_notification_kind`, `route_scope_not_org_visible` (`extra.uuids`), `unknown_field`, ou `notification_routes_limit_reached` (`extra.limit`, 10 rotas). `invalid_agent_attribution` significa que o nome do agente não é válido.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Você não é administrador da organização (`insufficient_scope`), ou é convidado (`guest_not_allowed`). Uma key de agente ou da organização também é recusada aqui.
404A rota não existe na sua organização (`not_found`), nunca um 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
}'

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:admin` — escritas em contêineres. Um membro não convidado pode chamá-lo com uma sessão iniciada ou uma API key pessoal (uma key com scopes de Plan explícitos precisa de `tasks:write`, que o cobre); uma key de agente ou da organização recebe `403 insufficient_scope`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Somente administradores da organização, com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal. Qualquer membro e qualquer key pode ler.
DELETE/v1/plan/notification-routes/{route_id}/BetaCLI Auth

Apagar uma rota de canal

Somente administradores da organização. O canal para de receber na hora. Responde 204.

Parâmetros de rota

NomeTipoObrigatórioDescrição
route_iduuidObrigatórioO uuid da rota.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Erros

StatusQuando
400A validação falhou; o `code` da resposta indica qual campo. `invalid_agent_attribution` significa que o nome do agente não é válido.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Você não é administrador da organização (`insufficient_scope`), ou é convidado (`guest_not_allowed`). Uma key de agente ou da organização também é recusada aqui.
404A rota não existe na sua organização (`not_found`), nunca um 403.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/notification-routes/00000000-0000-4000-8000-000000000021/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:admin` — escritas em contêineres. Um membro não convidado pode chamá-lo com uma sessão iniciada ou uma API key pessoal (uma key com scopes de Plan explícitos precisa de `tasks:write`, que o cobre); uma key de agente ou da organização recebe `403 insufficient_scope`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Somente administradores da organização, com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal. Qualquer membro e qualquer key pode ler.
POST/v1/plan/notification-routes/{route_id}/send-test/BetaCLI Auth

Publicar uma mensagem de teste no canal de uma rota, ou pré-visualizá-la

Somente administradores da organização. Com ?dry_run=true a amostra é renderizada e o canal resolvido, e nada é enviado nem registrado. Sem ele, uma mensagem é publicada e registrada como qualquer publicação da rota.

Parâmetros de rota

NomeTipoObrigatórioDescrição
route_iduuidObrigatórioO uuid da rota.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
dry_runbooleanOpcionaltrue só renderiza e resolve; nada é enviado nem registrado. Falha de forma segura: qualquer valor diferente de 0, false, no ou off é um ensaio.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Resposta

NomeTipoObrigatórioDescrição
dry_runbooleanObrigatórioEcoa a requisição: true quando nada foi enviado.
channelChatChannelObrigatórioUm objeto ChatChannel.
textstringObrigatórioA mensagem de amostra renderizada.
sentbooleanObrigatóriofalse em um ensaio.
statusstringOpcionalO status da entrega quando enviada.
delivery_uuiduuid | nullOpcionalO registro de entrega quando enviada; veja o endpoint de entregas.

Erros

StatusQuando
400A validação falhou; o `code` da resposta indica qual campo. `invalid_agent_attribution` significa que o nome do agente não é válido.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Você não é administrador da organização (`insufficient_scope`), ou é convidado (`guest_not_allowed`). Uma key de agente ou da organização também é recusada aqui.
404A rota não existe na sua organização (`not_found`), nunca um 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"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:admin` — escritas em contêineres. Um membro não convidado pode chamá-lo com uma sessão iniciada ou uma API key pessoal (uma key com scopes de Plan explícitos precisa de `tasks:write`, que o cobre); uma key de agente ou da organização recebe `403 insufficient_scope`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Somente administradores da organização, com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal. Qualquer membro e qualquer key pode ler.
GET/v1/plan/notification-routes/{route_id}/deliveries/BetaChave de APICLI AuthPaginação por número de página

As últimas entregas de uma rota

As 20 entregas mais recentes, da mais nova para a mais antiga: sent, failed (com um código de motivo) ou skipped (not_org_visible, rate_limited). Nunca o texto da mensagem.

Parâmetros de rota

NomeTipoObrigatórioDescrição
route_iduuidObrigatórioO uuid da rota.

Objeto DeliveryRecord

NomeTipoObrigatórioDescrição
uuiduuidObrigatório—
statusenumObrigatóriosent, failed (veja error) ou skipped (not_org_visible, rate_limited).
channelenumObrigatóriochat ou email.
errorstring | nullObrigatórioUm código de motivo quando a entrega falhou ou foi pulada. Nunca o texto da mensagem.
message_idstring | nullObrigatórioO id da mensagem na plataforma quando foi publicada.
created_atdatetimeObrigatório—

Resposta

NomeTipoObrigatórioDescrição
countintegerObrigatórioNúmero total de linhas.
nexturiObrigatórioURL da próxima página, ou null.
previousuriObrigatórioURL da página anterior, ou null.
resultsarray<DeliveryRecord>ObrigatórioOs objetos DeliveryRecord.

Erros

StatusQuando
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
404A rota não existe na sua organização (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/notification-routes/00000000-0000-4000-8000-000000000021/deliveries/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Funciona com uma sessão iniciada, um token de usuário da CLI, uma API key pessoal, ou uma key de agente ou da organização. Uma key pessoal vê o que sua pessoa vê; uma key de agente ou da organização atua como um ator de sistema e vê apenas quadros visíveis para a organização.
GET/v1/plan/channels/BetaChave de APICLI AuthPaginação por número de página

Buscar os canais de chat em que rotas e relatórios podem publicar

Os canais da plataforma conectada, ordenados por nome, como uma página. search é uma substring do nome sem distinguir maiúsculas. platform nomeia a plataforma (slack, msteams, discord, google_chat); sem plataforma de chat conectada a resposta é 400 platform_not_connected. Administradores da organização veem canais privados em que o bot está; os demais só veem canais públicos (um canal privado está ausente, não proibido). type=channel responde só canais públicos, para todos: o que um destino pessoal de notificações precisa ser.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
searchstringOpcionalSubstring do nome do canal, sem distinguir maiúsculas.
typestringOpcionalchannel responde só canais públicos, para todos. Sem ele, administradores da organização também veem canais privados em que o bot está.
pageintegerOpcionalNúmero da página, começando em 1.
page_sizeintegerOpcionalLinhas por página. Padrão 50, máximo 100. Valores fora do intervalo são ajustados, nunca rejeitados: pedir 500 retorna 100.

Resposta

NomeTipoObrigatórioDescrição
countintegerObrigatórioNúmero total de linhas.
nexturiObrigatórioURL da próxima página, ou null.
previousuriObrigatórioURL da página anterior, ou null.
resultsarray<ChatChannel>ObrigatórioA página de objetos ChatChannel.
platformstringObrigatórioslack, msteams, discord ou google_chat.

Erros

StatusQuando
400Não há plataforma de chat conectada (`platform_not_connected`), ou `type` ou um valor de paginação não é válido.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
curl -sS "https://api.dailybot.com/v1/plan/channels/?search=eng&type=channel" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Funciona com uma sessão iniciada, um token de usuário da CLI, uma API key pessoal, ou uma key de agente ou da organização. Uma key pessoal vê o que sua pessoa vê; uma key de agente ou da organização atua como um ator de sistema e vê apenas quadros visíveis para a organização.
GET/v1/plan/reports/BetaChave de APICLI AuthPaginação por número de página

Listar os relatórios agendados da organização

Todos os relatórios agendados com seu tipo (daily, week_start, week_end), weekdays ISO (segunda = 1), time local no seu timezone IANA, canal, destinatários de e-mail, escopo e última execução. viewer.can_manage diz se quem chama pode alterá-los (um administrador da organização).

Parâmetros de consulta

NomeTipoObrigatórioDescrição
pageintegerOpcionalNúmero da página, começando em 1.
page_sizeintegerOpcionalLinhas por página. Padrão 50, máximo 100. Valores fora do intervalo são ajustados, nunca rejeitados: pedir 500 retorna 100.

Objeto ReportSchedule

NomeTipoObrigatórioDescrição
uuiduuidObrigatório—
namestringObrigatório—
kindenumObrigatóriodaily, week_start ou week_end.
enabledbooleanObrigatório—
weekdaysarray<integer>ObrigatórioDias ISO, segunda = 1. Um relatório week_start ou week_end tem exatamente um.
timestringObrigatórioHH:MM, 24 horas, em timezone.
timezonestringObrigatórioNome IANA.
channelChatChannel | nullObrigatórioOnde publica, ou null se vai só por e-mail. Veja ChatChannel.
email_recipientsarray<UserRef>ObrigatórioVeja UserRef.
scopeRouteScopeObrigatórioVeja RouteScope.
created_byUserRef | nullObrigatório—
last_runReportRun | nullObrigatórioVeja ReportRun.
created_atdatetime | nullObrigatório—
updated_atdatetime | nullObrigatório—

Objeto ReportRun

NomeTipoObrigatórioDescrição
uuiduuidObrigatório—
period_keystringObrigatórioO período que a execução cobriu, por exemplo uma data ou uma semana ISO.
scheduled_fordatetimeObrigatório—
sent_atdatetime | nullObrigatório—
statusenumObrigatóriosent, failed (veja error) ou skipped_empty.
errorstring | nullObrigatórioUm código de motivo quando falhou.
channel_message_idstring | nullObrigatório—
email_countintegerObrigatórioQuantos e-mails foram enviados.
is_testbooleanObrigatóriotrue para um envio de teste; não conta como a execução do período.

Resposta

NomeTipoObrigatórioDescrição
countintegerObrigatórioNúmero total de linhas.
nexturiObrigatórioURL da próxima página, ou null.
previousuriObrigatórioURL da página anterior, ou null.
resultsarray<ReportSchedule>ObrigatórioA página de objetos ReportSchedule.
viewerRoutesViewerObrigatórioUm objeto RoutesViewer.

Erros

StatusQuando
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
curl -sS "https://api.dailybot.com/v1/plan/reports/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Funciona com uma sessão iniciada, um token de usuário da CLI, uma API key pessoal, ou uma key de agente ou da organização. Uma key pessoal vê o que sua pessoa vê; uma key de agente ou da organização atua como um ator de sistema e vê apenas quadros visíveis para a organização.
POST/v1/plan/reports/BetaCLI Auth

Agendar um relatório

Somente administradores da organização. Um relatório diário diz o que se espera hoje e quem é responsável; um de início de semana olha a semana que começa; um de fim de semana diz o que fechou, o que está em risco e o que não fechou. É publicado em um canal, vai por e-mail às pessoas que você nomear, ou ambos, nos dias da semana e na hora local que escolher. No máximo 10 relatórios agendados por organização. Aceita Idempotency-Key.

Cabeçalhos

NomeTipoObrigatórioDescrição
Idempotency-KeystringOpcionalUma chave que você gera para esta intenção. Uma repetição com a mesma chave e o mesmo corpo retorna a primeira resposta sem um segundo efeito colateral e traz Idempotency-Replayed: true. As chaves são mantidas por 24 horas. A mesma chave com um corpo diferente é 409 idempotency_key_payload_mismatch; uma repetição enquanto a primeira chamada ainda está em execução recebe 409 idempotency_in_progress por até 120 segundos.
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Corpo da requisição

NomeTipoObrigatórioDescrição
namestringOpcionalNome do relatório agendado.
kindenumOpcionaldaily (o que se espera hoje, com responsáveis), week_start (a semana que começa) ou week_end (o que fechou, o que está em risco, o que não fechou).
enabledbooleanOpcionaltrue por padrão.
weekdaysarray<integer>OpcionalDias ISO, segunda = 1 … domingo = 7. Um relatório daily aceita qualquer conjunto (por exemplo [1,2,3,4,5]); week_start e week_end aceitam exatamente um.
timestringOpcionalHH:MM, 24 horas, em timezone.
timezonestringOpcionalNome IANA. Por padrão, o da organização.
channelobject | nullOpcional{external_id} do canal onde publicar, ou null se vai só por e-mail. Um relatório agendado precisa de um canal, destinatários de e-mail, ou ambos.
email_recipientsarray<uuid>OpcionalUuids de usuários que o recebem por e-mail. [] os limpa.
scopeRouteScopeOpcional{type, uuids}: todo o espaço de trabalho, alguns quadros ou alguns projetos. Trabalho só para membros é recusado com 400 route_scope_not_org_visible.
agent_namestringOpcionalO nome do agente que executou esta escrita em nome da pessoa (máx. 128 caracteres, vazio significa sem agente). Tem prioridade sobre o header X-Dailybot-Agent-Name. Veja Atribuição de agente.

Resposta

NomeTipoObrigatórioDescrição
(body)ReportScheduleObrigatórioUm objeto ReportSchedule.

Erros

StatusQuando
400Um campo do relatório agendado é inválido (`invalid_schedule`, `extra.parameter` é `weekdays`, `time`, `timezone`, `channel` ou `kind`), o canal é desconhecido (`channel_not_found`), o escopo nomeia trabalho só para membros (`route_scope_not_org_visible`), um campo é desconhecido (`unknown_field`), ou a organização já tem 10 relatórios agendados (`report_schedules_limit_reached`, `extra.limit`). `invalid_agent_attribution` significa que o nome do agente não é válido.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Você não é administrador da organização (`insufficient_scope`), ou é convidado (`guest_not_allowed`). Uma key de agente ou da organização também é recusada aqui.
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": []
  }
}'

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:admin` — escritas em contêineres. Um membro não convidado pode chamá-lo com uma sessão iniciada ou uma API key pessoal (uma key com scopes de Plan explícitos precisa de `tasks:write`, que o cobre); uma key de agente ou da organização recebe `403 insufficient_scope`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Somente administradores da organização, com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal. Qualquer membro e qualquer key pode ler.
GET/v1/plan/reports/{report_id}/BetaChave de APICLI Auth

Obter um relatório agendado

Um relatório agendado. Um de outra organização é 404.

Parâmetros de rota

NomeTipoObrigatórioDescrição
report_iduuidObrigatórioO uuid do relatório agendado.

Resposta

NomeTipoObrigatórioDescrição
(body)ReportScheduleObrigatórioUm objeto ReportSchedule.

Erros

StatusQuando
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
404O relatório agendado não existe na sua organização (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/reports/00000000-0000-4000-8000-000000000022/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Funciona com uma sessão iniciada, um token de usuário da CLI, uma API key pessoal, ou uma key de agente ou da organização. Uma key pessoal vê o que sua pessoa vê; uma key de agente ou da organização atua como um ator de sistema e vê apenas quadros visíveis para a organização.
PATCH/v1/plan/reports/{report_id}/BetaCLI Auth

Alterar um relatório agendado

Somente administradores da organização. Parcial, com a mesma validação da criação. channel: null limpa o canal e email_recipients: [] limpa os destinatários; limpar os dois é 400 invalid_schedule (extra.parameter: "channel").

Parâmetros de rota

NomeTipoObrigatórioDescrição
report_iduuidObrigatórioO uuid do relatório agendado.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Corpo da requisição

NomeTipoObrigatórioDescrição
namestringOpcionalNome do relatório agendado.
kindenumOpcionaldaily (o que se espera hoje, com responsáveis), week_start (a semana que começa) ou week_end (o que fechou, o que está em risco, o que não fechou).
enabledbooleanOpcionaltrue por padrão.
weekdaysarray<integer>OpcionalDias ISO, segunda = 1 … domingo = 7. Um relatório daily aceita qualquer conjunto (por exemplo [1,2,3,4,5]); week_start e week_end aceitam exatamente um.
timestringOpcionalHH:MM, 24 horas, em timezone.
timezonestringOpcionalNome IANA. Por padrão, o da organização.
channelobject | nullOpcional{external_id} do canal onde publicar, ou null se vai só por e-mail. Um relatório agendado precisa de um canal, destinatários de e-mail, ou ambos.
email_recipientsarray<uuid>OpcionalUuids de usuários que o recebem por e-mail. [] os limpa.
scopeRouteScopeOpcional{type, uuids}: todo o espaço de trabalho, alguns quadros ou alguns projetos. Trabalho só para membros é recusado com 400 route_scope_not_org_visible.
agent_namestringOpcionalO nome do agente que executou esta escrita em nome da pessoa (máx. 128 caracteres, vazio significa sem agente). Tem prioridade sobre o header X-Dailybot-Agent-Name. Veja Atribuição de agente.

Resposta

NomeTipoObrigatórioDescrição
(body)ReportScheduleObrigatórioUm objeto ReportSchedule.

Erros

StatusQuando
400Um campo do relatório agendado é inválido (`invalid_schedule`, `extra.parameter` é `weekdays`, `time`, `timezone`, `channel` ou `kind`), o canal é desconhecido (`channel_not_found`), o escopo nomeia trabalho só para membros (`route_scope_not_org_visible`), um campo é desconhecido (`unknown_field`), ou a organização já tem 10 relatórios agendados (`report_schedules_limit_reached`, `extra.limit`). `invalid_agent_attribution` significa que o nome do agente não é válido.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Você não é administrador da organização (`insufficient_scope`), ou é convidado (`guest_not_allowed`). Uma key de agente ou da organização também é recusada aqui.
404O relatório agendado não existe na sua organização (`not_found`), nunca um 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"
}'

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:admin` — escritas em contêineres. Um membro não convidado pode chamá-lo com uma sessão iniciada ou uma API key pessoal (uma key com scopes de Plan explícitos precisa de `tasks:write`, que o cobre); uma key de agente ou da organização recebe `403 insufficient_scope`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Somente administradores da organização, com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal. Qualquer membro e qualquer key pode ler.
DELETE/v1/plan/reports/{report_id}/BetaCLI Auth

Apagar um relatório agendado

Somente administradores da organização. Suas execuções vão junto. Responde 204.

Parâmetros de rota

NomeTipoObrigatórioDescrição
report_iduuidObrigatórioO uuid do relatório agendado.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Erros

StatusQuando
400A validação falhou; o `code` da resposta indica qual campo. `invalid_agent_attribution` significa que o nome do agente não é válido.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Você não é administrador da organização (`insufficient_scope`), ou é convidado (`guest_not_allowed`). Uma key de agente ou da organização também é recusada aqui.
404O relatório agendado não existe na sua organização (`not_found`), nunca um 403.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/reports/00000000-0000-4000-8000-000000000022/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:admin` — escritas em contêineres. Um membro não convidado pode chamá-lo com uma sessão iniciada ou uma API key pessoal (uma key com scopes de Plan explícitos precisa de `tasks:write`, que o cobre); uma key de agente ou da organização recebe `403 insufficient_scope`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Somente administradores da organização, com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal. Qualquer membro e qualquer key pode ler.
GET/v1/plan/reports/{report_id}/preview/BetaChave de APICLI Auth

Pré-visualizar um relatório agendado com dados reais

O relatório como seria enviado agora: o mesmo ReportDocument a partir do qual a mensagem de chat e o e-mail são renderizados. Relatórios da organização só incluem quadros e projetos que todo o espaço de trabalho pode ver.

Parâmetros de rota

NomeTipoObrigatórioDescrição
report_iduuidObrigatórioO uuid do relatório agendado.

Objeto ReportDocument

NomeTipoObrigatórioDescrição
kindenumObrigatóriodaily, week_start, week_end ou personal_daily.
localestringObrigatório—
headerobjectObrigatório{title, period_key, period_label, scope}.
sectionsarray<ReportSection>ObrigatórioVeja ReportSection.
emptybooleanObrigatóriotrue quando nenhuma seção tem itens.
narrativestringOpcionalUm parágrafo curto de resumo, opcional.

Objeto ReportSection

NomeTipoObrigatórioDescrição
keystringObrigatórioChave estável da seção, por exemplo closed, at_risk, due_today.
titlestringObrigatório—
countintegerObrigatório—
emptybooleanObrigatório—
itemsarray<ReportItem>ObrigatórioVeja ReportItem.

Objeto ReportItem

NomeTipoObrigatórioDescrição
typeenumObrigatóriotask, project, milestone, goal ou text.
uuidstringObrigatório—
keystringOpcionalA chave da tarefa, como ENG-142, quando o item é uma tarefa.
titlestringObrigatório—
urlstringObrigatórioLink direto para o aplicativo web.
ownerUserRefOpcional—
due_datedateOpcional—
statestringOpcional—
categorystringOpcional—
healthstringOpcional—
badgesarray<string>ObrigatórioMarcas curtas como overdue ou blocked.

Objeto UserRef

NomeTipoObrigatórioDescrição
uuiduuidObrigatórioIdentificador público estável.
namestringOpcionalNome de exibição.
avatar_urlstring | nullOpcional—
has_photobooleanOpcional—

Resposta

NomeTipoObrigatórioDescrição
(body)ReportDocumentObrigatórioUm objeto ReportDocument.

Erros

StatusQuando
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
404O relatório agendado não existe na sua organização (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/reports/00000000-0000-4000-8000-000000000022/preview/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Funciona com uma sessão iniciada, um token de usuário da CLI, uma API key pessoal, ou uma key de agente ou da organização. Uma key pessoal vê o que sua pessoa vê; uma key de agente ou da organização atua como um ator de sistema e vê apenas quadros visíveis para a organização.
POST/v1/plan/reports/{report_id}/send-test/BetaCLI Auth

Enviar agora um relatório agendado como teste, ou pré-visualizar o que seria enviado

Somente administradores da organização. Com ?dry_run=true o documento, o canal e os destinatários são respondidos e nada é enviado. Sem ele, o relatório é enviado agora e registrado como execução de teste (is_test: true); não conta como a execução do período.

Parâmetros de rota

NomeTipoObrigatórioDescrição
report_iduuidObrigatórioO uuid do relatório agendado.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
dry_runbooleanOpcionaltrue só renderiza e resolve; nada é enviado nem registrado. Falha de forma segura: qualquer valor diferente de 0, false, no ou off é um ensaio.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Resposta

NomeTipoObrigatórioDescrição
dry_runbooleanObrigatórioEcoa a requisição: true quando nada foi enviado.
documentReportDocumentObrigatórioUm objeto ReportDocument.
channelChatChannel | nullObrigatórioUm objeto ChatChannel.
email_recipientsarray<UserRef>ObrigatórioOs objetos UserRef.
sentbooleanObrigatóriofalse em um ensaio.
runReportRunOpcionalA execução de teste quando enviada. Veja ReportRun.

Erros

StatusQuando
400A validação falhou; o `code` da resposta indica qual campo. `invalid_agent_attribution` significa que o nome do agente não é válido.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Você não é administrador da organização (`insufficient_scope`), ou é convidado (`guest_not_allowed`). Uma key de agente ou da organização também é recusada aqui.
404O relatório agendado não existe na sua organização (`not_found`), nunca um 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"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:admin` — escritas em contêineres. Um membro não convidado pode chamá-lo com uma sessão iniciada ou uma API key pessoal (uma key com scopes de Plan explícitos precisa de `tasks:write`, que o cobre); uma key de agente ou da organização recebe `403 insufficient_scope`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Somente administradores da organização, com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal. Qualquer membro e qualquer key pode ler.
GET/v1/plan/reports/{report_id}/runs/BetaChave de APICLI AuthPaginação por número de página

As últimas execuções de um relatório agendado

As 20 execuções mais recentes, da mais nova para a mais antiga: sent, failed (com um código de motivo) ou skipped_empty. Envios de teste levam is_test: true.

Parâmetros de rota

NomeTipoObrigatórioDescrição
report_iduuidObrigatórioO uuid do relatório agendado.

Resposta

NomeTipoObrigatórioDescrição
countintegerObrigatórioNúmero total de linhas.
nexturiObrigatórioURL da próxima página, ou null.
previousuriObrigatórioURL da página anterior, ou null.
resultsarray<ReportRun>ObrigatórioAs objetos ReportRun.

Erros

StatusQuando
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
404O relatório agendado não existe na sua organização (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/reports/00000000-0000-4000-8000-000000000022/runs/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Funciona com uma sessão iniciada, um token de usuário da CLI, uma API key pessoal, ou uma key de agente ou da organização. Uma key pessoal vê o que sua pessoa vê; uma key de agente ou da organização atua como um ator de sistema e vê apenas quadros visíveis para a organização.
GET/v1/plan/me/briefing/BetaCLI Auth

Minhas configurações do resumo diário

As configurações do resumo diário de quem chama, com valores efetivos. Sem nada guardado, a resposta é o padrão: os dias úteis da pessoa (segunda a sexta se ela nunca os mudou), 09:00 no próprio fuso horário (timezone_is_default: true), chat ligado, e-mail desligado, enabled: false. A parte de chat é sempre uma mensagem direta, nunca o canal de notificações da pessoa: o resumo inclui também o trabalho só para membros.

Resposta

NomeTipoObrigatórioDescrição
enabledbooleanObrigatórioSe o resumo é enviado ou não.
weekdaysarray<integer>ObrigatórioDias ISO, segunda = 1.
timestringObrigatórioHH:MM, 24 horas, em timezone.
timezonestringObrigatórioNome IANA.
timezone_is_defaultbooleanObrigatóriotrue quando o fuso horário é o da pessoa e não um que ela definiu aqui.
chatbooleanObrigatórioEntregar por mensagem direta.
emailbooleanObrigatórioEntregar por e-mail.
skip_when_emptybooleanObrigatórioPular o resumo em um dia sem nada a dizer.
effectivebooleanObrigatóriotrue quando os dias são os dias úteis padrão da pessoa e não um conjunto guardado aqui.
last_sent_atdatetime | nullObrigatórioQuando o resumo foi enviado pela última vez, ou null.

Erros

StatusQuando
400A credencial é uma key de agente ou da organização (`actor_required`); este endpoint exige uma pessoa.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Contas de convidado não podem usar o Plan (`guest_not_allowed`).
curl -sS "https://api.dailybot.com/v1/plan/me/briefing/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Exige uma pessoa: chame com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal, que age como sua pessoa. Uma key de agente ou da organização recebe `400 actor_required`.
PUT/v1/plan/me/briefing/BetaCLI Auth

Alterar meu resumo diário

Parcial: só os campos enviados são gravados. weekdays são ISO 1..7, time é HH:MM, timezone é um nome IANA (opcional: a primeira gravação guarda o da pessoa). Pelo menos um de chat e email precisa ficar ligado. As recusas são 400 invalid_schedule (extra.parameter) e 400 unknown_field. Responde o corpo efetivo completo.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Corpo da requisição

NomeTipoObrigatórioDescrição
enabledbooleanOpcionalSe o resumo é enviado ou não.
weekdaysarray<integer>OpcionalDias ISO, segunda = 1 … domingo = 7.
timestringOpcionalHH:MM, 24 horas.
timezonestringOpcionalNome IANA.
chatbooleanOpcionalEntregar por mensagem direta.
emailbooleanOpcionalEntregar por e-mail.
skip_when_emptybooleanOpcionalPular o resumo em um dia sem nada a dizer.
agent_namestringOpcionalO nome do agente que executou esta escrita em nome da pessoa (máx. 128 caracteres, vazio significa sem agente). Tem prioridade sobre o header X-Dailybot-Agent-Name. Veja Atribuição de agente.

Resposta

NomeTipoObrigatórioDescrição
enabledbooleanObrigatórioSe o resumo é enviado ou não.
weekdaysarray<integer>ObrigatórioDias ISO, segunda = 1.
timestringObrigatórioHH:MM, 24 horas, em timezone.
timezonestringObrigatórioNome IANA.
timezone_is_defaultbooleanObrigatóriotrue quando o fuso horário é o da pessoa e não um que ela definiu aqui.
chatbooleanObrigatórioEntregar por mensagem direta.
emailbooleanObrigatórioEntregar por e-mail.
skip_when_emptybooleanObrigatórioPular o resumo em um dia sem nada a dizer.
effectivebooleanObrigatóriotrue quando os dias são os dias úteis padrão da pessoa e não um conjunto guardado aqui.
last_sent_atdatetime | nullObrigatórioQuando o resumo foi enviado pela última vez, ou null.

Erros

StatusQuando
400Um campo é inválido (`invalid_schedule`, `extra.parameter` o nomeia), desconhecido (`unknown_field`), os dois canais estão desligados, a credencial é uma key de agente ou da organização (`actor_required`), ou o nome do agente é inválido (`invalid_agent_attribution`).
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Contas de convidado não podem usar o 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
}'

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:write`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Exige uma pessoa: chame com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal, que age como sua pessoa. Uma key de agente ou da organização recebe `400 actor_required`.
GET/v1/plan/me/briefing/preview/BetaCLI Auth

Pré-visualizar o resumo de hoje

O resumo de hoje para quem chama, renderizado agora: o ReportDocument personal_daily com o que está atrasado, vence hoje, está em andamento, bloqueado e a seguir, as menções não lidas e os projetos que a pessoa lidera.

Resposta

NomeTipoObrigatórioDescrição
(body)ReportDocumentObrigatórioUm objeto ReportDocument.

Erros

StatusQuando
400A credencial é uma key de agente ou da organização (`actor_required`); este endpoint exige uma pessoa.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Contas de convidado não podem usar o Plan (`guest_not_allowed`).
curl -sS "https://api.dailybot.com/v1/plan/me/briefing/preview/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:read`.
  • Limite de requisições: 120 leituras por minuto por ator.
  • Exige uma pessoa: chame com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal, que age como sua pessoa. Uma key de agente ou da organização recebe `400 actor_required`.
POST/v1/plan/me/briefing/send-test/BetaCLI Auth

Enviar o resumo de hoje para mim agora, ou pré-visualizá-lo

Com ?dry_run=true nada é enviado. Sem ele, o resumo de hoje vai para quem chama por mensagem direta e/ou e-mail, conforme as configurações.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
dry_runbooleanOpcionaltrue só renderiza e resolve; nada é enviado nem registrado. Falha de forma segura: qualquer valor diferente de 0, false, no ou off é um ensaio.

Cabeçalhos

NomeTipoObrigatórioDescrição
X-Dailybot-Agent-NamestringOpcionalO nome do agente que executou esta escrita em nome da pessoa. Use-o em escritas multipart e sem corpo (DELETE, arquivar, restaurar); em escritas JSON envie o campo agent_name do corpo, que vence se os dois vierem. Codifique o valor em percent-encoding (UTF-8). Caracteres de controle são removidos; um valor em branco significa sem agente. Mais de 128 caracteres, ou um valor que não pode ser decodificado, é 400 invalid_agent_attribution (nunca é truncado). Uma chave do tipo agente, que não está ligada a uma pessoa, recebe 400 invalid_agent_attribution se enviá-lo. O selo nunca altera uma resposta de permissão. Veja Atribuição de agente.

Resposta

NomeTipoObrigatórioDescrição
dry_runbooleanObrigatórioEcoa a requisição: true quando nada foi enviado.
documentReportDocumentObrigatórioUm objeto ReportDocument.
sentbooleanObrigatóriofalse em um ensaio.

Erros

StatusQuando
400A credencial é uma key de agente ou da organização (`actor_required`); este endpoint exige uma pessoa.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected].
403Contas de convidado não podem usar o 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"

Testar

Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.

  • Scope: `tasks:write`.
  • Limite de requisições: 60 escritas por minuto por ator.
  • Exige uma pessoa: chame com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal, que age como sua pessoa. Uma key de agente ou da organização recebe `400 actor_required`.

Esta página é a referência de Plan · Notificações e relatórios. Todos os endpoints ficam em https://api.dailybot.com/v1/plan/ e respondem JSON.

Autentique com uma sessão iniciada ou um token de usuário da CLI (Authorization: Bearer …), ou com uma API key (X-API-KEY). Uma API key pessoal age como sua pessoa e pode fazer tudo o que essa pessoa pode fazer no Dailybot; uma key de agente ou da organização nunca age como uma pessoa e é recusada nos endpoints que exigem uma. Em um endpoint, o selo API key significa que uma key de agente ou da organização também é aceita. Veja Autenticação do Plan, Autenticação e Erros para as regras comuns a todas as APIs do Dailybot.

Se é sua primeira vez com o Plan, leia a visão geral para entender o modelo: projetos, quadros, estados, chaves, ordem, versões e arquivamento.

Os endpoints pessoais (me/notifications, me/briefing) exigem uma pessoa: uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal; uma key de agente ou da organização recebe 400 actor_required. Rotas, relatórios agendados e seus envios de teste são para administradores da organização. Todo envio de teste aceita ?dry_run=true, que renderiza e resolve sem enviar. O resumo de uma pessoa sempre chega por mensagem direta e/ou e-mail, nunca em um canal.