Mover ou editar o negócio de um lead numa lista
const url = 'https://dattacrm.com.br/api/v1/leads/0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f/lists/0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"stageId":"0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f","value":1,"lossReasonId":"0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://dattacrm.com.br/api/v1/leads/0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f/lists/0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "stageId": "0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f", "value": 1, "lossReasonId": "0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f" }'Altera o negócio (lead × lista): etapa, valor e motivo da perda. Só a lista com funil tem etapa (WhatsApp e Instagram; veja hasFunnel em list_lists). Mudar de etapa passa pelo mesmo caminho do quadro: atividade, automações, rastreamento e webhooks (deal.stage_changed, deal.won, deal.lost). Mover para Perdido exige lossReasonId. Tudo é gravado junto: se algo falhar, nada é gravado. Contato oculto responde 409 lead_hidden e nada muda. Devolve o negócio depois da edição.
Authorizations
Seção intitulada “Authorizations ”Parameters
Seção intitulada “ Parameters ”Path Parameters
Seção intitulada “Path Parameters ”Identificador do lead.
Example
0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6fIdentificador do lead.
Identificador da lista em que o lead tem o negócio.
Example
0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6fIdentificador da lista em que o lead tem o negócio.
Request Body required
Seção intitulada “Request Body required ”Campos do negócio a alterar. O que não vem no corpo não muda. Exige pelo menos um campo.
object
Etapa de destino, da própria lista (veja list_lists, campo stages). Mudar de etapa dispara os mesmos eventos e automações do quadro. Etapa de outra lista responde 400 stage_not_in_list; Perdido exige lossReasonId.
Example
0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6fValor do negócio nesta lista, em reais (zero a 9999999999.99). Sobrescreve o valor atual.
Motivo da perda (veja list_loss_reasons). Obrigatório ao mover para uma etapa Perdido; num negócio já perdido, troca o motivo. Motivo de outra conta responde 404.
Example
0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6fResponses
Seção intitulada “ Responses ”Sucesso.
object
Negócio do lead numa lista: a lista, a pasta, a etapa, o valor e o motivo da perda.
object
Identificador da lista.
Nome da lista.
Identificador da pasta da lista.
Nome da pasta da lista.
Origem da lista (site, whatsapp ou instagram).
Nome da etapa, ou null em lista de Site.
Valor do negócio nesta lista, em reais. Zero quando não definido.
Example
{ "data": { "listId": "0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f", "folderId": "0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f", "origin": "site", "stageId": "0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f", "stageKind": "active", "stageEnteredAt": "2026-10-19T12:00:00.000Z", "lossReasonId": "0b6f3c1e-8a4d-4f5b-9c2e-1a2b3c4d5e6f" }}Headers
Seção intitulada “Headers ”Identificador da requisição, para suporte.
Máximo de requisições por janela de 60 segundos para esta chave.
Requisições restantes na janela atual.
Fim da janela atual, em milissegundos desde a época Unix (epoch ms).
Dados inválidos (validation_error), lista sem funil (list_has_no_funnel), etapa de outra lista (stage_not_in_list) ou Perdido sem motivo (loss_reason_required).
Formato de erro da API.
object
object
Código estável do erro, ex.: validation_error.
Mensagem legível em português.
Detalhes extras, ex.: lista de campos inválidos.
Identificador da requisição, para suporte.
Example generated
{ "error": { "code": "example", "message": "example", "details": "example", "requestId": "example" }}Headers
Seção intitulada “Headers ”Identificador da requisição, para suporte.
Chave ausente, inválida (invalid_api_key), vencida (api_key_expired) ou revogada (api_key_revoked).
Formato de erro da API.
object
object
Código estável do erro, ex.: validation_error.
Mensagem legível em português.
Detalhes extras, ex.: lista de campos inválidos.
Identificador da requisição, para suporte.
Example generated
{ "error": { "code": "example", "message": "example", "details": "example", "requestId": "example" }}Headers
Seção intitulada “Headers ”Identificador da requisição, para suporte.
A chave é somente leitura e a operação grava dados (insufficient_scope).
Formato de erro da API.
object
object
Código estável do erro, ex.: validation_error.
Mensagem legível em português.
Detalhes extras, ex.: lista de campos inválidos.
Identificador da requisição, para suporte.
Example generated
{ "error": { "code": "example", "message": "example", "details": "example", "requestId": "example" }}Headers
Seção intitulada “Headers ”Identificador da requisição, para suporte.
Lead que não existe, que não está na lista (not_found) ou motivo da perda que não existe nesta conta. Nada é gravado.
Formato de erro da API.
object
object
Código estável do erro, ex.: validation_error.
Mensagem legível em português.
Detalhes extras, ex.: lista de campos inválidos.
Identificador da requisição, para suporte.
Example generated
{ "error": { "code": "example", "message": "example", "details": "example", "requestId": "example" }}Headers
Seção intitulada “Headers ”Identificador da requisição, para suporte.
Conflito com o estado atual (conflict), contato oculto, cujo negócio não muda (lead_hidden), ou limite do plano atingido (plan_limit).
Formato de erro da API.
object
object
Código estável do erro, ex.: validation_error.
Mensagem legível em português.
Detalhes extras, ex.: lista de campos inválidos.
Identificador da requisição, para suporte.
Example generated
{ "error": { "code": "example", "message": "example", "details": "example", "requestId": "example" }}Headers
Seção intitulada “Headers ”Identificador da requisição, para suporte.
O corpo da requisição passa de 256 KB (payload_too_large).
Formato de erro da API.
object
object
Código estável do erro, ex.: validation_error.
Mensagem legível em português.
Detalhes extras, ex.: lista de campos inválidos.
Identificador da requisição, para suporte.
Example generated
{ "error": { "code": "example", "message": "example", "details": "example", "requestId": "example" }}Headers
Seção intitulada “Headers ”Identificador da requisição, para suporte.
Limite de requisições atingido (rate_limited). Aguarde Retry-After segundos.
Formato de erro da API.
object
object
Código estável do erro, ex.: validation_error.
Mensagem legível em português.
Detalhes extras, ex.: lista de campos inválidos.
Identificador da requisição, para suporte.
Example generated
{ "error": { "code": "example", "message": "example", "details": "example", "requestId": "example" }}Headers
Seção intitulada “Headers ”Identificador da requisição, para suporte.
Máximo de requisições por janela de 60 segundos para esta chave.
Requisições restantes na janela atual.
Fim da janela atual, em milissegundos desde a época Unix (epoch ms).
Segundos até poder tentar de novo.
Erro interno (internal_error). Informe o requestId ao suporte.
Formato de erro da API.
object
object
Código estável do erro, ex.: validation_error.
Mensagem legível em português.
Detalhes extras, ex.: lista de campos inválidos.
Identificador da requisição, para suporte.
Example generated
{ "error": { "code": "example", "message": "example", "details": "example", "requestId": "example" }}Headers
Seção intitulada “Headers ”Identificador da requisição, para suporte.
O CRM está em modo somente leitura durante uma migração (maintenance). Tente de novo depois de Retry-After segundos.
Formato de erro da API.
object
object
Código estável do erro, ex.: validation_error.
Mensagem legível em português.
Detalhes extras, ex.: lista de campos inválidos.
Identificador da requisição, para suporte.
Example generated
{ "error": { "code": "example", "message": "example", "details": "example", "requestId": "example" }}Headers
Seção intitulada “Headers ”Identificador da requisição, para suporte.
Segundos até poder tentar de novo.