Skip to main content

Create investor


Introduction​

This resource is used to provide us with the basic data to start the registration of an investor.

Creating an investor also triggers the opening of a first registration analysis linked to it. For this reason, at the end of this call two keys are returned: investor_key (identifies the investor) and investor_analysis_key (identifies the registration analysis in progress).

The investor types are defined by the person_type field: natural person (natural_person), legal entity (legal_person) and on behalf of and to the order of (nominee). The investor_sub_type field distinguishes sub-types such as investment fund (fund_class), which have their own rules throughout the registration flow.

Approval rule in sandbox

In sandbox, the analysis result depends on the first digit of the CPF/CNPJ: starting with 1 → automatic rejection; starting with 8 → manual analysis; all others are automatically approved.

This rule is exclusive to sandbox. In production, every analysis goes through the real compliance flow.

Input / Output​

As input, send the investor's basic data. The required fields vary according to person_type and investor_sub_type.

As output, the investor_key and the investor_analysis_key are returned. The investor_key identifies the investor; the investor_analysis_key identifies the registration analysis opened along with the creation. The same investor may have more than one registration analysis over time (renewals, updates).

Request​

ENDPOINT
/investor_registry/investor
METHOD
POST
STATUS
201

Request body​

Case 01: Natural Person
Request Body
{
"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"
}
}
Case 02: Legal Entity
Request Body
{
"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"
}
}
}
Required fields by person_type

The required fields change according to the person_type. The absence of any of them is rejected with IVR000009, whose message lists the full set required.

  • natural_person: name, document_number, person_type and, when the investor is created by the manager or by the consultant, email and phone
  • legal_person: name, document_number, person_type
  • nominee: name, person_type, external_distribution_key

investor_sub_type is optional. If omitted, a natural person becomes default and, for a resident legal entity, the sub-type is identified by the CNPJ (financial_institution, fund_class or default). For a distributor, natural person email and phone are optional, but recommended: without email, no access user is created for the investor.

About the registry_user

The registry_user represents the user (natural person) responsible for filling in the investor's registration data. For a natural person, this user is usually the investor themselves and the field can be omitted. For a legal entity, it is the representative who will be responsible for filling it in.

When sent, the object requires name, document_number and email. If omitted for a natural person, the user is derived from the investor's own email — and, if the investor also has no email, no user is created.

investor_owner_type is not accepted from distributors

The investor_owner_type field is rejected when the investor is created by a distributor integration with person_type natural_person or legal_person. Managed portfolio and fund links are established through the Create Investor Owner endpoint, within the registration analysis.

Non-resident investor​

Residence is defined when the investor is created and is immutable after that. It is controlled by the resident field.

Request Body — non-resident natural person
{
"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"
}
]
}
FieldTypeDescriptionRequired
residentbooleanDefines the residence of the registration analysis. Default trueNo
non_resident_typestringself_representation or third_party_representation. Required when resident: false (IVR000222)Conditional
investor_ownersarrayLegal representative resident in Brazil, with type: "non_resident_representative"No

Representation types​

non_resident_type declares how the non-resident investor is represented in Brazil. This choice determines which entities you need to register and which documents will be required when the registration is sent for analysis.

EnumeratorAccount typeMeaning
third_party_representation4373 accountThe non-resident investor (INR) operates through third parties: there is a custodian, responsible for safekeeping the assets, and a Brazilian legal representative, responsible for representing them in the country. In practice, they are usually the same entity.
self_representationCNR account (self-custody / tax representation)The investor is their own custodian and representative. There is no third-party custodian or representative.

What changes between the two:

third_party_representationself_representation
CustodianRelated party of type asset_custodianDoes not exist
RepresentativeInvestor owner of type non_resident_representative — always resident, with CPF/CNPJDoes not exist
Representation documentscustody_contract (on the custodian) and representation_contract (on the representative) — or a single simplified_declaration on the analysisNone
How the document requirement is checked

In third_party_representation, the custody_contract is only recognized when sent on an active related party of type asset_custodian, and the representation_contract is only recognized when sent on an active investor owner of type non_resident_representative. Sending both contracts as registration analysis documents does not satisfy the rule.

If the combination is not found at submit, the response is IVR000029.

Rules that apply to both types:

  • nif_number is required when sending the registration data (IVR000224);
  • a foreign related party without CPF/CNPJ needs a passport or foreign_id;
  • a natural person born in Brazil (natural_person.place_of_birth.country: "BRA") needs a final_departure_tax_return.
non_resident_type is immutable

The value is fixed when the investor is created. You can resend it in the registration data, but only with the same value — a mismatch, or sending it on a resident registration, results in IVR000225.

Residence and address must agree

With resident: true (default), the address sent in the address step must have country: "BRA", otherwise IVR000227. With resident: false, the country cannot be BRA, otherwise IVR000226.

Body params​

FieldTypeDescriptionCharactersRequired
namestringName (or corporate name) of the investor1 - 255Yes
person_typestringPerson Type enumerator-Yes
investor_sub_typestringInvestor Sub Type enumerator. If omitted, it is inferred-No
document_numberstringCPF (XXX.XXX.XXX-XX) or CNPJ (XX.XXX.XXX/XXXX-XX). Not required for nominee14 or 18Yes*
external_distribution_keystringExternal distribution key. Required only for nominee1 - 100Yes*
residentbooleanResidence of the registration analysis. Default true. See Non-resident investor-No
non_resident_typestringself_representation or third_party_representation. Required when resident: false-Conditional
investor_ownersarrayResident legal representative, for a non-resident investor-No
emailstringInvestor e-mail. Required for natural_person created by a manager or consultant1 - 255Conditional
phoneobjectPhone object. Required for natural_person created by a manager or consultant-Conditional
registry_userobjectRegistry User object-No
external_idstringInvestor identifier in your system1 - 50No

Phone​

FieldTypeDescriptionCharactersRequired
international_dial_codestringInternational code (e.g. 55)1 - 3Yes
area_codestringArea code (DDD)2Yes
numberstringPhone number8 - 9Yes

Registry User​

FieldTypeDescriptionCharactersRequired
namestringName of the registering user1 - 255Yes
document_numberstringUser CPF (format XXX.XXX.XXX-XX)14Yes
emailstringUser e-mail1 - 255Yes
phoneobjectPhone object-No

Person Type​

EnumeratorDescription
natural_personNatural person
legal_personLegal entity
nomineeOn behalf of and to the order of (PCO)
nominee (PCO) registration

The on-behalf-of-and-to-the-order-of flow must be previously enabled and agreed upon for use in Production. Talk to your commercial contact before planning the integration of this case.

Investor Sub Type​

EnumeratorDescription
defaultRegular investor, natural person or legal entity
fund_classInvestment fund. Has its own rules for related parties, documents and investor owners
financial_institutionFinancial institution. Follows the same rules as default
non_residentRejected with IVR000255. Residence is declared through resident and non_resident_type

Response​

Response Body
{
"investor_key": "UUID",
"investor_analysis_key": "UUID"
}

Errors​

StatusCodeWhen it happens
400IVR000004CPF/CNPJ with an invalid check digit, or CPF sent with legal_person (and vice versa)
400IVR000009A required field for the person_type is missing
400IVR000064investor_sub_type fund_class or financial_institution sent with natural_person
400IVR000222resident: false without non_resident_type
400IVR000255investor_sub_type: non_resident
400IVR000256 to IVR000259The declared sub-type does not match the CNPJ (registered financial institution / class at CVM)
409IVR000007You have already registered an investor with this document

Authentication, permission and host errors: see API Errors.