Pular para o conteúdo principal

Criar Parte Relacionada


Introdução​

Este recurso tem como objetivo identificar os beneficiários finais (pessoas físicas) e controladores relacionados ao investidor pessoa jurídica, como sócios, diretores, administradores, etc ou procuradores de pessoa física.

Atenção
  • Este endpoint deve ser chamado múltiplas vezes, uma vez para cada parte relacionada
  • Para pessoa jurídica como parte relacionada, o related_party_type deve ser obrigatoriamente parent_company (exceto em fund_class)
  • As exigências de quantidade, de representante legal e de participação mínima variam conforme o tipo do investidor — veja Exigências por tipo de investidor abaixo
  • Para corrigir ou desativar uma parte relacionada já criada, use Atualizar Parte Relacionada e Atualizar Status da Parte Relacionada. Partes com status inactive deixam de ser consideradas em todas as validações do envio para análise

Exigências por tipo de investidor​

As validações abaixo são aplicadas no envio para análise (submit), não na criação da parte relacionada. Cada regra é avaliada em sequência, então uma recusa pode esconder a próxima pendência.

InvestidorPartes relacionadasRepresentante legalParticipação somada
Pessoa física (natural_person)Opcional — envie apenas se houver procuradorNão exigidoNão validada
Pessoa jurídica (legal_person / default, financial_institution)Pelo menos uma ativa, senão IVR000134Pelo menos uma com legal_representative: true, senão IVR000136≥ 80% e nunca acima de 100%, senão IVR000166 / IVR000169
Fundo (fund_class) não exclusivoNenhuma — pode pular a etapaNão exigidoNão validada
Fundo (fund_class) exclusivoPelo menos uma, obrigatoriamente do tipo exclusive_investor, senão IVR000134Proibido — exclusive_investor não pode ser representante legal (IVR000165)Exatamente 100%, senão IVR000170
Fundos de investimento

Em um fundo, a representação se dá pelos investor owners (administrador e gestora) — não é necessário enviar representantes legais como parte relacionada. O único related_party_type aceito em fund_class é exclusive_investor; qualquer outro valor é recusado com IVR000172.

O caráter exclusivo do fundo (exclusive_fund_class) é derivado automaticamente da classe CVM no momento da criação do investidor. Se o CNPJ não constar na base da CVM, o campo fica indefinido e o submit é recusado com IVR000068 — use um CNPJ de fundo efetivamente registrado na CVM.

Sobre os Beneficiários Finais

Beneficiário Final é a pessoa natural que, em última instância exerce posição de controle ou influência significativa na empresa, especialmente as que detêm 15% ou mais de participação direta ou indireta, exercem cargo de administração ou representam a empresa para fins legais.

Informar os dados das pessoas físicas que detêm 15% ou mais de participação societária direta ou indireta e administradores. Se nenhum dos sócios/acionistas detém individualmente participação igual ou maior a 15%, solicitamos enviar as informações dos 03 controladores que detêm os maiores percentuais de participação.

Conciliando a regra de 15% com o mínimo de 80%. As duas regras convivem: a de 15% define quem precisa ser qualificado, a de 80% define quanto da cadeia societária precisa estar declarado. Uma sócia pessoa jurídica (parent_company) também conta para a soma — em capital pulverizado, declarar a holding controladora costuma ser o caminho para atingir o mínimo. Recomendamos enviar pelo menos 85% somados, para não depender de arredondamento.

O procurador (attorney), embora não detenha participação, exerce posição de controle e por isso é considerado beneficiário final. Envie-o com participation_percentage: 0.

Quando um beneficiário final pessoa física não puder ser plenamente qualificado, o cadastro da controladora pode bastar — porém poderão ser solicitados esclarecimentos por meio de feedbacks.

Input / Output:​

Como input devem ser enviados os dados da parte relacionada.

Como output será entregue uma external_related_party_key e os detalhes da parte relacionada criada.

Disponível em
PerfilHost
Investidorinvestor-api

URL base de cada host: Ambientes (Hosts).

Request​

ENDPOINT
/investor_registry/investor/{investor_key}/investor_analysis/{investor_analysis_key}/related_party
MÉTODO
POST
STATUS
201

Request body​

Exemplo: Sócio Pessoa Física
Request Body
{
"name": "João Silva",
"document_number": "969.698.790-03",
"person_type": "natural_person",
"related_party_type": "partner",
"resident": true,
"legal_representative": true,
"direct_beneficiary": true,
"address": {
"postal_code": "01000-000",
"street": "Rua das Flores",
"number": "123",
"neighborhood": "Centro",
"city": "São Paulo",
"uf": "SP",
"country": "BRA",
"complement": "Apto 101"
},
"participation_percentage": 0.5,
"monthly_income": 50000.00,
"email": "joao.silva@example.com",
"phone": {
"international_dial_code": "55",
"area_code": "11",
"number": "987654321"
}
}
Exemplo: Empresa Controladora (Pessoa Jurídica)
Request Body
{
"name": "Empresa Controladora Ltda",
"document_number": "66.777.888/0001-81",
"person_type": "legal_person",
"related_party_type": "parent_company",
"resident": true,
"legal_representative": false,
"direct_beneficiary": true,
"address": {
"postal_code": "02000-000",
"street": "Avenida Principal",
"number": "456",
"neighborhood": "Jardim",
"city": "São Paulo",
"uf": "SP",
"country": "BRA"
},
"participation_percentage": 0.8,
"email": "contato@controladora.com.br",
"phone": {
"international_dial_code": "55",
"area_code": "11",
"number": "123456789"
}
}

Body params​

CampoTipoDescriçãoCaracteresObrigatório
namestringNome da parte relacionada1 - 255Sim
person_typestringEnumerador de Person Type-Sim
related_party_typestringEnumerador de Related Party Type-Sim
residentbooleanDefine se é residente no Brasil-Sim
legal_representativebooleanDefine se é representante legal-Sim
direct_beneficiarybooleanDefine se é beneficiário final-Sim
participation_percentagenumberPercentual de participação, em fração de 0 a 1 (ex.: 0.5 = 50%)-Sim
document_numberstringCPF ou CNPJ. Obrigatório quando resident: true1 - 18Condicional
addressobjectObjeto de Address. Obrigatório quando person_type é legal_person ou quando direct_beneficiary: true-Condicional
monthly_incomenumberRenda mensal. Obrigatório quando person_type é natural_person e direct_beneficiary: true-Condicional
nationalitystringNacionalidade, código ISO de 3 letras maiúsculas (ex.: BRA). Default BRA para pessoa física. Não aceito para legal_person3Não
emailstringE-mail1 - 100Não
phoneobjectObjeto de Phone-Não
expiration_datestringData de expiração (formato: YYYY-MM-DD)10Não
Campos condicionais

address e monthly_income são recusados com IVR000068 quando a condição acima é satisfeita e o campo não é enviado — mesmo sendo opcionais nos demais casos. Como a API valida um campo por vez, envie os dois já na primeira tentativa para partes com direct_beneficiary: true.

nationality enviado para uma parte relacionada legal_person é recusado com IVR000238.

EnumeradorDescrição
natural_personPessoa física
legal_personPessoa jurídica
EnumeradorDescrição
presidentPresidente
partnerSócio
administratorAdministrador
directorDiretor
managerGestor
attorneyProcurador
parent_companyEmpresa controladora (apenas para pessoa jurídica)
asset_custodianCustodiante de ativos
exclusive_investorInvestidor Exclusivo

Address​

CampoTipoDescriçãoCaracteresObrigatório
postal_codestringCódigo postal. Para endereço no Brasil, CEP no formato XXXXX-XXX. Para endereço no exterior, envie o código postal local no formato do país1 - 20Sim
streetstringLogradouro1 - 255Não
numberstringNúmero1 - 10Não
neighborhoodstringBairro1 - 255Não
citystringCidade1 - 255Não
ufstringUnidade federativa (ex.: SP). Para endereço no exterior, use EX1 - 20Não
countrystringPaís, código ISO de 3 letras (ex.: BRA)3Não
complementstringComplemento1 - 255Não
Endereço no exterior

postal_code e uf não têm validação de formato — aceitam o padrão de qualquer país. A coerência exigida é entre resident e country: uma parte relacionada com resident: true precisa de country: "BRA" (senão IVR000227), e uma com resident: false não pode ter country: "BRA" (senão IVR000226).

Phone​

CampoTipoDescriçãoCaracteresObrigatório
international_dial_codestringCódigo internacional1 - 3Sim
area_codestringCódigo de área2Sim
numberstringNúmero de telefone8 - 9Sim

Response​

Response Body
{
"related_party_key": "UUID",
"external_related_party_key": "UUID",
"name": "João Silva",
"document_number": "969.698.790-03",
"person_type": "natural_person",
"related_party_type": "partner",
"status": "active",
"resident": true,
"legal_representative": true,
"direct_beneficiary": true,
"address": {
"postal_code": "01000-000",
"street": "Rua das Flores",
"number": "123",
"neighborhood": "Centro",
"city": "São Paulo",
"uf": "SP",
"country": "BRA",
"complement": "Apto 101"
},
"participation_percentage": 0.5,
"monthly_income": 50000.00,
"email": "joao.silva@example.com",
"phone": {
"international_dial_code": "55",
"area_code": "11",
"number": "987654321"
}
}

Erros​

StatusCódigoQuando acontece
400IVR000096A análise não está mais em pending_registry_data
400IVR000004CPF/CNPJ com dígito verificador inválido
400IVR000068Falta um campo obrigatório para o person_type da parte
400IVR000169A participação somada passaria de 100%
409IVR000130Já existe parte relacionada com o mesmo documento nesta análise
400QIT000011Pela gestora (manager-api): o investidor não é uma classe de fundo vinculada a ela

Erros de autenticação, permissão e host: veja Erros da API.