Individual 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 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": {
"document_number": "64669455000187",
"email": "marcos.alves@yopmail.com",
"birthdate": "2017-09-16",
"name": "NOME",
"documents": {
"rg": {
"ocr_front_key": "9d6fefc0-77c9-4acc-8526-53523ff155b9",
"ocr_back_key": "30157d15-3b93-46ad-9c94-cd8bd533f9ed"
},
"cnh": {
"ocr_key": "f30cea56-dd66-415b-9a28-746f7330b708"
}
},
"face": "dbdaf3c9-cdf6-4737-8551-92910b213b7e"
}
}
To simulate approval, rejection, and manual review situations, the first digit of the account owner's CPF/CNPJ can be used:
0 to 6 -> Manual Review
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 |
account_owner object
| Field | Type | Description | Characters |
|---|---|---|---|
document_number * | string | Account Holder's CPF | 11 |
email * | string | Account Holder's Email | 200 |
birthdate * | string | Date of birth. (YYYY-MM-DD format) | 10 |
name * | string | Account Holder's Name | 50 |
documents * | object | Account holder's document(s) | documents object |
face * | uuidv4 | Facial recognition key from 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 the image upload in antifraud. 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 | Account Digit | 11 |
account_number * | string | Account Number | 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 |