Skip to content
ver .md original

Plan · Projetos

Projetos agrupam quadros e reúnem saúde, notas de status, marcos, membros e visualizações salvas. 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/projects/BetaChave de APICLI AuthPaginação por número de página

Listar projetos

Os projetos que você pode ver, em uma página. Busque com search, filtre por datas com start_date / end_date e traga os projetos arquivados com include_archived. include adiciona blocos opcionais a cada linha.

Parâmetros de consulta

Ordenação e expansão

NomeTipoObrigatórioDescrição
includestringOpcionalResumos agregados a incorporar, separados por vírgula. progress é o único token. Ausente por padrão porque é um agregado; quando solicitado, é calculado sobre a página retornada. Um token desconhecido é 400 invalid_filter_value; um valor vazio não tem efeito.

Paginação

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.
limitintegerOpcionalAlias de page_size, traduzido no servidor.
offsetintegerOpcionalAlias traduzido para page no servidor.

Filtros

NomeTipoObrigatórioDescrição
searchstringOpcionalCorresponde ao título e à chave. Mais de 256 caracteres é 400 search_query_too_long, sem truncamento. q é um alias.

Linhas arquivadas

NomeTipoObrigatórioDescrição
is_archivedbooleanOpcionaltrue retorna apenas linhas arquivadas; false (o padrão), apenas as ativas. Arquivar é a exclusão, então as linhas arquivadas continuam legíveis.
include_archivedbooleanOpcionalIncluir linhas arquivadas junto com as ativas. Diferente de is_archived, que seleciona um conjunto ou o outro: include_archived=true é a união. As listas retornam linhas ativas, a menos que você opte pelo contrário.

Datas

NomeTipoObrigatórioDescrição
start_datestringOpcionalInício da janela de data de criação. O que --since da CLI produz.
end_datestringOpcionalFim da janela de data de criação. O que --until da CLI produz.

Objeto Project

NomeTipoObrigatórioDescrição
uuiduuidObrigatórioIdentificador público estável.
namestringObrigatórioNome de exibição. Máx. 120 caracteres.
slugstringOpcionalNome amigável para URL. Máx. 48 caracteres.
descriptionstring | nullOpcionalDescrição livre.
leadUserRef | nullOpcionalO líder do projeto. Veja UserRef.
goalsarrayOpcionalMetas para as quais este projeto aponta. Um projeto pode atender várias metas. Sempre presentes: uuid. Itens: {uuid, name}.
goalobjectOpcionalA meta, quando há exatamente uma. Formato: {uuid, name}|null.
board_countintegerOpcionalNúmero de quadros ativos no projeto.
healthenumOpcionalSaúde declarada. Um de not_set, on_track, at_risk, off_track.
start_datedate | nullOpcionalData de início planejada.
target_datedate | nullOpcionalData de término planejada.
progressProjectProgress | nullOpcionalResumo agregado do progresso sobre as tarefas que você pode ver. Veja ProjectProgress.
is_archivedbooleanObrigatórioSe a linha está arquivada. Arquivar é a exclusão: linhas arquivadas continuam legíveis e restauráveis.
archived_atdate-time | nullOpcionalQuando a linha foi arquivada.
created_atdate-timeOpcionalQuando a linha foi criada.
updated_atdate-timeOpcionalQuando a linha mudou pela última vez.
viewerobjectOpcionalO que você pode fazer com esta linha. Formato: {can_see_content: boolean, can_manage: boolean} (both required).

Objeto UserRef

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

Objeto ProjectProgress

NomeTipoObrigatórioDescrição
totalintegerObrigatórioTodas as tarefas contadas.
completedintegerObrigatórioTarefas em um estado done ou canceled.
openintegerOpcionalTarefas em um estado backlog, todo ou in_progress.
blockedintegerOpcionalTarefas com um bloqueio ativo.
overdueintegerOpcionalTarefas abertas com a data de vencimento ultrapassada.
percent_completeintegerObrigatóriocompleted como porcentagem de total.

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<Project>ObrigatórioAs linhas desta página. Veja Project.

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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
429Limite de requisições atingido. Aguarde os segundos indicados em `Retry-After`.
curl -sS "https://api.dailybot.com/v1/plan/projects/?include=progress" \
  -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/projects/BetaCLI Auth

Criar um projeto

Cria um projeto, o contêiner que agrupa quadros. Todo membro não convidado pode chamá-lo (com uma sessão iniciada ou uma API key pessoal); uma key de agente ou da organização não pode. Envie um Idempotency-Key para repetir com segurança; o limite de projetos do plano responde 402 task_projects_limit_reached.

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
visibilityenumOpcionalorg (todos na organização — espaço compartilhado) ou members (somente grants explícitos; convide com POST …/members/). Criar como members concede o grant a você. Um de org, members. Padrão org.
namestringObrigatórioNome de exibição. Máx. 120 caracteres.
descriptionstring | nullOpcionalDescrição livre. Máx. 2000 caracteres.
leaduuid | nullOpcionalO líder do projeto.
healthenumOpcionalSaúde declarada. Um de not_set, on_track, at_risk, off_track.
start_datedate | nullOpcionalData de início planejada.
target_datedate | nullOpcionalData de término planejada.
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)ProjectObrigatórioUm objeto Project.

Erros

StatusQuando
400A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual. `invalid_agent_attribution` significa que o nome do agente não é válido.
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402Tasks ainda não está habilitado para a sua organização (`plan_upgrade_required`), ou o teto de projetos do plano foi atingido (`task_projects_limit_reached`).
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
409Conflito. O `code` da resposta indica qual (por exemplo, `version_conflict`).
429Limite de requisições atingido. Aguarde os segundos indicados em `Retry-After`.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Q4 Roadmap",
    "visibility": "org",
    "health": "on_track",
    "target_date": "2026-12-18"
  }'

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.
  • Exige uma pessoa: chame com 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 `403 insufficient_scope`.
GET/v1/plan/projects/{project_id}/BetaChave de APICLI Auth

Obter um projeto

Um projeto pelo uuid. Um projeto que você não pode ver responde 404, igual a um que não existe.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

Resposta

NomeTipoObrigatórioDescrição
(body)ProjectObrigatórioUm objeto Project.

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].
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/" \
  -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/projects/{project_id}/BetaCLI Auth

Atualizar um projeto

Altera os campos de um projeto. Envie só os campos que mudam. Todo membro não convidado pode chamá-lo (com uma sessão iniciada ou uma API key pessoal); uma key de agente ou da organização não pode. Definir visibility como members privatiza o projeto e concede automaticamente o ator que privatiza.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

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
visibilityenumOpcionalorg (todos na organização) ou members (apenas membros explícitos). Mudar de org para members concede automaticamente o ator que privatiza. Um de org, members.
namestringOpcionalNome de exibição. Máx. 120 caracteres.
descriptionstring | nullOpcionalDescrição livre. Máx. 2000 caracteres.
leaduuid | nullOpcionalO líder do projeto.
healthenumOpcionalSaúde declarada. Um de not_set, on_track, at_risk, off_track.
start_datedate | nullOpcionalData de início planejada.
target_datedate | nullOpcionalData de término planejada.
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)ProjectObrigatórioUm objeto Project.

Erros

StatusQuando
400A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual. `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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "health": "at_risk"
  }'

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.
  • Exige uma pessoa: chame com 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 `403 insufficient_scope`.
GET/v1/plan/projects/updates/BetaChave de APICLI AuthPaginação por número de página

As atualizações mais recentes de todos os projetos que quem chama pode ver

A forma em lote da lista de atualizações por projeto, para uma tela inicial que, de outro modo, a chamaria uma vez por projeto.

Retorna as per_project atualizações mais recentes de cada projeto visível como uma única lista plana e paginada; cada linha traz seu project, então agrupe por esse campo. Ordenada pelo nome do projeto e depois da mais recente para a mais antiga. É uma prévia, não um histórico: para uma thread completa ou um projeto arquivado, use GET /v1/plan/projects/{project_id}/updates/.

projects restringe aos projetos indicados. Um projeto que você não pode ver é omitido silenciosamente em vez de recusado, e projetos arquivados são excluídos mesmo quando indicados. body_html é renderizado e sanitizado no servidor.

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.
projectsarrayOpcionalUuids de projetos para restringir. Repetível; os valores são combinados com OR. Um projeto que quem chama não pode ver, ou que está arquivado, não contribui com nada em vez de gerar erro. Mais do que o máximo publicado é 400 too_many_filter_values.
per_projectintegerOpcionalQuantas atualizações cada projeto contribui. Limitado ao máximo publicado em vez de recusado - este é um tamanho de prévia, não um identificador, e uma tela inicial que pede demais deve receber uma página completa em vez de um erro.

Objeto ProjectUpdate

NomeTipoObrigatórioDescrição
uuiduuidObrigatórioIdentificador público estável.
projectuuid | nullObrigatórioO projeto.
bodystringObrigatórioMarkdown como digitado. Mencione alguém com <@DB@{uuid}>, usando um uuid da lista de mencionáveis.
body_htmlstringObrigatóriobody renderizado e sanitizado pelo servidor. HTML do cliente nunca é aceito.
mentionsarray<ActorRef>OpcionalAs pessoas mencionadas. Leia-as daqui, nunca analisando body. Veja ActorRef.
healthenum | nullOpcionalSaúde declarada. Um de not_set, on_track, at_risk, off_track.
created_byActorRef | nullOpcionalQuem criou a linha. Veja ActorRef.
created_atdate-timeObrigatórioQuando a linha foi criada.
updated_atdate-timeOpcionalQuando a linha mudou pela última vez.
executed_by_agentobject | nullOpcionalO agente que executou a publicação desta pessoa, ao lado de created_by, ou null se for uma publicação humana comum: {uuid, name, username, avatar}.
provenanceenumOpcionalComo o texto chegou: typed, agent_authored ou retrieved. Uma nota publicada com uma API key, ou marcada com um agente, é agent_authored.
edited_atdate-time | nullOpcionalNulo até a primeira edição.
attachmentsarray<TaskAttachment>OpcionalAnexos prontos, ordenados por posição, incluídos. Envie-os com POST …/updates/{update_id}/attachments/.

Objeto ActorRef

NomeTipoObrigatórioDescrição
kindstringObrigatório—
uuidstringObrigatórioIdentificador público estável.
namestringOpcionalNome de exibição.
usernamestring | nullOpcional—
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<ProjectUpdate>ObrigatórioAs linhas desta página. Veja ProjectUpdate.

Erros

StatusQuando
400A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual.
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/projects/updates/" \
  -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/projects/{project_id}/updates/BetaChave de APICLI AuthPaginação por número de página

Notas de status de um projeto, das mais recentes para as mais antigas

A metade narrativa de um roadmap: por que a saúde está como está, com um nome e uma data. body é o Markdown como foi digitado; body_html é renderizado no servidor pelo mesmo sanitizador que os comentários usam, então nenhum HTML enviado pelo cliente é confiável.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

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.

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<ProjectUpdate>ObrigatórioAs linhas desta página. Veja ProjectUpdate.

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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/" \
  -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/projects/{project_id}/updates/BetaChave de APICLI Auth

Publicar uma nota de status

Envie body em markdown. Um body_html NÃO é aceito — o servidor o renderiza e sanitiza, então a allow-list é nossa e existe apenas uma. health registra o que o autor declarou naquele dia e não altera Project.health.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

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
bodystringObrigatórioMarkdown. Mencione alguém com <@DB@{uuid}>, usando um uuid da lista de mencionáveis.
healthenum | nullOpcionalSaúde declarada. Um de not_set, on_track, at_risk, off_track.
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)ProjectUpdateObrigatórioUm objeto ProjectUpdate.

Erros

StatusQuando
400A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual. `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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "body": "Staging is green; rolling out Friday. <@DB@00000000-0000-4000-8000-00000000000c> owns the release.",
    "health": "on_track"
  }'

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.
  • 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/projects/{project_id}/milestones/BetaChave de APICLI AuthPaginação por número de página

Compromissos com data dentro de um projeto, em ordem de data

Cada linha traz task_count, anotado na mesma consulta: um roadmap desenha todos os marcadores de uma vez, então uma contagem por marcador seria uma consulta por linha.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

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.
include_archivedbooleanOpcionalIncluir linhas arquivadas junto com as ativas. Diferente de is_archived, que seleciona um conjunto ou o outro: include_archived=true é a união. As listas retornam linhas ativas, a menos que você opte pelo contrário.

Objeto ProjectMilestone

NomeTipoObrigatórioDescrição
uuiduuidObrigatórioIdentificador público estável.
namestringObrigatórioNome de exibição.
descriptionstring | nullOpcionalDescrição livre.
datedateObrigatórioA data do marco.
task_countintegerOpcionalNúmero de tarefas ativas.
attachment_countintegerOpcionalAnexos prontos deste marco. Referencie-os na description com marcadores attachment:{uuid} e liste-os em …/milestones/{milestone_id}/attachments/.
is_archivedbooleanOpcionalSe a linha está arquivada. Arquivar é a exclusão: linhas arquivadas continuam legíveis e restauráveis.
completed_atdate-time | nullOpcionalQuando foi concluído, ou null.
created_atdate-timeOpcionalQuando a linha foi criada.
updated_atdate-timeOpcionalQuando a linha mudou pela última vez.

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<ProjectMilestone>ObrigatórioAs linhas desta página. Veja ProjectMilestone.

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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/" \
  -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/projects/{project_id}/milestones/BetaChave de APICLI Auth

Comprometer-se com um momento datado

Adiciona um marco a um projeto: um name, uma date e uma description opcional. Conclua-o depois com o endpoint de conclusão.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

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
namestringObrigatórioNome de exibição.
datedateObrigatórioA data do marco.
descriptionstring | nullOpcionalDescrição livre.
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)ProjectMilestoneObrigatórioUm objeto ProjectMilestone.

Erros

StatusQuando
400A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual. `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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Beta launch",
    "date": "2026-10-15"
  }'

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.
  • 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/projects/{project_id}/milestones/{milestone_id}/BetaChave de APICLI Auth

Mover ou renomear um marco

Renomeia um marco, muda a data ou edita a descrição. Envie só os campos que mudam.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.

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 de exibição.
datedateOpcionalA data do marco.
descriptionstring | nullOpcionalDescrição livre.
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)ProjectMilestoneObrigatórioUm objeto ProjectMilestone.

Erros

StatusQuando
400A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual. `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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "date": "2026-10-22"
  }'

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.
  • 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.
DELETE/v1/plan/projects/{project_id}/milestones/{milestone_id}/BetaChave de APICLI Auth

Aposentar um marco (arquiva; as tarefas continuam apontando para ele)

Arquiva em vez de excluir definitivamente, então as tarefas continuam apontando para o marco e a associação nunca se perde. A mudança é registrada no feed de atividade como project.milestone_deleted — leia como "aposentado". Não é um evento de webhook.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.

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
400O nome do agente não é vá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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/" \
  -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:write`.
  • Limite de requisições: 60 escritas 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/projects/{project_id}/milestones/{milestone_id}/complete/BetaChave de APICLI Auth

Marcar um marco como concluído

Concluir com tarefas abertas é permitido. Essas tarefas continuam abertas; a resposta informa open_task_count. Reversível via …/reopen/. ?dry_run=true retorna a consequência sem gravar.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
dry_runbooleanOpcionalMostra a consequência sem executá-la. A resposta tem o mesmo formato, {operation, dry_run, reversible, restore_path, consequence, affects}, mas nada é gravado e nenhum evento é emitido. Mostre consequence a uma pessoa antes de agir.

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.

Objeto DryRunPreview

O que a chamada responde com ?dry_run=true: a consequência, sem executá-la. Nada é gravado e nenhum evento é emitido.

NomeTipoObrigatórioDescrição
operationstringObrigatórioA operação que seria executada.
dry_runbooleanObrigatórioSempre true.
reversiblebooleanObrigatórioSe a operação pode ser desfeita.
restore_pathstring | nullObrigatórioO caminho que a desfaria, ou null quando não há nenhum.
consequencestringObrigatórioUma frase para mostrar a uma pessoa antes de agir. Descreve o efeito em cascata em vez de resumi-lo.
affectsobjectObrigatórioO que a operação afetaria, como contagens (inteiros) por tipo.
would_refusebooleanOpcionalSomente ao arquivar um estado do fluxo de trabalho: true quando a chamada real seria recusada.
refusal_codestringOpcionalSomente ao arquivar um estado do fluxo de trabalho: o código de erro com que a chamada real responderia.

Resposta

NomeTipoObrigatórioDescrição
(body)ProjectMilestone | DryRunPreviewObrigatórioUm objeto ProjectMilestone. Com ?dry_run=true, um objeto DryRunPreview no lugar.
open_task_countintegerOpcionalTarefas ainda abertas no marco. Concluir com tarefas abertas é permitido.

Erros

StatusQuando
400O nome do agente não é vá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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/complete/" \
  -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:write`.
  • Limite de requisições: 60 escritas 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/projects/{project_id}/milestones/{milestone_id}/reopen/BetaChave de APICLI Auth

Desfazer a conclusão do marco

Limpa a conclusão de um marco, para que volte a contar como aberto.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.

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.

Resposta

NomeTipoObrigatórioDescrição
(body)ProjectMilestoneObrigatórioUm objeto ProjectMilestone.

Erros

StatusQuando
400O nome do agente não é vá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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/reopen/" \
  -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:write`.
  • Limite de requisições: 60 escritas 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/projects/{project_id}/archive/BetaCLI Auth

Arquivar um projeto, em cascata para os seus quadros e as tarefas deles

Arquivar é a exclusão. Nada nesta API exclui um projeto definitivamente; as linhas permanecem para que identificadores, links e eventos continuem resolvendo.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

Parâmetros de consulta

NomeTipoObrigatórioDescrição
dry_runbooleanOpcionalMostra a consequência sem executá-la. A resposta tem o mesmo formato, {operation, dry_run, reversible, restore_path, consequence, affects}, mas nada é gravado e nenhum evento é emitido. Mostre consequence a uma pessoa antes de agir.

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.

Resposta

NomeTipoObrigatórioDescrição
(body)Project | DryRunPreviewObrigatórioUm objeto Project. Com ?dry_run=true, um objeto DryRunPreview no lugar.

Erros

StatusQuando
400O nome do agente não é vá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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/archive/" \
  -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.
  • Exige uma pessoa: chame com 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 `403 insufficient_scope`.
POST/v1/plan/projects/{project_id}/restore/BetaCLI Auth

Restaurar um projeto arquivado

O inverso de arquivar, e o motivo pelo qual arquivar um projeto não é mais o único ato no Plan que uma pessoa não pode desfazer. Quadros e tarefas arquivados em cascata continuam arquivados: a restauração sobe na hierarquia, nunca desce, porque "restaurar tudo o que foi arquivado naquele momento" não consegue distinguir a cascata de um quadro que alguém arquivou de propósito antes. Traga-os de volta com POST …/boards/{board_id}/restore/. Restaurar consome uma vaga do direito de criação de projetos (arquivar libera uma) e responde 402 quando o plano não tem nenhuma disponível.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

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.

Resposta

NomeTipoObrigatórioDescrição
(body)ProjectObrigatórioUm objeto Project.

Erros

StatusQuando
400O nome do agente não é válido (`invalid_agent_attribution`).
401Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`).
402O Plan ainda não está habilitado para a sua organização (`plan_upgrade_required`), ou não há vaga de projeto livre (`task_projects_limit_reached`).
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/restore/" \
  -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.
  • Exige uma pessoa: chame com 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 `403 insufficient_scope`.
GET/v1/plan/milestones/BetaChave de APICLI AuthPaginação por número de página

Todos os marcos que quem visualiza pode ver, entre projetos

Todos os marcos que você pode ver entre projetos, em uma única chamada, para os marcadores de um roadmap. A visibilidade segue os projetos que você pode abrir. project__in restringe esse conjunto e nunca o amplia: um uuid desconhecido e o uuid de outra organização retornam um resultado vazio. As linhas trazem project como referência.

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.
project__instringOpcionalUuids de projetos separados por vírgula; no máximo 50. Restringe o conjunto visível, nunca o amplia.
include_archivedstringOpcionalIncluir marcos retirados junto com os ativos.

Objeto OrganizationMilestone

NomeTipoObrigatórioDescrição
uuidstringObrigatórioIdentificador público estável.
namestringObrigatórioNome de exibição.
descriptionstring | nullOpcionalDescrição livre.
datestringObrigatórioA data do marco.
task_countintegerOpcionalNúmero de tarefas ativas.
attachment_countintegerOpcionalAnexos prontos deste marco. Referencie-os na description com marcadores attachment:{uuid} e liste-os em …/milestones/{milestone_id}/attachments/.
is_archivedbooleanOpcionalSe a linha está arquivada. Arquivar é a exclusão: linhas arquivadas continuam legíveis e restauráveis.
projectobjectObrigatórioO projeto. Um objeto de referência.
created_atstringOpcionalQuando a linha foi criada.
updated_atstringOpcionalQuando a linha mudou pela última vez.

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<OrganizationMilestone>ObrigatórioAs linhas desta página. Veja OrganizationMilestone.

Erros

StatusQuando
400A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual.
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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
curl -sS "https://api.dailybot.com/v1/plan/milestones/?project__in=00000000-0000-4000-8000-000000000001" \
  -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/projects/{project_id}/views/BetaCLI AuthPaginação por número de página

As visualizações salvas desta pessoa dentro de um projeto

Suas visualizações salvas dentro de um projeto: conjuntos de filtros nomeados que abrangem todos os quadros dele. As visualizações são pessoais e têm escopo por projeto, então o mesmo nome pode existir em dois projetos. Exige uma pessoa: keys de agente e da organização são recusadas; uma API key pessoal funciona.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

Objeto SavedView

NomeTipoObrigatórioDescrição
namestringObrigatórioNome de exibição. Máx. 64 caracteres.
view_modeenumOpcionalComo o conjunto filtrado é desenhado. As leituras sempre retornam board para o layout kanban. Um de list, board, timeline, calendar.
group_byenumOpcionalA dimensão de agrupamento. Um de state, owner, priority, category.
sortstringOpcionalUma chave de ordenação, com prefixo - para ordem decrescente.
filtersobjectObrigatórioOs filtros da visualização, na gramática compartilhada de filtros de tarefas.
schema_versionintegerOpcionalVersão do formato salvo da visualização.
visibilityenumOpcionalpersonal (padrão) é só sua. shared e board_default (a visualização padrão desse quadro ou projeto) podem ser lidas por todos que veem o quadro ou o projeto. Defini-las exige quem administra o quadro nas visualizações de quadro, e supervisão do projeto (um administrador da organização ou quem gerencia todos os seus times) nas visualizações de projeto; caso contrário, 403 view_visibility_forbidden. Um de personal, shared, board_default.
collapsedobject | array | string | number | booleanOpcionalEstado da interface do cliente salvo como está (quais grupos estão recolhidos). Só o tamanho e a profundidade são validados.
columnsobject | array | string | number | booleanOpcionalEstado da interface do cliente salvo como está (quais colunas são exibidas). Só o tamanho e a profundidade são validados.
uuiduuidOpcionalIdentificador público estável.
scopeenumOpcionalA qual contêiner a visualização pertence: board ou project. Somente leitura. Um de board, project.
boarduuid | nullOpcionalO uuid do quadro quando scope é board; null para uma visualização de projeto. Somente leitura.
ownerobjectOpcionalQuem é dono da visualização. Formato: {uuid, name}.
created_atdate-timeOpcionalQuando a linha foi criada.
updated_atdate-timeOpcionalQuando a linha mudou pela última vez.

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<SavedView>ObrigatórioAs linhas desta página. Veja SavedView.

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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
429Limite de requisições atingido. Aguarde os segundos indicados em `Retry-After`.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/views/" \
  -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. Uma key de agente ou da organização recebe `403 insufficient_scope`.
PUT/v1/plan/projects/{project_id}/views/BetaCLI Auth

Substituir as visualizações salvas desta pessoa em um projeto

Substitui todo o seu array de visualizações salvas do projeto. If-Match é obrigatório, pelo mesmo motivo das visualizações de quadro.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

Cabeçalhos

NomeTipoObrigatórioDescrição
If-MatchstringObrigatórioO ETag que você recebeu de GET .../views/, entre aspas. Obrigatório, porque este PUT substitui o array inteiro: sem uma precondição, dois salvamentos simultâneos descartam silenciosamente a visualização um do outro. Um validador desatualizado é 412 precondition_failed; um ausente é 428 precondition_required.
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
(body)array<SavedView>ObrigatórioUm array JSON de objetos SavedView.

Erros

StatusQuando
400A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual. `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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
412O validador `If-Match` está desatualizado (`precondition_failed`). Leia de novo e tente outra vez.
428`If-Match` é obrigatório (`precondition_required`).
429Limite de requisições atingido. Aguarde os segundos indicados em `Retry-After`.
curl -sS -X PUT "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/views/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "If-Match: $VIEWS_ETAG" \
  -H "Content-Type: application/json" \
  -d '[
    {
      "name": "Overdue",
      "view_mode": "list",
      "filters": {
        "due_before": "2026-09-25",
        "state": [
          "open"
        ]
      }
    }
  ]'

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. Uma key de agente ou da organização recebe `403 insufficient_scope`.
GET/v1/plan/projects/{project_id}/members/BetaCLI AuthPaginação por número de página

Membros de um projeto

Visível para qualquer pessoa que possa ver o projeto. Em um projeto members, esta é a associação que dá acesso ao projeto e aos seus quadros.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

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 BoardMember

NomeTipoObrigatórioDescrição
subject_typeenumObrigatórioUm de user, team.
user_uuiduuid | nullOpcionalO uuid de usuário da pessoa.
uuiduuid | nullOpcionalIdentificador público estável.
full_namestringOpcional—
namestringOpcionalNome de exibição.
roleenum | nullOpcionalPapel do participante. Um de admin, member, guest.
team_uuiduuid | nullOpcionalO uuid de um time, em vez de user_uuid. Cria uma única permissão de time viva: quem entrar no time depois fica dentro, e quem sair fica fora.
team_namestringOpcional—
added_atdate-timeObrigatório—
added_by_uuiduuid | nullOpcional—

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<BoardMember>ObrigatórioAs linhas desta página. Veja BoardMember.

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].
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/members/" \
  -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. Uma key de agente ou da organização recebe `403 insufficient_scope`.
POST/v1/plan/projects/{project_id}/members/BetaCLI Auth

Convidar alguém, ou uma equipe inteira, para um projeto

Dá acesso ao projeto a uma pessoa (user_uuid) ou a um time (team_uuid): envie exatamente um dos dois; os dois ou nenhum é 400 invalid_filter_value. Uma permissão de time é viva: quem entrar no time depois fica dentro, e quem sair fica fora. Todo membro não convidado pode chamá-lo (com uma sessão iniciada ou uma API key pessoal); uma key de agente ou da organização recebe 403 insufficient_scope.

Grava um evento project.member_added com actor_is_self, para que os membros do projeto possam distinguir um convite de alguém que entrou por conta própria.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

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
user_uuiduuidOpcionalO uuid de usuário da pessoa.
team_uuiduuidOpcionalO uuid de um time, em vez de user_uuid. Cria uma única permissão de time viva: quem entrar no time depois fica dentro, e quem sair fica fora.
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)BoardMemberObrigatórioUm objeto BoardMember.

Erros

StatusQuando
400Envie exatamente um de `user_uuid` e `team_uuid`; os dois ou nenhum é `invalid_filter_value`. `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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/members/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "user_uuid": "00000000-0000-4000-8000-00000000000c"
  }'

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.
  • Exige uma pessoa: chame com 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 `403 insufficient_scope`.
DELETE/v1/plan/projects/{project_id}/members/{user_id}/BetaCLI Auth

Remover alguém de um projeto

Remove a permissão explícita de uma pessoa no projeto. Todo membro não convidado pode chamá-lo (com uma sessão iniciada ou uma API key pessoal); uma key de agente ou da organização não pode.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
user_idstringObrigatórioO uuid de usuário do membro.

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
400O nome do agente não é vá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].
403Autenticado, mas sem permissão: falta o scope (`insufficient_scope`, que é também o que uma key de agente ou da organização recebe em uma operação que exige uma pessoa, e o que uma key pessoal recebe quando seus scopes de Plan explícitos não cobrem o endpoint) ou é uma conta de convidado (`guest_not_allowed`).
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/members/00000000-0000-4000-8000-00000000000c/" \
  -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.
  • Exige uma pessoa: chame com 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 `403 insufficient_scope`.
PATCH/v1/plan/projects/{project_id}/members/{user_id}/BetaCLI Auth

Inspecionar uma concessão de associação a um projeto (o papel é somente leitura)

A associação a projetos não tem coluna de papel: papéis da organização mais a visibilidade do projeto formam o modelo de acesso. Enviar role retorna 400. Um PATCH vazio retorna a linha de concessão atual.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
user_idstringObrigatórioO uuid de usuário do membro.

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
(body)BoardMemberObrigatórioUm objeto BoardMember.

Erros

StatusQuando
400A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual. `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].
404Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo.
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/members/00000000-0000-4000-8000-00000000000c/" \
  -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.
  • Exige uma pessoa: chame com 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 `403 insufficient_scope`.
GET/v1/plan/projects/{project_id}/attachments/BetaChave de APICLI AuthPaginação por número de página

Listar os anexos de um projeto

Os anexos do projeto, ordenados por posição. Qualquer pessoa que possa ver o projeto pode listar os anexos; um projeto que você não pode ver é 404. Cada url é um link de download. Não o guarde: mantenha o uuid do anexo e leia de novo quando precisar do arquivo. Para mostrar uma imagem na descrição do projeto, referencie-a como attachment:{uuid} e resolva-a ao renderizar com o url recente desta lista.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

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 TaskAttachment

NomeTipoObrigatórioDescrição
uuiduuidObrigatórioIdentificador público estável.
filenamestringObrigatórioNome do arquivo.
content_typestringObrigatórioTipo MIME.
sizeintegerObrigatórioTamanho em bytes.
urlstringObrigatórioOnde baixar o arquivo.
thumbnail_urluri | nullOpcionalMiniatura para imagens.
widthinteger | nullOpcional—
heightinteger | nullOpcional—
statusenumObrigatórioStatus atual. Um de pending, ready, scanning, rejected.
uploaded_byActorRef | nullOpcionalQuem enviou o arquivo. Veja ActorRef.
executed_by_agentobject | nullOpcionalO agente que executou isto em nome da pessoa, ou null quando nenhum foi nomeado: um objeto com uuid, name, username e avatar. A pessoa do campo de autor continua sendo a autora; o agente é mostrado como quem executou.
created_atdate-timeObrigatórioQuando a linha foi criada.

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<TaskAttachment>ObrigatórioAs linhas desta página. Veja TaskAttachment.

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 projeto ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/attachments/" \
  -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/projects/{project_id}/attachments/BetaCLI Auth

Enviar um anexo para um projeto

Anexa um arquivo a um projeto. Envie multipart/form-data com o campo file e um caption opcional; aqui não há fluxo de pré-assinatura. O limite é de 5 MiB em todos os ambientes: um arquivo maior é 400 attachment_too_large, com extra.max_size_bytes. O tipo de arquivo é verificado pelo conteúdo contra a mesma lista dos anexos de tarefas (attachment_invalid_type). Um projeto aceita no máximo 50 anexos (attachment_limit_reached).

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.

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
filebinaryObrigatórioO arquivo a enviar (máximo de 5 MiB por esta via).
captionstringOpcionalLegenda opcional. Máximo de 255 caracteres.

Resposta

NomeTipoObrigatórioDescrição
(body)TaskAttachmentObrigatórioUm objeto TaskAttachment.

Erros

StatusQuando
400O arquivo está ausente, é grande demais (`attachment_too_large`, acima de 5 MiB), tem um tipo não aceito (`attachment_invalid_type`) ou o limite de 50 foi atingido (`attachment_limit_reached`). `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 age como membro não convidado com uma sessão iniciada ou uma API key pessoal (`insufficient_scope`); uma key de agente ou da organização sempre recebe isto.
404O projeto ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/attachments/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -F "file=@./screenshot.png" \
  -F "caption=Staging dashboard"

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.
  • Exige uma pessoa: chame com 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 `403 insufficient_scope`.
GET/v1/plan/projects/{project_id}/attachments/{attachment_id}/content/BetaChave de APICLI Auth

Baixar os bytes de um anexo de um projeto

Transmite o arquivo com o tipo de conteúdo registrado no envio, X-Content-Type-Options: nosniff e Cache-Control: no-store. Nunca redireciona para o armazenamento. Qualquer pessoa que possa ver o projeto pode baixá-lo.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
attachment_idstringObrigatórioO uuid do anexo.

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 projeto ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/attachments/00000000-0000-4000-8000-000000000009/content/" \
  -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.
DELETE/v1/plan/projects/{project_id}/attachments/{attachment_id}/BetaCLI Auth

Remover um anexo de um projeto

Remove o anexo do projeto.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
attachment_idstringObrigatórioO uuid do anexo.

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
400O nome do agente não é vá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].
403Você não age como membro não convidado com uma sessão iniciada ou uma API key pessoal (`insufficient_scope`); uma key de agente ou da organização sempre recebe isto.
404O projeto ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/attachments/00000000-0000-4000-8000-000000000009/" \
  -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.
  • Exige uma pessoa: chame com 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 `403 insufficient_scope`.
POST/v1/plan/projects/{project_id}/milestones/{milestone_id}/restore/BetaChave de APICLI Auth

Restaurar um marco retirado

Traz de volta um marco retirado. É o inverso de retirar um marco com DELETE. Idempotente: um marco que não está retirado é devolvido sem alterações. Envie um Idempotency-Key para repetir com segurança.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.

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
(body)ProjectMilestoneObrigatórioUm objeto ProjectMilestone.

Erros

StatusQuando
400O nome do agente não é vá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].
403A credencial não pode escrever no Plan (`insufficient_scope`), ou quem chama é convidado (`guest_not_allowed`).
404O projeto ou o marco não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/restore/" \
  -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.
  • 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/projects/{project_id}/milestones/{milestone_id}/attachments/BetaChave de APICLI AuthPaginação por número de página

Listar os anexos do marco

Os anexos prontos do marco, ordenados por posição. Qualquer pessoa que possa ver o projeto pode listá-los; um projeto que você não pode ver é 404. Cada url é um link de download. Não o guarde: mantenha o uuid do anexo e leia de novo quando precisar do arquivo. Referencie-o na description do marco com um marcador attachment:{uuid} e resolva-o com GET /v1/plan/attachments/resolve/ ao renderizar.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.

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 TaskAttachment

NomeTipoObrigatórioDescrição
uuiduuidObrigatórioIdentificador público estável.
filenamestringObrigatórioNome do arquivo.
content_typestringObrigatórioTipo MIME.
sizeintegerObrigatórioTamanho em bytes.
urlstringObrigatórioOnde baixar o arquivo.
thumbnail_urluri | nullOpcionalMiniatura para imagens.
widthinteger | nullOpcional—
heightinteger | nullOpcional—
statusenumObrigatórioStatus atual. Um de pending, ready, scanning, rejected.
uploaded_byActorRef | nullOpcionalQuem enviou o arquivo. Veja ActorRef.
executed_by_agentobject | nullOpcionalO agente que executou isto em nome da pessoa, ou null quando nenhum foi nomeado: um objeto com uuid, name, username e avatar. A pessoa do campo de autor continua sendo a autora; o agente é mostrado como quem executou.
created_atdate-timeObrigatórioQuando a linha foi criada.

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<TaskAttachment>ObrigatórioAs linhas desta página. Veja TaskAttachment.

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 projeto ou o marco não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/attachments/" \
  -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.
  • 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/projects/{project_id}/milestones/{milestone_id}/attachments/BetaChave de APICLI Auth

Enviar um anexo do marco

Anexa um arquivo do marco. Envie multipart/form-data com o campo file e uma caption opcional; aqui não há fluxo de pré-assinatura. O limite é de 5 MiB: um arquivo maior é 400 attachment_too_large, com extra.max_size_bytes. O tipo de arquivo é verificado pelo conteúdo contra a mesma lista dos anexos de projetos (attachment_invalid_type). Anexar segue as regras de escrita do próprio marco. Referencie-o na description do marco com um marcador attachment:{uuid} e resolva-o com GET /v1/plan/attachments/resolve/ ao renderizar.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.

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
filebinaryObrigatórioO arquivo a enviar (máximo de 5 MiB por esta via).
captionstringOpcionalLegenda opcional. Máximo de 255 caracteres.

Resposta

NomeTipoObrigatórioDescrição
(body)TaskAttachmentObrigatórioUm objeto TaskAttachment.

Erros

StatusQuando
400O arquivo está ausente, é grande demais (`attachment_too_large`, acima de 5 MiB), tem um tipo não aceito (`attachment_invalid_type`) ou o limite de 50 foi atingido (`attachment_limit_reached`). `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].
403A credencial não pode escrever no Plan (`insufficient_scope`), ou quem chama é convidado (`guest_not_allowed`).
404O projeto ou o marco não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/attachments/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -F "[email protected]"

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.
  • 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/projects/{project_id}/milestones/{milestone_id}/attachments/{attachment_id}/BetaChave de APICLI Auth

Obter um anexo do marco

Um anexo do marco. Qualquer pessoa que possa ver o projeto pode lê-lo.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.
attachment_idstringObrigatórioO uuid do anexo.

Resposta

NomeTipoObrigatórioDescrição
(body)TaskAttachmentObrigatórioUm objeto TaskAttachment.

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 projeto, o marco ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/attachments/00000000-0000-4000-8000-000000000009/" \
  -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.
  • 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/projects/{project_id}/milestones/{milestone_id}/attachments/{attachment_id}/BetaChave de APICLI Auth

Renomear um anexo do marco

Muda o nome do arquivo do anexo; o conteúdo não muda. As regras são as do próprio marco.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.
attachment_idstringObrigatórioO uuid do anexo.

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
filenamestringObrigatórioO novo nome do arquivo.
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)TaskAttachmentObrigatórioUm objeto TaskAttachment.

Erros

StatusQuando
400O nome está ausente ou não é válido. `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].
403A credencial não pode escrever no Plan (`insufficient_scope`), ou quem chama é convidado (`guest_not_allowed`).
404O projeto, o marco ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/attachments/00000000-0000-4000-8000-000000000009/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"filename": "roadmap-v2.png"}'

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.
  • 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.
DELETE/v1/plan/projects/{project_id}/milestones/{milestone_id}/attachments/{attachment_id}/BetaChave de APICLI Auth

Remover um anexo do marco

Remove o anexo. As regras são as do próprio marco.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.
attachment_idstringObrigatórioO uuid do anexo.

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
400O nome do agente não é vá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].
403A credencial não pode escrever no Plan (`insufficient_scope`), ou quem chama é convidado (`guest_not_allowed`).
404O projeto, o marco ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/attachments/00000000-0000-4000-8000-000000000009/" \
  -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.
  • 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/projects/{project_id}/milestones/{milestone_id}/attachments/{attachment_id}/content/BetaChave de APICLI Auth

Baixar os bytes de um anexo do marco

Transmite o arquivo com o tipo de conteúdo registrado no envio, X-Content-Type-Options: nosniff e Cache-Control: no-store. Nunca redireciona para o armazenamento. Qualquer pessoa que possa ver o projeto pode baixá-lo.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
milestone_idstringObrigatórioO uuid do marco.
attachment_idstringObrigatórioO uuid do anexo.

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 projeto, o marco ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
409O anexo ainda não está pronto (`attachment_not_ready`).
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/milestones/00000000-0000-4000-8000-000000000007/attachments/00000000-0000-4000-8000-000000000009/content/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" -o roadmap.png

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/projects/{project_id}/updates/{update_id}/BetaChave de APICLI Auth

Obter uma atualização de projeto

Uma nota de status, com seus attachments prontos incluídos, provenance, edited_at (nulo até a primeira edição) e executed_by_agent.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualização.

Resposta

NomeTipoObrigatórioDescrição
(body)ProjectUpdateObrigatórioUm objeto ProjectUpdate.

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 projeto ou a atualização não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/00000000-0000-4000-8000-00000000000a/" \
  -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.
  • 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/projects/{project_id}/updates/{update_id}/BetaChave de APICLI Auth

Editar uma atualização de projeto

Altera body e/ou health (null o limpa) e marca edited_at. Somente a pessoa autora pode editar (403 update_not_author). created_by e o executed_by_agent original nunca mudam; uma edição feita com uma API key, ou marcada com um agente, deixa provenance como agent_authored. Para colocar imagens no texto, envie-as aos anexos da atualização e adicione marcadores attachment:{uuid} ao body. Envie If-Match ou um version no corpo para não sobrescrever uma edição concorrente.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualização.

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
bodystringOpcionalMarkdown. Máx. 20000 caracteres.
healthenum | nullOpcionalSaúde declarada. Um de not_set, on_track, at_risk, off_track.
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)ProjectUpdateObrigatórioUm objeto ProjectUpdate.

Erros

StatusQuando
400O corpo está vazio ou é longo demais (`update_body_too_long`), ou `health` não é válido. `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].
403Somente a pessoa autora da atualização pode fazer isto (`update_not_author`).
404O projeto ou a atualização não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/00000000-0000-4000-8000-00000000000a/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"body": "Staging is green; rolling out Friday.", "health": "on_track"}'

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.
  • 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.
DELETE/v1/plan/projects/{project_id}/updates/{update_id}/BetaChave de APICLI Auth

Excluir uma atualização de projeto

Exclui a atualização e seus anexos; um arquivo armazenado é apagado quando mais nada o referencia. A pessoa autora ou um administrador da organização pode excluí-la (403 update_not_author para qualquer outra pessoa).

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualização.

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
400O nome do agente não é vá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].
403Somente a pessoa autora da atualização pode fazer isto (`update_not_author`).
404O projeto ou a atualização não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/00000000-0000-4000-8000-00000000000a/" \
  -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.
  • 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/projects/{project_id}/updates/{update_id}/attachments/BetaChave de APICLI AuthPaginação por número de página

Listar os anexos da atualização

Os anexos prontos da atualização, ordenados por posição. Qualquer pessoa que possa ver o projeto pode listá-los; um projeto que você não pode ver é 404. Cada url é um link de download. Não o guarde: mantenha o uuid do anexo e leia de novo quando precisar do arquivo. Referencie-o na body da atualização com um marcador attachment:{uuid} e resolva-o com GET /v1/plan/attachments/resolve/ ao renderizar.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualizaçã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 TaskAttachment

NomeTipoObrigatórioDescrição
uuiduuidObrigatórioIdentificador público estável.
filenamestringObrigatórioNome do arquivo.
content_typestringObrigatórioTipo MIME.
sizeintegerObrigatórioTamanho em bytes.
urlstringObrigatórioOnde baixar o arquivo.
thumbnail_urluri | nullOpcionalMiniatura para imagens.
widthinteger | nullOpcional—
heightinteger | nullOpcional—
statusenumObrigatórioStatus atual. Um de pending, ready, scanning, rejected.
uploaded_byActorRef | nullOpcionalQuem enviou o arquivo. Veja ActorRef.
executed_by_agentobject | nullOpcionalO agente que executou isto em nome da pessoa, ou null quando nenhum foi nomeado: um objeto com uuid, name, username e avatar. A pessoa do campo de autor continua sendo a autora; o agente é mostrado como quem executou.
created_atdate-timeObrigatórioQuando a linha foi criada.

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<TaskAttachment>ObrigatórioAs linhas desta página. Veja TaskAttachment.

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 projeto ou a atualização não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/00000000-0000-4000-8000-00000000000a/attachments/" \
  -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.
  • 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/projects/{project_id}/updates/{update_id}/attachments/BetaChave de APICLI Auth

Enviar um anexo da atualização

Anexa um arquivo da atualização. Envie multipart/form-data com o campo file e uma caption opcional; aqui não há fluxo de pré-assinatura. O limite é de 5 MiB: um arquivo maior é 400 attachment_too_large, com extra.max_size_bytes. O tipo de arquivo é verificado pelo conteúdo contra a mesma lista dos anexos de projetos (attachment_invalid_type). Somente a pessoa autora da atualização pode anexar (403 update_not_author). Envie primeiro e depois adicione o marcador ao body da atualização com um PATCH. Referencie-o na body da atualização com um marcador attachment:{uuid} e resolva-o com GET /v1/plan/attachments/resolve/ ao renderizar.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualização.

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
filebinaryObrigatórioO arquivo a enviar (máximo de 5 MiB por esta via).
captionstringOpcionalLegenda opcional. Máximo de 255 caracteres.

Resposta

NomeTipoObrigatórioDescrição
(body)TaskAttachmentObrigatórioUm objeto TaskAttachment.

Erros

StatusQuando
400O arquivo está ausente, é grande demais (`attachment_too_large`, acima de 5 MiB), tem um tipo não aceito (`attachment_invalid_type`) ou o limite de 50 foi atingido (`attachment_limit_reached`). `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].
403Somente a pessoa autora da atualização pode fazer isto (`update_not_author`).
404O projeto ou a atualização não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/00000000-0000-4000-8000-00000000000a/attachments/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -F "[email protected]"

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.
  • 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/projects/{project_id}/updates/{update_id}/attachments/{attachment_id}/BetaChave de APICLI Auth

Obter um anexo da atualização

Um anexo da atualização. Qualquer pessoa que possa ver o projeto pode lê-lo.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualização.
attachment_idstringObrigatórioO uuid do anexo.

Resposta

NomeTipoObrigatórioDescrição
(body)TaskAttachmentObrigatórioUm objeto TaskAttachment.

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 projeto, a atualização ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/00000000-0000-4000-8000-00000000000a/attachments/00000000-0000-4000-8000-000000000009/" \
  -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.
  • 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/projects/{project_id}/updates/{update_id}/attachments/{attachment_id}/BetaChave de APICLI Auth

Renomear um anexo da atualização

Muda o nome do arquivo do anexo; o conteúdo não muda. Somente a pessoa autora da atualização pode renomeá-lo (403 update_not_author).

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualização.
attachment_idstringObrigatórioO uuid do anexo.

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
filenamestringObrigatórioO novo nome do arquivo.
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)TaskAttachmentObrigatórioUm objeto TaskAttachment.

Erros

StatusQuando
400O nome está ausente ou não é válido. `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].
403Somente a pessoa autora da atualização pode fazer isto (`update_not_author`).
404O projeto, a atualização ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/00000000-0000-4000-8000-00000000000a/attachments/00000000-0000-4000-8000-000000000009/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"filename": "roadmap-v2.png"}'

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.
  • 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.
DELETE/v1/plan/projects/{project_id}/updates/{update_id}/attachments/{attachment_id}/BetaChave de APICLI Auth

Remover um anexo da atualização

Remove o anexo. A pessoa autora da atualização pode removê-lo, e também um administrador da organização (403 update_not_author para qualquer outra pessoa).

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualização.
attachment_idstringObrigatórioO uuid do anexo.

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
400O nome do agente não é vá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].
403Somente a pessoa autora da atualização pode fazer isto (`update_not_author`).
404O projeto, a atualização ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/00000000-0000-4000-8000-00000000000a/attachments/00000000-0000-4000-8000-000000000009/" \
  -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.
  • 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/projects/{project_id}/updates/{update_id}/attachments/{attachment_id}/content/BetaChave de APICLI Auth

Baixar os bytes de um anexo da atualização

Transmite o arquivo com o tipo de conteúdo registrado no envio, X-Content-Type-Options: nosniff e Cache-Control: no-store. Nunca redireciona para o armazenamento. Qualquer pessoa que possa ver o projeto pode baixá-lo.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualização.
attachment_idstringObrigatórioO uuid do anexo.

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 projeto, a atualização ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
409O anexo ainda não está pronto (`attachment_not_ready`).
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000001/updates/00000000-0000-4000-8000-00000000000a/attachments/00000000-0000-4000-8000-000000000009/content/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" -o roadmap.png

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/projects/{project_id}/attachments/{attachment_id}/BetaCLI Auth

Renomear um anexo do projeto

Muda o nome de exibição do arquivo; os bytes guardados não mudam. As regras são as do contêiner: somente administradores da organização.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
attachment_iduuidObrigatórioO uuid do anexo.

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
filenamestringObrigatórioO novo nome do arquivo (1–255 caracteres). Os bytes guardados não mudam.
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)TaskAttachmentObrigatórioUm objeto TaskAttachment.

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 item pai ou o anexo não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000003/attachments/00000000-0000-4000-8000-000000000009/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "filename": "spec-v2.pdf"
}'

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.
  • Exige uma pessoa: chame com 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 `403 insufficient_scope`.
GET/v1/plan/projects/{project_id}/updates/{update_id}/reactions/BetaChave de APICLI AuthPaginação por número de página

Listar quem reagiu a uma atualização do projeto

Todos os que reagiram à atualização, do mais antigo ao mais recente, como uma página. emoji restringe a um único emoji. O mesmo formato da lista de reações de um comentário.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualizaçã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.
emojistringOpcionalUm emoji; todos os emojis quando omitido. A mesma regra das escritas: qualquer outra coisa é 400 reaction_invalid_emoji.

Objeto Reactor

NomeTipoObrigatórioDescrição
emojistringObrigatório—
userActorRefObrigatórioQuem reagiu.
executed_by_agentAgentRef | nullOpcionalO agente que executou a reação por essa pessoa, ou null.
created_atdatetimeObrigatório—

Objeto ActorRef

NomeTipoObrigatórioDescrição
kindstringObrigatório—
uuidstringObrigatórioIdentificador público estável.
namestringOpcionalNome de exibição.
usernamestring | nullOpcional—
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<Reactor>ObrigatórioA página de objetos Reactor.

Erros

StatusQuando
400`emoji` não é um único emoji (`reaction_invalid_emoji`), 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].
404O projeto ou a atualização não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000003/updates/00000000-0000-4000-8000-000000000007/reactions/" \
  -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/projects/{project_id}/updates/{update_id}/reactions/BetaChave de APICLI Auth

Adicionar uma reação com emoji a uma atualização do projeto (idempotente)

Adiciona a sua reação emoji à atualização; adicioná-la de novo não muda nada. As mesmas regras das reações a comentários: um emoji, uma reação por pessoa por emoji, e uma pessoa por trás da credencial. Uma pessoa tem no máximo 20 emojis diferentes em uma atualização (400 reaction_limit_reached, extra.limit). A resposta é a atualização inteira com as reações.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualização.

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
emojistringObrigatórioO emoji. Máx. 32 caracteres.
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)ProjectUpdateObrigatórioUm objeto ProjectUpdate.

Erros

StatusQuando
400Não é um único emoji (`reaction_invalid_emoji`), uma key de agente ou da organização (`actor_required`), emojis diferentes demais seus nesta atualização (`reaction_limit_reached`), 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].
404O projeto ou a atualização não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X POST "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000003/updates/00000000-0000-4000-8000-000000000007/reactions/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "emoji": "👍"
}'

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.
  • 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.
DELETE/v1/plan/projects/{project_id}/updates/{update_id}/reactions/{emoji}/BetaChave de APICLI Auth

Remover a reação com emoji de quem chama de uma atualização do projeto

Remove a sua reação com este emoji da atualização. Responde 204 mesmo quando a reação já não estava lá.

Parâmetros de rota

NomeTipoObrigatórioDescrição
project_idstringObrigatórioO uuid do projeto.
update_idstringObrigatórioO uuid da atualização.
emojistringObrigatórioO emoji, em percent-encoding (UTF-8).

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].
404O projeto ou a atualização não existe ou você não pode vê-lo (`not_found`), nunca um 403.
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/projects/00000000-0000-4000-8000-000000000003/updates/00000000-0000-4000-8000-000000000007/reactions/%F0%9F%91%8D/" \
  -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:write`.
  • Limite de requisições: 60 escritas 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.

Esta página é a referência de Plan · Projetos. 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.