Listar tarefas
GET /tasks — lista as tarefas da equipe com responsável e os negócios, contatos e conversas vinculados.
/tasksBetaEscopo necessário: deals:read
Lista as tarefas da organização (resolvida pela API key), do vencimento mais recente para o mais antigo (due_at decrescente). Cada linha traz o responsável e os vínculos com negócio, contato e conversa.
Endpoint
GET https://crm.oficinamartech.com/api/v1/tasksParâmetros de query
| Parâmetro | Tipo | Descrição |
|---|---|---|
status | pending | in_progress | completed | cancelled | overdue | Filtra por situação. overdue devolve as abertas com vencimento passado; pending e in_progress, só as em dia. Sem filtro entram todas, inclusive concluídas e canceladas. |
assigned_to | UUID | Filtra pelo responsável (user_id de GET /members). |
deal_id | UUID | Filtra por negócio. |
contact_id | UUID | Filtra por contato. |
due_since | date | Somente tarefas com vencimento a partir desta data (inclusive). ISO 8601 ou YYYY-MM-DD. |
due_until | date | Somente tarefas com vencimento antes desta data (exclusive). ISO 8601 ou YYYY-MM-DD. |
limit | int (1-100) | Tamanho da página. Default: 50. |
offset | int (0-10000) | Deslocamento da página. Default: 0. |
Um parâmetro fora desta lista é recusado com 400.
A paginação informa has_more e next_offset, sem total. offset vai até 10.000; além disso next_offset vem null mesmo com has_more true. Para percorrer um histórico longo, avance por janelas de due_since/due_until. Datas sem horário (YYYY-MM-DD) são lidas como meia-noite UTC. A resposta usa Cache-Control: private, no-store.
Exemplo
curl -s "https://crm.oficinamartech.com/api/v1/tasks?status=pending&deal_id=d3a1c0de-58cc-4372-a567-0e02b2c3d479&limit=1" \
-H "Authorization: Bearer crm_live_SEU_PREFIXO_SEU_SEGREDO"Resposta 200
{
"data": [
{
"id": "7a5c7a5c-58cc-4372-a567-0e02b2c3d479",
"title": "Enviar proposta revisada",
"description": "Incluir o desconto combinado na ligação.",
"type": "call",
"priority": "high",
"status": "pending",
"assigned_to": "11111111-58cc-4372-a567-0e02b2c3d479",
"created_by": "22222222-58cc-4372-a567-0e02b2c3d479",
"deal_id": "d3a1c0de-58cc-4372-a567-0e02b2c3d479",
"contact_id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"conversation_id": null,
"due_at": "2026-11-14T15:00:00.000Z",
"completed_at": null,
"completed_by": null,
"created_at": "2026-11-12T18:20:11.000Z",
"updated_at": "2026-11-12T18:20:11.000Z"
}
],
"pagination": {
"limit": 1,
"offset": 0,
"has_more": true,
"next_offset": 1
}
}assigned_to, created_by e completed_by são user_id de GET /members. deal_id, contact_id e conversation_id são null quando a tarefa não está vinculada. completed_at é null enquanto a tarefa não foi concluída.
Erros
| Status | Código | Quando |
|---|---|---|
400 | invalid_query | Query inválida (parâmetro desconhecido, UUID malformado, situação desconhecida, data inválida). |
401 | missing_api_key / invalid_api_key | API key ausente, inválida, expirada ou revogada. |
403 | missing_scope | A chave não tem o escopo deals:read. |
429 | rate_limited | Acima de 120 req/min por chave ou por organização. |
500 | — | Erro interno. |