Pular para o conteúdo principal

Core Banking API (0.0.0-next.5)

Download OpenAPI specification:Download

API Support: [email protected] License: Proprietary

Core Banking API

Administrative API for core banking operations. This API provides endpoints for partner institutions to manage accounts, balances, and authentication.

🔐 Authentication

All endpoints require OAuth2 Bearer Token authentication.

How to Get a Token

  1. Use the Authentication endpoint below - Click on POST /v1/auth/token and use "Try it out"
  2. Enter your credentials:
    • client_id: Your OAuth2 client ID
    • client_secret: Your OAuth2 client secret
    • grant_type: client_credentials
  3. Copy the access_token from the response
  4. Click the "Authorize" button (🔒 icon at the top right)
  5. Paste the token in the "Value" field (without "Bearer " prefix)
  6. Click "Authorize" and then "Close"

Now all your requests will automatically include the token!

Alternative: Manual Token Usage

If you prefer to test manually, add this header to your requests:

Authorization: Bearer <your-access-token>

Development Mode

All endpoints require authentication. Make sure to obtain a valid token before making requests.

Authentication

OAuth2 authentication endpoints for obtaining access tokens

Get authentication token

Obtain an access token using OAuth2 client credentials flow. The token can be used to authenticate subsequent API requests.

Authorizations:
bearerAuth
Request Body schema: application/json
required
client_id
required
string non-empty

Client identifier for OAuth2 authentication

client_secret
required
string non-empty

Client secret for OAuth2 authentication

grant_type
required
string
Value: "client_credentials"

OAuth2 grant type - must be client_credentials

Responses

Request samples

Content type
application/json
{
  • "client_id": "string",
  • "client_secret": "string",
  • "grant_type": "client_credentials"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "token_type": "Bearer",
  • "expires_in": 0
}

Account

Account management and information retrieval

List accounts

List accounts with pagination and filtering support. Use the generic filter parameter to search by account number, type, status, etc. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
query Parameters
page
integer > 0
Default: 1

Page number (starts at 1)

perPage
integer ( 0 .. 100 ]
Default: 10

Number of records per page (max 100)

filter
string

Generic text search filter

sortBy
string
Default: "createdAt"

Field to sort by (default: createdAt)

sortOrder
string
Default: "desc"
Enum: "asc" "desc" "ASC" "DESC"

Sort order (asc or desc, default: desc)

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Get account by ID

Retrieve detailed information about a specific account by ID. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
path Parameters
id
required
number > 0

Account unique identifier

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "number": "string",
  • "type": "string",
  • "status": "INACTIVE",
  • "person": {
    },
  • "createdAt": "string",
  • "updatedAt": "string",
  • "closedAt": "string"
}

Create Accounts API OAuth2 credential

Creates an OAuth2 credential for the Accounts API (BancoDigitalAPI) by provisioning a client in Keycloak and persisting metadata in the database.

Authorizations:
bearerAuth
path Parameters
id
required
number > 0

Account ID

Request Body schema: application/json
required
description
required
string non-empty

Credential description

scopes
required
Array of strings non-empty
Items Enum: "pix.write" "pix.create" "pix.read" "account.read" "webhook.read" "webhook.write" "transactions.read" "billets.write" "billets.create" "billets.read" "infractions.write" "infractions.read"

Scopes to grant to this credential

allowedIps
required
Array of strings non-empty [ items^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\... ]

List of allowed IPs/CIDR ranges (required)

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "scopes": [
    ],
  • "allowedIps": [
    ]
}

Response samples

Content type
application/json
{
  • "clientId": "string",
  • "clientSecret": "string",
  • "id": 0,
  • "description": "string",
  • "allowedIps": [
    ]
}

Create PIX Manager credential

Creates a credential in PIX Manager API for a specific account. All data is automatically retrieved from the account.

Authorizations:
bearerAuth
path Parameters
id
required
number > 0

Account ID

Responses

Response samples

Content type
application/json
{
  • "clientId": "string",
  • "clientSecret": "string",
  • "pixKey": "string",
  • "pixKeyCreated": true
}

Update PIX Manager credential

Updates a credential in PIX Manager API for a specific account. All data is automatically retrieved from the account.

Authorizations:
bearerAuth
path Parameters
id
required
number > 0

Account ID

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Delete PIX Manager credential

Deletes a credential from PIX Manager API for a specific account.

Authorizations:
bearerAuth
path Parameters
id
required
number > 0

Account ID

clientId
required
string non-empty

Client ID to be deleted

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Balance

Account balance queries and operations

Get account balance

Retrieve the current balance of a specific account by account ID. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
path Parameters
id
required
number > 0

Account unique identifier

Responses

Response samples

Content type
application/json
{
  • "accountId": "string",
  • "balance": {
    },
  • "currency": "string",
  • "lastUpdated": "string"
}

PIX Keys

List PIX keys for account

Retrieve all PIX keys registered in DICT (Diretório de Identificadores de Contas Transacionais) for a specific account. This endpoint queries the Brazilian Central Bank PIX directory to list all keys associated with the account. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
path Parameters
id
required
number > 0

Account unique identifier

Responses

Response samples

Content type
application/json
[
  • {
    }
]

People

List people

List people with pagination and filtering support. Use the generic filter parameter to search by name, document, type, status, etc. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
query Parameters
page
integer > 0
Default: 1

Page number (starts at 1)

perPage
integer ( 0 .. 100 ]
Default: 10

Number of records per page (max 100)

filter
string

Generic text search filter

sortBy
string
Default: "createdAt"

Field to sort by (default: createdAt)

sortOrder
string
Default: "desc"
Enum: "asc" "desc" "ASC" "DESC"

Sort order (asc or desc, default: desc)

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Get person by ID

Retrieve detailed information about a specific person by ID. This endpoint provides person data including name, document, type, contact information, and status. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
path Parameters
id
required
number > 0

Person unique identifier

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "tradeName": "string",
  • "document": "string",
  • "type": "string",
  • "birthDate": "string",
  • "email": "string",
  • "status": "INACTIVE",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Onboarding

List onboardings

List onboardings with pagination and filtering support.

Authorizations:
bearerAuth
query Parameters
page
integer > 0
Default: 1

Page number (starts at 1)

perPage
integer ( 0 .. 100 ]
Default: 10

Number of records per page (max 100)

filter
string

Generic text search filter

sortBy
string
Default: "createdAt"

Field to sort by (default: createdAt)

sortOrder
string
Default: "desc"
Enum: "asc" "desc" "ASC" "DESC"

Sort order (asc or desc, default: desc)

showIncomplete
boolean
Default: false

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Create onboarding

Create a new onboarding request. Returns the complete created resource.

Authorizations:
bearerAuth
Request Body schema: application/json
required
accountType
required
string
Enum: "NATURAL_PERSON" "LEGAL_PERSON" "SALARY_ACCOUNT"
companyName
string
companyTradeName
string
companyDocument
string
companyEmail
string <email>
companyPhone
string >= 8 characters
personName
required
string non-empty
personTradeName
string
personDocument
required
string non-empty
personEmail
required
string <email>
personPhone
required
string >= 8 characters
addrZipCode
required
string >= 8 characters
addrAddress
required
string non-empty
addrNumber
required
string non-empty
addrComplement
string
addrDistrict
required
string non-empty
baasId
string <uuid>
deviceId
string <uuid>
accountPassword
required
string non-empty
accountMasterPassword
required
string non-empty
onlyPerson
boolean
Default: false
isPep
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "accountType": "NATURAL_PERSON",
  • "companyName": "string",
  • "companyTradeName": "string",
  • "companyDocument": "string",
  • "companyEmail": "[email protected]",
  • "companyPhone": "stringst",
  • "personName": "string",
  • "personTradeName": "string",
  • "personDocument": "string",
  • "personEmail": "[email protected]",
  • "personPhone": "stringst",
  • "addrZipCode": "stringst",
  • "addrAddress": "string",
  • "addrNumber": "string",
  • "addrComplement": "string",
  • "addrDistrict": "string",
  • "baasId": "2e4ca0ac-4c94-47cc-bb48-ebd98f366530",
  • "deviceId": "4de4adb9-21ee-47e3-aeb4-8cf8ed6c109a",
  • "accountPassword": "string",
  • "accountMasterPassword": "string",
  • "onlyPerson": false,
  • "isPep": false
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "accountType": "NATURAL_PERSON",
  • "status": "PENDING",
  • "company": {
    },
  • "person": {
    },
  • "address": {
    },
  • "baasId": "2e4ca0ac-4c94-47cc-bb48-ebd98f366530",
  • "deviceId": "4de4adb9-21ee-47e3-aeb4-8cf8ed6c109a",
  • "observation": "string",
  • "isPep": true,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Get onboarding by ID

Retrieve detailed information about a specific onboarding by ID.

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Onboarding unique identifier

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "accountType": "NATURAL_PERSON",
  • "status": "PENDING",
  • "company": {
    },
  • "person": {
    },
  • "address": {
    },
  • "baasId": "2e4ca0ac-4c94-47cc-bb48-ebd98f366530",
  • "deviceId": "4de4adb9-21ee-47e3-aeb4-8cf8ed6c109a",
  • "observation": "string",
  • "isPep": true,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update onboarding

Update an existing onboarding request. Returns the complete updated resource.

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Onboarding unique identifier

Request Body schema: application/json
accountType
string
Enum: "NATURAL_PERSON" "LEGAL_PERSON" "SALARY_ACCOUNT"
companyName
string
companyTradeName
string
companyDocument
string
companyEmail
string <email>
companyPhone
string >= 8 characters
personName
string non-empty
personTradeName
string
personDocument
string non-empty
personEmail
string <email>
personPhone
string >= 8 characters
addrZipCode
string >= 8 characters
addrAddress
string non-empty
addrNumber
string non-empty
addrComplement
string
addrDistrict
string non-empty
baasId
string <uuid>
deviceId
string <uuid>
accountPassword
string non-empty
accountMasterPassword
string non-empty
onlyPerson
boolean
Default: false
isPep
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "accountType": "NATURAL_PERSON",
  • "companyName": "string",
  • "companyTradeName": "string",
  • "companyDocument": "string",
  • "companyEmail": "[email protected]",
  • "companyPhone": "stringst",
  • "personName": "string",
  • "personTradeName": "string",
  • "personDocument": "string",
  • "personEmail": "[email protected]",
  • "personPhone": "stringst",
  • "addrZipCode": "stringst",
  • "addrAddress": "string",
  • "addrNumber": "string",
  • "addrComplement": "string",
  • "addrDistrict": "string",
  • "baasId": "2e4ca0ac-4c94-47cc-bb48-ebd98f366530",
  • "deviceId": "4de4adb9-21ee-47e3-aeb4-8cf8ed6c109a",
  • "accountPassword": "string",
  • "accountMasterPassword": "string",
  • "onlyPerson": false,
  • "isPep": false
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "accountType": "NATURAL_PERSON",
  • "status": "PENDING",
  • "company": {
    },
  • "person": {
    },
  • "address": {
    },
  • "baasId": "2e4ca0ac-4c94-47cc-bb48-ebd98f366530",
  • "deviceId": "4de4adb9-21ee-47e3-aeb4-8cf8ed6c109a",
  • "observation": "string",
  • "isPep": true,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Approve onboarding

Approve an onboarding request and optionally create an account.

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Onboarding unique identifier

Request Body schema: application/json
createAccount
boolean
Default: true
planId
integer > 0
observation
string
forceAccept
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "createAccount": true,
  • "planId": 0,
  • "observation": "string",
  • "forceAccept": false
}

Response samples

Content type
application/json
{
  • "personId": 0,
  • "accountId": 0
}

Reject onboarding

Reject an onboarding request.

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Onboarding unique identifier

Request Body schema: application/json
observation
string

Responses

Request samples

Content type
application/json
{
  • "observation": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "PENDING",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Get onboarding images

Get signed URLs for onboarding document images.

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Onboarding unique identifier

Responses

Response samples

Content type
application/json
[]

Upload onboarding image

Upload onboarding document image (front/back/selfie). Multipart is processed in banking-api and sent as FormData to Atlas.

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Onboarding unique identifier

Request Body schema: multipart/form-data
required
type
required
string
Enum: "FRONT" "BACK" "SELFIE"

Image type: FRONT, BACK, or SELFIE

file
any

Image file (multipart/form-data)

Responses

Response samples

Content type
application/json
{}

Transaction

Get transaction by ID

Retrieve detailed information about a specific transaction by ID. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
path Parameters
id
required
number > 0

Transaction unique identifier

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "amount": "string",
  • "type": "string",
  • "creditDebitType": "string",
  • "paymentType": "string",
  • "payer": {
    },
  • "payee": {
    },
  • "additionalInformation": "string",
  • "status": 0,
  • "reason": "string",
  • "reference": "string",
  • "relatedAccountId": "string",
  • "actionTag": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

List transactions

List transactions with pagination and filtering support. Use the generic filter parameter to search by transaction type, status, reference, etc. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
query Parameters
page
integer > 0
Default: 1

Page number (starts at 1)

perPage
integer ( 0 .. 100 ]
Default: 10

Number of records per page (max 100)

filter
string

Generic text search filter

sortBy
string
Default: "createdAt"

Field to sort by (default: createdAt)

sortOrder
string
Default: "desc"
Enum: "asc" "desc" "ASC" "DESC"

Sort order (asc or desc, default: desc)

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Movement

Get movement by ID

Retrieve detailed information about a specific movement by ID. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
path Parameters
id
required
number > 0

Movement unique identifier

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "accountId": 0,
  • "transactionId": 0,
  • "amount": "string",
  • "type": "CREDIT",
  • "description": "string",
  • "previousBalance": "string",
  • "isRefund": true,
  • "createdAt": "string",
  • "updatedAt": "string"
}

List movements

List movements with pagination and filtering support. Use the generic filter parameter to search by movement type, account, etc. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
query Parameters
page
integer > 0
Default: 1

Page number (starts at 1)

perPage
integer ( 0 .. 100 ]
Default: 10

Number of records per page (max 100)

filter
string

Generic text search filter

sortBy
string
Default: "createdAt"

Field to sort by (default: createdAt)

sortOrder
string
Default: "desc"
Enum: "asc" "desc" "ASC" "DESC"

Sort order (asc or desc, default: desc)

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Infraction

Get infraction by ID

Retrieve detailed information about a specific infraction by ID. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Infraction unique identifier

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "transactionId": 0,
  • "accountId": 0,
  • "type": "string",
  • "reportedBy": "string",
  • "reportDetails": "string",
  • "status": "string",
  • "debitParticipant": 0,
  • "creditParticipant": 0,
  • "analysisResult": "string",
  • "relatedId": "string",
  • "analysisDetails": "string",
  • "internalAnalysis": "string",
  • "payerName": "string",
  • "payerDocument": "string",
  • "msgEndToEndId": "string",
  • "fraudType": "string",
  • "creationTime": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

List infractions

List infractions with pagination and filtering support. Use the generic filter parameter to search by infraction type, status, etc. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
query Parameters
page
integer > 0
Default: 1

Page number (starts at 1)

perPage
integer ( 0 .. 100 ]
Default: 10

Number of records per page (max 100)

filter
string

Generic text search filter

sortBy
string
Default: "createdAt"

Field to sort by (default: createdAt)

sortOrder
string
Default: "desc"
Enum: "asc" "desc" "ASC" "DESC"

Sort order (asc or desc, default: desc)

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Refund

List refunds

List refunds with pagination and filtering support. Use the generic filter parameter to search by refund reason, status, etc. This is an administrative API that requires institution authentication only.

Authorizations:
bearerAuth
query Parameters
page
integer > 0
Default: 1

Page number (starts at 1)

perPage
integer ( 0 .. 100 ]
Default: 10

Number of records per page (max 100)

filter
string

Generic text search filter

sortBy
string
Default: "createdAt"

Field to sort by (default: createdAt)

sortOrder
string
Default: "desc"
Enum: "asc" "desc" "ASC" "DESC"

Sort order (asc or desc, default: desc)

Responses

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "data": [
    ]
}

Retrieve a specific refund

Get refund by ID

Authorizations:
bearerAuth
path Parameters
id
required
string <uuid>

Refund ID

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "transactionId": 0,
  • "accountId": 0,
  • "refundReason": "string",
  • "refundDetails": "string",
  • "amount": "string",
  • "status": "string",
  • "refundEndToEndId": "string",
  • "refundAttempts": 0,
  • "requestingParticipant": 0,
  • "contestedParticipant": 0,
  • "analysisResult": "string",
  • "analysisDetails": "string",
  • "refundRejectionReason": "string",
  • "relatedId": "string",
  • "relatedInfractionId": "string",
  • "creationTime": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}