Pular para o conteúdo

Filtragem de tarefas

GET /public/v1/tasks retorna todas as tarefas do escopo (o mesmo conjunto da visão de tabela do projeto no aplicativo web) e as restringe com filtros de query. Esta página mostra como os filtros se combinam e traz receitas prontas para copiar.

Todos os exemplos assumem:

Terminal window
BASE="https://api.bordio.com/public/v1"
AUTH='Authorization: Bearer brd_sk_live_...'
PROJECT="proj_6594a1b2c3d4e5f6a7b8c9d1"
  • Parâmetros diferentes → AND. Cada parâmetro adicionado restringe o resultado.
  • Vários valores em um parâmetro → OR. Os valores são separados por vírgula: priority=high,critical corresponde a qualquer um dos dois.
  • Parâmetros omitidos não restringem nada — sem filtros, todas as tarefas são retornadas.
Parâmetro Valores Observações
priority CSV de lowest, low, medium, high, critical e/ou none none = tarefas sem prioridade
task_status_id CSV de ids task_status_… Os ids vêm de Definitions
state open | closed Agrupa os status pelo estado — não é preciso enumerá-los
task_type_id CSV de ids task_type_…
assignee_id CSV de ids user_… e/ou none none = tarefas sem responsável
due_date_from YYYY-MM-DD ou datetime ISO-8601 Limite inferior do intervalo de data limite (inclusivo)
due_date_to YYYY-MM-DD ou datetime ISO-8601 Limite superior do intervalo de data limite (inclusivo)
due_date none Apenas tarefas sem data limite; incompatível com os limites do intervalo
tag_id CSV de ids tag_… Correspondem tarefas com qualquer uma das tags

O valor especial none corresponde a tarefas que não têm responsável:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&assignee_id=none" -H "$AUTH"

Tarefas de uma pessoa específica — ou de ninguém

Seção intitulada “Tarefas de uma pessoa específica — ou de ninguém”

none pode ser misturado com ids de usuários no mesmo CSV; dentro de um parâmetro os valores se combinam com OR:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&assignee_id=user_6594a1b2c3d4e5f6a7b8c9d1,none" -H "$AUTH"

Tarefas sem prioridade — ou com prioridade baixa

Seção intitulada “Tarefas sem prioridade — ou com prioridade baixa”

A prioridade é opcional, então priority aceita o valor especial none para tarefas onde ela não está definida. Como qualquer valor CSV, ele se combina com OR — «sem prioridade ou low» é um único parâmetro:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&priority=none,low" -H "$AUTH"
Terminal window
curl "$BASE/tasks?project_id=$PROJECT&state=open&priority=high,critical" -H "$AUTH"

state é a forma mais simples de separar o trabalho aberto do fechado. Se precisar de status específicos («Em andamento», mas não «Nova»), use task_status_id com ids dos endpoints de definitions.

Ambos os limites são inclusivos; valores só de data se expandem para o início / fim daquele dia (UTC):

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&due_date_from=2026-07-01&due_date_to=2026-07-31" -H "$AUTH"

Também é possível passar apenas um limite — por exemplo, tudo que vence a partir de hoje (due_date_from sozinho), ou uma visão de «atrasadas» — tarefas abertas cujo prazo já passou:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&state=open&due_date_to=2026-07-17" -H "$AUTH"

Um intervalo nunca corresponde a uma tarefa sem data limite, por isso este é um filtro separado:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&due_date=none" -H "$AUTH"
Terminal window
curl "$BASE/tasks?project_id=$PROJECT&tag_id=tag_65dcc9c66f2e4e001ab18859,tag_66446ff2dc01cb59f6cbf7a6" -H "$AUTH"

Abertas, de prioridade alta, sem responsável, com data limite neste mês:

Terminal window
curl "$BASE/tasks?project_id=$PROJECT&state=open&priority=high&assignee_id=none&due_date_from=2026-07-01&due_date_to=2026-07-31" -H "$AUTH"

Os filtros se compõem com a paginação normalmente — limit e cursor se aplicam ao resultado filtrado (veja Convenções).

due_date_from / due_date_to / due_date — por que três parâmetros?

Seção intitulada “due_date_from / due_date_to / due_date — por que três parâmetros?”

Eles respondem a duas perguntas diferentes:

  • due_date_from / due_date_to selecionam tarefas cuja data limite cai em um intervalo. Use um limite sozinho ou os dois juntos.
  • due_date=none seleciona tarefas que não têm data limite. Nenhum intervalo consegue expressar «o campo está vazio», por isso é um parâmetro separado e não um valor mágico do intervalo.

Como «sem data limite» e «data limite em um intervalo» são mutuamente excludentes, combinar due_date=none com qualquer limite retorna 400 validation_error.

  • Um valor malformado (prioridade desconhecida, id com formato inválido, não-data) → 400 validation_error.
  • Um id bem formado que não corresponde a nada (tag de outro workspace, status excluído) → não é um erro: simplesmente nenhuma tarefa corresponde e você recebe uma página vazia.
  • A exceção é project_id: um projeto fora do escopo da sua chave → 404 not_found_error.