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).

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.

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).

Available on
ProfileHost
Investorinvestor-api

Base URL for each host: Environments (Hosts).

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"
},
"investor_owner_type": "wallet_manager"
}
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",
"investor_owner_type": "wallet_manager"
}
Required fields

The required fields change according to the person_type. The absence of any of them is rejected with IVR000009.

  • natural_person: name, document_number, person_type and, when investor_owner_type is not sent, email and phone
  • legal_person: name, document_number, person_type

investor_owner_type is required for the portfolio manager: without it, the call is rejected with IVR000153. With it, email and phone are not required for natural_person.

investor_sub_type is optional; non_resident is rejected with IVR000255.

Body params​

FieldTypeDescriptionCharactersRequired
namestringName (or corporate name) of the investor1 - 255Yes
person_typestringPerson Type enumerator-Yes
document_numberstringCPF (XXX.XXX.XXX-XX) or CNPJ (XX.XXX.XXX/XXXX-XX)14 or 18Yes*
investor_sub_typestringInvestor Sub Type enumerator-No
emailstringInvestor e-mail. Required for natural_person without investor_owner_type1 - 255Conditional
phoneobjectPhone object. Required for natural_person without investor_owner_type-Conditional
investor_owner_typestringType of relationship with the created investor - Investor Owner Type enumerator1 - 255Yes

Phone​

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

Person Type​

EnumeratorDescription
natural_personNatural person
legal_personLegal entity

Investor Sub Type​

EnumeratorDescription
defaultRegular legal entity (default when the field is not provided)

Investor Owner Type​

EnumeratorDescription
wallet_managerPortfolio Manager

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
400IVR000153investor_owner_type not sent
400IVR000255investor_sub_type: non_resident. Use resident: false and non_resident_type
400IVR000258 / IVR000259default sub-type declared for a CNPJ that is a registered financial institution or a class at CVM
409IVR000007You have already registered an investor with this document

Authentication, permission and host errors: see API Errors.