Atualizar pessoa
PUT · API de Integração v2
/v2/pessoas/{id}Atualizar pessoa
Substitui integralmente o estado editável da pessoa: dados principais, contatos, documentos, endereço, complementos, representante, responsáveis, equipes e campos personalizados.
Limpeza explícita: campo ou bloco opcional com null limpa seu valor;
representante: null remove o representante; listas vazias removem todos os vínculos
daquele bloco. Por isso, envie o estado completo carregado por GET /v2/pessoas/{id}.
Exemplo de limpeza de representante e vínculos: { "nome": "João da Silva",
"classificacao": "CLIENTE", "representante": null, "controleAcesso": {
"responsaveisIds": [], "equipesIds": [] }, "camposPersonalizados": [] }.
A rota não altera a situação de arquivamento. Pessoas arquivadas também podem ser editadas. O escritório e o usuário atualizador vêm do token, nunca do corpo.
Autenticação
X-API-Key no cabeçalho. Como autenticar
Parâmetros de caminho1
idintegerobrigatórioID da pessoa.
Corpo da requisiçãoobrigatório
Estado completo editavel da pessoa.
application/json
apelidostringApelido / nome curto
avatarUrlstringURL pública HTTP(S) da foto — link, sem upload
camposPersonalizadosCampoPersonalizadoRequest[]Campos personalizados (definições com type=pessoa). Cada item referencia o campoId da definição e traz seus valores.
Ver propriedades
campoIdintegerobrigatórioID da definição do campo (de GET /v2/campos-personalizados/opcoes?type=PESSOA)
valoresstring[]Valores do campo, SEMPRE como lista: 1 item para valor único (texto/número/data/seleção/escolha única/texto longo) ou vários para múltipla escolha (checkbox).
classificacaostringDeprecated — use tipoId. Só alcança os 8 tipos globais; ignorado quando tipoId vem junto.
complementosComplementosRequestVer propriedades
grupoEmpresasIdintegerID do grupo de empresas
indicacaoIdintegerID da indicação. Legado — prefira indicacoes. Continua aceito para quem já o envia; vindo junto de indicacoes, só é aceito se apontar para a mais antiga do conjunto.
indicacoesIndicacaoRequest[]Indicações da pessoa, cada uma com observação própria. Sem ordem e sem principal — a lista é exibida inteira.
Ver propriedades
indicacaoIdintegerobrigatórioID da indicação. Ids de GET /v2/indicacoes.
obsstringObservação sobre esta indicação
observacoesstringObservações
valorHoranumberValor da hora
contatosContatosRequestVer propriedades
emailstringfacebookstringPerfil do Facebook
instagramstringPerfil do Instagram
linkedinstringPerfil do LinkedIn
sitestringSite
telefone03stringTerceiro telefone
telefonePrincipalstringTelefone principal
telefoneSecundariostringTelefone secundário
controleAcessoControleAcessoRequestVer propriedades
equipesIdsinteger[]IDs das equipes. Ids de /v2/equipes/opcoes.
responsaveisIdsinteger[]IDs dos responsáveis. Ids de /v2/usuarios/opcoes.
cpfCnpjstringCPF ou CNPJ (com ou sem máscara)
documentosDocumentosRequestVer propriedades
cidstringCID
ctpsstringCTPS
dataEmissaoRgstringData de emissão do RG
dataNascimentostringData de nascimento
estadoCivilstringEstado civil
nacionalidadestringNacionalidade
naturalidadestringNaturalidade
nomeMaestringNome da mãe
nomePaistringNome do pai
orgaoEmissorRgstringÓrgão emissor do RG
pisstringPIS
profissaostringProfissão
rgstringRG
sexostringSexo
enderecoEnderecoRequestVer propriedades
bairrostringBairro
cepstringCEP
cidadestringCidade
complementostringComplemento
estadostringUF (duas letras)
logradourostringLogradouro
numerostringNúmero
naturezaPessoastringNatureza da pessoa; null limpa o valor
nomestringobrigatórioNome da pessoa
oabstringNúmero da OAB
representanteRepresentanteRequestVer propriedades
bairrostringBairro do representante
cepstringCEP do representante
cidadestringCidade do representante
documentostringDocumento do representante (livre, sem validação de formato no v1)
enderecostringEndereço do representante (string única, sem separar número/complemento)
estadostringEstado (UF) do representante, duas letras
nascimentostringData de nascimento do representante
nomestringobrigatórioNome do representante
rgstringRG do representante
tipoIdintegerID do tipo de pessoa. Use os ids de GET /v2/pessoas/tipos. Obrigatório, salvo se classificacao vier no lugar.
Respostas4
Exemplos ilustrativos · nenhuma requisição é enviada
200 · Sucesso
- Quando acontece
- A operação foi concluída.
- Como tratar
- Leia os dados retornados; em listagens, confira também a paginação.
Exemplo declarado no OpenAPI · application/json
{
"id": 863210,
"nome": "João da Silva",
"apelido": "João",
"classificacao": "CLIENTE",
"naturezaPessoa": "FISICA",
"cpfCnpj": "00000000000",
"oab": null,
"avatarUrl": null,
"contatos": {
"telefonePrincipal": "81999990000",
"email": "joao@exemplo.com"
},
"documentos": {
"dataNascimento": "1990-05-20"
},
"endereco": {
"cidade": "Recife",
"estado": "PE"
},
"complementos": {
"valorHora": 250
},
"representante": null,
"controleAcesso": {
"responsaveisIds": [
1649
],
"equipesIds": [
406
]
},
"camposPersonalizados": [
{
"campoId": 12,
"valores": [
"João da Silva"
]
},
{
"campoId": 21,
"valores": [
"Opção A",
"Opção C"
]
}
]
}Contrato de respostas
200Pessoa atualizada.
Pessoa atualizada.
application/json
apelidostringApelido ou nome curto
avatarUrlstringURL do avatar
camposPersonalizadosCampoPersonalizadoResponse[]Campos personalizados gravados
Ver propriedades
campoIdintegerID da definição do campo personalizado
valoresstring[]Valores gravados para o campo
classificacaostringDeprecated — use tipoNome para exibir e tipoId para identificar. Só é preenchido nos 8 tipos globais; tipo do escritório vem null.
complementosComplementosResponseVer propriedades
grupoEmpresasIdintegerID do grupo de empresas
indicacaoIdintegerID da indicação. Legado — use indicacoes. É a projeção da mais antiga do conjunto: quem tem três indicações aparece aqui com uma só.
indicacoesIndicacaoResponse[]Indicações da pessoa, da mais antiga para a mais recente.
Ver propriedades
indicacaoIdintegerID da indicação
obsstringObservação sobre esta indicação
observacoesstringObservações
valorHoranumberValor da hora
contatosContatosResponseVer propriedades
emailstringfacebookstringPerfil do Facebook
instagramstringPerfil do Instagram
linkedinstringPerfil do LinkedIn
sitestringSite
telefone03stringTerceiro telefone
telefonePrincipalstringTelefone principal
telefoneSecundariostringTelefone secundário
controleAcessoControleAcessoResponseVer propriedades
equipesIdsinteger[]IDs das equipes vinculadas
responsaveisIdsinteger[]IDs dos responsáveis vinculados
cpfCnpjstringCPF ou CNPJ informado
documentosDocumentosResponseVer propriedades
cidstringCID
ctpsstringCTPS
dataEmissaoRgstringData de emissão do RG
dataNascimentostringData de nascimento
estadoCivilstringEstado civil
nacionalidadestringNacionalidade
naturalidadestringNaturalidade
nomeMaestringNome da mãe
nomePaistringNome do pai
orgaoEmissorRgstringÓrgão emissor do RG
pisstringPIS
profissaostringProfissão
rgstringRG
sexostringSexo
enderecoEnderecoResponseVer propriedades
bairrostringBairro
cepstringCEP
cidadestringCidade
complementostringComplemento
estadostringUF
logradourostringLogradouro
numerostringNúmero
idintegerIdentificador da pessoa
naturezaPessoastringNatureza da pessoa
nomestringNome da pessoa
oabstringNúmero da OAB
representanteRepresentanteResponseVer propriedades
bairrostringBairro do representante
cepstringCEP do representante
cidadestringCidade do representante
documentostringDocumento do representante
enderecostringEndereço do representante
estadostringUF do representante
nascimentostringData de nascimento do representante
nomestringNome do representante
rgstringRG do representante
tipoIdintegerID do tipo no catálogo (GET /v2/pessoas/tipos)
tipoNomestringNome do tipo, para exibir
400Payload ou ID invalido.
Payload ou ID invalido.
O contrato não declara um corpo para esta resposta.
401Nao autenticado (token ausente/invalido).
Nao autenticado (token ausente/invalido).
O contrato não declara um corpo para esta resposta.
404Pessoa nao encontrada.
Pessoa nao encontrada.
O contrato não declara um corpo para esta resposta.
