CRM Oficina Martech
ReferênciaTarefas

Listar tarefas

GET /tasks — lista as tarefas da equipe com responsável e os negócios, contatos e conversas vinculados.

GET/tasksBeta

Escopo 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/tasks

Parâmetros de query

ParâmetroTipoDescrição
statuspending | in_progress | completed | cancelled | overdueFiltra 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_toUUIDFiltra pelo responsável (user_id de GET /members).
deal_idUUIDFiltra por negócio.
contact_idUUIDFiltra por contato.
due_sincedateSomente tarefas com vencimento a partir desta data (inclusive). ISO 8601 ou YYYY-MM-DD.
due_untildateSomente tarefas com vencimento antes desta data (exclusive). ISO 8601 ou YYYY-MM-DD.
limitint (1-100)Tamanho da página. Default: 50.
offsetint (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

StatusCódigoQuando
400invalid_queryQuery inválida (parâmetro desconhecido, UUID malformado, situação desconhecida, data inválida).
401missing_api_key / invalid_api_keyAPI key ausente, inválida, expirada ou revogada.
403missing_scopeA chave não tem o escopo deals:read.
429rate_limitedAcima de 120 req/min por chave ou por organização.
500—Erro interno.

On this page