Core Banking API (0.0.0-next.3)
Download OpenAPI specification:Download
Administrative API for core banking operations. This API provides endpoints for partner institutions to manage accounts, balances, and authentication.
All endpoints require OAuth2 Bearer Token authentication.
How to Get a Token
- Use the Authentication endpoint below - Click on
POST /v1/auth/tokenand use "Try it out" - Enter your credentials:
client_id: Your OAuth2 client IDclient_secret: Your OAuth2 client secretgrant_type:client_credentials
- Copy the
access_tokenfrom the response - Click the "Authorize" button (🔒 icon at the top right)
- Paste the token in the "Value" field (without "Bearer " prefix)
- 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.
Get authentication token
Obtain an access token using OAuth2 client credentials flow. The token can be used to authenticate subsequent API requests.
Authorizations:
Request Body schema: application/jsonrequired
| 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
Response Schema: application/json
| access_token required | string JWT access token |
| token_type required | string Value: "Bearer" Token type - always Bearer |
| expires_in required | integer > 0 Token expiration time in seconds |
Request samples
- Payload
{- "client_id": "string",
- "client_secret": "string",
- "grant_type": "client_credentials"
}Response samples
- 200
- 400
- 401
- 503
{- "access_token": "string",
- "token_type": "Bearer",
- "expires_in": 0
}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:
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 Schema: application/json
required | object Pagination metadata |
required | Array of objects Array of account records |
Response samples
- 200
- 400
- 401
- 403
- 503
{- "meta": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "firstPage": 0,
- "lastPage": 0,
- "nextPage": 0,
- "prevPage": 0
}, - "data": [
- {
- "id": "string",
- "number": "string",
- "type": "string",
- "status": "INACTIVE",
- "person": {
- "document": "string",
- "name": "string",
- "type": "string"
}, - "createdAt": "string",
- "updatedAt": "string",
- "closedAt": "string"
}
]
}Get account by ID
Retrieve detailed information about a specific account by ID. This is an administrative API that requires institution authentication only.
Authorizations:
path Parameters
| id required | number > 0 Account unique identifier |
Responses
Response Schema: application/json
| id required | string Account unique identifier |
| number required | string Account number |
| type required | string Account type (CACC = Current Account, SVGS = Savings, SLRY = Salary, TRAN = Transaction) |
| status required | string Enum: "INACTIVE" "ACTIVE" "WAITING_AUTHORIZATION" "BLOCKED" "REMOVED" Account status (ACTIVE, INACTIVE, WAITING_AUTHORIZATION, BLOCKED, REMOVED) |
required | object Account holder information |
| createdAt required | string ISO 8601 timestamp of account creation |
| updatedAt required | string ISO 8601 timestamp of last account update |
| closedAt required | string or null ISO 8601 timestamp of account closure, null if active |
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "id": "string",
- "number": "string",
- "type": "string",
- "status": "INACTIVE",
- "person": {
- "document": "string",
- "name": "string",
- "type": "string"
}, - "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:
path Parameters
| id required | number > 0 Account ID |
Request Body schema: application/jsonrequired
| 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 [^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\...] List of allowed IPs/CIDR ranges (required) |
Responses
Response Schema: application/json
| clientId required | string OAuth2 client_id created for the Accounts API |
| clientSecret required | string OAuth2 client_secret created for the Accounts API |
| id required | integer > 0 Credential identifier |
| description required | string Credential description |
| allowedIps required | Array of strings Allowed IPs/CIDR ranges for this credential |
Request samples
- Payload
{- "description": "string",
- "scopes": [
- "pix.write"
], - "allowedIps": [
- "string"
]
}Response samples
- 201
- 400
- 401
- 403
- 404
- 422
- 503
{- "clientId": "string",
- "clientSecret": "string",
- "id": 0,
- "description": "string",
- "allowedIps": [
- "string"
]
}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:
path Parameters
| id required | number > 0 Account unique identifier |
Responses
Response Schema: application/json
| accountId required | string Account unique identifier |
required | object Balance details |
| currency required | string Currency code (e.g., BRL, USD) |
| lastUpdated required | string ISO 8601 timestamp of last balance update |
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "accountId": "string",
- "balance": {
- "available": 0,
- "current": 0,
- "blocked": 0
}, - "currency": "string",
- "lastUpdated": "string"
}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:
path Parameters
| id required | number > 0 Account unique identifier |
Responses
Response Schema: application/json
| key required | string PIX key value |
| keyType required | string Enum: "CPF" "CNPJ" "EMAIL" "PHONE" "EVP" PIX key type (CPF, CNPJ, EMAIL, PHONE, EVP) |
| accountNumber required | string Account number |
| branch required | string Branch number |
| accountType required | string Account type (CACC, SVGS, etc) |
| participant required | string Participant ISPB |
| createdAt required | string ISO 8601 timestamp of key creation |
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
- 503
[- {
- "key": "string",
- "keyType": "CPF",
- "accountNumber": "string",
- "branch": "string",
- "accountType": "string",
- "participant": "string",
- "createdAt": "string"
}
]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:
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 Schema: application/json
required | object Pagination metadata |
required | Array of objects Array of people records |
Response samples
- 200
- 400
- 401
- 403
- 503
{- "meta": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "firstPage": 0,
- "lastPage": 0,
- "nextPage": 0,
- "prevPage": 0
}, - "data": [
- {
- "id": "string",
- "name": "string",
- "tradeName": "string",
- "document": "string",
- "type": "string",
- "birthDate": "string",
- "email": "string",
- "status": "INACTIVE",
- "createdAt": "string",
- "updatedAt": "string"
}
]
}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:
path Parameters
| id required | number > 0 Person unique identifier |
Responses
Response Schema: application/json
| id required | string Person unique identifier |
| name required | string Person full name |
| tradeName required | string or null Trade name (for legal entities) or second name (for individuals) |
| document required | string Person document number (CPF or CNPJ) |
| type required | string Person type: NATURAL_PERSON (Pessoa Física) or LEGAL_PERSON (Pessoa Jurídica) |
| birthDate required | string or null ISO 8601 timestamp of birth date, null if not available |
| email required | string or null Primary email address, null if not available |
| status required | string Enum: "INACTIVE" "ACTIVE" "INCOMPLETE_P1" "INCOMPLETE_P2" "INCOMPLETE_P3" "WAITING_AUTHORIZATION" "BLOCKED" "REMOVED" Person status (ACTIVE, INACTIVE, INCOMPLETE_P1, INCOMPLETE_P2, INCOMPLETE_P3, WAITING_AUTHORIZATION, BLOCKED, REMOVED) |
| createdAt required | string ISO 8601 timestamp of person creation |
| updatedAt required | string ISO 8601 timestamp of last person update |
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "id": "string",
- "name": "string",
- "tradeName": "string",
- "document": "string",
- "type": "string",
- "birthDate": "string",
- "email": "string",
- "status": "INACTIVE",
- "createdAt": "string",
- "updatedAt": "string"
}List onboardings
List onboardings with pagination and filtering support.
Authorizations:
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 Schema: application/json
required | object Pagination metadata |
required | Array of objects Array of onboarding records |
Response samples
- 200
- 400
- 401
- 403
- 503
{- "meta": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "firstPage": 0,
- "lastPage": 0,
- "nextPage": 0,
- "prevPage": 0
}, - "data": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accountType": "NATURAL_PERSON",
- "status": "PENDING",
- "company": {
- "name": "string",
- "tradeName": "string",
- "document": "string",
- "email": "string",
- "phone": "string"
}, - "person": {
- "name": "string",
- "tradeName": "string",
- "document": "string",
- "email": "string",
- "phone": "string"
}, - "address": {
- "zipCode": "string",
- "address": "string",
- "number": "string",
- "complement": "string",
- "district": "string"
}, - "baasId": "2e4ca0ac-4c94-47cc-bb48-ebd98f366530",
- "deviceId": "4de4adb9-21ee-47e3-aeb4-8cf8ed6c109a",
- "observation": "string",
- "isPep": true,
- "createdAt": "string",
- "updatedAt": "string"
}
]
}Create onboarding
Create a new onboarding request. Returns the complete created resource.
Authorizations:
Request Body schema: application/jsonrequired
| 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
Response Schema: application/json
| id required | string <uuid> Onboarding unique identifier |
| accountType required | string Enum: "NATURAL_PERSON" "LEGAL_PERSON" "SALARY_ACCOUNT" Account type (NATURAL_PERSON, LEGAL_PERSON, SALARY_ACCOUNT) |
| status required | string Enum: "PENDING" "WAITING_APPROVAL" "APPROVED" "REJECTED" "WAITING_REVIEW_APPROVAL" "REMOVED" Onboarding status |
required | object or null Company information (for LEGAL_PERSON or SALARY_ACCOUNT) |
required | object Person information |
required | object Address information |
| baasId required | string or null <uuid> BaaS identifier |
| deviceId required | string or null <uuid> Device identifier |
| observation required | string or null Observation notes |
| isPep required | boolean Is Politically Exposed Person |
| createdAt required | string ISO 8601 timestamp of creation |
| updatedAt required | string ISO 8601 timestamp of last update |
Request samples
- Payload
{- "accountType": "NATURAL_PERSON",
- "companyName": "string",
- "companyTradeName": "string",
- "companyDocument": "string",
- "companyPhone": "stringst",
- "personName": "string",
- "personTradeName": "string",
- "personDocument": "string",
- "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
- 201
- 400
- 401
- 403
- 503
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accountType": "NATURAL_PERSON",
- "status": "PENDING",
- "company": {
- "name": "string",
- "tradeName": "string",
- "document": "string",
- "email": "string",
- "phone": "string"
}, - "person": {
- "name": "string",
- "tradeName": "string",
- "document": "string",
- "email": "string",
- "phone": "string"
}, - "address": {
- "zipCode": "string",
- "address": "string",
- "number": "string",
- "complement": "string",
- "district": "string"
}, - "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:
path Parameters
| id required | string <uuid> Onboarding unique identifier |
Responses
Response Schema: application/json
| id required | string <uuid> Onboarding unique identifier |
| accountType required | string Enum: "NATURAL_PERSON" "LEGAL_PERSON" "SALARY_ACCOUNT" Account type (NATURAL_PERSON, LEGAL_PERSON, SALARY_ACCOUNT) |
| status required | string Enum: "PENDING" "WAITING_APPROVAL" "APPROVED" "REJECTED" "WAITING_REVIEW_APPROVAL" "REMOVED" Onboarding status |
required | object or null Company information (for LEGAL_PERSON or SALARY_ACCOUNT) |
required | object Person information |
required | object Address information |
| baasId required | string or null <uuid> BaaS identifier |
| deviceId required | string or null <uuid> Device identifier |
| observation required | string or null Observation notes |
| isPep required | boolean Is Politically Exposed Person |
| createdAt required | string ISO 8601 timestamp of creation |
| updatedAt required | string ISO 8601 timestamp of last update |
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accountType": "NATURAL_PERSON",
- "status": "PENDING",
- "company": {
- "name": "string",
- "tradeName": "string",
- "document": "string",
- "email": "string",
- "phone": "string"
}, - "person": {
- "name": "string",
- "tradeName": "string",
- "document": "string",
- "email": "string",
- "phone": "string"
}, - "address": {
- "zipCode": "string",
- "address": "string",
- "number": "string",
- "complement": "string",
- "district": "string"
}, - "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:
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
Response Schema: application/json
| id required | string <uuid> Onboarding unique identifier |
| accountType required | string Enum: "NATURAL_PERSON" "LEGAL_PERSON" "SALARY_ACCOUNT" Account type (NATURAL_PERSON, LEGAL_PERSON, SALARY_ACCOUNT) |
| status required | string Enum: "PENDING" "WAITING_APPROVAL" "APPROVED" "REJECTED" "WAITING_REVIEW_APPROVAL" "REMOVED" Onboarding status |
required | object or null Company information (for LEGAL_PERSON or SALARY_ACCOUNT) |
required | object Person information |
required | object Address information |
| baasId required | string or null <uuid> BaaS identifier |
| deviceId required | string or null <uuid> Device identifier |
| observation required | string or null Observation notes |
| isPep required | boolean Is Politically Exposed Person |
| createdAt required | string ISO 8601 timestamp of creation |
| updatedAt required | string ISO 8601 timestamp of last update |
Request samples
- Payload
{- "accountType": "NATURAL_PERSON",
- "companyName": "string",
- "companyTradeName": "string",
- "companyDocument": "string",
- "companyPhone": "stringst",
- "personName": "string",
- "personTradeName": "string",
- "personDocument": "string",
- "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
- 200
- 400
- 401
- 403
- 404
- 503
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "accountType": "NATURAL_PERSON",
- "status": "PENDING",
- "company": {
- "name": "string",
- "tradeName": "string",
- "document": "string",
- "email": "string",
- "phone": "string"
}, - "person": {
- "name": "string",
- "tradeName": "string",
- "document": "string",
- "email": "string",
- "phone": "string"
}, - "address": {
- "zipCode": "string",
- "address": "string",
- "number": "string",
- "complement": "string",
- "district": "string"
}, - "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:
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
Response Schema: application/json
| personId required | number |
| accountId | number |
Request samples
- Payload
{- "createAccount": true,
- "planId": 0,
- "observation": "string",
- "forceAccept": false
}Response samples
- 200
- 400
- 401
- 403
- 404
- 422
- 503
{- "personId": 0,
- "accountId": 0
}Reject onboarding
Reject an onboarding request.
Authorizations:
path Parameters
| id required | string <uuid> Onboarding unique identifier |
Request Body schema: application/json
| observation | string |
Responses
Response Schema: application/json
| id required | string <uuid> |
| status required | string Enum: "PENDING" "WAITING_APPROVAL" "APPROVED" "REJECTED" "WAITING_REVIEW_APPROVAL" "REMOVED" |
| createdAt required | string |
| updatedAt required | string |
Request samples
- Payload
{- "observation": "string"
}Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "PENDING",
- "createdAt": "string",
- "updatedAt": "string"
}Get onboarding images
Get signed URLs for onboarding document images.
Authorizations:
path Parameters
| id required | string <uuid> Onboarding unique identifier |
Responses
Response Schema: application/json
| type required | string Enum: "FRONT" "BACK" "SELFIE" |
| key required | string |
| url required | string <uri> |
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
[
]Upload onboarding image
Upload onboarding document image (front/back/selfie). Multipart is processed in banking-api and sent as FormData to Atlas.
Authorizations:
path Parameters
| id required | string <uuid> Onboarding unique identifier |
Request Body schema: multipart/form-datarequired
| type required | string Enum: "FRONT" "BACK" "SELFIE" Image type: FRONT, BACK, or SELFIE |
| file | any Image file (multipart/form-data) |
Responses
Response Schema: application/json
| type required | string Enum: "FRONT" "BACK" "SELFIE" |
| key required | string |
| url required | string <uri> |
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "type": "FRONT",
- "key": "string",
}Get transaction by ID
Retrieve detailed information about a specific transaction by ID. This is an administrative API that requires institution authentication only.
Authorizations:
path Parameters
| id required | number > 0 Transaction unique identifier |
Responses
Response Schema: application/json
| id required | string Transaction unique identifier |
| amount required | string Transaction amount |
| type required | string Transaction type (PIX, TED, TICKET, etc.) |
| creditDebitType required | string Credit or debit type |
| paymentType required | string Payment type |
required | object Payer information |
required | object Payee information |
| additionalInformation required | string or null Additional information about the transaction |
| status required | number Transaction status |
| reason required | string or null Transaction reason or rejection reason |
| reference required | string or null Transaction reference |
| relatedAccountId required | string Related account ID |
| actionTag required | string Action tag |
| createdAt required | string ISO 8601 timestamp of transaction creation |
| updatedAt required | string ISO 8601 timestamp of last transaction update |
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "id": "string",
- "amount": "string",
- "type": "string",
- "creditDebitType": "string",
- "paymentType": "string",
- "payer": {
- "name": "string",
- "document": "string",
- "ispb": "string",
- "branch": "string",
- "accountType": "string",
- "accountNumber": "string"
}, - "payee": {
- "name": "string",
- "document": "string",
- "ispb": "string",
- "branch": "string",
- "accountType": "string",
- "accountNumber": "string"
}, - "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:
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 Schema: application/json
required | object Pagination metadata |
required | Array of objects Array of transaction records |
Response samples
- 200
- 400
- 401
- 403
- 503
{- "meta": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "firstPage": 0,
- "lastPage": 0,
- "nextPage": 0,
- "prevPage": 0
}, - "data": [
- {
- "id": "string",
- "amount": "string",
- "type": "string",
- "creditDebitType": "string",
- "paymentType": "string",
- "payer": {
- "name": "string",
- "document": "string",
- "ispb": "string",
- "branch": "string",
- "accountType": "string",
- "accountNumber": "string"
}, - "payee": {
- "name": "string",
- "document": "string",
- "ispb": "string",
- "branch": "string",
- "accountType": "string",
- "accountNumber": "string"
}, - "additionalInformation": "string",
- "status": 0,
- "reason": "string",
- "reference": "string",
- "relatedAccountId": "string",
- "actionTag": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
]
}Get movement by ID
Retrieve detailed information about a specific movement by ID. This is an administrative API that requires institution authentication only.
Authorizations:
path Parameters
| id required | number > 0 Movement unique identifier |
Responses
Response Schema: application/json
| id required | number Movement unique identifier |
| accountId required | number Account ID associated with the movement |
| transactionId required | number or null Transaction ID associated with the movement, if any |
| amount required | string^\d+(\.\d{1,2})?$ Movement amount |
| type required | string Movement type (CREDIT, DEBIT, etc.) |
| description required | string or null Movement description |
| previousBalance required | string or null^\d+(\.\d{1,2})?$ Account balance before the movement |
| isRefund required | boolean or null Indicates if the movement is a refund |
| createdAt required | string ISO 8601 timestamp of movement creation |
| updatedAt required | string ISO 8601 timestamp of last movement update |
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "id": 0,
- "accountId": 0,
- "transactionId": 0,
- "amount": "string",
- "type": "string",
- "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:
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 Schema: application/json
required | object Pagination metadata |
required | Array of objects Array of movement records |
Response samples
- 200
- 400
- 401
- 403
- 503
{- "meta": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "firstPage": 0,
- "lastPage": 0,
- "nextPage": 0,
- "prevPage": 0
}, - "data": [
- {
- "id": 0,
- "accountId": 0,
- "transactionId": 0,
- "amount": "string",
- "type": "string",
- "description": "string",
- "previousBalance": "string",
- "isRefund": true,
- "createdAt": "string",
- "updatedAt": "string"
}
]
}Get infraction by ID
Retrieve detailed information about a specific infraction by ID. This is an administrative API that requires institution authentication only.
Authorizations:
path Parameters
| id required | string <uuid> Infraction unique identifier |
Responses
Response Schema: application/json
| id required | string Infraction unique identifier (UUID) |
| transactionId required | number or null Transaction ID associated with the infraction, if any |
| accountId required | number or null Account ID associated with the infraction, if any |
| type required | string Infraction type |
| reportedBy required | string Who reported the infraction |
| reportDetails required | string or null Details of the infraction report |
| status required | string Infraction status |
| debitParticipant required | number Debit participant ISPB (8 digits) |
| creditParticipant required | number Credit participant ISPB (8 digits) |
| analysisResult required | string or null Result of the infraction analysis |
| relatedId required | string Related infraction ID |
| analysisDetails required | string or null Details of the analysis |
| internalAnalysis required | string or null Internal analysis notes |
| payerName required | string or null Payer name |
| payerDocument required | string or null Payer document (CPF or CNPJ) |
| msgEndToEndId required | string or null PIX end-to-end ID |
| fraudType required | string or null Type of fraud, if applicable |
| creationTime required | string ISO 8601 timestamp of infraction creation time |
| createdAt required | string ISO 8601 timestamp of record creation |
| updatedAt required | string ISO 8601 timestamp of last record update |
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "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:
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 Schema: application/json
required | object Pagination metadata |
required | Array of objects Array of infraction records |
Response samples
- 200
- 400
- 401
- 403
- 503
{- "meta": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "firstPage": 0,
- "lastPage": 0,
- "nextPage": 0,
- "prevPage": 0
}, - "data": [
- {
- "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 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:
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 Schema: application/json
required | object Pagination metadata |
required | Array of objects Array of refund records |
Response samples
- 200
- 400
- 401
- 403
- 503
{- "meta": {
- "total": 0,
- "perPage": 0,
- "currentPage": 0,
- "firstPage": 0,
- "lastPage": 0,
- "nextPage": 0,
- "prevPage": 0
}, - "data": [
- {
- "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"
}
]
}Retrieve a specific refund
Get refund by ID
Authorizations:
path Parameters
| id required | string <uuid> Refund ID |
Responses
Response Schema: application/json
| id required | string Refund unique identifier (UUID) |
| transactionId required | number or null Transaction ID associated with the refund, if any |
| accountId required | number or null Account ID associated with the refund, if any |
| refundReason required | string Reason for the refund |
| refundDetails required | string or null Details of the refund |
| amount required | string Refund amount |
| status required | string Current status of the refund |
| refundEndToEndId required | string or null End-to-end ID of the refund transaction |
| refundAttempts required | number or null Number of refund attempts |
| requestingParticipant required | number ISPB of the requesting participant |
| contestedParticipant required | number ISPB of the contested participant |
| analysisResult required | string or null Result of the analysis, if any |
| analysisDetails required | string or null Details of the analysis, if any |
| refundRejectionReason required | string or null Reason for refund rejection, if any |
| relatedId required | string Related refund ID |
| relatedInfractionId required | string or null Related infraction ID, if any |
| creationTime required | string Original creation time |
| createdAt required | string or null Creation timestamp |
| updatedAt required | string or null Last update timestamp |
Response samples
- 200
- 400
- 401
- 403
- 404
- 503
{- "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"
}