Concluir tarefa
POST /tasks/{id}/complete — marca uma tarefa como concluída em nome de quem criou a chave.
/tasks/{id}/complete
BetaEscopo necessário: tasks:write
Marca como concluída uma tarefa da organização (resolvida pela API key). A conclusão é registrada em nome de quem criou a chave (completed_by). Nada é enviado ao contato e nenhuma automação é disparada. Não há rota para reabrir uma tarefa.
Endpoint
POST https://crm.oficinamartech.com/api/v1/tasks/ID/completeID é o UUID da tarefa, como em GET /tasks. A requisição não tem corpo.
Cabeçalhos
| Cabeçalho | Obrigatório | Descrição |
|---|---|---|
Authorization | Sim | Bearer + a API key. |
Idempotency-Key | Sim | De 1 a 128 letras, números, ponto, hífen, sublinhado ou dois-pontos. Veja Repetição. |
Exemplo
curl -s -X POST "https://crm.oficinamartech.com/api/v1/tasks/7a5c7a5c-58cc-4372-a567-0e02b2c3d479/complete" \
-H "Authorization: Bearer crm_live_SEU_PREFIXO_SEU_SEGREDO" \
-H "Idempotency-Key: concluir-7a5c7a5c-2026-11-20"Resposta 200
{
"replayed": false,
"changed": true,
"task": {
"id": "7a5c7a5c-58cc-4372-a567-0e02b2c3d479",
"title": "Enviar proposta revisada",
"description": "Incluir o desconto combinado na ligação.",
"type": "call",
"priority": "high",
"status": "completed",
"assigned_to": "11111111-58cc-4372-a567-0e02b2c3d479",
"created_by": "22222222-58cc-4372-a567-0e02b2c3d479",
"deal_id": "d3a1c0de-58cc-4372-a567-0e02b2c3d479",
"contact_id": null,
"conversation_id": null,
"due_at": "2026-11-20T18:00:00.000Z",
"completed_at": "2026-11-20T17:41:09.000Z",
"completed_by": "22222222-58cc-4372-a567-0e02b2c3d479",
"created_at": "2026-11-13T14:02:31.000Z",
"updated_at": "2026-11-20T17:41:09.000Z"
}
}| Campo | Descrição |
|---|---|
changed | false quando a tarefa já estava concluída: ela volta como está, sem nova conclusão. |
replayed | true quando a chave de idempotência já tinha sido usada para este pedido. |
Uma tarefa cancelada não pode ser concluída: a resposta é 409
invalid_state.
Repetição e idempotência
O Idempotency-Key vale por chave de API. Repetir o mesmo pedido (mesma chave e mesma tarefa) devolve o recibo original com replayed: true. A mesma chave com outra tarefa responde 409 idempotency_conflict.
Erros
| Status | Código | Quando |
|---|---|---|
400 | invalid_idempotency_key | Idempotency-Key ausente ou fora do formato. |
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 tasks:write. |
404 | not_found | Tarefa inexistente ou de outra organização, ou id que não é UUID. |
409 | invalid_state | A tarefa está cancelada. |
409 | idempotency_conflict | A chave de idempotência já foi usada com outro pedido. |
429 | rate_limited | Acima do limite de requisições por chave ou por organização. |
429 | daily_limit | Teto das conexões de agente atingido (abaixo). Nada foi gravado. |
500 | — | Erro interno. Repita com a mesma chave de idempotência. |
Teto das conexões de agente
As chaves criadas por conexões de agente (MCP) de uma mesma pessoa fazem, juntas, no máximo 200 escritas (tarefas e notas) a cada 24 horas por organização. Acima disso a resposta é 429 com code: "daily_limit" e nada é gravado; repetir não resolve. Chaves de integração criadas em Configurações → API não têm esse teto.