Bank Accounts
All bank account endpoints require
Authorization: Bearer <token>.
POST /v1/bank-accounts/create
Create a new banking account. Supports Natural Person (PF) and Legal Person (PJ).
Natural Person (PF)
Request Body:
{
"email": "joao@email.com",
"transactionPassword": "123456",
"person": {
"fullName": "João da Silva",
"documentNumber": "48059890093",
"phoneNumber": "+5511999999999",
"email": "joao@email.com",
"motherName": "Maria da Silva",
"birthDate": "15-03-1990",
"isPoliticallyExposedPerson": false,
"address": {
"postalCode": "12345678",
"street": "Rua das Flores",
"number": "100",
"complement": "Apto 12",
"neighborhood": "Centro",
"city": "São Paulo",
"state": "SP",
"longitude": "-46.6488",
"latitude": "-23.6288"
}
},
"bankDocuments": {
"documentLink": "https://storage.example.com/doc-frente.jpg",
"documentBackLink": "https://storage.example.com/doc-verso.jpg",
"selfieLink": "https://storage.example.com/selfie.jpg"
}
}| Field | Type | Required | Description |
|---|---|---|---|
email | string | Yes | Account holder email |
transactionPassword | string | Yes | Password for transaction authorization |
person.fullName | string | Yes | Full name |
person.documentNumber | string | Yes | CPF (11 digits) |
person.phoneNumber | string | Yes | Phone with country code |
person.motherName | string | Yes | Mother's full name |
person.birthDate | string | Yes | Format: DD-MM-YYYY |
person.isPoliticallyExposedPerson | boolean | Yes | PEP declaration |
person.address | object | Yes | Full address |
bankDocuments.documentLink | string | Yes | Front of ID document URL |
bankDocuments.documentBackLink | string | Yes | Back of ID document URL |
bankDocuments.selfieLink | string | Yes | Selfie photo URL |
Legal Person (PJ)
Request Body:
{
"email": "empresa@email.com",
"transactionPassword": "123456",
"legalPerson": {
"businessName": "Empresa XPTO Ltda",
"tradingName": "XPTO",
"documentNumber": "37702652000188",
"businessEmail": "empresa@email.com",
"contactNumber": "+5511988887777",
"establishmentDate": "15-06-2020",
"businessAddress": {
"postalCode": "12345678",
"street": "Av. Paulista",
"number": "1000",
"complement": "Sala 201",
"neighborhood": "Bela Vista",
"city": "São Paulo",
"state": "SP"
},
"owner": [
{
"fullName": "João da Silva",
"documentNumber": "48059890093",
"email": "joao@email.com",
"phoneNumber": "+5511999999999",
"birthDate": "15-03-1990",
"motherName": "Maria da Silva",
"address": {
"postalCode": "12345678",
"street": "Rua das Flores",
"number": "100",
"neighborhood": "Centro",
"city": "São Paulo",
"state": "SP"
}
}
]
},
"bankDocuments": {
"documentLink": "https://storage.example.com/doc-frente.jpg",
"documentBackLink": "https://storage.example.com/doc-verso.jpg",
"selfieLink": "https://storage.example.com/selfie.jpg",
"socialContractLink": "https://storage.example.com/contrato-social.pdf"
}
}| Field | Type | Required | Description |
|---|---|---|---|
legalPerson.businessName | string | Yes | Legal business name |
legalPerson.tradingName | string | Yes | Trading/fantasy name |
legalPerson.documentNumber | string | Yes | CNPJ (14 digits) |
legalPerson.establishmentDate | string | Yes | Format: DD-MM-YYYY |
legalPerson.owner | array | Yes | List of company owners/partners |
bankDocuments.socialContractLink | string | Yes (PJ) | Social contract document URL |
Response 200 OK:
{
"status": "PROCESSING",
"data": {
"onBoardingId": "8f92c748-c37c-467d-ac69-6513706d7c60"
}
}Note: Account creation is asynchronous. Use
checkOnboardingto track status, or configure a webhook foronboarding-createevents.
GET /v1/bank-accounts/checkOnboarding
Check the onboarding status of an account creation request.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
onBoardingId | string | Yes | Onboarding ID (UUID) or CPF/CNPJ |
Example:
curl -X GET "https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/checkOnboarding?onBoardingId=8f92c748-c37c-467d-ac69-6513706d7c60" \
-H "Authorization: Bearer eyJhbGci..."Response 200 OK:
{
"status": "CONFIRMED",
"data": {
"accountId": "30054029183",
"status": "CONFIRMED",
"documentNumber": "48059890093"
}
}| Status | Description |
|---|---|
PROCESSING | KYC in progress |
CONFIRMED | Account successfully created |
ERROR | Account creation failed |
GET /v1/bank-accounts/balance
Returns the balance of a given account.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | Account number |
documentNumber | string | Yes | CPF or CNPJ |
onBoardingId | string | No | Onboarding ID |
Example:
curl -X GET "https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/balance?accountId=30054029183&documentNumber=48059890093" \
-H "Authorization: Bearer eyJhbGci..."Response 200 OK:
{
"status": "CONFIRMED",
"data": {
"accountId": "30054029183",
"balance": 15420.75,
"blockedBalance": 0
}
}GET /v1/bank-accounts/history
Returns the transaction history/statement for an account.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | Account number |
documentNumber | string | Yes | CPF or CNPJ |
initialDate | string | Yes | Start date (yyyy-MM-dd) |
endDate | string | Yes | End date (yyyy-MM-dd) |
limit | number | No | Results per page |
page | number | No | Page number |
onlyPixEntries | boolean | No | Filter only PIX transactions |
targetAccountId | string | No | View another account (requires permission) |
Example:
curl -X GET "https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/history?accountId=30054029183&documentNumber=48059890093&initialDate=2026-01-01&endDate=2026-03-17&limit=20&page=1" \
-H "Authorization: Bearer eyJhbGci..."Response 200 OK:
{
"status": "CONFIRMED",
"data": {
"transactions": [
{
"transactionId": "E384040820262603101234567890",
"type": "PIX_TRANSFER",
"amount": 150.00,
"date": "2026-03-15T14:30:00Z",
"description": "Pagamento PIX",
"direction": "OUT"
}
],
"page": 1,
"totalPages": 5
}
}GET /v1/bank-accounts/getTransactionById
Get a transaction receipt by its ID.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
transactionId | string | Yes | Transaction ID |
documentNumber | string | Yes | CPF or CNPJ |
cashIn | string | No | Filter for cash-in transactions |
transactionUUID | string | No | Alternative UUID identifier |
Example:
curl -X GET "https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/getTransactionById?transactionId=E384040820262603101234567890&documentNumber=48059890093" \
-H "Authorization: Bearer eyJhbGci..."GET /v1/bank-accounts/getAccounts
List accounts for a given period.
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
initialDate | string | Yes | Start date (yyyy-MM-dd) |
endDate | string | Yes | End date (yyyy-MM-dd) |
limit | number | No | Page size |
page | number | No | Page number |
method | string | No | Filter method |
Example:
curl -X GET "https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/getAccounts?initialDate=2026-01-01&endDate=2026-03-17&limit=50&page=1" \
-H "Authorization: Bearer eyJhbGci..."GET /v1/bank-accounts/getAccountInfoNaturalPerson
Get account information for a natural person (PF).
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | Account number |
documentNumber | string | Yes | CPF (11 digits) |
Example:
curl -X GET "https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/getAccountInfoNaturalPerson?accountId=30054029183&documentNumber=48059890093" \
-H "Authorization: Bearer eyJhbGci..."GET /v1/bank-accounts/getAccountInfoLegalPerson
Get account information for a legal person (PJ).
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
accountId | string | Yes | Account number |
documentNumber | string | Yes | CNPJ (14 digits) |
Example:
curl -X GET "https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/getAccountInfoLegalPerson?accountId=30054029183&documentNumber=37702652000188" \
-H "Authorization: Bearer eyJhbGci..."PUT /v1/bank-accounts/updateAccountInfoLegalPerson
Update legal person account information.
Request Body:
{
"accountId": "30054029183",
"documentNumber": "50370327000123"
}POST /v1/bank-accounts/generateInternalTransferRequest
Transfer between accounts within the same institution.
Headers:
| Header | Value | Required |
|---|---|---|
x-client-id | Your tenant ID | Yes |
Idempotency-Key | UUID | Recommended |
Request Body:
{
"userId": "cfd11a01-293d-4573-9d28-2d7261d79aaf",
"accountIdFrom": "30054029183",
"accountIdTo": "30054029184",
"amount": 100.50
}| Field | Type | Required | Description |
|---|---|---|---|
userId | string | Yes | Internal user ID |
accountIdFrom | string | Yes | Source account |
accountIdTo | string | Yes | Destination account |
amount | number | Yes | Transfer amount (BRL) |
description | string | No | Transfer description |
Example:
curl -X POST https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/generateInternalTransferRequest \
-H "Authorization: Bearer eyJhbGci..." \
-H "Content-Type: application/json" \
-H "x-client-id: your-client-id" \
-H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
-d '{
"userId": "cfd11a01-293d-4573-9d28-2d7261d79aaf",
"accountIdFrom": "30054029183",
"accountIdTo": "30054029184",
"amount": 100.50
}'Response 200 OK:
{
"status": "CONFIRMED",
"data": {
"transactionId": "TXN-2026031700001"
}
}POST /v1/bank-accounts/generateExternalTransferRequest
Transfer to an account at another financial institution (TED).
Headers:
| Header | Value | Required |
|---|---|---|
x-client-id | Your tenant ID | Yes |
Idempotency-Key | UUID | Recommended |
Request Body:
{
"userId": "cfd11a01-293d-4573-9d28-2d7261d79aaf",
"onBoardingId": "8f92c748-c37c-467d-ac69-6513706d7c60",
"idAccount": "30054029183",
"document": "11122233344",
"accountCode": "123",
"branchCode": "371",
"institutionCode": 341,
"name": "Fulano de tal",
"value": 67.90,
"bankAccountType": "CACC",
"institutionIspb": "30306294"
}| Field | Type | Required | Description |
|---|---|---|---|
userId | string | Yes | Internal user ID |
onBoardingId | string | Yes | Onboarding ID |
idAccount | string | Yes | Source account number |
document | string | Yes | Recipient CPF/CNPJ |
accountCode | string | Yes | Destination account number |
branchCode | string | Yes | Destination branch |
institutionCode | number | Yes | Bank code (e.g., 341 = Itau) |
name | string | Yes | Recipient name |
value | number | Yes | Transfer amount (BRL) |
bankAccountType | string | Yes | CACC (checking) or SVGS (savings) |
institutionIspb | string | Yes | Bank ISPB code |
Example:
curl -X POST https://baas-gtw.axiadigitalsolutions.com/v1/bank-accounts/generateExternalTransferRequest \
-H "Authorization: Bearer eyJhbGci..." \
-H "Content-Type: application/json" \
-H "x-client-id: your-client-id" \
-H "Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000" \
-d '{
"userId": "cfd11a01-293d-4573-9d28-2d7261d79aaf",
"onBoardingId": "8f92c748-c37c-467d-ac69-6513706d7c60",
"idAccount": "30054029183",
"document": "11122233344",
"accountCode": "123",
"branchCode": "371",
"institutionCode": 341,
"name": "Fulano de tal",
"value": 67.90,
"bankAccountType": "CACC",
"institutionIspb": "30306294"
}'POST /v1/bank-accounts/closeAccount
Close a banking account (requires MFA confirmation).
Request Body:
{
"userId": "cfd11a01-293d-4573-9d28-2d7261d79aaf",
"userAccessToken": "",
"code": "123456",
"account": "30054029183",
"reason": "User request"
}| Field | Type | Required | Description |
|---|---|---|---|
userId | string | Yes | Internal user ID |
userAccessToken | string | Yes | User's access token |
code | string | Yes | MFA code (6 digits) |
account | string | Yes | Account number to close |
reason | string | Yes | Reason for closure |