Legal Entity Account Opening
Account opening occurs in two mandatory stages. First, a POST request sends preliminary data to reserve the account. Then, a webhook of type account_request.status_change with the status pending_additional_data is triggered. In the second stage, a PATCH request finalizes the opening, making the account official with the complementary information.
Request Account Reservation
Request
Request Body
{
"account_owner": {
"company_document_number": "99999999000199",
"email": "teste@email.com",
"foundation_date": "2017-09-16",
"name": "NOME DA EMPRESA"
},
"legal_representatives": [
{
"birthdate": "1963-07-23",
"name": "Don Corleone",
"document_number": "03912394323",
"email": "teste@gmail.com",
"documents": {
"national_registry_of_foreigners": {
"ocr_front_key": "0aa8a4ca-5873-49bd-851c-1f2c71a1cc28",
"ocr_back_key": "29f6e346-7fae-4dcb-9ea1-2a3e4ef593ea"
}
},
"face": "68da08f1-6cf4-4dce-a297-7b2f09311784"
},
{
"birthdate": "1996-03-10",
"name": "John Doe",
"document_number": "39113492093",
"email": "teste@gmail.com",
"documents": {
"cnh": {
"ocr_key": "beee557e-9240-4c5b-88f1-42812b195168"
}
}
}
]
}
To simulate approval, rejection, and manual analysis situations, you can use the first digit of the account owner's CPF/CNPJ:
0 to 6 -> Manual Analysis
7 -> Rejected by bacen protege+
8 -> Automatically rejected in KYC
9 -> Automatic Approval
Request Body Params
| Field | Type | Description | Characters |
|---|---|---|---|
account_owner * | object | Object containing Account Holder information | account_owner Object |
legal_representatives* | object array | List of account representatives and their data | legal_representative Object |
account_owner Object
| Field | Type | Description | Characters |
|---|---|---|---|
company_document_number * | string | Account Holder CNPJ | 50 |
email * | string | 11 | |
foundation_date * | string | Company foundation date (YYYY-MM-DD format) | 10 |
name * | string | Account Holder Full Name | 50 |
legal_representative Object
| Field | Type | Description | Characters |
|---|---|---|---|
document_number * | string | Account Holder CPF | 11 |
birthdate * | string | Date of birth (YYYY-MM-DD format) | 10 |
name * | string | Account Holder Name | 50 |
documents * | object | Account holder document(s) | documents Object |
face* | uuidv4 | Facial recognition key made with antifraud (face_recognition_key) | 36 |
documents Object
| Field | Type | Description | Characters |
|---|---|---|---|
rg | object | OCR keys for front and back upload of holder's RG | rg Object |
cnh | object | OCR key for holder's CNH upload | cnh Object |
cnh_digital | object | OCR key for holder's digital CNH upload | cnh_digital Object |
national_registry_of_foreigners | object | OCR keys for front and back upload of holder's RNE | national_registry_of_foreigners Object |
national_migration_registry | object | OCR keys for front and back upload of holder's CRNM | national_migration_registry Object |
passport | object | OCR key for holder's passport upload | passport Object |
cin_digital | object | OCR key for holder's digital National Identity Card upload | cin_digital Object |
The OCR keys (ocr_key or ocr_front_key and ocr_back_key) for document image uploads are provided as a response from antifraud image uploads. The face_recognition_key is returned in the facial recognition response.
rg Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_front_key * | uuidv4 | OCR key for RG front image upload | 36 |
ocr_back_key * | uuidv4 | OCR key for RG back image upload | 36 |
OR
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key for RG image upload | 36 |
cnh Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_front_key * | uuidv4 | OCR key for CNH front image upload | 36 |
ocr_back_key * | uuidv4 | OCR key for CNH back image upload | 36 |
OR
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key for CNH image upload | 36 |
cnh_digital Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key for digital CNH image upload | 36 |
national_registry_of_foreigners Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_front_key * | uuidv4 | OCR key for RNE front image upload | 36 |
ocr_back_key * | uuidv4 | OCR key for RNE back image upload | 36 |
OR
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key for RNE image upload | 36 |
national_migration_registry Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_front_key * | uuidv4 | OCR key for CRNM front image upload | 36 |
ocr_back_key * | uuidv4 | OCR key for CRNM back image upload | 36 |
OR
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key for CRNM image upload | 36 |
passport Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key for passport image upload | 36 |
cin_digital Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key for digital National Identity Card image upload | 36 |
Response
Response Body
{
"account_info": {
"account_branch": "0001",
"account_digit": "0",
"account_number": "1693580"
},
"account_request_key": "f230f1b5-07af-4737-b0e3-8a472304f5e7",
"account_request_status": "pending_bacen_validation"
}
The proposal starts with status pending_bacen_validation. The system performs a preliminary validation with Bacen Protege+ before proceeding with KYC analysis. After Bacen approval, the status will be automatically updated to pending_kyc_analysis.
The account_request_key field must be stored and will be used for account opening confirmation.
Response Body Params
| Field | Type | Description | Characters |
|---|---|---|---|
account_info * | object | Object containing Account Holder information | account_info Object |
account_request_key * | string | Creation request identification key | - |
account_request_status * | string | KYC Status | - |
account_info Object
| Field | Type | Description | Characters |
|---|---|---|---|
account_branch * | string | Branch Number | 4 |
account_digit * | string | 11 | |
account_number * | string | Account Holder Full Name | 50 |
Response Body: Error
{
"title": "titulo",
"description": "description in English",
"translation": "descrição em portugues",
"code": "codigo",
"extra_fields": {}
}
HTTP Codestatus | QI Codecode | Titletitle | Description (eng)description | Description(ptbr) translation |
|---|---|---|---|---|
| 400 | QIT000001 | Bad Request | Schema Error | Erro de Schema |
| 404 | QIT000404 | Not Found | Resource could not be found | Recurso não encontrado |