Tarefas
Gerenciar tarefas do kanban de projetos via API.
Tarefas
Gerencie as tarefas dos projetos da sua agência. Tarefas vivem dentro de um projeto, organizadas em colunas (kanban) de um pipeline.
Toda tarefa precisa pertencer a um projeto (project_id). Se você não informar pipeline_id nem column, a tarefa entra na primeira coluna do pipeline padrão do projeto.
GET /v1/tasks
Lista todas as tarefas ativas do time (não retorna tarefas na lixeira).
Query Parameters
| Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
page | number | 1 | Página atual |
limit | number | 20 | Itens por página (máx: 100) |
project_id | uuid | — | Filtrar por projeto |
pipeline_id | uuid | — | Filtrar por pipeline |
assignee_id | uuid | — | Filtrar por responsável (procura em assignee_ids) |
priority | string | — | urgent, high, medium, low, none |
column | string | — | Slug da coluna (ex: backlog, a-fazer, em-andamento) |
search | string | — | Buscar em título e descrição |
sort | string | -created_at | title, priority, due_date, position, created_at, updated_at, completed_at |
Request
curl -X GET "https://app.sonarbr.io/api/v1/tasks?project_id=PROJECT_UUID&priority=high" \
-H "Authorization: Bearer ea_live_sua_chave_aqui"Response
{
"success": true,
"data": [
{
"id": "770e8400-e29b-41d4-a716-446655440003",
"title": "Revisar briefing do cliente",
"description": "Validar requisitos antes do kickoff",
"project_id": "660e8400-e29b-41d4-a716-446655440002",
"pipeline_id": "990e8400-e29b-41d4-a716-446655440005",
"column": "em-andamento",
"priority": "high",
"assignee_id": "880e8400-e29b-41d4-a716-446655440004",
"assignee_ids": ["880e8400-e29b-41d4-a716-446655440004"],
"reporter_id": null,
"due_date": "2026-05-25",
"estimated_hours": 2.5,
"actual_hours": null,
"position": 1,
"tags": ["urgente"],
"checklist_markdown": null,
"completed_at": null,
"created_at": "2026-05-18T10:30:00Z",
"updated_at": "2026-05-18T10:30:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 1,
"pages": 1
}
}POST /v1/tasks
Cria uma nova tarefa em um projeto.
Request Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
title | string | Sim | Título da tarefa |
project_id | uuid | Sim | Projeto onde criar |
description | string | Não | Detalhes adicionais |
pipeline_id | uuid | Não | Pipeline. Usa o padrão se omitido |
column | string | Não | Slug da coluna. Usa a primeira do pipeline se omitido |
priority | string | Não | Default: none |
assignee_id | uuid | Não | Responsável principal (compat) |
assignee_ids | uuid[] | Não | Lista de responsáveis (recomendado) |
reporter_id | uuid | Não | Quem reportou |
due_date | date | Não | YYYY-MM-DD |
estimated_hours | number | Não | Estimativa em horas |
tags | string[] | Não | Lista de tags |
checklist_markdown | string | Não | Checklist em markdown |
Request
curl -X POST https://app.sonarbr.io/api/v1/tasks \
-H "Authorization: Bearer ea_live_sua_chave_aqui" \
-H "Content-Type: application/json" \
-d '{
"project_id": "660e8400-e29b-41d4-a716-446655440002",
"title": "Criar mockup da landing page",
"description": "Tela inicial com hero, features e CTA",
"priority": "high",
"assignee_ids": ["880e8400-e29b-41d4-a716-446655440004"],
"due_date": "2026-05-30",
"estimated_hours": 4,
"tags": ["design", "landing"]
}'GET /v1/tasks/:id
Busca uma tarefa específica.
curl -X GET https://app.sonarbr.io/api/v1/tasks/TASK_UUID \
-H "Authorization: Bearer ea_live_sua_chave_aqui"PUT /v1/tasks/:id
Atualiza uma tarefa. Aceita os mesmos campos do POST (exceto project_id, que é imutável).
curl -X PUT https://app.sonarbr.io/api/v1/tasks/TASK_UUID \
-H "Authorization: Bearer ea_live_sua_chave_aqui" \
-H "Content-Type: application/json" \
-d '{
"column": "concluido",
"completed_at": "2026-05-20T15:00:00Z",
"actual_hours": 3.5
}'DELETE /v1/tasks/:id
Move a tarefa para a lixeira (soft delete via deleted_at).
curl -X DELETE https://app.sonarbr.io/api/v1/tasks/TASK_UUID \
-H "Authorization: Bearer ea_live_sua_chave_aqui"Response
{
"success": true,
"data": {
"id": "770e8400-e29b-41d4-a716-446655440003",
"deleted_at": "2026-05-20T16:00:00Z"
}
}Tarefas excluídas via API não aparecem nas listagens da API (filtramos deleted_at IS NULL). A restauração só é possível pela interface web.
Erros Comuns
| Código | Erro | Causa |
|---|---|---|
404 | NOT_FOUND | Tarefa ou projeto não encontrado / pertence a outro time |
400 | VALIDATION_ERROR | title ou project_id ausentes, ou priority inválido |