Plan · Tarefas
Crie, leia, atualize, mova, arquive e restaure tarefas, uma a uma ou em lote, além de relações, etiquetas, participantes e assinaturas. 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].
Listar tarefas de um quadro (alias de `GET /v1/plan/tasks/?board=`)
Alias de conveniência para clientes que aninham sob a URL do quadro. Mesmo envelope paginado de Task e mesma gramática de filtros compartilhada de GET /v1/plan/tasks/?board={board_id}. O board_id do caminho prevalece sobre um parâmetro de consulta board= conflitante.
Prefira este ou ?board= para listas simples; use GET …/boards/{id}/board/ para a interface de snapshot mais densa.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| board_id | string | Obrigatório | O uuid do quadro. |
Parâmetros de consulta
Paginação
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| page | integer | Opcional | Número da página, começando em 1. |
| page_size | integer | Opcional | Linhas por página. Padrão 50, máximo 100. Valores fora do intervalo são ajustados, nunca rejeitados: pedir 500 retorna 100. |
| limit | integer | Opcional | Alias de page_size, traduzido no servidor. |
| offset | integer | Opcional | Alias traduzido para page no servidor. |
Filtros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| search | string | Opcional | Corresponde ao título e à chave. Mais de 256 caracteres é 400 search_query_too_long, sem truncamento. q é um alias. |
| key_prefix | string | Opcional | Seleciona as tarefas de todos os quadros que uma chave já nomeou, incluindo chaves retiradas: ?key_prefix=ENG. Um prefixo desconhecido retorna uma lista vazia. |
| state | array | Opcional | Repetível; os valores são combinados com OR. Cada valor é ou um uuid de estado ou um de dois tokens de ciclo de vida:
- open - as categorias de estado que não são terminais: backlog, todo, in_progress.
- done - as categorias terminais: done, canceled.
Os tokens são decididos apenas por state.category e nunca consultam completed_at, então um cliente que classifica as linhas pela categoria do chip de estado concorda com este filtro por construção.
Misturar é permitido: um uuid e um token na mesma requisição são combinados com OR como qualquer outro valor repetido. Qualquer outro valor é 400 invalid_filter_value com extra.parameter: "state" - incluindo overdue, que não é um estado de ciclo de vida. Atraso é uma questão de data de entrega: veja due_before. |
| category | array | Opcional | As cinco categorias fixas de estado. Não existe uma categoria blocked: estar bloqueada é uma relação; use blocked=true. |
| owner | array | Opcional | Um uuid de usuário, me ou unowned. Repetível; os valores são combinados com OR, incluindo os tokens: owner=me&owner=unowned retorna suas tarefas e as que não têm responsável. me com uma key de agente ou da organização é 400 actor_required. |
| label | array | Opcional | Uuids de etiquetas: somente v4, no máximo 50, igual ao limite atual do filtro de etiquetas compartilhado. Um valor que não seja v4 é 400 invalid_label_filter. |
| priority | array | Opcional | 1=urgente, 2=alta, 3=média, 4=baixa, 5=nenhuma. Repetível. |
| parent | string | Opcional | Um uuid de tarefa pai, ou none para somente tarefas de nível superior. parent_task é aceito como alias deste parâmetro (mesmo valor). Enviar os dois com valores conflitantes é 400 invalid_filter_value. |
| parent_task | string | Opcional | Alias de parent, preferido por alguns clientes web. Mesma gramática (uuid ou none). Não envie os dois com valores diferentes. |
| blocked | boolean | Opcional | Derivado das relações, não de um status. Esta é a consulta que o produto responde com um vínculo em vez de um estado.
blocked=true significa um bloqueador ativo: uma relação blocks cuja tarefa de origem não está arquivada nem em uma categoria terminal. Um bloqueador que está ele mesmo done ou canceled não bloqueia nada e não corresponde.
Independente do ciclo de vida. Uma tarefa concluída ainda pode ter um bloqueador ativo, então blocked=true sozinho também retorna linhas terminais. O trabalho sobre o qual uma pessoa pode agir é blocked=true&state=open: essa combinação é o que reproduz o bloco blocked em GET /v1/plan/pulse/. |
| goal | string | Opcional | Repetível. Corresponde à meta da própria tarefa ou, quando ela não tem uma, à meta herdada do seu projeto, a mesma regra que todo resumo agregado de progresso usa. |
| team | string | Opcional | Repetível. A equipe do quadro. Restringe o que você vê e nunca o amplia. |
| participant | string | Opcional | Repetível. Alguém no card, responsável ou não. |
| created_by | string | Opcional | Repetível. Quem abriu o card. |
| estimate_min | integer | Opcional | estimate mínimo, inclusive, nas unidades guardadas na tarefa (sem conversão a partir da escala do quadro). |
| estimate_max | integer | Opcional | estimate máximo, inclusive, nas unidades guardadas na tarefa (sem conversão a partir da escala do quadro). |
Datas
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| due_before | string | Opcional | Inclusivo. Sozinho, significa atrasada ou com prazo até essa data - não exclui trabalho que já foi concluído.
Atrasado se escreve due_before=<today>&state=open. Essa combinação é a forma suportada, é o que reproduz o bloco overdue em GET /v1/plan/pulse/, e deliberadamente não existe o atalho state=overdue: state é uma dimensão de ciclo de vida e atraso é uma dimensão de data, então uma única forma evita que as duas divirjam. state=overdue responde 400 invalid_filter_value, o que diz respeito a essa forma de escrever e não à capacidade. |
| due_after | string | Opcional | Inclusivo. |
| start_after | string | Opcional | Uma data (YYYY-MM-DD): tarefas com start_date igual ou posterior, inclusive. Um valor inválido é 400 invalid_filter_value. |
| start_before | string | Opcional | Uma data (YYYY-MM-DD): tarefas com start_date igual ou anterior, inclusive. Um valor inválido é 400 invalid_filter_value. |
| completed_after | string | Opcional | Uma data (YYYY-MM-DD): tarefas concluídas nesse dia ou depois, inclusive (a data de completed_at). Um valor inválido é 400 invalid_filter_value. |
| completed_before | string | Opcional | Uma data (YYYY-MM-DD): tarefas concluídas nesse dia ou antes, inclusive (a data de completed_at). Um valor inválido é 400 invalid_filter_value. |
| has_due_date | boolean | Opcional | false é a primeira pergunta de quem planeja: o que não está agendado. |
| has_start_date | boolean | Opcional | true mantém as tarefas com start_date; false, as que não têm. |
| has_dates | boolean | Opcional | As duas bordas de agendamento de uma vez. has_dates=false significa nenhuma data de início nem data de entrega (a bandeja de não agendadas). has_dates=true significa pelo menos uma, o que não é o mesmo que has_due_date=true. |
| updated_since | string | Opcional | Um filtro de timestamp nesta lista paginada: retorna {count, next, previous, results}, nunca um cursor. Para um feed de mudanças, use o endpoint delta do quadro. |
| start_date | string | Opcional | Início da janela de data de criação. O que --since da CLI produz. |
| end_date | string | Opcional | Fim da janela de data de criação. O que --until da CLI produz. |
Linhas arquivadas
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| is_archived | boolean | Opcional | true retorna apenas linhas arquivadas; false (o padrão), apenas as ativas. Arquivar é a exclusão, então as linhas arquivadas continuam legíveis. |
| include_archived | boolean | Opcional | Incluir 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. |
Ordenação e expansão
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| sort | string | Opcional | Um campo, opcionalmente com prefixo -. Toda ordenação acrescenta um critério de desempate interno estável para que uma linha não apareça em duas páginas. Um valor não suportado é 400 invalid_sort, nunca uma alternativa silenciosa. |
Objeto Task
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| uuid | uuid | Obrigatório | Identificador público estável. |
| key | string | Obrigatório | Chave legível KEY-n, por exemplo ENG-142. Chaves aposentadas continuam resolvendo. |
| title | string | Obrigatório | O título da tarefa. Máx. 255 caracteres. |
| description | string | null | Opcional | Descrição livre. |
| board | uuid | Opcional | O quadro. |
| state | WorkflowState | Obrigatório | O estado da tarefa (sua coluna). Veja WorkflowState. |
| priority | integer | Opcional | 1 urgente, 2 alta, 3 média, 4 baixa, 5 nenhuma. De 1 a 5. |
| estimate | integer | null | Opcional | Estimativa na escala do quadro. |
| owner | UserRef | null | Opcional | A pessoa responsável pela tarefa. Veja UserRef. |
| executor | ActorRef | null | Opcional | O ator que faz o trabalho, quando diferente do responsável (por exemplo, um agente). Veja ActorRef. |
| executors | object[] | Opcional | Cada agente que executou uma escrita nesta tarefa em nome de alguém, do mais recente ao mais antigo: {uuid, name, username, avatar, first_at, last_at}. É separado de executor, que continua sendo quem está com a bola agora. Somente no detalhe da tarefa e nas respostas de escrita de uma única tarefa; não vem nas linhas de listas. |
| participant_count | integer | Opcional | Número de participantes. |
| start_date | date | null | Opcional | Data de início planejada. |
| due_date | date | null | Opcional | Data de vencimento. |
| milestone | null | {uuid, name, date} | Opcional | O marco para o qual esta tarefa conta. Todos os campos estão sempre presentes. |
| parent_task | null | {uuid, key, title} | Opcional | A tarefa pai, no caso de uma subtarefa. Apenas um nível de aninhamento. Todos os campos estão sempre presentes. |
| subtask_count | integer | Opcional | Número de subtarefas. |
| subtask_done_count | integer | Opcional | Número de subtarefas concluídas. |
| attachment_count | integer | Opcional | Número de anexos. |
| open_blocker_count | integer | Opcional | Número de bloqueios ativos. |
| labels | array<Label> | Opcional | Etiquetas da organização na tarefa. Veja Label. |
| rank | string | null | Opcional | Ordem opaca dentro da coluna. Nunca a calcule: mova com after / before. |
| blocked | boolean | Opcional | Tarefas com um bloqueio ativo. |
| blocked_since | date-time | null | Opcional | Quando a tarefa ficou bloqueada. |
| completed_at | date-time | null | Opcional | Quando foi concluído, ou null. |
| is_archived | boolean | Obrigatório | Se a linha está arquivada. Arquivar é a exclusão: linhas arquivadas continuam legíveis e restauráveis. |
| subscribed | boolean | Opcional | Se você observa esta tarefa. |
| version | integer | Obrigatório | Incrementa a cada escrita. Envie-o de volta como If-Match para recusar uma atualização desatualizada. |
| created_by | ActorRef | null | Opcional | Quem criou a linha. Veja ActorRef. |
| created_at | date-time | Opcional | Quando a linha foi criada. |
| updated_at | date-time | Opcional | Quando a linha mudou pela última vez. |
Objeto WorkflowState
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| uuid | uuid | Obrigatório | Identificador público estável. |
| name | string | Obrigatório | Nome de exibição. Máx. 48 caracteres. |
| category | enum | Obrigatório | Uma das cinco categorias fixas. Nunca muda após a criação. Um de backlog, todo, in_progress, done, canceled. |
| position | integer | Obrigatório | Posição da coluna, da esquerda para a direita. Mínimo 0. |
| color | string | Opcional | Cor de exibição (hex). |
| is_default | boolean | Opcional | Se novas tarefas entram neste estado por padrão. |
| is_archived | boolean | Opcional | Se a linha está arquivada. Arquivar é a exclusão: linhas arquivadas continuam legíveis e restauráveis. |
| task_count | integer | Opcional | Número de tarefas ativas. |
Objeto UserRef
Objeto ActorRef
Objeto Label
Resposta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| count | integer | Obrigatório | Número total de linhas. |
| next | uri | Obrigatório | URL da próxima página, ou null. |
| previous | uri | Obrigatório | URL da página anterior, ou null. |
| results | array<Task> | Obrigatório | As linhas desta página. Veja Task. |
Erros
| Status | Quando |
|---|---|
| 400 | A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
curl -sS "https://api.dailybot.com/v1/plan/boards/00000000-0000-4000-8000-000000000002/tasks/?state=open" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan board tasks 00000000-0000-4000-8000-000000000002 --page 2{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "00000000-0000-4000-8000-000000000005",
"key": "ENG-142",
"title": "Ship the delta feed",
"description": null,
"board": "00000000-0000-4000-8000-000000000002",
"state": {
"uuid": "00000000-0000-4000-8000-000000000003",
"name": "In Progress",
"category": "in_progress",
"position": 2
},
"priority": 2,
"estimate": 3,
"owner": {
"uuid": "00000000-0000-4000-8000-00000000000c",
"name": "Ada L."
},
"executor": null,
"participant_count": 1,
"start_date": "2026-09-28",
"due_date": "2026-10-15",
"milestone": null,
"parent_task": null,
"subtask_count": 1,
"subtask_done_count": 1,
"attachment_count": 1,
"open_blocker_count": 1,
"labels": [],
"rank": "aU",
"blocked": false,
"blocked_since": null,
"completed_at": null,
"is_archived": false,
"subscribed": true,
"version": 7,
"created_by": {
"kind": "user",
"uuid": "00000000-0000-4000-8000-00000000000c",
"name": "Ada L."
},
"created_at": "2026-09-25T10:14:02Z",
"updated_at": "2026-09-25T10:14:02Z"
}
]
}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.
Criar uma tarefa neste quadro (alias de `POST /v1/plan/tasks/`)
Mesma semântica de criação que POST /v1/plan/tasks/, com o quadro obtido do caminho (board no corpo é opcional e sobrescrito).
Idempotency-Key é opcional e recomendado.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| board_id | string | Obrigatório | O uuid do quadro. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Idempotency-Key | string | Opcional | Uma 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-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| milestone | uuid | null | Opcional | Ainda não é aceito na criação (501 not_implemented): defina o marco com PATCH depois de criar a tarefa. |
| title | string | Obrigatório | O título da tarefa. Máx. 255 caracteres. |
| description | string | null | Opcional | Descrição livre. Máx. 50000 caracteres. |
| priority | integer | Opcional | 1 urgente, 2 alta, 3 média, 4 baixa, 5 nenhuma. De 1 a 5. |
| estimate | integer | null | Opcional | Estimativa na escala do quadro. |
| owner | string | null | Opcional | O uuid de usuário do responsável. A pessoa já precisa conseguir ver o quadro (caso contrário, 400 participant_cannot_access_board). |
| start_date | date | null | Opcional | Data de início planejada. |
| due_date | date | null | Opcional | Data de vencimento. |
| parent_task | uuid | null | Opcional | A tarefa pai, no caso de uma subtarefa. Apenas um nível de aninhamento. |
| label_uuids | array | Opcional | Uuids das etiquetas a definir na tarefa. Itens: uuid. |
| after | uuid | null | Opcional | Coloca o pin logo abaixo deste pin. |
| before | uuid | null | Opcional | Coloca o pin logo acima deste pin. |
| version | integer | Opcional | A versão que você carregou. Um valor desatualizado resulta em 409 version_conflict. |
| agent_name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | Task | Obrigatório | Um objeto Task. |
Erros
| Status | Quando |
|---|---|
| 400 | A 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. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 409 | Conflito. O `code` da resposta indica qual (por exemplo, `version_conflict`). |
curl -sS -X POST "https://api.dailybot.com/v1/plan/boards/00000000-0000-4000-8000-000000000002/tasks/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"title": "Ship the delta feed",
"priority": 2
}'dailybot plan task create -t "Ship the delta feed" -b 00000000-0000-4000-8000-000000000002Testar
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.
Listar tarefas com a gramática de filtros compartilhada
A semântica de múltiplos valores é OR dentro de um parâmetro e AND entre parâmetros. Um parâmetro desconhecido é ignorado; um valor ilegível de um parâmetro conhecido é 400 invalid_filter_value.
Parâmetros de consulta
Paginação
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| page | integer | Opcional | Número da página, começando em 1. |
| page_size | integer | Opcional | Linhas por página. Padrão 50, máximo 100. Valores fora do intervalo são ajustados, nunca rejeitados: pedir 500 retorna 100. |
| limit | integer | Opcional | Alias de page_size, traduzido no servidor. |
| offset | integer | Opcional | Alias traduzido para page no servidor. |
Filtros
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| search | string | Opcional | Corresponde ao título e à chave. Mais de 256 caracteres é 400 search_query_too_long, sem truncamento. q é um alias. |
| board | array | Opcional | Uuids de quadros ou chaves de quadros (ENG). Repetível; os valores são combinados com OR. As chaves são resolvidas somente dentro da sua organização; uma chave que não corresponde a nenhum quadro seu não contribui com nada e nunca retorna 404. Chaves retiradas continuam sendo resolvidas. |
| key_prefix | string | Opcional | Seleciona as tarefas de todos os quadros que uma chave já nomeou, incluindo chaves retiradas: ?key_prefix=ENG. Um prefixo desconhecido retorna uma lista vazia. |
| project | array | Opcional | Uuids de projetos. Repetível; os valores são combinados com OR. |
| state | array | Opcional | Repetível; os valores são combinados com OR. Cada valor é ou um uuid de estado ou um de dois tokens de ciclo de vida:
- open - as categorias de estado que não são terminais: backlog, todo, in_progress.
- done - as categorias terminais: done, canceled.
Os tokens são decididos apenas por state.category e nunca consultam completed_at, então um cliente que classifica as linhas pela categoria do chip de estado concorda com este filtro por construção.
Misturar é permitido: um uuid e um token na mesma requisição são combinados com OR como qualquer outro valor repetido. Qualquer outro valor é 400 invalid_filter_value com extra.parameter: "state" - incluindo overdue, que não é um estado de ciclo de vida. Atraso é uma questão de data de entrega: veja due_before. |
| category | array | Opcional | As cinco categorias fixas de estado. Não existe uma categoria blocked: estar bloqueada é uma relação; use blocked=true. |
| owner | array | Opcional | Um uuid de usuário, me ou unowned. Repetível; os valores são combinados com OR, incluindo os tokens: owner=me&owner=unowned retorna suas tarefas e as que não têm responsável. me com uma key de agente ou da organização é 400 actor_required. |
| label | array | Opcional | Uuids de etiquetas: somente v4, no máximo 50, igual ao limite atual do filtro de etiquetas compartilhado. Um valor que não seja v4 é 400 invalid_label_filter. |
| priority | array | Opcional | 1=urgente, 2=alta, 3=média, 4=baixa, 5=nenhuma. Repetível. |
| parent | string | Opcional | Um uuid de tarefa pai, ou none para somente tarefas de nível superior. parent_task é aceito como alias deste parâmetro (mesmo valor). Enviar os dois com valores conflitantes é 400 invalid_filter_value. |
| parent_task | string | Opcional | Alias de parent, preferido por alguns clientes web. Mesma gramática (uuid ou none). Não envie os dois com valores diferentes. |
| blocked | boolean | Opcional | Derivado das relações, não de um status. Esta é a consulta que o produto responde com um vínculo em vez de um estado.
blocked=true significa um bloqueador ativo: uma relação blocks cuja tarefa de origem não está arquivada nem em uma categoria terminal. Um bloqueador que está ele mesmo done ou canceled não bloqueia nada e não corresponde.
Independente do ciclo de vida. Uma tarefa concluída ainda pode ter um bloqueador ativo, então blocked=true sozinho também retorna linhas terminais. O trabalho sobre o qual uma pessoa pode agir é blocked=true&state=open: essa combinação é o que reproduz o bloco blocked em GET /v1/plan/pulse/. |
| goal | string | Opcional | Repetível. Corresponde à meta da própria tarefa ou, quando ela não tem uma, à meta herdada do seu projeto, a mesma regra que todo resumo agregado de progresso usa. |
| team | string | Opcional | Repetível. A equipe do quadro. Restringe o que você vê e nunca o amplia. |
| participant | string | Opcional | Repetível. Alguém no card, responsável ou não. |
| created_by | string | Opcional | Repetível. Quem abriu o card. |
| estimate_min | integer | Opcional | estimate mínimo, inclusive, nas unidades guardadas na tarefa (sem conversão a partir da escala do quadro). |
| estimate_max | integer | Opcional | estimate máximo, inclusive, nas unidades guardadas na tarefa (sem conversão a partir da escala do quadro). |
Datas
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| due_before | string | Opcional | Inclusivo. Sozinho, significa atrasada ou com prazo até essa data - não exclui trabalho que já foi concluído.
Atrasado se escreve due_before=<today>&state=open. Essa combinação é a forma suportada, é o que reproduz o bloco overdue em GET /v1/plan/pulse/, e deliberadamente não existe o atalho state=overdue: state é uma dimensão de ciclo de vida e atraso é uma dimensão de data, então uma única forma evita que as duas divirjam. state=overdue responde 400 invalid_filter_value, o que diz respeito a essa forma de escrever e não à capacidade. |
| due_after | string | Opcional | Inclusivo. |
| start_after | string | Opcional | Uma data (YYYY-MM-DD): tarefas com start_date igual ou posterior, inclusive. Um valor inválido é 400 invalid_filter_value. |
| start_before | string | Opcional | Uma data (YYYY-MM-DD): tarefas com start_date igual ou anterior, inclusive. Um valor inválido é 400 invalid_filter_value. |
| completed_after | string | Opcional | Uma data (YYYY-MM-DD): tarefas concluídas nesse dia ou depois, inclusive (a data de completed_at). Um valor inválido é 400 invalid_filter_value. |
| completed_before | string | Opcional | Uma data (YYYY-MM-DD): tarefas concluídas nesse dia ou antes, inclusive (a data de completed_at). Um valor inválido é 400 invalid_filter_value. |
| has_due_date | boolean | Opcional | false é a primeira pergunta de quem planeja: o que não está agendado. |
| has_start_date | boolean | Opcional | true mantém as tarefas com start_date; false, as que não têm. |
| has_dates | boolean | Opcional | As duas bordas de agendamento de uma vez. has_dates=false significa nenhuma data de início nem data de entrega (a bandeja de não agendadas). has_dates=true significa pelo menos uma, o que não é o mesmo que has_due_date=true. |
| updated_since | string | Opcional | Um filtro de timestamp nesta lista paginada: retorna {count, next, previous, results}, nunca um cursor. Para um feed de mudanças, use o endpoint delta do quadro. |
| start_date | string | Opcional | Início da janela de data de criação. O que --since da CLI produz. |
| end_date | string | Opcional | Fim da janela de data de criação. O que --until da CLI produz. |
Linhas arquivadas
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| is_archived | boolean | Opcional | true retorna apenas linhas arquivadas; false (o padrão), apenas as ativas. Arquivar é a exclusão, então as linhas arquivadas continuam legíveis. |
| include_archived | boolean | Opcional | Incluir 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. |
Ordenação e expansão
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| sort | string | Opcional | Um campo, opcionalmente com prefixo -. Toda ordenação acrescenta um critério de desempate interno estável para que uma linha não apareça em duas páginas. Um valor não suportado é 400 invalid_sort, nunca uma alternativa silenciosa. |
Resposta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| count | integer | Obrigatório | Número total de linhas. |
| next | uri | Obrigatório | URL da próxima página, ou null. |
| previous | uri | Obrigatório | URL da página anterior, ou null. |
| results | array<Task> | Obrigatório | As linhas desta página. Veja Task. |
Erros
| Status | Quando |
|---|---|
| 400 | A validação falhou, ou um valor de filtro, ordenação ou `include` não foi reconhecido. O `code` da resposta indica qual. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O 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/tasks/?board=ENG&state=open&owner=me" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task list --board ENG --state open --owner me --jsonTestar
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.
Criar uma tarefa
A chave (ENG-143) é alocada a partir do contador do quadro e nunca é reutilizada, nem após arquivar.
Quando owner é definido, essa pessoa já precisa conseguir ver o quadro; caso contrário, a chamada é recusada com 400 participant_cannot_access_board e nada é gravado.
O posicionamento é relativo: after ou before indica uma tarefa visível na coluna de destino (no máximo um deles); omita ambos para adicionar no fim. rank bruto nunca é aceito.
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Idempotency-Key | string | Opcional | Uma 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-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| board | uuid | Obrigatório | O quadro: seu uuid ou sua chave (ENG). |
| milestone | uuid | null | Opcional | Ainda não é aceito na criação (501 not_implemented): defina o marco com PATCH depois de criar a tarefa. |
| title | string | Obrigatório | O título da tarefa. Máx. 255 caracteres. |
| description | string | null | Opcional | Descrição livre. Máx. 50000 caracteres. |
| priority | integer | Opcional | 1 urgente, 2 alta, 3 média, 4 baixa, 5 nenhuma. De 1 a 5. |
| estimate | integer | null | Opcional | Estimativa na escala do quadro. |
| owner | string | null | Opcional | O uuid de usuário do responsável. A pessoa já precisa conseguir ver o quadro (caso contrário, 400 participant_cannot_access_board). |
| start_date | date | null | Opcional | Data de início planejada. |
| due_date | date | null | Opcional | Data de vencimento. |
| parent_task | uuid | null | Opcional | A tarefa pai, no caso de uma subtarefa. Apenas um nível de aninhamento. |
| label_uuids | array | Opcional | Uuids das etiquetas a definir na tarefa. Itens: uuid. |
| after | uuid | null | Opcional | Coloca o pin logo abaixo deste pin. |
| before | uuid | null | Opcional | Coloca o pin logo acima deste pin. |
| version | integer | Opcional | A versão que você carregou. Um valor desatualizado resulta em 409 version_conflict. |
| agent_name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | Task | Obrigatório | Um objeto Task. |
Erros
| Status | Quando |
|---|---|
| 400 | A 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. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 409 | Conflito. O `code` da resposta indica qual (por exemplo, `version_conflict`). |
| 422 | Não foi possível aplicar a requisição (`column_too_large`). |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"board": "00000000-0000-4000-8000-000000000002",
"title": "Ship the delta feed",
"priority": 2,
"due_date": "2026-10-15"
}'dailybot plan task create -t "Ship the delta feed" -b 00000000-0000-4000-8000-000000000002 --owner me --priority 2Testar
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.
Criar até 100 tarefas, ou aplicar uma operação a elas
Registrado ANTES da rota de detalhe {task_id}, ou bulk seria interpretado como identificador. A atomicidade é por item, não por lote: a resposta informa cada item separadamente e o status HTTP descreve se o lote foi aceito, não se todos os itens tiveram sucesso. Idempotency-Key é obrigatório — uma movimentação em massa aplicada pela metade duas vezes é um quadro corrompido.
A operação restore é a forma em lote de POST .../tasks/{task_id}/restore/ e segue as mesmas regras.
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| dry_run | boolean | Opcional | Executa a chamada e a reverte. Responde {operation, dry_run, reversible, consequence, affects{tasks}, items[{index, task, key, changes{field:{from,to}}}], refused[{index, code, detail}]}. Não requer Idempotency-Key. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Idempotency-Key | string | Obrigatório | Obrigatório em operações em massa: um lote aplicado pela metade duas vezes é um quadro corrompido. A ausência resulta em 400 idempotency_key_required. |
| X-Dailybot-Agent-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| operation | enum | Obrigatório | A operação a aplicar. Um de move, update, archive, restore, create, set_labels. Aliases: set_owner, set_priority, set_due_date, set_parent (→ update); delete (→ archive). |
| board | uuid | Opcional | O quadro. Obrigatório quando operation é create. |
| items | array (max 100): mutate items {task (uuid or KEY-n, required), state, after, before, owner, priority 1-5, due_date, version, label_uuids (or labels), parent_task}; create items {title (≤512, required), description, state, owner, priority, estimate, start_date, due_date, external_id} | Obrigatório | Até 100 itens. |
| position | enum | Opcional | Somente com create: onde as novas tarefas ficam em cada coluna. start as coloca no topo, na ordem dos itens; end, embaixo. Um de start, end. Padrão end. |
| agent_name | string | Opcional | O 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. |
Objeto BulkResponse
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| succeeded | integer | Obrigatório | Itens que tiveram sucesso. |
| failed | integer | Obrigatório | Itens que falharam. |
| results | array | Obrigatório | As linhas desta página. Sempre presentes: task, status. Itens: {task: string, status: string, version: integer|null, code: string|null, detail: string|null, extra: object, external_id?: string, key?: string}. |
Resposta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | BulkResponse | Obrigatório | Um objeto BulkResponse. |
Erros
| Status | Quando |
|---|---|
| 400 | `Idempotency-Key` ausente (`idempotency_key_required`), mais de 100 itens (`too_many_items`) ou um payload inválido. `invalid_agent_attribution` significa que o nome do agente não é válido. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 409 | O mesmo `Idempotency-Key` ainda está em execução (`idempotency_in_progress`) ou foi usado com um corpo diferente (`idempotency_key_payload_mismatch`). |
| 429 | Limite de requisições atingido. Aguarde os segundos indicados em `Retry-After`. |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/bulk/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"operation": "create",
"board": "00000000-0000-4000-8000-000000000002",
"items": [
{
"title": "Write the migration guide",
"external_id": "row-1"
},
{
"title": "Record the demo",
"external_id": "row-2"
}
]
}'dailybot plan task bulk --operation create --board 00000000-0000-4000-8000-000000000002 -f tasks.json --dry-run
dailybot plan task bulk --operation create --board 00000000-0000-4000-8000-000000000002 -f tasks.json{
"succeeded": 1,
"failed": 1,
"results": [
{
"task": "ENG-142",
"status": "ok",
"version": 8
},
{
"task": "ENG-9",
"status": "error",
"code": "version_conflict",
"detail": "This task changed since you loaded it.",
"extra": {
"current_version": 4
}
}
]
}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: 30 chamadas em massa 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.
Obter uma tarefa por uuid ou por KEY-n
Referencie a tarefa por uuid ou por chave. Uma tarefa arquivada continua legível para qualquer pessoa que possa ver seu quadro; não é preciso include_archived em uma leitura direta. O ETag carrega a versão da tarefa.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| include | string | Opcional | Tokens de embed separados por vírgula no detalhe da tarefa. Permitidos: children, relations, participants, attachments, comment_count, activity, comments.
Cada embed de coleção é a primeira página do endpoint de listagem correspondente (activity corresponde a /tasks/{id}/activity/; comments corresponde a /tasks/{id}/comments/).
Tokens desconhecidos retornam 400 invalid_filter_value. Um valor vazio (?include=) é tratado como nenhum embed (200). Embeds não alteram o ETag da tarefa (somente a versão). |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| If-None-Match | string | Opcional | O ETag da sua leitura anterior. Uma correspondência responde 304. |
Resposta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | Task | Obrigatório | Um objeto Task. |
Erros
| Status | Quando |
|---|---|
| 304 | Sem mudanças: o ETag que você enviou em `If-None-Match` ainda corresponde. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/?include=relations,participants" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task get ENG-142 --jsonTestar
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.
Atualizar uma tarefa
Envie If-Match com a versão que você carregou para detectar uma atualização perdida. Sem ele, a escrita segue a regra de que a última escrita vence e ainda retorna a nova versão.
Campos desconhecidos no corpo retornam 400 (nunca um 200 silencioso). is_archived não é aceito no PATCH: use POST …/archive/ ou POST …/restore/.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| If-Match | string | Opcional | A version que você carregou, como validador entre aspas (ou envie-a no campo version do corpo). Um valor desatualizado é 409 version_conflict com extra.current_version; enviar os dois com valores diferentes é 400 version_precondition_ambiguous. Omiti-lo faz a última escrita vencer. |
| Idempotency-Key | string | Opcional | Uma 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-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| board | uuid | Opcional | O quadro. |
| milestone | uuid | null | Opcional | O marco para o qual esta tarefa conta. |
| title | string | Opcional | O título da tarefa. Máx. 255 caracteres. |
| description | string | null | Opcional | Descrição livre. Máx. 50000 caracteres. |
| priority | integer | Opcional | 1 urgente, 2 alta, 3 média, 4 baixa, 5 nenhuma. De 1 a 5. |
| estimate | integer | null | Opcional | Estimativa na escala do quadro. |
| owner | string | null | Opcional | O uuid de usuário do responsável. A pessoa já precisa conseguir ver o quadro (caso contrário, 400 participant_cannot_access_board). |
| start_date | date | null | Opcional | Data de início planejada. |
| due_date | date | null | Opcional | Data de vencimento. |
| parent_task | uuid | null | Opcional | A tarefa pai, no caso de uma subtarefa. Apenas um nível de aninhamento. |
| label_uuids | array | Opcional | Uuids das etiquetas a definir na tarefa. Itens: uuid. |
| after | uuid | null | Opcional | Coloca o pin logo abaixo deste pin. |
| before | uuid | null | Opcional | Coloca o pin logo acima deste pin. |
| version | integer | Opcional | A versão que você carregou. Um valor desatualizado resulta em 409 version_conflict. |
| agent_name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | Task | Obrigatório | Um objeto Task. |
Erros
| Status | Quando |
|---|---|
| 400 | A 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. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
| 409 | A tarefa mudou desde que você a carregou (`version_conflict`); `extra.current_version` traz a nova versão. |
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/tasks/ENG-142/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H 'If-Match: "7"' \
-H "Content-Type: application/json" \
-d '{
"owner": "00000000-0000-4000-8000-00000000000c",
"due_date": "2026-10-22"
}'dailybot plan task update ENG-142 --priority 1 --due 2026-10-01
dailybot plan task set-owner ENG-142 meTestar
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.
Arquivar uma tarefa (alias com DELETE)
DELETE é um alias de arquivar — a tarefa e suas subtarefas são arquivadas (204). Tarefas já arquivadas retornam 204 de forma idempotente. Prefira POST …/archive/ quando precisar do corpo arquivado na resposta. A concorrência (If-Match) não é aplicada neste alias; use PATCH para atualizações versionadas antes de arquivar, se necessário.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | O 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
| Status | Quando |
|---|---|
| 400 | O nome do agente não é válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Nã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/tasks/ENG-142/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task delete ENG-142 --yes # archives the taskTestar
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.
Listar as subtarefas diretas de uma tarefa
Cards de tarefas paginados (mesmo formato da lista de tarefas / snapshot do quadro). A ordem padrão é created_at (o rank tem escopo de coluna, então filhas em estados diferentes não são ordenadas entre si). Passe ?sort=rank ou ?ordering=rank quando todas as filhas compartilham uma coluna. Valores de ordenação não suportados são 400 invalid_sort (nunca ignorados silenciosamente). Arrastar entre irmãs usa POST …/move/ com after / before. Apenas um nível de aninhamento: netas são recusadas na escrita com subtask_depth_exceeded.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| page | integer | Opcional | Número da página, começando em 1. |
| page_size | integer | Opcional | Linhas por página. Padrão 50, máximo 100. Valores fora do intervalo são ajustados, nunca rejeitados: pedir 500 retorna 100. |
| sort | string | Opcional | Um campo, opcionalmente com prefixo -. Toda ordenação acrescenta um critério de desempate interno estável para que uma linha não apareça em duas páginas. Um valor não suportado é 400 invalid_sort, nunca uma alternativa silenciosa. |
| ordering | string | Opcional | Alias web de sort na lista de filhas. Mesma lista de valores permitidos e mesma semântica de recusa: valores não suportados são 400 invalid_sort, nunca ignorados silenciosamente. Não envie os dois parâmetros com valores conflitantes. |
Resposta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| count | integer | Obrigatório | Número total de linhas. |
| next | uri | Obrigatório | URL da próxima página, ou null. |
| previous | uri | Obrigatório | URL da página anterior, ou null. |
| results | array<Task> | Obrigatório | As linhas desta página. Veja Task. |
Erros
| Status | Quando |
|---|---|
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/children/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task children ENG-142Testar
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.
Arquivar uma tarefa e suas subtarefas
Arquivar anula o rank da tarefa, então ela sai de toda ordenação do quadro sem sair da tabela. Relações e participantes são mantidos.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| dry_run | boolean | Opcional | Mostra 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Idempotency-Key | string | Opcional | Uma 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-Name | string | Opcional | O 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.
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| operation | string | Obrigatório | A operação que seria executada. |
| dry_run | boolean | Obrigatório | Sempre true. |
| reversible | boolean | Obrigatório | Se a operação pode ser desfeita. |
| restore_path | string | null | Obrigatório | O caminho que a desfaria, ou null quando não há nenhum. |
| consequence | string | Obrigatório | Uma frase para mostrar a uma pessoa antes de agir. Descreve o efeito em cascata em vez de resumi-lo. |
| affects | object | Obrigatório | O que a operação afetaria, como contagens (inteiros) por tipo. |
| would_refuse | boolean | Opcional | Somente ao arquivar um estado do fluxo de trabalho: true quando a chamada real seria recusada. |
| refusal_code | string | Opcional | Somente ao arquivar um estado do fluxo de trabalho: o código de erro com que a chamada real responderia. |
Resposta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | Task | DryRunPreview | Obrigatório | Um objeto Task. Com ?dry_run=true, um objeto DryRunPreview no lugar. |
Erros
| Status | Quando |
|---|---|
| 400 | O nome do agente não é válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
| 409 | Conflito. O `code` da resposta indica qual (por exemplo, `version_conflict`). |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/archive/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task archive ENG-142 --dry-run
dailybot plan task archive ENG-142 --yesTestar
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.
Duplicar uma tarefa no mesmo quadro
Cria uma nova tarefa na mesma coluna. O include padrão copia title, description e labels. Emite task.created.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| include | array | Opcional | O que copiar. Padrão: title, description, labels. Itens: enum title|description|labels|priority|estimate|owner|start_date|due_date. |
| agent_name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | Task | Obrigatório | Um objeto Task. |
Erros
| Status | Quando |
|---|---|
| 400 | O nome do agente não é válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 403 | A tarefa está arquivada (`task_delete_forbidden`): restaure-a antes de duplicá-la. |
| 404 | Nã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/tasks/ENG-142/duplicate/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"include": [
"title",
"description",
"labels"
]
}'dailybot plan task duplicate ENG-142 --include title --include descriptionTestar
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.
Mover uma tarefa para outro quadro
O corpo exige board (uuid do quadro de destino). Resolução da coluna de destino: state explícito, ou state_map do uuid da coluna de origem → uuid da coluna de destino, ou a mesma category no quadro de destino. Emite task.moved (com from_board_uuid ao mudar de quadro). Mapeamentos inválidos retornam 400 move_board_state_invalid.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| If-Match | string | Opcional | A version que você carregou, como validador entre aspas (ou envie-a no campo version do corpo). Um valor desatualizado é 409 version_conflict com extra.current_version; enviar os dois com valores diferentes é 400 version_precondition_ambiguous. Omiti-lo faz a última escrita vencer. |
| X-Dailybot-Agent-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| board | uuid | Obrigatório | O quadro. |
| state | uuid | Opcional | O estado da tarefa (sua coluna). |
| state_map | object | Opcional | Uuid da coluna de origem → uuid da coluna de destino. |
| version | integer | Opcional | A versão que você carregou. Um valor desatualizado resulta em 409 version_conflict. |
| agent_name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | Task | Obrigatório | Um objeto Task. |
Erros
| Status | Quando |
|---|---|
| 400 | A 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. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
| 409 | A tarefa mudou desde que você a carregou (`version_conflict`). |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/move-board/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"board": "00000000-0000-4000-8000-000000000012"
}'dailybot plan task move ENG-142 --board 00000000-0000-4000-8000-000000000012Testar
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.
Mover uma tarefa para um estado e uma posição, de forma relativa
A única forma de mudar o estado de uma tarefa. A posição é um vizinho, não um número, então duas pessoas arrastando o mesmo card ao mesmo tempo produzem uma ordem válida. No máximo um entre after / before pode ser definido; ambos nulos adicionam ao final da coluna. Uma escrita, um evento task.moved. Envie If-Match (ou version) para recusar uma movimentação desatualizada.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| If-Match | string | Opcional | A version que você carregou, como validador entre aspas (ou envie-a no campo version do corpo). Um valor desatualizado é 409 version_conflict com extra.current_version; enviar os dois com valores diferentes é 400 version_precondition_ambiguous. Omiti-lo faz a última escrita vencer. |
| Idempotency-Key | string | Opcional | Uma 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-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| state | uuid | Obrigatório | O estado da tarefa (sua coluna). |
| board | uuid | null | Opcional | O quadro. |
| after | uuid | null | Opcional | Coloca o pin logo abaixo deste pin. |
| before | uuid | null | Opcional | Coloca o pin logo acima deste pin. |
| agent_name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | Task | Obrigatório | Um objeto Task. |
Erros
| Status | Quando |
|---|---|
| 400 | A 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. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
| 409 | A tarefa mudou desde que você a carregou (`version_conflict`), ou um vizinho indicado saiu do lugar (`rank_neighbor_missing`). A resposta informa o início e o fim atuais da coluna para que você possa tentar de novo. |
| 422 | Não foi possível aplicar a requisição (`column_too_large`). |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/move/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"state": "00000000-0000-4000-8000-000000000004",
"after": null,
"before": null
}'dailybot plan task move ENG-142 --state doneTestar
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.
As relações de uma tarefa, nas duas direções
blocked_by não é armazenado: é a leitura inversa de blocks, então há exatamente uma linha por fato e as duas direções não podem divergir. O campo direction indica de qual lado você está.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Objeto TaskRelation
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| uuid | uuid | Obrigatório | Identificador público estável. |
| relation_type | enum | Obrigatório | blocks, relates_to ou duplicates. Novos tipos podem ser adicionados: ignore os que você não reconhecer. Um de blocks, relates_to, duplicates. |
| direction | enum | null | Obrigatório | outgoing quando esta tarefa é a origem, incoming quando é o destino. Um de outgoing, incoming. |
| other_task | object | Obrigatório | A tarefa do outro lado. Formato: {uuid, key, title, state_category}. |
| created_at | date-time | Opcional | Quando a linha foi criada. |
Resposta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| count | integer | Obrigatório | Número total de linhas. |
| next | uri | Obrigatório | URL da próxima página, ou null. |
| previous | uri | Obrigatório | URL da página anterior, ou null. |
| results | array<TaskRelation> | Obrigatório | As linhas desta página. Veja TaskRelation. |
Erros
| Status | Quando |
|---|---|
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/relations/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task relations ENG-142 --json{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "00000000-0000-4000-8000-00000000000a",
"relation_type": "blocks",
"direction": "outgoing",
"other_task": {},
"created_at": "2026-09-25T10:14:02Z"
}
]
}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.
Vincular duas tarefas
Vincula esta tarefa a outra. Envie relation_type (blocks, relates_to ou duplicates) e target_task, um uuid de tarefa ou uma chave como ENG-142; uma tarefa que você não pode ver é 404. kind e target são aliases obsoletos desses dois campos: enviar um alias e o seu campo com valores diferentes é 400. Um vínculo que já existe ou criaria um ciclo é 409.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Idempotency-Key | string | Opcional | Uma 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-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| relation_type | enum | Obrigatório | blocks, relates_to ou duplicates. Novos tipos podem ser adicionados: ignore os que você não reconhecer. Obrigatório, ou o seu alias obsoleto kind. Um de blocks, relates_to, duplicates. |
| target_task | string | Obrigatório | A outra tarefa: o uuid ou uma chave como ENG-142. Uma tarefa que você não pode ver é 404. Obrigatório, ou o seu alias obsoleto target. |
| kind | enum | Opcional | Alias obsoleto de relation_type, mantido para clientes antigos. Envie relation_type no lugar; os dois com valores diferentes é 400. Um de blocks, relates_to, duplicates. |
| target | string | Opcional | Alias obsoleto de target_task, mantido para clientes antigos. Envie target_task no lugar; os dois com valores diferentes é 400. |
| agent_name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | TaskRelation | Obrigatório | Um objeto TaskRelation. |
Erros
| Status | Quando |
|---|---|
| 400 | Falta o tipo ou o destino, um alias não coincide com o seu campo ou há um valor inválido. `invalid_agent_attribution` significa que o nome do agente não é válido. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
| 409 | O vínculo já existe (`relation_exists`) ou criaria um ciclo (`relation_cycle`). |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/relations/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"relation_type": "blocks",
"target_task": "ENG-150"
}'dailybot plan task link ENG-142 ENG-150 --type blocksTestar
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.
Desvincular duas tarefas
Emite task.unrelated no fluxo de eventos da tarefa (não relation_removed). O enriquecimento de atividade o mapeia para changes[{field: related, from: …, to: null}].
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
| relation_id | string | Obrigatório | O uuid da relação. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | O 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
| Status | Quando |
|---|---|
| 400 | O nome do agente não é válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Nã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/tasks/ENG-142/relations/00000000-0000-4000-8000-00000000000a/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task unlink ENG-142 00000000-0000-4000-8000-00000000000a --yesTestar
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.
Adicionar, remover ou substituir as etiquetas de uma tarefa
As etiquetas são a taxonomia de toda a organização, compartilhada com formulários e check-ins; não há um vocabulário de etiquetas exclusivo de tarefas. No máximo 50 etiquetas por tarefa.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Idempotency-Key | string | Opcional | Uma 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-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| mode | enum | Obrigatório | add, remove ou replace. Um de add, remove, replace. |
| label_uuids | array | Obrigatório | Uuids das etiquetas a definir na tarefa. Itens: uuid. |
| agent_name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| labels | array<Label> | Obrigatório | Etiquetas da organização na tarefa. |
Erros
| Status | Quando |
|---|---|
| 400 | A 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. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
| 429 | Limite de requisições atingido. Aguarde os segundos indicados em `Retry-After`. |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/labels/batch/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"mode": "add",
"label_uuids": [
"00000000-0000-4000-8000-00000000000b"
]
}'dailybot plan task labels ENG-142 --mode add --label 00000000-0000-4000-8000-00000000000b{
"labels": [
{
"uuid": "00000000-0000-4000-8000-00000000000b",
"name": "backend",
"color": "#2563eb"
}
]
}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.
Inscrever-se nas notificações da tarefa (papel de observador)
A única forma de definir o campo subscribed da tarefa (enviar subscribed em um PATCH de tarefa é 400). Retorna {"subscribed": true}, então não é preciso ler de novo.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| subscribed | boolean | Obrigatório | Se você observa esta tarefa. |
Erros
| Status | Quando |
|---|---|
| 400 | O nome do agente não é válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Nã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/tasks/ENG-142/subscription/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN"dailybot plan task watch ENG-142{
"subscribed": true
}Testar
Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.
- Scope: `tasks:write`.
- Limite de requisições: 60 escritas por minuto por ator.
- Exige uma pessoa: chame com uma sessão iniciada, um token de usuário da CLI ou uma API key pessoal. Uma key de agente ou da organização recebe `403 insufficient_scope`.
Remover uma inscrição de observador
Remove a inscrição de observador de quem chama. Retorna 204 (corpo vazio). Faça um novo GET da tarefa para ver subscribed: false ou atualize o estado do cliente localmente.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | O 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
| Status | Quando |
|---|---|
| 400 | O nome do agente não é válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Nã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/tasks/ENG-142/subscription/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN"dailybot plan task unwatch ENG-142Testar
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`.
Restaurar uma tarefa arquivada
O espelho de arquivar: mesmo scope, mesmas credenciais, mesma idempotência. A tarefa volta ao final da sua coluna, porque seus antigos vizinhos já não estão lá. Restaurar uma tarefa ativa é um no-op 200.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Idempotency-Key | string | Opcional | Uma 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-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | Task | Obrigatório | Um objeto Task. |
Erros
| Status | Quando |
|---|---|
| 400 | O nome do agente não é válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
| 409 | O quadro ou o estado da tarefa foi arquivado nesse meio-tempo (`state_in_use`). A resposta informa o estado para que você possa escolher um destino. |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/restore/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task restore ENG-142Testar
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.
Quem está neste card
Participantes e observadores, dos mais antigos para os mais recentes, a ordem em que a faixa de pessoas do card é renderizada. Visível para qualquer pessoa que possa ver a tarefa. Participar não concede acesso: esta lista nunca amplia o que seus membros podem ver.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| page | integer | Opcional | Número da página, começando em 1. |
| page_size | integer | Opcional | Linhas por página. Padrão 50, máximo 100. Valores fora do intervalo são ajustados, nunca rejeitados: pedir 500 retorna 100. |
Objeto TaskParticipant
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| member | ActorRef | Obrigatório | A pessoa. Veja ActorRef. |
| role | enum | Obrigatório | Papel do participante. Um de participant, watcher. |
| source | enum | Obrigatório | Como a pessoa passou a estar no card. Um de manual, creator, owner, commented, mentioned, sync. |
| is_muted | boolean | Obrigatório | Permanecer no card sem notificações. |
| added_by | ActorRef | null | Opcional | Quem adicionou a pessoa. Veja ActorRef. |
| created_at | date-time | Obrigatório | Quando a linha foi criada. |
Resposta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| count | integer | Obrigatório | Número total de linhas. |
| next | uri | Obrigatório | URL da próxima página, ou null. |
| previous | uri | Obrigatório | URL da página anterior, ou null. |
| results | array<TaskParticipant> | Obrigatório | As linhas desta página. Veja TaskParticipant. |
Erros
| Status | Quando |
|---|---|
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 404 | Não encontrado ou não visível para você. Os dois casos retornam o mesmo corpo. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/participants/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN"dailybot plan task participants list ENG-142{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"member": {
"kind": "user",
"uuid": "00000000-0000-4000-8000-00000000000c",
"name": "Ada L."
},
"role": "participant",
"source": "manual",
"is_muted": false,
"added_by": {
"kind": "user",
"uuid": "00000000-0000-4000-8000-00000000000c",
"name": "Ada L."
},
"created_at": "2026-09-25T10:14:02Z"
}
]
}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`.
Colocar alguém neste card
Adiciona um participante ou observador. Adicionar alguém que já está no card retorna 200 com a linha existente. Adicionar ou remover um participante emite task.participant_added com actor_is_self, para que "alguém me adicionou" e "eu entrei" possam ser distinguidos. Uma mudança de observador não emite nada: seguir uma tarefa é uma preferência privada. Silenciar (is_muted) mantém a pessoa no card.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| Idempotency-Key | string | Opcional | Uma 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-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| user_uuid | uuid | Obrigatório | O uuid de usuário da pessoa. |
| role | enum | Opcional | Papel do participante. Um de participant, watcher. Padrão participant. |
| is_muted | boolean | Opcional | Permanecer no card sem notificações. Padrão false. |
| agent_name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | TaskParticipant | Obrigatório | Um objeto TaskParticipant. |
Erros
| Status | Quando |
|---|---|
| 400 | O nome do agente não é válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 403 | Autenticado, 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`). |
| 404 | Nã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/tasks/ENG-142/participants/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"user_uuid": "00000000-0000-4000-8000-00000000000c",
"role": "participant"
}'dailybot plan task participants add ENG-142 --user 00000000-0000-4000-8000-00000000000c --role participant
dailybot plan task mute ENG-142
dailybot plan task unmute ENG-142Testar
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`.
Tirar alguém deste card
Remove a pessoa do card e emite task.participant_removed. Sair não é silenciar: para parar de receber notificações mas continuar no card, defina is_muted pelo endpoint de adição.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
| user_uuid | string | Obrigatório | O uuid de usuário do participante. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | O 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
| Status | Quando |
|---|---|
| 400 | O nome do agente não é válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 403 | Autenticado, 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`). |
| 404 | Nã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/tasks/ENG-142/participants/00000000-0000-4000-8000-00000000000c/" \
-H "Authorization: Bearer $DAILYBOT_TOKEN"dailybot plan task participants remove ENG-142 00000000-0000-4000-8000-00000000000c --yesTestar
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`.
Renomear um anexo da tarefa
Muda o nome de exibição do arquivo; os bytes guardados não mudam. Qualquer pessoa que possa escrever no item pai pode renomear seus anexos.
Parâmetros de rota
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| task_id | string | Obrigatório | Um uuid de tarefa ou sua chave, como ENG-142, incluindo uma chave retirada por uma renomeação de quadro. A resolução tem escopo primeiro na sua organização, então a chave de outra organização é um 404 idêntico ao de uma inexistente. Ids numéricos nunca são aceitos. |
| attachment_id | uuid | Obrigatório | O uuid do anexo. |
Cabeçalhos
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| filename | string | Obrigatório | O novo nome do arquivo (1–255 caracteres). Os bytes guardados não mudam. |
| agent_name | string | Opcional | O 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
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| (body) | TaskAttachment | Obrigatório | Um objeto TaskAttachment. |
Erros
| Status | Quando |
|---|---|
| 400 | A validação falhou; o `code` da resposta indica qual campo. `invalid_agent_attribution` significa que o nome do agente não é válido. |
| 401 | Credencial ausente, expirada ou malformada (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | O Plan ainda não está habilitado para sua organização (`plan_upgrade_required`). É o esperado durante a Beta: escreva para [email protected]. |
| 403 | Você não pode escrever aqui (`insufficient_scope`), ou é convidado (`guest_not_allowed`). |
| 404 | O 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/tasks/ENG-142/attachments/00000000-0000-4000-8000-000000000009/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "spec-v2.pdf"
}'dailybot plan task attachments rename ENG-142 00000000-0000-4000-8000-000000000009 spec-v2.pdfTestar
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 · Tarefas. 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.