Criar investidor
Introdução
Este recurso tem como objetivo nos informar dados básicos para iniciar o cadastro de um investidor.
A criação de um investidor já dispara, em conjunto, a abertura de uma primeira análise cadastral vinculada a ele. Por isso, ao final desta chamada são retornadas duas chaves: investor_key (identifica o investidor) e investor_analysis_key (identifica a análise cadastral em andamento).
Existem 3 tipos principais de investidor, definidos pelo campo person_type: pessoa física (natural_person), pessoa jurídica (legal_person) e PCO ('nominee'). Para pessoas jurídicas, o campo investor_sub_type distingue subtipos como fundo de investimento (fund_class), que possuem regras próprias ao longo do fluxo de cadastro.
Para os casos de investidores distribuídos por conta e ordem (PCO | nominee) não existe uma esteira cadastral e portanto, apenas o POST de criação é necessário para torná-lo apto em todo o sistema.
Em sandbox, o resultado da análise depende do primeiro dígito do CPF/CNPJ: início 1 → reprovação automática; início 8 → análise manual; os demais são aprovados automaticamente.
Input / Output
Como input envie os dados básicos do investidor. Os campos obrigatórios variam de acordo com person_type e investor_sub_type.
Como output serão retornadas a investor_key e a investor_analysis_key. A investor_key identifica o investidor; a investor_analysis_key identifica a análise cadastral aberta junto com a criação. Um mesmo investidor pode possuir mais de uma análise cadastral ao longo do tempo (renovações, atualizações).
| Perfil | Host |
|---|---|
| Distribuidor | distributor-api |
URL base de cada host: Ambientes (Hosts).
Request
/investor_registry/v2/investorPOST201Request body
Caso 01: Pessoa Física
{
"name": "João da Silva",
"document_number": "969.698.790-03",
"person_type": "natural_person",
"email": "joao.silva@example.com",
"phone": {
"international_dial_code": "55",
"area_code": "11",
"number": "987654321"
}
}
Caso 02: Pessoa Jurídica
{
"name": "Empresa XPTO Ltda",
"document_number": "22.333.444/0001-81",
"person_type": "legal_person",
"investor_sub_type": "default",
"registry_user": {
"name": "José da Silva",
"document_number": "969.698.790-03",
"email": "jose.silva@example.com",
"phone": {
"international_dial_code": "55",
"area_code": "11",
"number": "987654321"
}
}
}
Caso 03: Pessoa Jurídica — Fundo de Investimento (fund_class)
{
"name": "Fundo XPTO Multimercado",
"document_number": "22.333.444/0001-81",
"person_type": "legal_person",
"investor_sub_type": "fund_class"
}
Caso 04: Nominee (PCO)
{
"name": "Nominee XPTO",
"person_type": "nominee",
"external_distribution_key": "ID-DISTRIBUICAO-001"
}
person_typeOs campos obrigatórios mudam de acordo com o person_type. A ausência de qualquer um deles é recusada com IVR000009, cuja mensagem lista a relação completa exigida.
natural_person:name,document_number,person_typelegal_person:name,document_number,person_typenominee:name,person_type,external_distribution_key
investor_sub_type é opcional. Se omitido, pessoa física fica default e, para pessoa jurídica residente, o subtipo é identificado pelo CNPJ (financial_institution, fund_class ou default). email e phone são opcionais para um distribuidor, mas recomendados: sem email, nenhum usuário de acesso é criado para o investidor.
registry_userO registry_user representa o usuário (pessoa física) responsável por preencher os dados cadastrais do investidor. Para pessoa física, normalmente este usuário é o próprio investidor e o campo pode ser omitido. Para pessoa jurídica, é o representante que responderá pelo preenchimento.
Quando enviado, o objeto exige name, document_number e email. Se omitido em pessoa física, o usuário é derivado do email do próprio investidor — e, se o investidor também não tiver email, nenhum usuário é criado.
investor_owner_type não é aceito de distribuidoresO campo investor_owner_type é recusado com IVR000010 quando o investidor é criado por uma integração de distribuidor com person_type natural_person ou legal_person. Vínculos de carteira administrada e de fundo são estabelecidos pelo endpoint Criar Investor Owner, dentro da análise cadastral.
Investidor não residente
A residência é definida na criação do investidor e é imutável depois disso. Ela é controlada pelo campo resident.
{
"name": "Maria Fernandes",
"document_number": "969.698.790-03",
"person_type": "natural_person",
"investor_sub_type": "default",
"resident": false,
"non_resident_type": "third_party_representation",
"investor_owners": [
{
"type": "non_resident_representative",
"name": "Representante Legal Brasil Ltda",
"document_number": "22.333.444/0001-81"
}
]
}
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
resident | boolean | Define a residência da análise cadastral. Default true | Não |
non_resident_type | string | self_representation ou third_party_representation. Obrigatório quando resident: false (IVR000222) | Condicional |
investor_owners | array | Representante legal residente no Brasil, com type: "non_resident_representative" | Não |
Tipos de representação
non_resident_type declara como o investidor não residente é representado no Brasil. É essa escolha que determina quais entidades você precisa cadastrar e quais documentos serão exigidos no envio para análise.
| Enumerador | Tipo de conta | Significado |
|---|---|---|
third_party_representation | Conta 4373 | O INR opera por meio de terceiros: existe um custodiante, responsável pela guarda dos ativos, e um representante legal brasileiro, responsável por representá-lo no país. Na prática, costumam ser a mesma entidade. |
self_representation | Conta CNR (autocustódia / representação tributária) | O investidor é seu próprio custodiante e representante. Não existe custodiante nem representante terceiro. |
O que muda entre os dois:
third_party_representation | self_representation | |
|---|---|---|
| Custodiante | Parte relacionada do tipo asset_custodian | Não existe |
| Representante | Investor owner do tipo non_resident_representative — sempre residente, com CPF/CNPJ | Não existe |
| Documentos de representação | custody_contract (no custodiante) e representation_contract (no representante) — ou uma única simplified_declaration na análise | Nenhum |
Em third_party_representation, o custody_contract só é reconhecido quando enviado em uma parte relacionada ativa do tipo asset_custodian, e o representation_contract só é reconhecido quando enviado em um investor owner ativo do tipo non_resident_representative. Enviar os dois contratos como documentos da análise cadastral não satisfaz a regra.
Se a combinação não for encontrada no submit, a resposta é IVR000029.
Regras que valem para os dois tipos:
nif_numberé obrigatório no envio dos dados cadastrais (IVR000224);- parte relacionada estrangeira sem CPF/CNPJ precisa de
passportouforeign_id; - pessoa física nascida no Brasil (
natural_person.place_of_birth.country: "BRA") precisa definal_departure_tax_return.
non_resident_type é imutávelO valor é fixado na criação do investidor. Você pode reenviá-lo nos dados cadastrais, mas apenas com o mesmo valor — divergência, ou envio em um cadastro residente, resulta em IVR000225.
Com resident: true (default), o endereço enviado na Etapa 3 precisa ter country: "BRA", senão IVR000227. Com resident: false, o country não pode ser BRA, senão IVR000226.
postal_code e uf não têm validação de formato, então códigos postais estrangeiros são aceitos como estão. Use EX em uf para endereços no exterior.
fund_classPara fundos de investimento (investor_sub_type: "fund_class"), parte dos dados cadastrais é preenchida automaticamente a partir da base da CVM no momento do envio para análise — incluindo razão social, data de constituição, patrimônio e vínculos com administrador, gestor e (quando aplicável) investidor exclusivo. Veja o documento Criar Investor Owner para o cadastro de relações de propriedade adicionais.
Body params
| Campo | Tipo | Descrição | Caracteres | Obrigatório |
|---|---|---|---|---|
name | string | Nome (ou razão social) do investidor | 1 - 255 | Sim |
person_type | string | Enumerador de Person Type | - | Sim |
investor_sub_type | string | Enumerador de Investor Sub Type. Se omitido, é inferido (veja acima) | - | Não |
document_number | string | CPF (XXX.XXX.XXX-XX) ou CNPJ (XX.XXX.XXX/XXXX-XX) | 14 ou 18 | Sim* |
external_distribution_key | string | Identificador externo da distribuição (obrigatório para nominee) | 1 - 100 | Sim* |
resident | boolean | Residência da análise cadastral. Default true. Veja Investidor não residente | - | Não |
non_resident_type | string | self_representation ou third_party_representation. Exigido quando resident: false | - | Condicional |
investor_owners | array | Representante legal residente, para investidor não residente | - | Não |
email | string | E-mail do investidor | 1 - 255 | Não |
phone | object | Objeto de Phone | - | Não |
registry_user | object | Objeto de Registry User | - | Não |
external_id | string | Identificador do investidor no seu sistema | 1 - 50 | Não |
* document_number não deve ser enviado para person_type: nominee. external_distribution_key é exigido apenas para nominee.
Phone
| Campo | Tipo | Descrição | Caracteres | Obrigatório |
|---|---|---|---|---|
international_dial_code | string | Código internacional (ex.: 55) | 1 - 3 | Sim |
area_code | string | DDD | 2 | Sim |
number | string | Número do telefone | 8 - 9 | Sim |
Registry User
| Campo | Tipo | Descrição | Caracteres | Obrigatório |
|---|---|---|---|---|
name | string | Nome do usuário cadastrador | 1 - 255 | Sim |
document_number | string | CPF do usuário (formato XXX.XXX.XXX-XX) | 14 | Sim |
email | string | E-mail do usuário | 1 - 255 | Sim |
phone | object | Objeto de Phone | - | Não |
Person Type
| Enumerador | Descrição |
|---|---|
natural_person | Pessoa física |
legal_person | Pessoa jurídica |
nominee | Nominee / PCO (sem documento obrigatório) |
Investor Sub Type
| Enumerador | Descrição |
|---|---|
default | Investidor regular, pessoa física ou jurídica |
fund_class | Fundo de investimento — dispara enriquecimento automático com dados públicos da CVM |
financial_institution | Instituição financeira. Segue as mesmas regras de default |
O valor non_resident é recusado com IVR000255: a residência é declarada pelos campos resident e non_resident_type, não pelo subtipo.
Response
{
"investor_key": "UUID",
"investor_analysis_key": "UUID"
}
Erros
| Status | Código | Quando acontece |
|---|---|---|
| 400 | IVR000004 | CPF/CNPJ com dígito verificador inválido, ou CPF enviado com legal_person (e vice-versa) |
| 400 | IVR000009 | Falta um campo obrigatório do person_type |
| 400 | IVR000010 | investor_owner_type enviado com natural_person ou legal_person |
| 400 | IVR000222 | resident: false sem non_resident_type |
| 400 | IVR000255 | investor_sub_type: non_resident |
| 409 | IVR000007 | Você já cadastrou um investidor com este documento |
Erros de autenticação, permissão e host: veja Erros da API.