Criar pessoa (cliente/parte/advogado)
POST · API de Integração v2
/v2/pessoasCriar pessoa
Cria uma pessoa (cliente, parte contrária, advogado, colaborador etc.) vinculada ao seu escritório.
Identidade: o escritório e o usuário criador são resolvidos automaticamente a partir da sua chave de API — não vão no corpo.
Obrigatório: apenas nome. Todo o resto é opcional.
Escopo atual: dados próprios da pessoa, representante legal, controle de acesso (responsáveis/equipes) e campos personalizados.
| CAMPOS DO CORPO — CriarPessoaRequest | ||||
|---|---|---|---|---|
| Campo | Validação | Descrição | Exemplo | Regras |
| nome | @NotBlank | Nome da pessoa. | João da Silva | Obrigatório; máx. 255 caracteres. |
| apelido | - | Apelido / nome curto. | João | Opcional. |
| classificacao | enum | Papel da pessoa. | CLIENTE | Opcional (default CLIENTE). Um de: CLIENTE, PARTE_CONTRARIA, ADVOGADO, COLABORADOR, OUTRO, CORRESPONDENTE, ADVOGADO_CONTRARIO, TESTEMUNHA. |
| naturezaPessoa | enum | Física ou jurídica. | FISICA | Opcional. Um de: FISICA, JURIDICA. Sem regra condicional no v1. |
| cpfCnpj | CPF/CNPJ válido | Documento (com ou sem máscara). | 000.000.000-00 | Opcional. Se informado, precisa ser válido e não duplicado para o cliente. |
| oab | - | Número da OAB. | 123456/SP | Opcional. |
| avatarUrl | http(s) | URL da foto — link, sem upload. | https://exemplo.com/foto.jpg | Opcional. |
| contatos | @Valid | Telefones, e-mail, redes sociais. | { objeto } | Opcional. |
| documentos | @Valid | Dados pessoais/documentais (RG, nascimento, estado civil etc.). | { objeto } | Opcional. |
| endereco | @Valid | Endereço. | { objeto } | Opcional. |
| complementos | @Valid | Valor/hora, indicação, grupo de empresas, observações. | { objeto } | Opcional. |
| representante | @Valid | Representante legal (nome, documento, RG, nascimento, endereço). | { objeto } | Opcional. Se informado, representante.nome é obrigatório (máx. 100 caracteres). |
| controleAcesso | @Valid | Responsáveis e equipes que podem acessar/gerenciar o cadastro. | { objeto } | Opcional. responsaveisIds precisam ser usuários ativos do cliente; equipesIds precisam existir no cliente — inválidos → 400. |
| camposPersonalizados | @Valid | Valores dos campos personalizados do escritório (definições com type=pessoa). | [ { "campoId": 12, "valores": ["João"] } ] | Opcional. Referência por campoId; campo inexistente/de outro escritório/de tipo processo → 400. |
Como enviar campos personalizados: cada item referencia a definição por campoId (liste os campos do escritório em GET /v2/campos-personalizados/opcoes?type=PESSOA) e traz valores sempre como lista, mesmo quando é um valor só.
Valor único (texto, número, data, seleção, escolha única, texto longo) → lista de 1 item: { "campoId": 12, "valores": ["João da Silva"] }.
Múltipla escolha (checkbox) → vários itens: { "campoId": 21, "valores": ["Opção A", "Opção C"] }.
Exemplo do bloco: "camposPersonalizados": [ { "campoId": 12, "valores": ["João da Silva"] }, { "campoId": 21, "valores": ["Opção A", "Opção C"] } ].
O campoId precisa existir, ser do seu escritório e do tipo pessoa — senão a criação inteira é rejeitada com 400.
Autenticação
X-API-Key no cabeçalho. Como autenticar
Corpo da requisiçãoobrigatório
Dados da pessoa a criar (ver tabela de campos na descrição).
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 (opcional, sem regra condicional no v1)
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. Default: 1 (Cliente).
Respostas3
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",
"classificacao": "CLIENTE",
"naturezaPessoa": null,
"cpfCnpj": "00000000000",
"contatos": {},
"documentos": {},
"endereco": {},
"complementos": {},
"camposPersonalizados": [
{
"campoId": 12,
"valores": [
"João da Silva"
]
},
{
"campoId": 21,
"valores": [
"Opção A",
"Opção C"
]
}
]
}Contrato de respostas
200Pessoa criada.
Pessoa criada.
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 criada
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 inválido (erro de validação).
Payload inválido (erro de validação).
O contrato não declara um corpo para esta resposta.
401Não autenticado (token ausente/inválido).
Não autenticado (token ausente/inválido).
O contrato não declara um corpo para esta resposta.
