Tarefas e boards
Boards, colunas, tarefas, dependências e tarefas pessoais.
| Método | Path | Resumo | Acesso |
|---|---|---|---|
| GET | /me/tasks | Lista tasks vivas do user filtrando por status. | Login |
| POST | /me/tasks | Cria uma task pessoal do usuário autenticado com sanitização de title/notes (defesa a XSS em SSR/email/push) e cálculo server-side do `re... | Login |
| DELETE | /me/tasks/{taskID} | Soft-deleta uma task (deleted_at = now()). | Login |
| PATCH | /me/tasks/{taskID} | Aplica partial update numa task (title/notes/due_at/ completed/reminder/position) com sanitização e recomputação do reminder ancorado ao... | Login |
| GET | /me/tasks/{taskID}/comments | Lista comentários de uma task pessoal do caller. | Login |
| POST | /me/tasks/{taskID}/comments | Cria comentário sob uma task pessoal do caller. | Login |
| POST | /me/tasks/{taskID}/restore | Re-vivifica uma task pessoal soft-deleted do caller. | Login |
| POST | /me/tasks/{taskID}/snooze | Adia o reminder de uma task pessoal em N minutos. | Login |
| GET | /me/tasks/assigned | — GET /me/tasks/assigned?team_id=<UUID>. | Login |
| PATCH | /me/tasks/bulk | Executa uma ação em massa sobre tasks do caller. | Login |
| POST | /me/tasks/renormalize | Reescreve `position` das tasks vivas em sequência 100, 200, 300… preservando a ordem corrente. | Login |
| GET | /me/tasks/trash | Devolve até 50 tasks soft-deleted do caller. | Login |
| DELETE | /me/tasks/trash | Apaga DEFINITIVAMENTE tasks do caller já na lixeira. | Login |
| DELETE | /me/tasks/trash/bulk | Apaga DEFINITIVAMENTE tasks do caller já na lixeira. | Login |
| GET | /me/time/ | — GET /me/time?from=&to=&limit=. | Login |
| GET | /me/time/active | — GET /me/time/active. | Login |
| GET | /me/time/entries | Lista entries do user com filtros opcionais (from/until/task_id/limit); resolve titles em batch pra evitar N+1. | Login |
| DELETE | /me/time/entries/{entryID} | Apaga em definitivo uma entry do próprio user (hard delete — time entries não têm soft-delete). | Login |
| POST | /me/time/manual | Cria uma entry retroativa fechada (mode=manual) com validação de janela (started_at < ended_at, ≤ 24h). | Login |
| GET | /me/time/pomodoro/settings | Devolve a configuração de Pomodoro do caller; aplica defaults em memória se não houver row. | Login |
| PATCH | /me/time/pomodoro/settings | Grava a configuração de Pomodoro do caller (PUT semantics — body completo). | Login |
| POST | /me/time/pomodoro/start | Abre uma time-tracking entry com mode="pomodoro_focus". | Login |
| GET | /me/time/running | Devolve a entry rodando do user ou {entry:null} quando não há timer ativo (UI distingue "loading" de "vazio"). | Login |
| POST | /me/time/start | — POST /me/time/start. | Login |
| POST | /me/time/stop | — POST /me/time/stop. | Login |
| GET | /me/time/totals | Agrega tempo por task no período (today|week|month). | Login |
| GET | /teams/{teamId}/boards/ | — GET /teams/{teamId}/boards[?timeline_id=<uuid>]. | Membro da equipe |
| POST | /teams/{teamId}/boards/ | Cria board (com colunas iniciais opcionais) | Membro da equipe |
| GET | /teams/{teamId}/boards/{id} | — GET /teams/{teamId}/boards/{id}. | Membro da equipe |
| DELETE | /teams/{teamId}/boards/{id} | — DELETE /teams/{teamId}/boards/{id}. | Membro com escopo |
| PATCH | /teams/{teamId}/boards/{id} | PATCH do board agora tambem aceita capa, avatar e emoji (mesma transacao do nome/descricao) | Membro da equipe |
| PUT | /teams/{teamId}/boards/{id}/avatar | Define o avatar (foto) e/ou o emoji do board (mesma permissao de editar o board) | Membro da equipe |
| DELETE | /teams/{teamId}/boards/{id}/avatar | Remove a foto E o emoji do board. Idempotente | Membro da equipe |
| PUT | /teams/{teamId}/boards/{id}/channel | Vincula/desvincula o board a um canal (timeline_id null desvincula) | Membro com escopo |
| GET | /teams/{teamId}/boards/{id}/columns | — GET /teams/{teamId}/boards/{id}/columns. | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/columns | Cria coluna (aceita color) | Membro da equipe |
| PUT | /teams/{teamId}/boards/{id}/cover | Define a capa do board (mesma permissao de editar o board) | Membro da equipe |
| DELETE | /teams/{teamId}/boards/{id}/cover | Remove a capa do board (arquivo, posicao e cor). Idempotente | Membro da equipe |
| GET | /teams/{teamId}/boards/{id}/custom-field-values | Valores de campos customizados de TODAS as tarefas vivas do board, em lote | Membro da equipe |
| GET | /teams/{teamId}/boards/{id}/custom-fields | — GET /boards/{id}/custom-fields (options nunca null). | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/custom-fields | — POST /boards/{id}/custom-fields. | Membro da equipe |
| PUT | /teams/{teamId}/boards/{id}/custom-fields/{fieldId} | — PUT /boards/{id}/custom-fields/{fieldId}. | Membro da equipe |
| DELETE | /teams/{teamId}/boards/{id}/custom-fields/{fieldId} | — DELETE /boards/{id}/custom-fields/{fieldId}. | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/custom-fields/apply-preset | Cria no board os campos do(s) preset(s), idempotente e transacional | Membro da equipe |
| GET | /teams/{teamId}/boards/{id}/dependencies | Arestas com as duas pontas no board (setas do Gantt). | Membro da equipe |
| GET | /teams/{teamId}/boards/{id}/filters | {filter_state, named_filters} do usuário; "{}" quando nunca salvou. | Membro da equipe |
| PUT | /teams/{teamId}/boards/{id}/filters | Grava filter_state e/ou named_filters (ausente = mantém); 400 se não forem objetos JSON. | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/import/asana | Importa um CSV exportado do Asana como colunas + tasks (com subtasks) no board. | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/import/confluence | Importa um export HTML do Confluence (página única ou ZIP do espaço, detectado pelos magic bytes). | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/import/google-docs | Importa um export "Página da Web (.html, compactado)" do Google Docs. | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/import/notion | Importa um database do Notion em CSV para a coluna "Imported from Notion". | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/import/trello | Reconstrói um board do Trello (listas → colunas, cards → tasks, checklists → itens). | Membro da equipe |
| GET | /teams/{teamId}/boards/{id}/labels | — GET /boards/{id}/labels. | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/labels | — POST /boards/{id}/labels. | Membro da equipe |
| DELETE | /teams/{teamId}/boards/{id}/labels/{labelId} | — DELETE /boards/{id}/labels/{labelId}. | Membro da equipe |
| PATCH | /teams/{teamId}/boards/{id}/labels/{labelId} | — PATCH /boards/{id}/labels/{labelId}. | Membro da equipe |
| PUT | /teams/{teamId}/boards/{id}/my-view | 200 {ok, preferred_view}; 400 view inválida. | Membro da equipe |
| DELETE | /teams/{teamId}/boards/{id}/my-view | Zera a preferência do usuário (filtros preservados). | Membro da equipe |
| GET | /teams/{teamId}/boards/{id}/statuses | Lista os status do board (ordenados por position) | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/statuses | Cria status (autor do board, admin do team ou admin/moderador do canal) | Membro com escopo |
| DELETE | /teams/{teamId}/boards/{id}/statuses/{sid} | Exclui status migrando as tarefas | Membro com escopo |
| PATCH | /teams/{teamId}/boards/{id}/statuses/{sid} | Edita status | Membro com escopo |
| POST | /teams/{teamId}/boards/{id}/statuses/reorder | Reordena os status (a lista tem de conter TODOS os status vivos, sem repeticao) | Membro com escopo |
| GET | /teams/{teamId}/boards/{id}/tasks | Tarefas do board (todos os campos + contagem de subtarefas) | Membro da equipe |
| GET | /teams/{teamId}/boards/{id}/templates | 200 {items: []} (nunca null). | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/templates | 201 Template; 400 name/title ausentes, priority inválida, JSON ruim; 404 from_task_id fora do board. | Membro da equipe |
| DELETE | /teams/{teamId}/boards/{id}/templates/{templateId} | 200 {ok}; 404 se o template não é deste board/team. | Membro da equipe |
| POST | /teams/{teamId}/boards/{id}/templates/{templateId}/instantiate | Cria a task do template na coluna (checklist semeado, evento task.created na outbox); 201 Task; 400 column_id/parent_task_id inválidos; 4... | Membro da equipe |
| PUT | /teams/{teamId}/boards/{id}/view-default | 403 se não for admin do board/team; 400 view inválida; 200 {ok, default_view}. | Membro da equipe |
| DELETE | /teams/{teamId}/boards/{id}/view-default | Mesmo gate de admin; idempotente. | Membro da equipe |
| GET | /teams/{teamId}/boards/{id}/view-prefs | Preferencias de view do board (agora com a view efetiva resolvida no servidor) | Membro da equipe |
| PUT | /teams/{teamId}/boards/{id}/view-prefs | Grava as colunas da Lista do USUARIO neste board (`null` volta ao padrao) | Membro da equipe |
| DELETE | /teams/{teamId}/columns/{id} | Exclui coluna VAZIA | Membro da equipe |
| PATCH | /teams/{teamId}/columns/{id} | Edita coluna (aceita color; "" limpa) | Membro da equipe |
| POST | /teams/{teamId}/tasks/ | Cria tarefa (campos novos opcionais) | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id} | Tarefa (inclui status_id e icon; idem em toda listagem de tarefas) | Membro da equipe |
| DELETE | /teams/{teamId}/tasks/{id} | — DELETE /teams/{teamId}/tasks/{id}. | Membro com escopo |
| PATCH | /teams/{teamId}/tasks/{id} | Edita tarefa (aceita status_id e icon) | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id}/assignees | — GET /teams/{teamId}/tasks/{id}/assignees. | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/assignees | — POST /teams/{teamId}/tasks/{id}/assignees. | Membro da equipe |
| DELETE | /teams/{teamId}/tasks/{id}/assignees/{userId} | — DELETE /teams/{teamId}/tasks/{id}/assignees/{userId}. | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id}/checklists | — GET /teams/{teamId}/tasks/{id}/checklists. | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/checklists | — POST /teams/{teamId}/tasks/{id}/checklists. | Membro da equipe |
| DELETE | /teams/{teamId}/tasks/{id}/checklists/{itemId} | — DELETE /teams/{teamId}/tasks/{id}/checklists/{itemId}. | Membro da equipe |
| PATCH | /teams/{teamId}/tasks/{id}/checklists/{itemId} | — PATCH /teams/{teamId}/tasks/{id}/checklists/{itemId}. | Membro da equipe |
| PUT | /teams/{teamId}/tasks/{id}/cover | Define a capa da tarefa (mesma permissao do PATCH da tarefa - autor, admin do canal ou owner/admin do team) | Membro da equipe |
| DELETE | /teams/{teamId}/tasks/{id}/cover | Remove a capa da tarefa. Idempotente | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id}/custom-fields | — GET /tasks/{id}/custom-fields. | Membro da equipe |
| PUT | /teams/{teamId}/tasks/{id}/custom-fields/{fieldId} | — PUT /tasks/{id}/custom-fields/{fieldId} {value}. | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id}/deliverables | — GET .../tasks/{id}/deliverables. | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/deliverables | Gate de escrita → body (400) → conteúdo validado (413/422) → 1 tx. | Membro da equipe |
| DELETE | /teams/{teamId}/tasks/{id}/deliverables/{did} | — DELETE .../deliverables/{did}. | Membro da equipe |
| PATCH | /teams/{teamId}/tasks/{id}/deliverables/{did} | Gate de escrita → body → merge validado no repo (kind imutável). | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/deliverables/reorder | Define a ordem (lista completa de ids ativos, sem repeticao) | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id}/dependencies | Do que a task depende. | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/dependencies | Cria a aresta id -> depends_on_task_id. | Membro com escopo |
| DELETE | /teams/{teamId}/tasks/{id}/dependencies/{depId} | Remove a aresta da task do path (depId de outra task → 404). | Membro com escopo |
| GET | /teams/{teamId}/tasks/{id}/group-assignments | Grupos atribuidos a tarefa | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/group-assignments | Atribui um grupo (membros viram marcados). Idempotente (200 se ja atribuido) | Membro da equipe |
| DELETE | /teams/{teamId}/tasks/{id}/group-assignments/{gid} | Remove a atribuicao do grupo e as marcas via grupo (idempotente) | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/group-assignments/{gid}/claim | Membro do grupo assume a tarefa | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/group-assignments/{gid}/release | Quem assumiu devolve a tarefa ao grupo (owner/admin do team pode forcar) | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/labels | — POST /tasks/{id}/labels {label_id}. | Membro da equipe |
| DELETE | /teams/{teamId}/tasks/{id}/labels/{labelId} | — DELETE /tasks/{id}/labels/{labelId}. | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id}/lite | — GET /teams/{teamId}/tasks/{id}/lite. | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id}/recurrence | — GET /tasks/{id}/recurrence. | Membro da equipe |
| PUT | /teams/{teamId}/tasks/{id}/recurrence | — PUT /tasks/{id}/recurrence. | Membro da equipe |
| DELETE | /teams/{teamId}/tasks/{id}/recurrence | — DELETE /tasks/{id}/recurrence. | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/reorder | Reposiciona a task entre os vizinhos before/after da mesma coluna (posição fracionária). | Membro com escopo |
| POST | /teams/{teamId}/tasks/{id}/share | Cria o post `task_ref` no canal (idempotente: repetir devolve o post existente com 200). | Membro da equipe |
| DELETE | /teams/{teamId}/tasks/{id}/share | Remove o compartilhamento e apaga o post. | Membro com escopo |
| GET | /teams/{teamId}/tasks/{id}/subtasks | Descendentes da tarefa | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id}/time | Lista as entradas do team na task. | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/time | Lança minutos do caller. | Membro da equipe |
| DELETE | /teams/{teamId}/tasks/{id}/time/{eid} | Dono apaga a sua; owner/admin apaga qualquer. | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id}/time/total | — GET /teams/{teamId}/tasks/{id}/time/total. | Membro da equipe |
| GET | /teams/{teamId}/tasks/{id}/watchers | — GET /tasks/{id}/watchers (items nunca null). | Membro da equipe |
| POST | /teams/{teamId}/tasks/{id}/watchers | — POST /tasks/{id}/watchers. | Admin da equipe |
| DELETE | /teams/{teamId}/tasks/{id}/watchers/{userId} | — DELETE /tasks/{id}/watchers/{userId}. | Membro da equipe |
| POST | /teams/{teamId}/tasks/{taskId}/comments/{commentId}/attachments | Anexar file a comentário de task | Membro da equipe |
| POST | /teams/{teamId}/tasks/batch | Edicao em massa (ate 100 tarefas, tudo-ou-nada) | Membro da equipe |
| GET | /teams/{teamId}/tasks/checklist-items/search | Busca itens de checklist do team (picker do Flow), filtrada por scope de canal | Membro da equipe |
| GET | /teams/{teamId}/tasks/search | — GET /teams/{teamId}/tasks/search. | Membro da equipe |