Request 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, officializing the account with complementary information.
Request Account Reservation
Request
Request Body
{
"request_control_key": "5ef0f67a-7672-4d00-8a02-faf847157c4b",
"account_owner": {
"document_number": "99999999999",
"email": "email@teste.com",
"birthdate": "2017-09-16",
"name": "Titular da Conta",
"documents": {
"rg": {
"ocr_front_key": "2ef0f67a-7672-4d00-8a02-faf847157b4a",
"ocr_back_key": "1bd0e0a1-c1fa-4f9c-a230-f7a4163864be"
},
"cnh": {
"ocr_key": "7a73be1a-0b66-4c0a-932a-1d1d02efdc4c"
}
},
"face": "d38dd3c0-6f24-43b9-a37a-425d6700620f"
}
}
To simulate approval, rejection, and manual analysis situations, you can use the first digit of the account owner's CPF/CNPJ:
0 to 7 -> Manual Analysis
8 -> Automatically rejected in KYC
9 -> Automatic Approval
Request Body Params
| Field | Type | Description | Characters |
|---|---|---|---|
account_owner * | object | Object containing the Account Holder information | account_owner Object |
request_control_key * | UUID | Unique identifier per partner request | 36 |
account_owner Object
| Field | Type | Description | Characters |
|---|---|---|---|
document_number * | string | Account Holder CPF | 11 |
email * | string | 11 | |
birthdate * | string | Account Holder birthdate (YYYY-MM-DD format) | 10 |
name * | string | Account Holder Full Name | 50 |
documents* | object | Account holder document(s) | documents Object |
face* | uuidv4 | Face recognition key from antifraud (face_recognition_key) | 36 |
documents Object
| Field | Type | Description | Characters |
|---|---|---|---|
rg | object | OCR keys from front and back RG upload of the holder | rg Object |
cnh | object | OCR key from CNH upload of the holder | cnh Object |
cnh_digital | object | OCR key from digital CNH upload of the holder | cnh_digital Object |
national_registry_of_foreigners | object | OCR keys from front and back RNE upload of the holder | national_registry_of_foreigners Object |
national_migration_registry | object | OCR keys from front and back CRNM upload of the holder | national_migration_registry Object |
passport | object | OCR key from passport upload of the holder | passport Object |
cin_digital | object | OCR key from digital National Identity Card upload of the holder | cin_digital Object |
OCR keys (ocr_key or ocr_front_key and ocr_back_key) from document image uploads are provided as responses from image uploads 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 from RG front image upload | 36 |
ocr_back_key * | uuidv4 | OCR key from RG back image upload | 36 |
OR
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key from RG image upload | 36 |
cnh Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_front_key * | uuidv4 | OCR key from CNH front image upload | 36 |
ocr_back_key * | uuidv4 | OCR key from CNH back image upload | 36 |
OR
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key from CNH image upload | 36 |
cnh_digital Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key from digital CNH image upload | 36 |
national_registry_of_foreigners Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_front_key * | uuidv4 | OCR key from RNE front image upload | 36 |
ocr_back_key * | uuidv4 | OCR key from RNE back image upload | 36 |
OR
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key from RNE image upload | 36 |
national_migration_registry Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_front_key * | uuidv4 | OCR key from CRNM front image upload | 36 |
ocr_back_key * | uuidv4 | OCR key from CRNM back image upload | 36 |
OR
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key from CRNM image upload | 36 |
passport Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key from passport image upload | 36 |
cin_digital Object
| Field | Type | Description | Characters |
|---|---|---|---|
ocr_key * | uuidv4 | OCR key from 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 |