VendeeDocs
Referência

Atividades

Listar, consultar, criar e atualizar atividades (tarefas, ligações, reuniões) vinculadas a um negócio.

GET   {BASE_URL}/api-v1-activities        # lista
GET   {BASE_URL}/api-v1-activities/:id     # detalhe
POST  {BASE_URL}/api-v1-activities        # cria
PATCH {BASE_URL}/api-v1-activities/:id     # atualiza

Escopos: activities:read para os GET; activities:write para POST e PATCH.

Toda atividade precisa de pelo menos um vínculo na criação: deal_id, contact_id, company_id ou lead_id. status e completed_at são aceitos, e são opcionais, em POST e PATCH — sem eles a atividade continua nascendo pendente, como antes. Servem para importar histórico de outro sistema sem que tudo vire tarefa em aberto: completed_at só é aceito quando o status é concluida, e nunca pode ser uma data futura.

O recurso Atividade

CampoTipoNotas
iduuid
workspace_iduuid
deal_iduuid | nullNegócio ao qual a atividade pertence.
activity_type_iduuid | nullTipo da atividade (ligação, reunião, tarefa...).
owner_iduuidResponsável (id de membro).
titlestring
descriptionstring | null
statusenumpendente, concluida ou cancelada.
scheduled_atdatetimeHorário canônico (ordenação e alertas do dia).
start_timedatetime | null
end_timedatetime | null
completed_atdatetime | null
is_online_meetingboolean
created_atdatetime
updated_atdatetime

Listar atividades

GET {BASE_URL}/api-v1-activities

Filtro (query)TipoNotas
deal_iduuid
owner_iduuid
activity_type_iduuid
statusenumpendente, concluida ou cancelada.
sinceISO 8601created_at >= since.
limitintPadrão 50, máx 200.
cursoruuidPróxima página (veja paginação).
curl "{BASE_URL}/api-v1-activities?deal_id=8f3c...&status=pendente" \
  -H "X-API-Key: vnd_sua_chave_aqui"
{
  "data": [ { "id": "5e6f...", "title": "Ligação de qualificação", "status": "pendente", "...": "..." } ],
  "meta": { "next_cursor": null, "has_more": false }
}

Consultar uma atividade

GET {BASE_URL}/api-v1-activities/:id → o recurso Atividade, ou 404 not_found.

Criar uma atividade

POST {BASE_URL}/api-v1-activities — escopo activities:write.

CampoTipoObrigatórioNotas
deal_iduuidSimDeve pertencer ao workspace.
activity_type_iduuidSimDeve pertencer ao workspace.
titlestringSim1–255 caracteres.
scheduled_atdatetimeSimISO 8601. Horário canônico da atividade.
descriptionstringNãoAté 10.000 caracteres.
owner_iduuidNãoOmitido → resolução automática (criador da chave → admin/gestor mais antigo).
start_timedatetimeNãoOmitido → herda scheduled_at.
end_timedatetimeNãoQuando informado, deve ser maior ou igual ao início (start_time ou scheduled_at).
is_online_meetingbooleanNão
curl -X POST "{BASE_URL}/api-v1-activities" \
  -H "X-API-Key: vnd_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{ "deal_id": "8f3c...", "activity_type_id": "2b3c...", "title": "Ligação de qualificação", "scheduled_at": "2026-08-01T14:00:00Z" }'

Resposta 201 Created:

{ "id": "5e6f...", "owner_id": "3c2d...", "status": "pendente" }

Idempotência

Envie um header Idempotency-Key (1–255 caracteres, qualquer string única sua) para tornar o POST acima seguro de reenviar em caso de timeout de rede ou retry automático:

curl -X POST "{BASE_URL}/api-v1-activities" \
  -H "X-API-Key: vnd_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: pedido-9f21" \
  -d '{ "deal_id": "8f3c...", "activity_type_id": "2b3c...", "title": "Ligação de qualificação", "scheduled_at": "2026-08-01T14:00:00Z" }'
  • Mesma chave, mesmo corpo: a segunda chamada não cria outra atividade — responde 200 OK com o corpo da resposta original (não 201).
  • Mesma chave, corpo diferente (ou reusada em outro recurso): 422 idempotency_conflict.
  • Mesma chave, requisição original ainda processando: 409 idempotency_in_progress — duas chamadas concorrentes com a mesma chave; espere e tente de novo.
  • Janela: a chave fica registrada por 24 horas; depois disso pode ser reusada como se fosse nova.
  • Sem o header: comportamento idêntico ao de hoje — cada POST cria uma atividade nova.

Atualizar uma atividade

PATCH {BASE_URL}/api-v1-activities/:id — escopo activities:write. Mesmos campos do POST, todos opcionais, exceto os vínculos deal_id, contact_id, company_id e lead_id (repassar a atividade para outro dono não é suportado). status e completed_at são aceitos aqui também (ver nota no topo). O mesmo limite de intervalo (end_time ≥ início) vale considerando o valor atual da atividade quando um dos dois campos não é enviado. Retorna a atividade completa atualizada (200 OK).

curl -X PATCH "{BASE_URL}/api-v1-activities/5e6f..." \
  -H "X-API-Key: vnd_sua_chave_aqui" \
  -H "Content-Type: application/json" \
  -d '{ "end_time": "2026-08-01T15:00:00Z" }'

Erros possíveis

HTTPcodeQuando
401missing_api_key / invalid_api_key / revoked_api_keyAutenticação.
403insufficient_scopeFalta activities:read ou activities:write.
404not_foundAtividade não existe nesse workspace.
400bad_requestCorpo ausente/JSON inválido.
422validation_errorCampo ou parâmetro inválido, incluindo end_time anterior ao início.
422invalid_referencedeal_id/activity_type_id/owner_id fora do workspace.
422no_owner_availableSem responsável ativo possível.
422invalid_cursorcursor inválido.
400invalid_idempotency_keyIdempotency-Key fora de 1–255 caracteres.
422idempotency_conflictMesma Idempotency-Key com corpo ou recurso diferente.
409idempotency_in_progressMesma Idempotency-Key já em processamento (corrida).
405method_not_allowedMétodo não suportado.
500internal_errorFalha interna.

Nesta página