Skip to main content

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

ENDPOINT
/account_request/checking
METHOD
POST
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"
}
}
}
]
}
CPF/CNPJ Mock

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

FieldTypeDescriptionCharacters
account_owner *objectObject containing Account Holder informationaccount_owner Object
legal_representatives*object arrayList of account representatives and their datalegal_representative Object

account_owner Object

FieldTypeDescriptionCharacters
company_document_number *stringAccount Holder CNPJ50
email *stringEmail11
foundation_date *stringCompany foundation date (YYYY-MM-DD format)10
name *stringAccount Holder Full Name50
FieldTypeDescriptionCharacters
document_number *stringAccount Holder CPF11
birthdate *stringDate of birth (YYYY-MM-DD format)10
name *stringAccount Holder Name50
documents *objectAccount holder document(s)documents Object
face*uuidv4Facial recognition key made with antifraud (face_recognition_key)36

documents Object

FieldTypeDescriptionCharacters
rgobjectOCR keys for front and back upload of holder's RGrg Object
cnhobjectOCR key for holder's CNH uploadcnh Object
cnh_digitalobjectOCR key for holder's digital CNH uploadcnh_digital Object
national_registry_of_foreignersobjectOCR keys for front and back upload of holder's RNEnational_registry_of_foreigners Object
national_migration_registryobjectOCR keys for front and back upload of holder's CRNMnational_migration_registry Object
passportobjectOCR key for holder's passport uploadpassport Object
cin_digitalobjectOCR key for holder's digital National Identity Card uploadcin_digital Object
Information

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

FieldTypeDescriptionCharacters
ocr_front_key *uuidv4OCR key for RG front image upload36
ocr_back_key *uuidv4OCR key for RG back image upload36

OR

FieldTypeDescriptionCharacters
ocr_key *uuidv4OCR key for RG image upload36

cnh Object

FieldTypeDescriptionCharacters
ocr_front_key *uuidv4OCR key for CNH front image upload36
ocr_back_key *uuidv4OCR key for CNH back image upload36

OR

FieldTypeDescriptionCharacters
ocr_key *uuidv4OCR key for CNH image upload36

cnh_digital Object

FieldTypeDescriptionCharacters
ocr_key *uuidv4OCR key for digital CNH image upload36

national_registry_of_foreigners Object

FieldTypeDescriptionCharacters
ocr_front_key *uuidv4OCR key for RNE front image upload36
ocr_back_key *uuidv4OCR key for RNE back image upload36

OR

FieldTypeDescriptionCharacters
ocr_key *uuidv4OCR key for RNE image upload36

national_migration_registry Object

FieldTypeDescriptionCharacters
ocr_front_key *uuidv4OCR key for CRNM front image upload36
ocr_back_key *uuidv4OCR key for CRNM back image upload36

OR

FieldTypeDescriptionCharacters
ocr_key *uuidv4OCR key for CRNM image upload36

passport Object

FieldTypeDescriptionCharacters
ocr_key *uuidv4OCR key for passport image upload36

cin_digital Object

FieldTypeDescriptionCharacters
ocr_key *uuidv4OCR key for digital National Identity Card image upload36

Response

STATUS
201
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"
}
Bacen Protege+ Flow

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.

Warning

The account_request_key field must be stored and will be used for account opening confirmation.

Response Body Params

FieldTypeDescriptionCharacters
account_info *objectObject containing Account Holder informationaccount_info Object
account_request_key *stringCreation request identification key-
account_request_status *stringKYC Status-

account_info Object

FieldTypeDescriptionCharacters
account_branch *stringBranch Number4
account_digit *stringEmail11
account_number *stringAccount Holder Full Name50
STATUS
4xx
Response Body: Error
{
"title": "titulo",
"description": "description in English",
"translation": "descrição em portugues",
"code": "codigo",
"extra_fields": {}
}
HTTP Code
status
QI Code
code
Title
title
Description (eng)
description
Description(ptbr)
translation
400QIT000001Bad RequestSchema ErrorErro de Schema
404QIT000404Not FoundResource could not be foundRecurso não encontrado