Skip to main content

Business Account Opening

Business account opening occurs in two mandatory steps. 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 step, a PATCH request finalizes the opening, officially establishing the account with the complementary information.

Request Account Reservation

Request

ENDPOINT
/account_request/escrow
METHOD
POST
Request Body
{
"account_owner": {
"company_document_number": "99999999999",
"email": "email@teste.com",
"foundation_date": "2017-09-16",
"name": "Nome da Empresa"
},
"legal_representatives": [
{
"birthdate": "1963-07-23",
"name": "Don Corleone",
"document_number": "03912394323",
"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",
"documents": {
"cnh": {
"ocr_key": "beee557e-9240-4c5b-88f1-42812b195168"
}
}
}
]
}
CPF/CNPJ Mock

To simulate approval, rejection, and manual analysis situations, the first digit of the account owner's CPF/CNPJ can be used:

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 the Account Holder's informationaccount_owner Object
legal_representativesobject arrayList of account representatives and their datalegal_representative Object

account_owner Object

FieldTypeDescriptionCharacters
"company_document_number" *stringAccount Holder's CNPJ14
email *stringContract holder company's email200
foundation_date *stringCompany opening date (YYYY-MM-DD format)10
name *stringCompany Name50
FieldTypeDescriptionCharacters
document_number *stringAccount Holder's CPF11
birthdate *stringBirth date. (YYYY-MM-DD format)10
name *stringAccount Holder's Name50
documents *objectAccount holder's document(s)documents Object
faceuuidv4Face recognition key made with antifraud (face_recognition_key)36

documents Object

FieldTypeDescriptionCharacters
rgobjectOCR keys for front and back RG upload of the holderrg 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 RNE upload of the holdernational_registry_of_foreigners Object
national_migration_registryobjectOCR keys for front and back CRNM upload of the holdernational_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 uploading images to antifraud. The face_recognition_key is returned in the face 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.

Attention

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

Response Body Params

FieldTypeDescriptionCharacters
account_info *objectObject containing the Account Holder's 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 *stringAccount Digit11
account_number *stringAccount Number50
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