Introduction

Welcome to Brankas API documentation! We have compiled the details you need to get started with Brankas APIs. Download the API collection, create API keys and start calling to specific product endpoints.

API Access

Generate API keys on the Brankas Dashboard to call APIs in the sandbox and live environment. Learn how here.

API Host

View host for the specific products in both Sandbox and Live environments:

PRODUCT SANDBOX LIVE
Direct direct.sandbox.bnk.to direct.bnk.to
Disburse disburse.sandbox.bnk.to disburse.bnk.to
Statement statement.sandbox.bnk.to statement.bnk.to
Balance balance.sandbox.bnk.to balance.bnk.to

Error Definitions

Errors are alarming and we have collated error codes by banks for easy reference. View error codes here.

Postman Collection

Brankas provides a Postman collection link that enables you to conduct test requests on all of our products without much coding.

To import Brankas Postman collection:

  • Copy the Postman collection link
  • Open Postman either on Browser or desktop
  • Click on Import > Link and paste the link. Click Continue to proceed.
    Postman Collection

    Create API Keys on the Brankas Dashboard and fill the required arguments. Learn more on how to set up in a Sandbox and live environment.

Bank Codes

Below is a list of Bank Codes that Brankas Direct uses to determine the originating (source) and beneficiary (destination) banks involved in a fund transfer.

Source Bank Codes

These codes are used to specify the originating bank where the end user’s bank retail banking accounts are held. This is used by the InitiateAccountListing to determine which bank to log the end user into. This is also used by the CreateTransfer endpoint as part of the required parameters for targeting the right originating bank account

Sandbox Source Bank Codes

Bank Codes Bank Name Account Type
DUMMY_BANK_PERSONAL Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing. Personal / Retail

Philippine (PH) Source Bank Codes

Bank Codes Bank Name Account Type
BDO_PERSONAL Banco De Oro Unibank, Inc. (BDO) Personal / Retail
BPI_PERSONAL Bank of the Philippine Islands (BPI) Personal / Retail
METROBANK_PERSONAL The Metropolitan Bank and Trust Company (Metrobank) Personal / Retail
UNIONBANK_PERSONAL The Union Bank of the Philippines, Inc. Personal / Retail
RCBC_PERSONAL Rizal Commercial Banking Corporation Personal / Retail

These codes are used to specify the beneficiary bank where the beneficiary corporate accounts intended to receive end user payments are held

Philippine (PH) Destination Bank Codes

Bank Codes Bank Name
DUMMY_BANK_DESTINATION Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
PH_BDO Banco De Oro Unibank, Inc. (BDO)
PH_BPI Bank of the Philippine Islands (BPI)
PH_PNB Philippine National Bank (PNB)
PH_METRO The Metropolitan Bank and Trust Company (Metrobank)
PH_RCBC The Rizal Commercial Banking Corporation (RCBC)
PH_UB UnionBank of the Philippines (UBP)

Account Opening

Brankas Account Opening provides Marketplace, p2p, fintech, or any 3rd parties platform to provide account opening services in their platform. This allow 3rd parties user access for saving and credit account by banks. By connecting end-user and Banks, Brankas Account Opening enable access over a growing basket of banks and banks products via a single set of APIs.

API Reference Overview

  • Host https://account-opening.sandbox.bnk.to

Create Application

CreateApplication allows customers to apply to open an account with the selected bank products

curl -X POST \
	https://account-opening.sandbox.bnk.to/v1/accounts/create \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"bank_code": "UNKNOWN_BANK",
		"has_client_consent": false,
		"data": {
			"name": "",
			"gender": "",
			"id_card_number": "",
			"email": "",
			"mother_maiden_name": "",
			"date_of_birth": "",
			"birth_place": "",
			"marital_status": "",
			"religion": "",
			"purpose": "",
			"source_of_fund": "",
			"monthly_income": "",
			"monthly_expenses": "",
			"mobile_info": {
				"phone_type": "MOBILE",
				"prefix_phone_number": "62",
				"phone_number": ""
			}
		},
		"corporate_data": {
			"contact_first_name": "",
			"contact_last_name": "",
			"contact_email": "",
			"contact_phone": "",
			"company_name": "ABC Corp."
		},
		"client": {
			"return_url": "https://example.com",
			"fail_url": "",
			"customer_id": "",
			"customer_name": ""
		}
	}'

HTTP Request

POST https://account-opening.sandbox.bnk.to/v1/accounts/create

Body Parameters

Name Type Description
bank_code BankCode BankCode is the selected bank’s code
has_client_consent bool HasClientConsent records if the client allows their customer data to be forwarded.
data PreFillApplicantData Data of the applicant
corporate_data PreFillCorporateData CorporateData contains the initial information about the corporate
client Client Client contains the relevant information about the client/merchant.
Objects
PreFillApplicantData
Name Type Description
name string Name is the name of applicant
gender string Gender can fill by “MALE” or “FEMALE”
id_card_number string IDCardNumber is the applicant’s government ID number For Indonesia, it is the 16-digit KTP ID number
email string Email is an active applicant’s email address
mother_maiden_name string MotherMaidenName is applicant’s mother maiden name
date_of_birth string DateOfBirth can filled by digit in “yyyy-mm-dd” format
birth_place string BirthPlace is the city place applicant was born
marital_status string MaritalStatus options are “SINGLE”, “MARRIED”, “DIVORCED”, “WIDOW”, and “WIDOWER”
religion string Religion options are “CATHOLIC”, “CHRISTIAN”, “CONFUCIUS”, “BUDDHA”, “HINDU”,“ISLAM”, and “OTHER_RELIGION”
purpose string Purpose options are “INVESTMENT”, “EDUCATION”, “COMMERCE”, “CAPITAL”, “PAYMENT”,“SALARY” and “OTHER_PURPOSE”
source_of_fund string SourceOfFund options are “INCOME”, “INHERITANCE”, “GRANT”, “LOTTERY”, “SAVINGS”, “ALLOWANCE”, “REMITTANCE”, “PENSION”, “OTHER_SOURCE”
monthly_income string MonthlyIncome in rupiah “UP_TO_1M”, “MORE_THAN_1M_TO_5M”, “MORE_THAN_5M_TO_10M”, “MORE_THAN_10M_TO_25M”, “MORE_THAN_25M_TO_50M”, “MORE_THAN_50M_TO_100M”, “MORE_THAN_100M_TO_500M”, “MORE_THAN_500M_TO_1B”, and “MORE_THAN_1B”
monthly_expenses string MonthlyExpenses in rupiah “UP_TO_1M”, “MORE_THAN_1M_TO_5M”, “MORE_THAN_5M_TO_10M”, “MORE_THAN_10M_TO_25M”, “MORE_THAN_25M_TO_50M”, “MORE_THAN_50M_TO_100M”, “MORE_THAN_100M_TO_500M”, “MORE_THAN_500M_TO_1B”, and “MORE_THAN_1B”
mobile_info PhoneInfo Mobile is applicant mobile number
PreFillCorporateData
Name Type Description
contact_first_name string ContactFirstName is the primary contact’s first name
contact_last_name string ContactLastName is the primary contact’s last name
contact_email string ContactEmail is the primary contact’s email
contact_phone PhoneInfo ContactPhone is the primary contact’s phone details
company_name string CompanyName is the name of the primary contact’s employer
Client
Name Type Description
return_url string ReturnURL is the return path for the app redirection after the account opening has been accomplished
fail_url string FailURL is the return path for the app redirection after the account opening failed
customer_id string CustomerID refers to the organization id which is integrated with the client
customer_name string Customer refers to the organization name which is integrated with the client
PhoneInfo
Name Type Description
phone_type PhoneType The type of phone number
prefix_phone_number string The prefix of the phone number
phone_number string The phone number without prefix
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the account opening request.

Value Description
UNKNOWN_BANK To show all banks, client can remove the bank code/keep it as UNKNOWN
PH_NETBANK Netbank (A Rural Bank) Inc.
PH_NETBANK_CORP Netbank (A Rural Bank) Inc.
PhoneType
Value Description
UNKNOWN_PHONE_TYPE
HOME
MOBILE
WORK

Responses

Response body

Name Type Description
application_id string ApplicationID shows the reference number to the application
redirect_url string RedirectURL to Tap or Bank’s web view
error ApplicationError Error contains the error details
Objects
ApplicationError
Name Type Description
code ApplicationErrorCode Code is refering to the application error code
message string Message is the describes the error code in detail
next_action NextAction NextAction possible next_action
Enums
ApplicationErrorCode

See Link: https://docs.brankas.com/docs/account-opening-error-codes

Value Description
NextAction
Value Description
UNKNOWN_NEXT_ACTION
RETRY
RESUBMIT

Example:

{
  "application_id": "UUID-generated",
  "redirect_url": "https://tap...",
  "error": {
    "code": "",
    "message": "",
    "next_action": ""
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occurred on the server side.

List Application

List Application retrieves all the account opening requests applied under a merchant/client.

curl -X GET \
	https://account-opening.sandbox.bnk.to/v1/accounts/list \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://account-opening.sandbox.bnk.to/v1/accounts/list

Responses

Response body

Name Type Description
total_record int32
list_applications []Applications
Objects
Applications
Name Type Description
application_id string ApplicationID contains the uuid for application
full_name string FullName contains full name of the applicant
bank_name string BankName contains selected bank of the application
status Status Status is the current status of the requested application
sub_status SubStatus SubStatus is the additional info relating to the status
reference_no string ReferenceNo contains a unique id from the bank to represent the application
created Timestamp Created records when the application was created
updated Timestamp Updated records when the application was updated
customer_id string CustomerID refers to ID of the applicant in the organization where they belong to
Timestamp
Name Type Description
seconds int64
nanos int32
Enums
Status

Status describe the status of the application. See Link: https://docs.brankas.com/docs/account-opening-transaction-status

Value Description
SubStatus

SubStatus describe the sub status of the application. See Link: https://docs.brankas.com/docs/account-opening-transaction-status

Value Description

Example:

{
  "total_record": "int32",
  "list_applications": [
    {
      "application_id": "UUID-generated",
      "full_name": "John Doe",
      "bank_name": "PH_NETBANK_CORP",
      "status": "AWAITING_USER_RESPONSE",
      "sub_status": "BASIC_INFO",
      "reference_no": "ref_no",
      "created": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "updated": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "customer_id": "customer_id"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occurred on the server side.

Get Bank List

GetBankList returns the list of available banks for the customer to apply

curl -X GET \
	https://account-opening.sandbox.bnk.to/v1/banks \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://account-opening.sandbox.bnk.to/v1/banks

Responses

Response body

Name Type Description
banks []Bank Banks list of available bank to apply
Objects
Bank
Name Type Description
code BankCode Code is brankas internal code for the bank
name string Name is the name of the bank
logo_url string LogoURL is url of the bank logo
listed Listed Listed describes if the bank is available
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the account opening request.

Value Description
UNKNOWN_BANK To show all banks, client can remove the bank code/keep it as UNKNOWN
PH_NETBANK Netbank (A Rural Bank) Inc.
PH_NETBANK_CORP Netbank (A Rural Bank) Inc.
Listed

Listed describe bank status between enabled and disabled

Value Description
UNKNOWN_LISTED Unknown / Invalid status
ENABLED
DISABLED

Example:

{
  "banks": [
    {
      "code": "DUMMY_BANK",
      "name": "DUMMY BANK",
      "logo_url": "https://storage.googleapis.com/brankas-account-opening-logos/DUMMY_BANK/DUMMY_BANK_Logo.jpg",
      "listed": "ENABLED"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occurred on the server side.

Status Inquiry

StatusInquiry returns the current status of the requested application

curl -X GET \
	https://account-opening.sandbox.bnk.to/v1/accounts/status \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://account-opening.sandbox.bnk.to/v1/accounts/status

Responses

Response body

Name Type Description
status_details []ApplicationStatus StatusDetails contains the latest status of the application ID
error ApplicationError Error contains the error details
vkyc_link string VKYCLink is the URL to the bank’s video KYC process
reference_no string ReferenceNo contains a unique id from the bank to represent the application
webview_redirect_url string WebviewRedirectURL is the URL to continue the account opening process in the Bank UI
Objects
ApplicationStatus
Name Type Description
application_id string ApplicationID contains the uuid for application
status Status Status is the current status of the requested application
sub_status SubStatus Substatus is the additional info relating to the status
ApplicationError
Name Type Description
code ApplicationErrorCode Code is refering to the application error code
message string Message is the describes the error code in detail
next_action NextAction NextAction possible next_action
Enums
Status

Status describe the status of the application. See Link: https://docs.brankas.com/docs/account-opening-transaction-status

Value Description
SubStatus

SubStatus describe the sub status of the application. See Link: https://docs.brankas.com/docs/account-opening-transaction-status

Value Description
ApplicationErrorCode

See Link: https://docs.brankas.com/docs/account-opening-error-codes

Value Description
NextAction
Value Description
UNKNOWN_NEXT_ACTION
RETRY
RESUBMIT

Example:

{
  "status_details": [
    {
      "application_id": "UUID-generated",
      "status": "BANK_PROCESSING",
      "sub_status": "GOVT_ID_CHECK"
    }
  ],
  "error": {
    "code": "",
    "message": "",
    "next_action": ""
  },
  "vkyc_link": "https://example.com",
  "reference_no": "",
  "webview_redirect_url": "https://example.com"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occurred on the server side.

Direct

Brankas Direct provides Fintechs, Corporates and SMEs with an API-driven payment solution that allows users to digitally transact with customers and their end-users. By debiting the customers' online bank accounts and transferring directly to the fintech’s or SME’s payable accounts, Brankas Direct leverages on enterprises that are able to execute fund transfer-based transactions over a growing basket of banks via a single set of APIs.

  • Host https://direct.sandbox.bnk.to

API Reference Overview

Checkout

The Checkout endpoint creates a fund transfer initiation request that the end user can complete via the Brankas Tap. The Checkout endpoint is a fund transfer initiation request specific to the use case where the transaction amount is a predetermined value not defined by the end user, usually determined by an invoice or cart. Direct will create a unique user session on the Brankas Tap keyed to the fund transfer request’s internal transfer_id. The Checkout endpoint will respond with a preformatted URL that the end user must be redirected to in order to authorize the current fund transfer request. The Brankas Client needs to append the returned preformatted URL with their own redirect_uri query parameter where the end user will be sent after they have completed their session on the Brankas Tap.

curl -X POST 'https://direct.staging.bnk.to/v1/checkout' \
--header 'Content-Type: application/json' \
--header 'x-api-key: USE_YOUR_API_KEY' \
--data-raw '{
  "customer": {
    "fname": "John",
    "lname": "Johnson",
    "mname": "Joseph",
    "email": "john.johnson@domain.com",
    "mobile": "+639093538300",
    "phone": "++63288783333",
    "customer_id": "4f30b317-f98b-4454-bc05-7c4a2e48ec0d",
    "address": {
      "line1": "1, Yuichengo Tower",
      "line2": "GF",
      "city": "Makati",
      "province": "Metro Manila",
      "zip_code": "6819",
      "country": "PH"
    }
  },
  "reference_id": "d94hd94hbn3293sw",
  "amount": {
    "cur": "PHP",
    "num": "2410350"
  },
  "from": {
    "country": "PH"
  },
  "memo": "Thank you",
  "destination_account_id": "22f72f8c-099b-11ed-a9b5-42010aec000d",
  "client": {
    "display_name": "WorldPay",
    "logo_url": "https://example.com/logo.svg",
    "return_url": "https://example.com/success",
    "fail_url": "https://example.com/error",
    "deep_link": true,
    "short_redirect_uri": true
  },
  "expiry_date_time": "2025-12-30T00:00:00Z"
}'

HTTP Request

POST https://direct.sandbox.bnk.to/v1/checkout

Body Parameters

Name Type Description
customer Customer customer is the end user’s identifying and contact information that allows transactions to be attributed to a specific end user. This can be used by both banks and settlement channels to assist in the resolution of transaction disputes.
reference_id string reference_id is an additional identifier, such as a UUID, that corresponds to an invoice, cart, or transaction object. The Brankas Client can use this field to associate the fund transfer request to a corresponding transaction object in its transaction database.
amount Amount amount is the transaction amount to be transferred from the source account to the destination account. If minor currency units are supported by a currency, then they are stored as minor units. For example, PHP 100.00 would be represented as “amount.num”: “10000”. Note that amounts are stored as string instead of integers in order to prevent any errors caused by floating point numbers.
from AccountInfo from is the source account information. Bank code parameter is optional. If bank code is set in checkout request, then Brankas Tap would show the bank selector page. If it is not set, then Brankas Tap would not show the bank selector page. Bank Codes used in this field follow a different convention from the bank codes used for the destination account in the to object. For the full list of supported bank codes, see Source Account Bank Codes in the Bank Codes section.
memo string memo is a merchant defined remarks attached to the transfer in the memo line (e.g. RRN).
destination_account_id string destination_account_id is the string ID corresponding to the bank information of the recipient. To get your destination_account_id, register the destination account in Brankas Dashboard > Settings > Direct tab.
client Client client contains the relevant information about the client/merchant who uses the checkout flow.
expiry_date_time Timestamp expiry_date_time is the expiry time of the created invoice. This parameter will enable merchants to to set their own invoice expiry so that it matches their business process better. Value will be on UTC timestamp. If the field is omitted, default 24 hour expiry time will be placed instead. For example if value equals 2021-05-01T00:00:00Z, the transaction will expire at 01 May 2021 00:00. However if it’s empty, the transaction will expire 24 hours after checkout request is successful.
Objects
Customer
Name Type Description
fname string The end user’s first name.
lname string The end user’s last name.
mname string The end user’s middle name.
email string The customer’s contact email.
mobile string The end user’s mobile phone number.
phone string Phone is the customer’s Landline number.
customer_id string An additional user identifier, such as a UUID, that the Brankas client can optionally add to the customer object.
address Address Address is the customer’s address.
Amount
Name Type Description
cur CurrencyISO4217 Cur is the currency.
num string Num is the numeric value.
AccountInfo
Name Type Description
type AccountInfoType The type of info relating to a bank transfer account. Please fill in with “BANK”.
bank_code BankCode Brankas bank code. Only present when type is BANK. Bank Codes differ depending on whether they are used as the source or the destination of a funds transfer. Bank code parameter is optional. If bank code is set in checkout request, then Brankas Tap would show the bank selector page. If it is not set, then Brankas Tap would not show the bank selector page. For the full list and details on bank codes, please see the Bank Codes section.
country CountryISO3166 The country where the end user’s bank is based using ISO 3166 Alpha-2 country codes. Currently supports: Indonesia: ID, Philippines: PH, & Thailand: TH.
Client
Name Type Description
display_name string DisplayName of the client’s app
logo_url string LogoURL is the link to the client’s logo
return_url string ReturnURL is the return path for the app redirection after a checkout transaction has been accomplished
fail_url string FailURL is the return path for the app redirection after a checkout transaction has failed or hits an error state.
deep_link bool If DeepLink is set at “true” it indicates that the client wants to display remember me feature in the bank login form
short_redirect_uri bool ShortRedirectURI indicates that the client wanted to have short_redirect_uri generated on the redirect_uri. If the parameter “fname” is set, then the short_redirect_uri would include end user’s first name in the link, e.g. “https://direct.bnk.to/tap/FjTqkP3Q/Sarah”
Address
Name Type Description
line1 string Line1 is the customer’s first line of address
line2 string Line2 is the customer’s second line of address
city string City is the customer’s city
province string Province is the customer’s province
zip_code string ZipCode is the customer’s postal code
country string Country is the country the customer is located in
Enums
UniqueAmountType

UniqueAmountType for cents reconciliation workaround

Value Description
NONE NONE will not apply any modification to the transaction amount
ADD ADD will apply additional centavos to the transaction amount
SUBTRACT SUBTRACT will deduct centavos to the transaction amount
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. View list here.

BankCode
Value Description
DUMMY_BANK_PERSONAL Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
BDO_PERSONAL Banco De Oro Unibank, Inc. (BDO). Personal/retail account.
BPI_PERSONAL Bank of the Philippine Islands (BPI). Personal/retail account.
PNB_PERSONAL Philippine National Bank (PNB). Personal/retail account.
UNIONBANK_PERSONAL Union Bank of the Philippines. Personal/retail account.
METROBANK_PERSONAL The Metropolitan Bank and Trust Company (Metrobank). Personal/retail account.
RCBC_PERSONAL The Rizal Commercial Banking Corporation (RCBC). Personal/retail account.
SCB_PERSONAL Siam Commercial Bank of Thailand. Personal/retail account.
KASIKORNBANK_PERSONAL Kasikornbank Thailand. Personal/retail account.
CountryISO3166
Value Description
PH Philippines
TH Thailand
DestinationBankCode
Value Description
PH_BDO Banco De Oro Unibank
PH_BPI BPI / BPI Family Savings Bank
PH_METRO Metrobank
PH_PNB Philippine National Bank
PH_RCBC Rizal Commercial Banking Corporation
PH_SB Security Bank Corporation (SBC)
PH_UB UnionBank of the Philippines
PH_GXI Gcash
PH_LBP Land Bank of the Philippines
PH_EWB EastWest Bank
PH_EWBRB Komo / EastWest Rural Bank
PH_NETBANK Netbank (A Rural Bank) Inc

Responses

Response body

Name Type Description
transaction_id string transaction_id is the unique identifier assigned to the fund transfer request generated by Brankas.
redirect_uri string redirect_uri is the URL that end users need to be redirected to in order to authorize the fund transfer and complete the transaction. and complete the transaction.
short_redirect_uri string short_redirect_uri is the shortened version of the redirect_uri.

Example:

{
  "transaction_id": "f6355a01-e32b-426e-b2af-85366d305743",
  "redirect_uri": "https://pidp-server.your-subdomain.bnk.to?transaction_id=f6355a01-e32b-426e-b2af-85366d305743\u0026merchant=YOUR_APP\u0026logo_url=https:%2F%2Fexample.com\u0026return_url=https:%2F%2Fexample.com",
  "short_redirect_uri": "https://direct.your-subdomain.bnk.to/tap/XXXXXXXX"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Supported banks

RetrieveBanks returns a list of banks.

curl -X GET \
	https://direct.sandbox.bnk.to/v1/banks \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://direct.sandbox.bnk.to/v1/banks

Query Parameters

Name Type Description
country CountryISO3166 Country is the country code (ID, US, SG, …).

Responses

Response body

Name Type Description
banks []BankInfo banks is the list of fetched bank records.
destination_banks []DestinationBankInfo destination_banks is the list of the supported destination bank records.
org_id string org_id is the unique organization identifier.
Objects
BankInfo
Name Type Description
bank_code BankCode BankCode is the bank code.
name string Name is the bank name
title string Title is the display title for the bank.
country CountryISO3166 Country is the country code (ID, US, SG, …).
enabled bool Enabled indicates whether or not the bank is enabled.
logo_url string LogoURL contains the link to the bank’s logo.
placement_order int32 PlacementOrder is the suggested position in which this bank should be ordered.
bank_codes_supported []DestinationBankCode BankCodesSupported are the banks that is currently being supported for this specific bank.
portal_name string PortalName is the bank’s portal name.
fund_transfer_limit FundTransferLimit FundTransferLimit is the transaction limits for this specific bank.
fund_transfer_fee FundTransferFee FundTransferFee is the bank fee for each transaction on this specific bank.
DestinationBankInfo
Name Type Description
bank_code DestinationBankCode BankCode is the bank code.
name string Name is the bank name
title string Title is the display title for the bank.
country CountryISO3166 Country is the country code (ID, US, SG, …).
FundTransferLimit
Name Type Description
cur CurrencyISO4217 Cur is the currency.
intrabank Limits Intrabank contains the limits for the intrabank fund transfer transactions.
interbank Limits Interbank contains the limits for the interbank fund transfer transactions.
FundTransferFee
Name Type Description
cur CurrencyISO4217 Cur is the currency.
ph_instapay_transfer_limit string PHInstapayTransferLimit contains the limits for the intrabank fund transfer transactions.
ph_instapay_transfer_fee string PHInstapayTransferFee contains the fee needed for the interbank fund transfer transactions.
ph_pesonet_transfer_fee string PHPesonetTransferFee contains the fee needed for the interbank fund transfer transactions.
intrabank_transfer_fee string IntrabankTransferFee contains the fee needed for intrabank fund transfer transactions.
Enums
BankCode
Value Description
DUMMY_BANK_PERSONAL Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
BDO_PERSONAL Banco De Oro Unibank, Inc. (BDO). Personal/retail account.
BPI_PERSONAL Bank of the Philippine Islands (BPI). Personal/retail account.
PNB_PERSONAL Philippine National Bank (PNB). Personal/retail account.
UNIONBANK_PERSONAL Union Bank of the Philippines. Personal/retail account.
METROBANK_PERSONAL The Metropolitan Bank and Trust Company (Metrobank). Personal/retail account.
RCBC_PERSONAL The Rizal Commercial Banking Corporation (RCBC). Personal/retail account.
SCB_PERSONAL Siam Commercial Bank of Thailand. Personal/retail account.
KASIKORNBANK_PERSONAL Kasikornbank Thailand. Personal/retail account.
CountryISO3166
Value Description
PH Philippines
TH Thailand
DestinationBankCode
Value Description
PH_BDO Banco De Oro Unibank
PH_BPI BPI / BPI Family Savings Bank
PH_METRO Metrobank
PH_PNB Philippine National Bank
PH_RCBC Rizal Commercial Banking Corporation
PH_SB Security Bank Corporation (SBC)
PH_UB UnionBank of the Philippines
PH_GXI Gcash
PH_LBP Land Bank of the Philippines
PH_EWB EastWest Bank
PH_EWBRB Komo / EastWest Rural Bank
PH_NETBANK Netbank (A Rural Bank) Inc
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. View list here. Example:

{
  "banks": [
    {
      "bank_code": "BankCode",
      "name": "string",
      "title": "string",
      "country": "CountryISO3166",
      "enabled": "bool",
      "logo_url": "string",
      "placement_order": "int32",
      "bank_codes_supported": "[]DestinationBankCode",
      "portal_name": "string",
      "fund_transfer_limit": {
        "cur": "CurrencyISO4217",
        "intrabank": {
          "min": "string",
          "max": "string"
        },
        "interbank": {
          "min": "string",
          "max": "string"
        }
      },
      "fund_transfer_fee": {
        "cur": "CurrencyISO4217",
        "id_online_transfer_limit": "string",
        "id_online_transfer_fee": "string",
        "id_llg_transfer_limit": "string",
        "id_llg_transfer_fee": "string",
        "id_rtgs_transfer_fee": "string",
        "ph_instapay_transfer_limit": "string",
        "ph_instapay_transfer_fee": "string",
        "ph_pesonet_transfer_fee": "string",
        "intrabank_transfer_fee": "string"
      },
      "statement_retrieval_supported": "bool"
    }
  ],
  "destination_banks": [
    {
      "bank_code": "DestinationBankCode",
      "name": "string",
      "title": "string",
      "country": "CountryISO3166"
    }
  ],
  "org_id": "string"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve the transactions

RetrieveTransactions returns the details of transactions. By specifying the transaction_id of the relevant transaction as a query parameter, only the record specific to that transaction will be retrieved. If no transaction_id is specified in the query parameter, the response will return all transaction records and list them from most recent to latest. Retrieved transaction records are paginated.

curl -X GET \
	https://direct.sandbox.bnk.to/v1/transaction \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://direct.sandbox.bnk.to/v1/transaction

Responses

Response body

Name Type Description
transactions []TransactionResponse transactions are the transactions that match the filters of a request.
next_page int32 next_page is the number of the next page that can be returned. if it is 0, there are no more pages available.
total_count int32 total_count of the transactions matched by the query filters
Objects
TransactionResponse
Name Type Description
transaction_id string TransactionID is the transaction firestore document identifier.
org_id string OrgID is the organization identifier.
destination_account_id string destination_account_id is the string ID corresponding to the bank information of the recipient.
business_info_id string business_info_id contains the unique identifier of the business information object.
from AccountInfo from is the source account information. Bank code parameter is optional. If bank code is set in checkout request, then Brankas Tap would show the bank selector page. If it is not set, then Brankas Tap would not show the bank selector page. Bank Codes used in this field follow a different convention from the bank codes used for the destination account in the to object. For the full list of supported bank codes, see Source Account Bank Codes in the Bank Codes section.
to DestinationAccountInfo to is the destination account information.
amount Amount Amount is the transfer amount.
customer Customer Customer contains customer information
consent_granted bool ConsentGranted is the flag that represents if the user gave the system its consent.
additional_details AdditionalDetails additional_details contains the additional optional information related to the transaction.
payment_channel PaymentChannelType PaymentChannel is the desired payment channel to use for the fund transfer.
settlement_id string SettlementID is the settlement identifier.
reference_id string ReferenceID is the client identifier for an invoice object
user_memo string UserMemo is the user supplied memo line (e.g. RRN).
bank_memo string BankMemo is the bank supplied memo line (e.g. confirmation number).
attempts int32 Attempts is the count of transactional attempts.
error string Error holds the error text if an error occured during the transfer.
status Status Status indicates the current status of the transfer.
status_desc string StatusDesc contains the description about the status for this transaction.
status_code string StatusCode contains the status code for this transaction.
finish string Finish is the timestamp the task was completed.
created string Created is a timestamp the task was created.
updated string Updated is the timestamp the task was modified.
expiry_date_time string expiry_date_time is the expiry time of the created invoice. This parameter will enable merchants to to set their own invoice expiry so that it matches their business process better. Value will be on UTC timestamp. If the field is omitted, default 24 hour expiry time will be placed instead.
AccountInfo
Name Type Description
type AccountInfoType The type of info relating to a bank transfer account. Please fill in with “BANK”.
bank_code BankCode Brankas bank code. Only present when type is BANK. Bank Codes differ depending on whether they are used as the source or the destination of a funds transfer. Bank code parameter is optional. If bank code is set in checkout request, then Brankas Tap would show the bank selector page. If it is not set, then Brankas Tap would not show the bank selector page. For the full list and details on bank codes, please see the Bank Codes section.
country CountryISO3166 The country where the end user’s bank is based using ISO 3166 Alpha-2 country codes. Currently supports: Indonesia: ID, Philippines: PH, & Thailand: TH.
DestinationAccountInfo
Name Type Description
type AccountInfoType Type is the account info type.
bank_code DestinationBankCode BankCode is a bank code. Only present when type is BANK.
account_number string AccountNumber is a bank account number.
identifier string Identifier is a unique account ID, profile ID, or the bank account number and is interpreted based on the account info type.
holder_name string HolderName is the name of the account holder. This field is DEPRECATED in favor of the HolderFirstName, HolderMiddleName and HolderLastName which we join to come up with a full name.
holder_first_name string HolderFirstName is the first name of the account holder.
holder_middle_name string HolderMiddleName is the middle name of the account holder.
holder_last_name string HolderLastName is the last name of the account holder.
email_address string EmailAddress is the destination user email address.
mobile_country_code string MobileCountryCode is the mobile country dial code.
mobile_number string MobileNumber is the destination user mobile number.
address_line1 string AddressLine1 is the user destination address information.
address_line2 string AddressLine1 is the user destination address additional information.
city string City is the user destination residential city.
state string State is the user destination residential state.
country string Country is the user destination residential country.
Amount
Name Type Description
cur CurrencyISO4217 Cur is the currency.
num string Num is the numeric value.
Customer
Name Type Description
fname string The end user’s first name.
lname string The end user’s last name.
mname string The end user’s middle name.
email string The customer’s contact email.
mobile string The end user’s mobile phone number.
phone string Phone is the customer’s Landline number.
customer_id string An additional user identifier, such as a UUID, that the Brankas client can optionally add to the customer object.
address Address Address is the customer’s address.
AdditionalDetails
Name Type Description
qr_code string QRCodeRawData contains the raw text data that will be used to recreate the QRCode.
account_alias_id string AccountAliasID is the alternative identifier of the destination account.
to_address_line1 string ToAddressLine1 is the user destination address information.
to_address_line2 string ToAddressLine1 is the user destination address additional information.
to_city string ToCity is the user destination residential city.
to_state string ToState is the user destination residential state.
to_country string ToCountry is the user destination residential country.
terms_of_use_version string TermsOfUseVersion is the version number of the terms of use document that the user interacted unto.
privacy_policy_version string PrivacyPolicyVersion is the version number of the privacy policy document that the user interacted unto.
user_id_hash string UserIdHash is the hash of the end user’s bank code and online banking username used to uniquely identify an end user across clients
user_access_hash string UserAccessHash is the hash of the end user’s bank code and online banking credentials used to uniquely identify an end user based on their access credentials
user_account_hash string UserAccountHash is the hash of the end user’s bank code and specific bank account used for the transaction used to identify if the end user is using the same or different bank accounts
via Via Via indicates fund transfer rail used for the transfer
bank_fee Amount BankFee indicates the amount that will be deducted from the end user’s account as a fee from the bank for performing the fund transfer
settlement_identifier string SettlementIdentifier contains the primary identifier used by the settlement partner for this type of bank.
settlement_identifier_alias string SettlementIdentifierAlias contains the alias or secondary identifier used by the settlement partner for this type of bank.
Timestamp
Name Type Description
seconds int64
nanos int32
Address
Name Type Description
line1 string Line1 is the customer’s first line of address
line2 string Line2 is the customer’s second line of address
city string City is the customer’s city
province string Province is the customer’s province
zip_code string ZipCode is the customer’s postal code
country string Country is the country the customer is located in
Status

Status is the possible statuses of a transfer or account listing operation.

Status Value Description
2 SUCCESS Successful operation.
3 ERROR Error during operation.
4 LOGIN_ERROR Login Error.
5 INVOICE_CREATED Checkout invoice created.
7 AWAITING_LOGIN_TFA Awaiting login TFA Authentication.
9 AWAITING_TRANSFER_TFA Awaiting transfer TFA Authentication.
10 IN_PROGRESS Transfer is in progress.
11 EXPIRED Transaction Expired.
12 FLAGGED Transaction Flagged - receiver needs to do manual verification and settlement.
13 CANCELLED Transaction Cancelled - sender cancelled the transaction.
14 DENIED Transaction Denied - sender denied the consent.
15 FAILED Transaction Failed - receiver was not able to receive the funds.
AccountInfoType

AccountInfoType is the type of info relating to a bank transfer account.

Value Description
AccountInfoTypeUNKNOWN Unrecognised info type.
ACCOUNT Account type.
PROFILE Profile type.
BANK Bank type.
MSISDN Phone number type.
BankCode
Value Description
DUMMY_BANK_PERSONAL Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
BDO_PERSONAL Banco De Oro Unibank, Inc. (BDO). Personal/retail account.
BPI_PERSONAL Bank of the Philippine Islands (BPI). Personal/retail account.
PNB_PERSONAL Philippine National Bank (PNB). Personal/retail account.
UNIONBANK_PERSONAL Union Bank of the Philippines. Personal/retail account.
METROBANK_PERSONAL The Metropolitan Bank and Trust Company (Metrobank). Personal/retail account.
RCBC_PERSONAL The Rizal Commercial Banking Corporation (RCBC). Personal/retail account.
SCB_PERSONAL Siam Commercial Bank of Thailand. Personal/retail account.
KASIKORNBANK_PERSONAL Kasikornbank Thailand. Personal/retail account.
CountryISO3166
Value Description
PH Philippines
TH Thailand
DestinationBankCode
Value Description
PH_BDO Banco De Oro Unibank
PH_BPI BPI / BPI Family Savings Bank
PH_METRO Metrobank
PH_PNB Philippine National Bank
PH_RCBC Rizal Commercial Banking Corporation
PH_SB Security Bank Corporation (SBC)
PH_UB UnionBank of the Philippines
PH_GXI Gcash
PH_LBP Land Bank of the Philippines
PH_EWB EastWest Bank
PH_EWBRB Komo / EastWest Rural Bank
PH_NETBANK Netbank (A Rural Bank) Inc
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. View list here.

Via is the fund transfer rail enum.

Value Description
UNKNOWN_Via
INTRABANK
IDONLINE
IDLLG
IDRTGS
PHINSTAPAY
PHPESONET

Example:

{
  "transactions": [
    {
      "transaction_id": "string",
      "org_id": "string",
      "destination_account_id": "string",
      "business_info_id": "string",
      "from": {
        "type": "BANK",
        "bank_code": "DUMMY_BANK_PERSONAL",
        "identifier": "xxxxxx0000",
        "holder_name": "Test User"
      },
      "to": {
        "type": "BANK",
        "bank_code": "DUMMY_BANK_DESTINATION",
        "identifier": "xxxxx1234",
        "holder_name": "Test Recipient Account Holder"
      },
      "amount": {
        "cur": "CurrencyISO4217",
        "num": "string"
      },
      "customer": {
        "fname": "string",
        "lname": "string",
        "mname": "string",
        "email": "string",
        "mobile": "string",
        "phone": "string",
        "customer_id": "string",
        "address": {
          "line1": "string",
          "line2": "string",
          "city": "string",
          "province": "string",
          "zip_code": "string",
          "country": "string"
        }
      },
      "consent_granted": "bool",
      "additional_details": {
        "account_alias_id": "xyz321",
        "terms_of_use_version": "1.0.1",
        "privacy_policy_version": "1.0.1",
        "user_id_hash": "7c5ec69d9ef4c2067fbea4eaa79e837ff2b76a2f3ba73714c55fe992bebb3a3b",
        "user_access_hash": "0e9685ecf2c74b4ed296aab4793b6ec209c306d5ebfa7025aca62c6f7c8ba25d",
        "user_account_hash": "9a310918ca530c9a1e6f34385af5827ad02c89d668bc61623adcb46a43860ecc",
        "via": "INTRABANK",
        "bank_fee": {
          "cur": "IDR",
          "num": "0"
        }
      },
      "payment_channel": "PaymentChannelType",
      "settlement_id": "string",
      "reference_id": "string",
      "user_memo": "string",
      "bank_memo": "string",
      "attempts": "int32",
      "error": "string",
      "status": "Status",
      "status_desc": "string",
      "status_code": "string",
      "finish": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "created": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "updated": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "expiry_date_time": {
        "seconds": "int64",
        "nanos": "int32"
      }
    }
  ],
  "next_page": 2,
  "total_count": 25
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Settles the flagged fund transfer

SettleCheckout retrieves the pending flagged transfer task then settles it

curl -X POST \
	https://direct.sandbox.bnk.to/v1/checkout/settle \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"transaction_id": "string",
		"status": "SUCCESS"
	}'

HTTP Request

POST https://direct.sandbox.bnk.to/v1/checkout/settle

Body Parameters

Name Type Description
transaction_id string transaction_id is the unique identifier corresponding to a transfer task.
status Status status defines the result of the create transfer request.
Enums
Status

Status is the possible statuses of a transfer or account listing operation.

Status Value Description
2 SUCCESS Successful operation.
3 ERROR Error during operation.
4 LOGIN_ERROR Login Error.
5 INVOICE_CREATED Checkout invoice created.
7 AWAITING_LOGIN_TFA Awaiting login TFA Authentication.
9 AWAITING_TRANSFER_TFA Awaiting transfer TFA Authentication.
10 IN_PROGRESS Transfer is in progress.
11 EXPIRED Transaction Expired.
12 FLAGGED Transaction Flagged - receiver needs to do manual verification and settlement.
13 CANCELLED Transaction Cancelled - sender cancelled the transaction.
14 DENIED Transaction Denied - sender denied the consent.
15 FAILED Transaction Failed - receiver was not able to receive the funds.

Responses

Response body

Name Type Description

Example:

{}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Callbacks and Webhook URL

Brankas Direct supports the sending of callbacks to your pre-registered webhook URL.

The callback to your webhook URL will include both the relevant fund transfer request’s internal transaction_id along with the status of the operation. This can be then used to query the Brankas Direct Transaction Database directly using the RetrieveTransaction endpoint to retrieve all relevant transaction details.

curl -L -X POST 'https://example.com/callback' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "transaction_id": "f6355a01-e32b-426e-b2af-85366d305743",
    "status": 2
    "reference_id": “9005376336”
} '
Field Type Description
transaction_id String The unique ID assigned to the fund transfer request
status Int The resulting final status of the transaction completed by the end user via the Brankas Tap. See status guide below. For the callback, you will receive only the terminal status for the transaction, i.e., Status Codes 2, 3, 11, 12, 13, 14 and 15.
reference_id String Any additional identifier, such as a UUID, that corresponds to an invoice, cart, or transaction object. The Brankas Client can use this field to associate the fund transfer request to a corresponding transaction object in its transaction database.

Transaction Status Guide

Status Value Description
2 SUCCESS Successful operation.
3 ERROR Error during operation.
11 EXPIRED Transaction Expired.
12 FLAGGED Transaction Flagged - receiver needs to do manual verification and settlement.
13 CANCELLED Transaction Cancelled - sender cancelled the transaction.
14 DENIED Transaction Denied - sender denied the consent.
15 FAILED Transaction Failed - receiver was not able to receive the funds.

Implementation Recommendation

When an end user is redirected back to your application via your specified return_url, it is recommended to retrieve the full details of the transaction_id specified in the callback to your webhook URL. The full transaction details can be queried using the Retrieve Transaction endpoint.

Disburse

Brankas Disburse API provides services for disbursement operations on the disbursement resource.

  • Host https://disburse.sandbox.bnk.to

API Reference Overview

Account Inquiry

Allows merchants to do inquiry of the destination account/beneficiary account before executing a disbursement.

curl -X POST \
	https://disburse.sandbox.bnk.to/v1/disbursements/account-inquiry \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"destination_bank_account": {
			"bank": "DUMMY_DESTINATION_BANK",
			"number": "8581319920"
		},
		"source_account_id": "string"
	}'

HTTP Request

POST https://disburse.sandbox.bnk.to/v1/disbursements/account-inquiry

Body Parameters

Name Type Description
destination_bank_account DestinationBankAccountDetails BankAccount is account information to validate
source_account_id string SourceAccountID is the uuid of source account
Objects
DestinationBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank DestinationBankCode Bank is the destination bank code
number string Number is the account number of the destination account.
holder_name string HolderName is the name on the destination account.
type AccountType Type is the type of bank account
address Address Address is the registered address for the destination account owner, used by some integrations.
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
email string when value of e-mail is present, the disbursement notification should be sent to the e-mail address with the correct disbursement information.
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country CountryCode Country of the destination account.
Enums
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia

Responses

Response body

Name Type Description
result Result Result will return a success or error type for the response
bank_account DestinationBankAccountDetails BankAccount is the bank account information
Objects
Result
Name Type Description
success bool
error []Error
message string
DestinationBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank DestinationBankCode Bank is the destination bank code
number string Number is the account number of the destination account.
holder_name string HolderName is the name on the destination account.
type AccountType Type is the type of bank account
address Address Address is the registered address for the destination account owner, used by some integrations.
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
email string when value of e-mail is present, the disbursement notification should be sent to the e-mail address with the correct disbursement information.
Error
Name Type Description
error_code string
message string
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country CountryCode Country of the destination account.
Enums
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia

Example:

{
  "result": {
    "success": true
  },
  "bank_account": {
    "bank": "DUMMY_DESTINATION_BANK",
    "number": "8581319920",
    "holder_name": "NOOP Bank Holder Name"
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Create Bank Account

Allows merchants to register bank accounts along with bank credentials before executing a disbursement request. Alternatively, you can access the Brankas Dashboard to create a source bank account with credentials.

curl -X POST \
	https://disburse.sandbox.bnk.to/v1/bank-accounts \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"bank_accounts": [
			{
				"account_id": "string",
				"source_bank": "SourceBankCode",
				"destination_bank": "DestinationBankCode",
				"account_no": "string",
				"holder_name": {
					"first_name": "string",
					"middle_name": "string",
					"last_name": "string"
				},
				"account_type": "AccountType",
				"is_source": "bool",
				"country": "CountryCode",
				"address": {
					"line1": "string",
					"line2": "string",
					"city": "string",
					"province": "string",
					"zip_code": "string",
					"country": "CountryCode"
				},
				"email_id": "[]string",
				"source_bank_credential": {
					"credential_id": "string",
					"source_account_id": "string",
					"client_id": "string",
					"client_secret": "string",
					"api_id": "string",
					"api_secret": "string",
					"partner_id": "string",
					"username": "string",
					"password": "string",
					"access_token": "string",
					"isOAuth": "bool",
					"access_token_exp": "string",
					"refresh_token": "string"
				},
				"bank_title": "string",
				"country_code": "CountryCode",
				"external_account_id": "string",
				"balance": {
					"cur": "string",
					"num": "string",
					"is_live": "bool",
					"last_sync": {
						"seconds": "int64",
						"nanos": "int32"
					}
				},
				"account_class": "AccountClass",
				"authorized_signatories": "[]string"
			}
		]
	}'

HTTP Request

POST https://disburse.sandbox.bnk.to/v1/bank-accounts

Body Parameters

Name Type Description
bank_accounts []BankAccountDetails
Objects
BankAccountDetails
Name Type Description
account_id string AccountID is an UUID generated when user add bank account
source_bank SourceBankCode SourceBankCode is bank code for source account.
destination_bank DestinationBankCode DestinationBankCode is bank code for destination account.
account_no string AccountNo is the bank account number.
holder_name FullName HolderName is the name of the owner of the bank account.
account_type AccountType AccountType is type of bank account (personal or corporate).
is_source bool IsSourceAccount determine it a source or destination bank account.
country CountryCode Country of the destination account.
address Address Address is the registered address for the destination account.
email_id []string EmailID is the list of email of account holder.
source_bank_credential SourceBankCredential BankCredential is a source bank account credential
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
balance BankAccountBalance Balance is the balance left from specific account
account_class AccountClass AccountClass is the class of specific account (partner or merchant)
authorized_signatories []string AuthorizedSignatories is the list of authorized signatory
FullName
Name Type Description
first_name string FirstName is first name of holder.
middle_name string MiddleName is middle name of holder.
last_name string LastName is last name of holder.
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country CountryCode Country of the destination account.
SourceBankCredential
Name Type Description
credential_id string CredentialID is the uuid generated when insert credential to database.
source_account_id string SourceAccountID is the uuid of source account
client_id string ClientID is a client id provide by bank for merchant
client_secret string ClientSecret is a client secret provide by bank for merchant
api_id string ApiID is a api id provide by bank for merchant
api_secret string ApiSecret is a ap secret provide by bank for merchant
partner_id string PartnerID is a partner id provide by bank for merchant, some bank called it CorporateID
username string Username is a username provided by bank to generate bearer token.
password string Password is a username provided by bank to generate bearer token.
access_token string AccessToken is the access token
isOAuth bool IsOAuth is the auth type
access_token_exp string AccessTokenExp is the access token expired
refresh_token string RefreshToken is the refresh token
BankAccountBalance
Name Type Description
cur string BalanceCur is currency of the account balance
num string BalanceNum is number of amount in the account balance.
is_live bool IsLive is boolean indicate getting the balance from db/bank api.
last_sync Timestamp LastSync is last sync balance with bank api.
Timestamp
Name Type Description
seconds int64
nanos int32
Enums
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
AccountClass

AccountClass is the class of account

Value Description
UNKNOWN_ACCOUNT_CLASS
PARTNER
MERCHANT

Responses

Response body

Name Type Description
bank_accounts []CreateBankAccountResponseDetails
Objects
CreateBankAccountResponseDetails
Name Type Description
account_id string AccountID is unique identifier retuned after adding account
credential_id string CredentialID is unique identifier returned after adding source account and its credential
result Result Result is the repsonse from system indicate bank details add.
Result
Name Type Description
success bool
error []Error
message string
Error
Name Type Description
error_code string
message string

Example:

{
  "bank_accounts": [
    {
      "account_id": "string",
      "credential_id": "string",
      "result": {
        "success": "bool",
        "error": [
          {
            "error_code": "string",
            "message": "string"
          }
        ],
        "message": "string"
      }
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Create Disbursement

Initiates a new disbursement to transfer funds from your source corporate bank account to beneficiaries. Create Disbursement endpoint supports multiple fund transfers within a single disbursement order from a single source of fund or a corporate bank account. For testing purposes, use Brankas sandbox baseURL. For UAT and live disbursement, use Brankas live baseURL. Sandbox and live baseURL are available here.

curl -X POST \
	https://disburse.sandbox.bnk.to/v2/disbursements \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"source_account_id": "string",
		"remark": "string",
		"disbursements": [
			{
				"merchant_txn_id": "31082021003088",
				"destination_account": {
					"bank": "DUMMY_DESTINATION_BANK",
					"number": "1234000012340000",
					"holder_name": "Dummy Recipient Name",
					"address": {
						"line1": "Address line 01",
						"line2": "Address line 02",
						"city": "City Name",
						"province": "Province Name",
						"zip_code": "12345",
						"country": "Country Name"
					},
					"type": "PAYMENT"
				},
				"destination_amount": {
					"num": "10000000",
					"cur": "IDR"
				}
			}
		]
	}'

HTTP Request

POST https://disburse.sandbox.bnk.to/v2/disbursements

Body Parameters

Name Type Description
source_account_id string SourceAccountID is the uuid of source account
remark string Remark is a remark of this request
disbursements []Disbursement Disbursements is the disbursements to attempt to create
Objects
Disbursement
Name Type Description
disbursement_id string DisbursementID is an id brankas uniquely generates for this disbursement
reference_id string ReferenceID is a reference from the merchant to uniquely identify a disbursement transaction, this should be an idempotent value
type DisbursementType Type is the type of disbursement being created
source_account SourceBankAccountDetails SourceAccount is the account to send payment from
destination_account DestinationBankAccountDetails DestinationAccount is the account to send payment to
destination_amount Amount DestinationAmount is the amount to be received by the destination account owner, after calculating the appropriate foreign exchange rate. ‘destination_amount.num’ should be in the lowest denomination for a currency
description string Description is what the destination account will see for the disbursement transaction
fees []Fee Fees are the associated fees for the disbursement
external External External is a field for all the information returned by the bank’s api regarding a disbursement
status DisbursementStatus Status defines the result of the request.
created Timestamp Created is a timestamp indicating when the disbursement was created
updated Timestamp Updated is a timestamp indicating when the disbursement was last updated
disbursement_request_id string DisbursementRequestID is the batch id for the processed disbursement request
note string Note is a reasons that cause disbursement invalid
merchant_txn_id string MerchantTransactionID is the transaction id from merchant which is used for reconciliation
SourceBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank SourceBankCode Bank is which bank the bank account is for
number string Number is the bank account number
holder_name string HolderName is the name of the owner of the bank account
type AccountType Type is the type of bank account
address Address Address is the registered address for the source account owner
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
DestinationBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank DestinationBankCode Bank is the destination bank code
number string Number is the account number of the destination account.
holder_name string HolderName is the name on the destination account.
type AccountType Type is the type of bank account
address Address Address is the registered address for the destination account owner, used by some integrations.
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
email string when value of e-mail is present, the disbursement notification should be sent to the e-mail address with the correct disbursement information.
Amount
Name Type Description
cur CurrencyISO4217 cur is the currency value.
num string num is the numeric value.
Fee
Name Type Description
name string Name is the name of the fee
amount Amount Amount is the amount of the fee
External
Name Type Description
reference_id string ReferenceID is the reference id returned from the bank’s api to uniquely identify a disbursement in their system.
status string Status is the disbursement status returned from the bank’s api
settlement_rail string SettlementRail is the transaction channel for the bank
error []Error Error is the error information returned by the bank’s api
Timestamp
Name Type Description
seconds int64
nanos int32
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country CountryCode Country of the destination account.
Error
Name Type Description
error_code string
message string
Enums
DisbursementType

DisbursementType is the type of disbursement.

Value Description
UNKNOWN_TYPE
CASHBACK
PAYMENT
PAYOUT
REFUND
SALARY
VENDOR_BILL
UTILITY
REPLENISHMENT
DisbursementStatus

DisbursementStatus is the status for disbursement.

Value Description
UNKNOWN_DISBURSEMENT_STATUS
CREATED
ERROR
SUCCESS
FAILED
PENDING
NOT_PROCESSED
FLAGGED
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

CurrencyISO4217

Currency following format specified on ISO 4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW

Responses

Response body

Name Type Description
result []DisbursementResult Result will return a success or error type for the response for each disbursement
Objects
DisbursementResult
Name Type Description
disbursement Disbursement Disbursement is the disbursement that was created with the bank
result Result Result is the repsonse from the bank when trying to create the disbursement
Disbursement
Name Type Description
disbursement_id string DisbursementID is an id brankas uniquely generates for this disbursement
reference_id string ReferenceID is a reference from the merchant to uniquely identify a disbursement transaction, this should be an idempotent value
type DisbursementType Type is the type of disbursement being created
source_account SourceBankAccountDetails SourceAccount is the account to send payment from
destination_account DestinationBankAccountDetails DestinationAccount is the account to send payment to
destination_amount Amount DestinationAmount is the amount to be received by the destination account owner, after calculating the appropriate foreign exchange rate. ‘destination_amount.num’ should be in the lowest denomination for a currency
description string Description is what the destination account will see for the disbursement transaction
fees []Fee Fees are the associated fees for the disbursement
external External External is a field for all the information returned by the bank’s api regarding a disbursement
status* DisbursementStatus Status defines the result of the request.
created Timestamp Created is a timestamp indicating when the disbursement was created
updated Timestamp Updated is a timestamp indicating when the disbursement was last updated
disbursement_request_id string DisbursementRequestID is the batch id for the processed disbursement request
note string Note is a reasons that cause disbursement invalid
merchant_txn_id string MerchantTransactionID is the transaction id from merchant which is used for reconciliation

*this object is used to determine the final outcome of a transaction

Result
Name Type Description
success bool
error []Error
message string
SourceBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank SourceBankCode Bank is which bank the bank account is for
number string Number is the bank account number
holder_name string HolderName is the name of the owner of the bank account
type AccountType Type is the type of bank account
address Address Address is the registered address for the source account owner
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
DestinationBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank DestinationBankCode Bank is the destination bank code
number string Number is the account number of the destination account.
holder_name string HolderName is the name on the destination account.
type AccountType Type is the type of bank account
address Address Address is the registered address for the destination account owner, used by some integrations.
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
email string when value of e-mail is present, the disbursement notification should be sent to the e-mail address with the correct disbursement information.
Amount
Name Type Description
cur CurrencyISO4217 cur is the currency value.
num string num is the numeric value.
Fee
Name Type Description
name string Name is the name of the fee
amount Amount Amount is the amount of the fee
External
Name Type Description
status string Status is the disbursement status returned from the bank’s api
settlement_rail string SettlementRail is the transaction channel for the bank
error []Error Error is the error information returned by the bank’s api
Timestamp
Name Type Description
seconds int64
nanos int32
Error
Name Type Description
error_code string
message string
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country CountryCode Country of the destination account.
Enums
DisbursementType

DisbursementType is the type of disbursement.

Value Description
UNKNOWN_TYPE
CASHBACK
PAYMENT
PAYOUT
REFUND
SALARY
VENDOR_BILL
UTILITY
REPLENISHMENT
DisbursementStatus

DisbursementStatus is the status for disbursement.

Value Description
UNKNOWN_DISBURSEMENT_STATUS
CREATED
ERROR
SUCCESS
FAILED
PENDING
NOT_PROCESSED
FLAGGED
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

CurrencyISO4217

Currency following format specified on ISO 4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW

Example:

{
  "result": [
    {
      "disbursement": {
        "disbursements_id": "75b37286-435d-4983-bb33-c2a8160968af",
        "reference_id": "S2021110216254919901",
        "type": "PAYMENT",
        "source_account": {
          "bank": "DUMMY_BANK_CORPORATE",
          "number": "11111111",
          "holder_name": "PT Brankas Teknologi Indonesia",
          "type": "CORPORATE"
        },
        "destination_account": {
          "bank": "DUMMY_DESTINATION_BANK",
          "number": "1234000012340000",
          "holder_name": "Dummy Recipient Name",
          "type": "PERSONAL"
        },
        "destination_amount": {
          "cur": "IDR",
          "num": "1000000"
        },
        "external": {
          "reference_id": "UB1364723"
        },
        "status": "SUCCESS",
        "disbursement_request_id": "84c912fb-73ca-4b13-aa13-29274c6a8f86",
        "merchant_txn_id": "31082021003088"
      },
      "result": {
        "success": true
      }
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Delete Bank Account.

Delete bank account by id.

curl -X DELETE \
	https://disburse.sandbox.bnk.to/v1/bank-accounts \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

DELETE https://disburse.sandbox.bnk.to/v1/bank-accounts

Responses

Response body

Name Type Description
result Result Result is the response from system indicate bank account deleted.
Objects
Result
Name Type Description
success bool
error []Error
message string
Error
Name Type Description
error_code string
message string

Example:

{
  "result": {
    "success": "bool",
    "error": [
      {
        "error_code": "string",
        "message": "string"
      }
    ],
    "message": "string"
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Download statement file.

Download statement file.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/download-statement \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/download-statement

Responses

Response body

Name Type Description
result Result Result is the success response for changing the bucket access
Objects
Result
Name Type Description
success bool
error []Error
message string
Error
Name Type Description
error_code string
message string

Example:

{
  "result": {
    "success": "bool",
    "error": [
      {
        "error_code": "string",
        "message": "string"
      }
    ],
    "message": "string"
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Get Bank Accounts

Get a list of bank account either source or destination.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/bank-accounts \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/bank-accounts

Responses

Response body

Name Type Description
bank_accounts []BankAccountDetails
total_record int32 TotalRecord is the number of record return by database match filters.
Objects
BankAccountDetails
Name Type Description
account_id string AccountID is an UUID generated when user add bank account
source_bank SourceBankCode SourceBankCode is bank code for source account.
destination_bank DestinationBankCode DestinationBankCode is bank code for destination account.
account_no string AccountNo is the bank account number.
holder_name FullName HolderName is the name of the owner of the bank account.
account_type AccountType AccountType is type of bank account (personal or corporate).
is_source bool IsSourceAccount determine it a source or destination bank account.
country CountryCode Country of the destination account.
address Address Address is the registered address for the destination account.
email_id []string EmailID is the list of email of account holder.
source_bank_credential SourceBankCredential BankCredential is a source bank account credential
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
balance BankAccountBalance Balance is the balance left from specific account
account_class AccountClass AccountClass is the class of specific account (partner or merchant)
authorized_signatories []string AuthorizedSignatories is the list of authorized signatory
FullName
Name Type Description
first_name string FirstName is first name of holder.
middle_name string MiddleName is middle name of holder.
last_name string LastName is last name of holder.
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country CountryCode Country of the destination account.
SourceBankCredential
Name Type Description
credential_id string CredentialID is the uuid generated when insert credential to database.
source_account_id string SourceAccountID is the uuid of source account
client_id string ClientID is a client id provide by bank for merchant
client_secret string ClientSecret is a client secret provide by bank for merchant
api_id string ApiID is a api id provide by bank for merchant
api_secret string ApiSecret is a ap secret provide by bank for merchant
partner_id string PartnerID is a partner id provide by bank for merchant, some bank called it CorporateID
username string Username is a username provided by bank to generate bearer token.
password string Password is a username provided by bank to generate bearer token.
access_token string AccessToken is the access token
isOAuth bool IsOAuth is the auth type
access_token_exp string AccessTokenExp is the access token expired
refresh_token string RefreshToken is the refresh token
BankAccountBalance
Name Type Description
cur string BalanceCur is currency of the account balance
num string BalanceNum is number of amount in the account balance.
is_live bool IsLive is boolean indicate getting the balance from db/bank api.
last_sync Timestamp LastSync is last sync balance with bank api.
Timestamp
Name Type Description
seconds int64
nanos int32
Enums
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
AccountClass

AccountClass is the class of account

Value Description
UNKNOWN_ACCOUNT_CLASS
PARTNER
MERCHANT

Example:

{
  "bank_accounts": [
    {
      "account_id": "string",
      "source_bank": "SourceBankCode",
      "destination_bank": "DestinationBankCode",
      "account_no": "string",
      "holder_name": {
        "first_name": "string",
        "middle_name": "string",
        "last_name": "string"
      },
      "account_type": "AccountType",
      "is_source": "bool",
      "country": "CountryCode",
      "address": {
        "line1": "string",
        "line2": "string",
        "city": "string",
        "province": "string",
        "zip_code": "string",
        "country": "CountryCode"
      },
      "email_id": "[]string",
      "source_bank_credential": {
        "credential_id": "string",
        "source_account_id": "string",
        "client_id": "string",
        "client_secret": "string",
        "api_id": "string",
        "api_secret": "string",
        "partner_id": "string",
        "username": "string",
        "password": "string",
        "access_token": "string",
        "isOAuth": "bool",
        "access_token_exp": "string",
        "refresh_token": "string"
      },
      "bank_title": "string",
      "country_code": "CountryCode",
      "external_account_id": "string",
      "balance": {
        "cur": "string",
        "num": "string",
        "is_live": "bool",
        "last_sync": {
          "seconds": "int64",
          "nanos": "int32"
        }
      },
      "account_class": "AccountClass",
      "authorized_signatories": "[]string"
    }
  ],
  "total_record": "int32"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve beneficiary banks

Retrieves the beneficiary banks

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/beneficiary-banks \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/beneficiary-banks

Responses

Response body

Name Type Description
beneficiaries []BeneficiaryBankQuery
Objects
BeneficiaryBankQuery
Name Type Description
bank_code DestinationBankCode BankCode is the destination bank code identifier of the beneficiary bank
title string Title is the title of the bank
active bool Active indicates whether the bank is active
country_code CountryCode CountryCode is the country code of the banks
supported_channels []string SupportedChannels is the supported channel for this bank
Enums
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia

Example:

{
  "beneficiaries": [
    {
      "bank_code": "DestinationBankCode",
      "title": "string",
      "active": "bool",
      "country_code": "CountryCode",
      "supported_channels": "[]string"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve Callback URL

Retrieve callback url to registered by merchant.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/callback \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/callback

Responses

Response body

Name Type Description
callback_urls []CallbackURL callback_urls is a list of the callback url records.
Objects
CallbackURL
Name Type Description
id string id contains the unique identifier of the callback url.
description string description for this callback url.
url string url contains the actual callback url value.
status CallbackURLStatus status is the state of this callback url - whether it is still active or not.
Enums
CallbackURLStatus
Value Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED

Example:

{
  "callback_urls": [
    {
      "id": "32bbd16b-8a26-42d9-8f69-e33fcc882fd8",
      "description": "test-callback-url",
      "url": "https://www.example.com",
      "status": "ACTIVE"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve Disbursement

Retrieve all the disbursements with or without a given filter. Disbursements can be filtered by date or disbursement ids.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/disbursements \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/disbursements

Responses

Response body

Name Type Description
disbursements []Disbursement Disbursements are the disbursements that fall within the specified date range
total_record int32 TotalRecord is the number of record return by database match filters.
Objects
Disbursement
Name Type Description
disbursement_id string DisbursementID is an id brankas uniquely generates for this disbursement
reference_id string ReferenceID is a reference from the merchant to uniquely identify a disbursement transaction, this should be an idempotent value
type DisbursementType Type is the type of disbursement being created
source_account SourceBankAccountDetails SourceAccount is the account to send payment from
destination_account DestinationBankAccountDetails DestinationAccount is the account to send payment to
destination_amount Amount DestinationAmount is the amount to be received by the destination account owner, after calculating the appropriate foreign exchange rate. ‘destination_amount.num’ should be in the lowest denomination for a currency
description string Description is what the destination account will see for the disbursement transaction
fees []Fee Fees are the associated fees for the disbursement
external External External is a field for all the information returned by the bank’s api regarding a disbursement
status DisbursementStatus Status defines the result of the request.
created Timestamp Created is a timestamp indicating when the disbursement was created
updated Timestamp Updated is a timestamp indicating when the disbursement was last updated
disbursement_request_id string DisbursementRequestID is the batch id for the processed disbursement request
note string Note is a reasons that cause disbursement invalid
merchant_txn_id string MerchantTransactionID is the transaction id from merchant which is used for reconciliation
SourceBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank SourceBankCode Bank is which bank the bank account is for
number string Number is the bank account number
holder_name string HolderName is the name of the owner of the bank account
type AccountType Type is the type of bank account
address Address Address is the registered address for the source account owner
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
DestinationBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank DestinationBankCode Bank is the destination bank code
number string Number is the account number of the destination account.
holder_name string HolderName is the name on the destination account.
type AccountType Type is the type of bank account
address Address Address is the registered address for the destination account owner, used by some integrations.
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
email string when value of e-mail is present, the disbursement notification should be sent to the e-mail address with the correct disbursement information.
Amount
Name Type Description
cur CurrencyISO4217 cur is the currency value.
num string num is the numeric value.
Fee
Name Type Description
name string Name is the name of the fee
amount Amount Amount is the amount of the fee
External
Name Type Description
reference_id string ReferenceID is the reference id returned from the bank’s api to uniquely identify a disbursement in their system.
status string Status is the disbursement status returned from the bank’s api
settlement_rail string SettlementRail is the transaction channel for the bank
error []Error Error is the error information returned by the bank’s api
Timestamp
Name Type Description
seconds int64
nanos int32
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country CountryCode Country of the destination account.
Error
Name Type Description
error_code string
message string
Enums
DisbursementType

DisbursementType is the type of disbursement.

Value Description
UNKNOWN_TYPE
CASHBACK
PAYMENT
PAYOUT
REFUND
SALARY
VENDOR_BILL
UTILITY
REPLENISHMENT
DisbursementStatus

DisbursementStatus is the status for disbursement.

Value Description
UNKNOWN_DISBURSEMENT_STATUS
CREATED
ERROR
SUCCESS
FAILED
PENDING
NOT_PROCESSED
FLAGGED
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

CurrencyISO4217

Currency following format specified on ISO 4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW

Example:

{
  "disbursements": [
    {
      "disbursement_id": "dd09f0e6-a576-4442-a3b4-2bb4adc4cfaf",
      "reference_id": "22082021002001",
      "type": "PAYMENT",
      "source_account": {
        "account_id": "6666dd6d-5d0e-4a65-918c-042f81f9e461",
        "bank": "DUMMY_BANK_CORPORATE",
        "number": "11111111",
        "holder_name": "PT Brankas Teknologi Indonesia",
        "type": "CORPORATE",
        "address": {},
        "bank_title": "Brankas Dummy Bank Corporate"
      },
      "destination_account": {
        "bank": "DUMMY_DESTINATION_BANK",
        "number": "1234000012340000",
        "holder_name": "Dummy Recipient Name",
        "type": "PERSONAL",
        "address": {},
        "bank_title": "Brankas Dummy Destination Bank"
      },
      "destination_amount": {
        "cur": "IDR",
        "num": "1000000"
      },
      "external": {
        "reference_id": "294835"
      },
      "status": "SUCCESS",
      "created": "2021-08-22T16:08:03.390Z",
      "updated": "2021-08-22T16:08:03.390Z",
      "disbursement_request_id": "474da23a-37a0-49af-bb9e-537ab3ef2dba",
      "merchant_txn_id": "merchanttrx001"
    }
  ],
  "total_record": 10
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve Notification Setting

Retrieve notification setting to configured by merchant.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/notification-setting \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/notification-setting

Responses

Response body

Name Type Description
events []NotificationSettingEvents settings is a list of the notification setting records.
Enums
NotificationSettingEvents
Value Description
UNKNOWN_EVENT_TYPE
EVENTDIS001
EVENTDIS002
EVENTDIS003
EVENTDIS004
EVENTDIS005
EVENTDIS006
EVENTDIS007
EVENTDIS008
EVENTDIS009
EVENTDIS010

Example:

{
  "events": [
    "EVENTDIS001",
    "EVENTDIS002",
    "EVENTDIS009",
    "EVENTDIS010"
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve source banks

Retrieves the source banks

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/source-banks \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/source-banks

Responses

Response body

Name Type Description
sources []SourceBankQuery
Objects
SourceBankQuery
Name Type Description
bank_code SourceBankCode BankCode is the source bank code identifier of the source bank
title string Title is the title of the bank
active bool Active indicates whether the bank is active
country_code CountryCode CountryCode is the country code of the banks
supported_channels []string SupportedChannels is the supported channel for this bank
logo string Logo is a url path for logo of the bank
Enums
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia

Example:

{
  "sources": [
    {
      "bank_code": "SourceBankCode",
      "title": "string",
      "active": "bool",
      "country_code": "CountryCode",
      "supported_channels": "[]string",
      "logo": "string"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Update Bank Account

Allows merchants to update bank accounts and bank credentials that have been inserted to the system previously.

curl -X PUT \
	https://disburse.sandbox.bnk.to/v1/bank-accounts \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"bank_account": {
			"account_id": "string",
			"source_bank": "SourceBankCode",
			"destination_bank": "DestinationBankCode",
			"account_no": "string",
			"holder_name": {
				"first_name": "string",
				"middle_name": "string",
				"last_name": "string"
			},
			"account_type": "AccountType",
			"is_source": "bool",
			"country": "CountryCode",
			"address": {
				"line1": "string",
				"line2": "string",
				"city": "string",
				"province": "string",
				"zip_code": "string",
				"country": "CountryCode"
			},
			"email_id": "[]string",
			"source_bank_credential": {
				"credential_id": "string",
				"source_account_id": "string",
				"client_id": "string",
				"client_secret": "string",
				"api_id": "string",
				"api_secret": "string",
				"partner_id": "string",
				"username": "string",
				"password": "string",
				"access_token": "string",
				"isOAuth": "bool",
				"access_token_exp": "string",
				"refresh_token": "string"
			},
			"bank_title": "string",
			"country_code": "CountryCode",
			"external_account_id": "string",
			"balance": {
				"cur": "string",
				"num": "string",
				"is_live": "bool",
				"last_sync": {
					"seconds": "int64",
					"nanos": "int32"
				}
			},
			"account_class": "AccountClass",
			"authorized_signatories": "[]string"
		}
	}'

HTTP Request

PUT https://disburse.sandbox.bnk.to/v1/bank-accounts

Body Parameters

Name Type Description
bank_account BankAccountDetails
Objects
BankAccountDetails
Name Type Description
account_id string AccountID is an UUID generated when user add bank account
source_bank SourceBankCode SourceBankCode is bank code for source account.
destination_bank DestinationBankCode DestinationBankCode is bank code for destination account.
account_no string AccountNo is the bank account number.
holder_name FullName HolderName is the name of the owner of the bank account.
account_type AccountType AccountType is type of bank account (personal or corporate).
is_source bool IsSourceAccount determine it a source or destination bank account.
country CountryCode Country of the destination account.
address Address Address is the registered address for the destination account.
email_id []string EmailID is the list of email of account holder.
source_bank_credential SourceBankCredential BankCredential is a source bank account credential
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
balance BankAccountBalance Balance is the balance left from specific account
account_class AccountClass AccountClass is the class of specific account (partner or merchant)
authorized_signatories []string AuthorizedSignatories is the list of authorized signatory
FullName
Name Type Description
first_name string FirstName is first name of holder.
middle_name string MiddleName is middle name of holder.
last_name string LastName is last name of holder.
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country CountryCode Country of the destination account.
SourceBankCredential
Name Type Description
credential_id string CredentialID is the uuid generated when insert credential to database.
source_account_id string SourceAccountID is the uuid of source account
client_id string ClientID is a client id provide by bank for merchant
client_secret string ClientSecret is a client secret provide by bank for merchant
api_id string ApiID is a api id provide by bank for merchant
api_secret string ApiSecret is a ap secret provide by bank for merchant
partner_id string PartnerID is a partner id provide by bank for merchant, some bank called it CorporateID
username string Username is a username provided by bank to generate bearer token.
password string Password is a username provided by bank to generate bearer token.
access_token string AccessToken is the access token
isOAuth bool IsOAuth is the auth type
access_token_exp string AccessTokenExp is the access token expired
refresh_token string RefreshToken is the refresh token
BankAccountBalance
Name Type Description
cur string BalanceCur is currency of the account balance
num string BalanceNum is number of amount in the account balance.
is_live bool IsLive is boolean indicate getting the balance from db/bank api.
last_sync Timestamp LastSync is last sync balance with bank api.
Timestamp
Name Type Description
seconds int64
nanos int32
Enums
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
AccountClass

AccountClass is the class of account

Value Description
UNKNOWN_ACCOUNT_CLASS
PARTNER
MERCHANT

Responses

Response body

Name Type Description
result Result Result is the response from system indicate bank details add.
Objects
Result
Name Type Description
success bool
error []Error
message string
Error
Name Type Description
error_code string
message string

Example:

{
  "result": {
    "success": "bool",
    "error": [
      {
        "error_code": "string",
        "message": "string"
      }
    ],
    "message": "string"
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Upsert Callback URL

Allows merchants to register a callback url which allows Brankas to send notification of disbursement status updates for the disbursement created by merchants. Alternatively, you can also submit a callback URL from Brankas dashboard on the settings page.

curl -X PUT \
	https://disburse.sandbox.bnk.to/v1/callback \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"id": "",
		"description": "test-callback-url",
		"url": "https://www.example.com",
		"status": "ACTIVE"
	}'

HTTP Request

PUT https://disburse.sandbox.bnk.to/v1/callback

Body Parameters

Name Type Description
id string id contains the unique identifier of the callback url (don’t need to provide the id to create a new callback).
description string description for this callback url.
url string url contains the actual callback url value.
status CallbackURLStatus status is the state of this callback url - whether it is still active or not.
Enums
CallbackURLStatus
Value Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED

Responses

Response body

Name Type Description
id string id contains the unique identifier of the business information object.

Example:

{
  "id": "32bbd16b-8a26-42d9-8f69-e33fcc882fd8"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Disburse Snap API

  • Host https://disburse-snap.sandbox.prd.asse2.bnk.to

API Reference Overview

curl -X POST \
	https://disburse-snap.sandbox.prd.asse2.bnk.to
/v1/disbursements/account-inquiry \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"destination_bank_account": {
			"bank": "DUMMY_DESTINATION_BANK",
			"number": "8581319920"
		},
		"source_account_id": "string"
	}'

Onboarding Steps

POST https://disburse-snap.sandbox.prd.asse2.bnk.to /v1/disbursements/account-inquiry

Assuming the client already has access to the Brankas dashboard and live access, below are the steps for accessing the Snap API:

  • Generating API Keys via Brankas Dashboard, this generated key will be used as a X-API-KEY in the header request.
  • Generating client_id and client_password will be done by Brankas team upon onboarding been done. They will be used to generate access token.

Access Token

This request is a prerequisite for the others. All API requests must have an OAuth2 Bearer Token, which is obtained from the response to this request.

URL
Method Endpoint
POST /oauth2/token
Base URL Usage
https://auth.brankas.com.to Production Environment
Authorization
  • Type: Basic Auth
    • Username: <your_client_id>
    • Password: <your_client_password>
curl -X POST \
  https://auth.brankas.com/oauth2/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Authorization: ••••••' \
  -d 'grant_type=client_credentials' \
  -d 'scope=https://auth.bnk.to/snap.write https://auth.bnk.to/snap.read'

Request

POST https://auth.brankas.com/oauth2/token

Headers
  • Authorization: <computed>
  • Content-Type: application/x-www-form-urlencoded
Body
Body Data Type Mandatory Description
grant_type String Required Grant Type Requested
scope String Required The scopes requested

Response

{ \
  "access_token":  "eyJhbGciOiJSUzXXNiIsImtpZCI6ImEwY2QwY2ZjLTU0MjAtNDA1My1iY2FjLTFmZjhkYTVkMDRjNCIsInR5cCI6IkpX",
  "expires_in": 3598,
  "scope": "https://auth.bnk.to/snap.write https://auth.bnk.to/snap.read https://auth.bnk.to/snap.admin.read",
  "token_type": "bearer"
}
Headers
  • Date: Thu, 27 Jun 2024 13:11:37 GMT
  • Content-Type: application/json;charset=UTF-8
Body
Parameter Data Type Mandatory Description
access_token String Required Contains the actual access token you need to use to call protected APIs.
scope String Required The scopes allowed to this token.
token_type String Required Type of this access token.

Intrabank Transfer

Intrabank transfers funds from one account to one beneficiary account for the same bank.

URL
Method Endpoint
POST /v1/transfer-intrabank
Base URL Usage
https://disburse-snap.sandbox.prd.asse2.bnk.to UAT Environment
https://disburse-snap.prd.asse2.bnk.to Production Environment
Authorization
  • Type: Bearer Token + Api Key
curl -X POST \
  'https://disburse-snap.prd.asse2.bnk.to
/v1/transfer-intrabank' \
  -H 'X-TIMESTAMP: 2024-07-03T08:37:51+00:00' \
  -H 'X-SIGNATURE: Ok4T1JnXyCbsWwhpHy3pcYCijPOY7e2pQFNmF3MBgtkM8fXowNbC/MJ3dbnWFD8G3o5ZfnAxw4Dt98gus+vf5A==' \
  -H 'X-PARTNER-ID: <your_client_id>' \
  -H 'X-EXTERNAL-ID: <your_client_id>' \
  -H 'CHANNEL-ID: fceda' \
  -H 'Authorization: Bearer ••••••' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: ••••••' \
  -d '{
        "partnerReferenceNo": "1719995870133",
        "amount": {
          "value": "10000.00",
          "currency": "IDR"
        },
        "beneficiaryAccountNo": "9808419049",
        "beneficiaryEmail": "testing-disbursement@brankas.com",
        "currency": "IDR",
        "customerReference": "12345",
        "feeType": "Transfer",
        "remark": "Test disb API",
        "sourceAccountNo": "f58fc39f-4fa1-486f-b461-e56fc6c5478b",
        "transactionDate": "2024-05-01T17:33:00+07:00",
        "additionalInfo": {
          "beneficiaryBankCode": "ID_DUMMY"
        }
      }'

Request

POST https://disburse-snap.prd.asse2.bnk.to /v1/transfer-intrabank

Headers
  • Authorization: <token>
  • x-api-key: <your_api_key>
  • Content-type: application/json
  • X-TIMESTAMP: Date time of the request
  • X-PARTNER-ID: <your_client_id>
  • X-EXTERNAL-ID: <your_client_id>
  • X-Signature: Using the stringToSign format httpMethod + "|" + endpointUrl + "|" + accessToken + "|" + timestamp + "|" + hex(sha256(requestBody))
Body
Parameter Data Type Mandatory Description
partnerReferenceNo String (64) Required Transaction identifier on service consumer system
amount Object Required
value String (16,2) Required Net amount of the transaction. If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00
currency String (3) Required Currency
beneficiaryAccountNo String (34) Required Contains destination bank account number.
beneficiaryEmail String (50) Optional Beneficiary Email
currency String (3) Optional Currency Type
customerReference String (30) Optional Reference Number / No Referral / Transaction ID
feeType String (25) Optional Holds the type of the transaction fee
remark String (50) Optional Description/remark of the transaction
sourceAccountNo String (36) Required Brankas source account ID
transactionDate String (25) Required Transaction date ISO 8601
additionalInfo Object Required
beneficiaryBankCode String Required Brankas destination bank code

Response

{
  "responseCode": "2001700",
  "responseMessage": "Successful",
  "referenceNo": "S20240709191858063RQY1M1",
  "beneficiaryAccountNo": "0611115813",
  "transactionDate": "2024-05-01T17:33:00+07:00",
  "additionalInfo": {
    "beneficiaryBankCode": "ID_DUMMY"
  }
}
Headers
  • Date: Thu, 27 Jun 2024 13:11:37 GMT
  • Content-Type: application/json;charset=UTF-8
Body
Field Name Data Type Mandatory Description
responseCode String Required Response code
responseMessage String Required Response description
referenceNo String Required Transaction identifier on service provider system
partnerReferenceNo String Optional Transaction identifier on service consumer system
beneficiaryAccountNo String (34) Required Contains destination bank account number.
currency String (3) Optional Currency Type
customerReference String (30) Optional Reference Number / No Referral / Transaction ID
sourceAccountNo String (36) Required Brankas source account ID
transactionDate String (25) Required Transaction date ISO 8601
additionalInfo Object Required Additional Information
beneficiaryBankCode String Required Brankas destination bank code

Interbank Transfer

Interbank transfers funds from one account to one beneficiary account for the different bank.

URL
Method Endpoint
POST /v1/transfer-interbank
Base URL Usage
https://disburse-snap.sandbox.prd.asse2.bnk.to UAT Environment
https://disburse-snap.prd.asse2.bnk.to Production Environment
Authorization
  • Type: Bearer Token + Api Key
curl -X POST 'https://disburse-snap.prd.asse2.bnk.to
/v1/transfer-interbank' \
-H 'X-TIMESTAMP: 2024-07-03T08:37:51+00:00' \
-H 'X-SIGNATURE: Ok4T1JnXyCbsWwhpHy3pcYCijPOY7e2pQFNmF3MBgtkM8fXowNbC/MJ3dbnWFD8G3o5ZfnAxw4Dt98gus+vf5A==' \
-H 'X-PARTNER-ID: <your_client_id>' \
-H 'X-EXTERNAL-ID: <your_client_id>' \
-H 'CHANNEL-ID: fceda' \
-H 'Authorization: Bearer ••••••' \
-H 'Content-Type: application/json' \
-H 'x-api-key: ••••••' \
-d '{
  "partnerReferenceNo": "1720587954160",
  "amount": {
    "value": "10000.00",
    "currency": "IDR"
  },
  "beneficiaryAccountName": "brankas",
  "beneficiaryAccountNo": "888801000157508",
  "beneficiaryAddress": "BSD Revenue Tower",
  "beneficiaryBankCode": "ID_DUMMY_BANK",
  "beneficiaryBankName": "Dummy Bank",
  "beneficiaryEmail": "testing-disbursement@brankas.com",
  "currency": "IDR",
  "customerReference": "12345",
  "sourceAccountNo": "f58fc39f-4fa1-486f-b461-e56fc6c5478b",
  "transactionDate": "2024-05-01T17:33:00+07:00",
  "feeType": "Transfer",
  "remark": "Test disb API",
  "additionalInfo": {
    "deviceId": "123123123",
    "channel": "Mobile Phone",
    "type": "PAYMENT"
  }
}'

Request

POST https://disburse-snap.prd.asse2.bnk.to /v1/transfer-interbank

Headers
  • Authorization: <token>
  • x-api-key: <your_api_key>
  • Content-type: application/json
  • X-TIMESTAMP: Date time of the request
  • X-PARTNER-ID: <your_client_id>
  • X-EXTERNAL-ID: <your_client_id>
  • X-Signature: Using the stringToSign format httpMethod + "|" + endpointUrl + "|" + accessToken + "|" + timestamp + "|" + hex(sha256(requestBody))
Body
Parameter Data Type Mandatory Description
partnerReferenceNo String (64) Required Transaction identifier on service consumer system
amount Object Required
value String (16,2) Required Net amount of the transaction. If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00
currency String (3) Required Currency
beneficiaryAccountName String (100) Required Contains the name of destination bank account.
beneficiaryAccountNo String (34) Required Contains destination bank account number.
beneficiaryAddress String (100) Optional Contains the address of beneficiary account
beneficiaryBankCode String Required Brankas destination bank code
beneficiaryBankName String Optional The name of destination bank
beneficiaryEmail String (50) Optional Beneficiary Email
currency String (3) Optional Currency Type
customerReference String (30) Optional Reference Number / No Referral / Transaction ID
sourceAccountNo String (36) Required Brankas source account ID
transactionDate String (25) Required Transaction date ISO 8601
feeType String (25) Optional Holds the type of the transaction fee
remark String (50) Optional Description/remark of the transaction
additionalInfo Object Optional Additional Information

Response

{
  "responseCode": "2001800",
  "responseMessage": "Successful",
  "referenceNo": "S202407101206036974RX5JJ",
  "beneficiaryAccountNo": "888801000157508",
  "additionalInfo": {}
}
Headers
  • Date: Thu, 27 Jun 2024 13:11:37 GMT
  • Content-Type: application/json;charset=UTF-8
Body
Field Name Data Type Mandatory Description
responseCode String Required Response code
responseMessage String Required Response description
referenceNo String Required Transaction identifier on service provider system
partnerReferenceNo String Optional Transaction identifier on service consumer system
amount Object Optional
value String (16,2) Required Net amount of the transaction. If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00
currency String (3) Required Currency
beneficiaryAccountNo String (34) Required Contains destination bank account number.
beneficiaryBankCode String Required Brankas destination bank code
sourceAccountNo String (36) Required Brankas source account ID
additionalInfo Object Optional Additional information

Transaction Status Inquiry

This request is for requesting transaction status.

URL
Method Endpoint
POST /v1/transfer/status
Base URL Usage
https://disburse-snap.sandbox.prd.asse2.bnk.to UAT Environment
https://disburse-snap.prd.asse2.bnk.to Production Environment
Authorization
  • Type: Bearer Token + Api Key
curl -X POST 'https://disburse-snap.prd.asse2.bnk.to
/v1/transfer/status' \
-H 'X-TIMESTAMP: 2024-07-03T08:37:51+00:00' \
-H 'X-SIGNATURE: Ok4T1JnXyCbsWwhpHy3pcYCijPOY7e2pQFNmF3MBgtkM8fXowNbC/MJ3dbnWFD8G3o5ZfnAxw4Dt98gus+vf5A==' \
-H 'X-PARTNER-ID: <your_client_id>' \
-H 'X-EXTERNAL-ID: <your_client_id>' \
-H 'CHANNEL-ID: fceda' \
-H 'Authorization: Bearer ••••••' \
-H 'Content-Type: application/json' \
-H 'x-api-key: ••••••' \
-d '{
  "originalPartnerReferenceNo": "",
  "originalReferenceNo": "S202407101206036974RX5JJ",
  "originalExternalId": "",
  "serviceCode": "17",
  "transactionDate": "",
  "amount": {
    "value": "",
    "currency": "IDR"
  },
  "additionalInfo": {}
}'

Request

POST https://disburse-snap.prd.asse2.bnk.to /v1/transfer/status

Headers
  • Authorization: <token>
  • x-api-key: <your_api_key>
  • Content-type: application/json
  • X-TIMESTAMP: Date time of the request
  • X-PARTNER-ID: <your_client_id>
  • X-EXTERNAL-ID: <your_client_id>
  • X-Signature: Using the stringToSign format httpMethod + "|" + endpointUrl + "|" + accessToken + "|" + timestamp + "|" + hex(sha256(requestBody))
Body
Parameter Data Type Mandatory Description
originalPartnerReferenceNo String Optional Original transaction identifier on service consumer system
originalReferenceNo String Required Reference ID of this transaction
originalExternalId String Optional Original External-ID on header message
serviceCode String Required Transaction type indicator (service code of the original transaction request)
transactionDate String Optional Transaction date ISO 8601
amount Object Optional
value String (16,2) Optional Net amount of the transaction. If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00
currency String (3) Required Currency
additionalInfo Object Optional Additional Information

Response

{
  "responseCode": "2003600",
  "responseMessage": "Successful",
  "originalReferenceNo": "S202407101206036974RX5JJ",
  "originalPartnerReferenceNo": "1720587954160",
  "serviceCode": "20",
  "transactionDate": "2024-07-10T05:06:03Z",
  "amount": {
    "value": "1000000",
    "currency": "IDR"
  },
  "beneficiaryAccountNo": "***********7508",
  "beneficiaryBankCode": "ID_DUMMY_BANK",
  "currency": "IDR",
  "referenceNumber": "S202407101206036974RX5JJ",
  "sourceAccountNo": "0611102380",
  "latestTransactionStatus": "00",
  "transactionStatusDesc": "success",
  "additionalInfo": {}
}
Headers
  • Date: Thu, 27 Jun 2024 13:11:37 GMT
  • Content-Type: application/json;charset=UTF-8
Body
Parameter Data Type Mandatory Description
responseCode String Required Response Code indicating the status of the API request.
responseMessage String Required Corresponding message for the response code
originalReferenceNo String Required Reference Number of this transaction
originalPartnerReferenceNo String Optional Original transaction identifier on service consumer system
serviceCode String Required Transaction type indicator (service code of the original transaction request)
transactionDate String Optional Transaction date ISO 8601
amount Object Optional
value String (16,2) Optional Net amount of the transaction. If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00
currency String (3) Required Currency
beneficiaryAccountNo String Required Contains destination bank account number.
beneficiaryBankCode String Required Brankas destination bank code
currency String (3) Required Currency
referenceNumber String Optional Reference Number of this transaction
sourceAccountNo String Required Brankas source account ID
latestTransactionStatus String Required 00 - Success
01 - Initiated
02 - Paying
03 - Pending
04 - Refunded
05 - Canceled
06 - Failed
07 - Not found
transactionStatusDesc String Optional Description status transaction
additionalInfo Object Optional Additional Information

Marketplace

Brankas Marketplace provide seamless integration of third-party API services with Brankas services

  • Host https://api.sandbox.brankas.com/marketplace

API Reference Overview

  • Base Path ``

Marketplace Transaction

Allows merchant to view Transaction Score or Transaction Summary data

curl -X GET \
	https://api.sandbox.brankas.com/marketplace/v1/transaction \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://api.sandbox.brankas.com/marketplace/v1/transaction

Responses

Response body

Name Type Description
transaction_id string transaction_id is the unique identifier assigned to the transaction request generated by Brankas.
transaction_date string transaction_date is the date of marketplace transaction.
transaction_status string transaction_status is the status of marketplace transaction.
reference_id string reference_id is a reference from the merchant to uniquely identify a marketplace transaction.
client Client client contains the relevant information about the client/merchant.
message string message is the returned information
visa_score VCTScore visa_score contains cardholder’s credit score information.
visa_spend_profile CardholderSpendProfile visa_spend_profile contains card spending aggregated data
score CreditScore score contains credit score information from Brankas partner
Objects
Client
Name Type Description
display_name string display_name is the name of client/merchant.
return_url string return_url is the webhook url of client/merchant.
logo_url string logo_url is the representation image for client/merchant.
VCTScore
Name Type Description
value string actual TUS (transaction underwriting score)
date string date when the score was updated
card_type string Debit / Credit
country_code string numerical code representing country code
model_version string version of how Visa generating the VUIS-C score
CardholderSpendProfile
Name Type Description
card_engagement CardEngagement
spend_type []SpendType
spend_summary []SpendSummary
category_spend []CategorySpend
authorization_declines []AuthorizationDeclines
CreditScore
Name Type Description
partner string partner is the vendor that owns the credit score API
value string value is the partner credit score value
version string version is the partner credit score API version
date string date is the date the credit score was recorded by the partner (VISA)
card_type string card_type value is either credit or debit (VISA)
country_code string country_code is the numerical representation of a country (VISA)
CardEngagement
Name Type Description
month_on_book string # of months since 1st transaction
last_transaction_date string when was the last time customer transact
active_months string number of active months in the last 12 months
SpendType
Name Type Description
spend_volume string value of transaction in this spend category within the time period
time_period string n-month duration of spending from the last API-refreshed date
category_type string CNP: online & without card transaction within the time period
ATM: atm withdrawals within the time period
CASH_OR_XBORDER: card & atm transactions outside country of issuance within the time period
SpendSummary
Name Type Description
spend_volume string total value of transaction within the time period
number_of_transactions string total number of transaction within the time period
time_period string n-month duration of spending from the last API-refreshed date
CategorySpend
Name Type Description
spend_volume string value of transaction in this category within the time period
number_of_transactions string number of transaction in this category within the time period
category_type string FOOD_AND_GROCERY
FUEL
HEALTH_CARE
TRAVEL
TELECOM_UTILITIES_INSURANCE
RESTAURANT_QSR
time_period string n-month duration of spending from the last API-refreshed date
AuthorizationDeclines
Name Type Description
number_of_declines string number of declined transaction within the time period
category_type string TOTAL: total number of declines
INSUFFICIENT_FUNDS: number of declines due to insufficient funds
time_period string n-month duration of spending from the last API-refreshed date

Example:

{
  "transaction_id": "string",
  "transaction_date": "string",
  "transaction_status": "string",
  "reference_id": "string",
  "client": {
    "display_name": "string",
    "return_url": "string",
    "logo_url": "string"
  },
  "message": "string",
  "visa_score": {
    "value": "string",
    "date": "string",
    "card_type": "string",
    "country_code": "string",
    "model_version": "string"
  },
  "visa_spend_profile": {
    "card_engagement": {
      "month_on_book": "string",
      "last_transaction_date": "string",
      "active_months": "string"
    },
    "spend_type": [
      {
        "spend_volume": "string",
        "time_period": "string",
        "category_type": "string"
      }
    ],
    "spend_summary": [
      {
        "spend_volume": "string",
        "number_of_transactions": "string",
        "time_period": "string"
      }
    ],
    "category_spend": [
      {
        "spend_volume": "string",
        "number_of_transactions": "string",
        "category_type": "string",
        "time_period": "string"
      }
    ],
    "authorization_declines": [
      {
        "number_of_declines": "string",
        "category_type": "string",
        "time_period": "string"
      }
    ]
  },
  "score": {
    "partner": "string",
    "value": "string",
    "version": "string",
    "date": "string",
    "card_type": "string",
    "country_code": "string"
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Marketplace Transaction

Lists all transactions of a merchant

curl -X GET \
	https://api.sandbox.brankas.com/marketplace/v1/transaction-list \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://api.sandbox.brankas.com/marketplace/v1/transaction-list

Responses

Response body

Name Type Description
transaction_list []TransactionListData
list_total int32
Objects
TransactionListData
Name Type Description
created string transaction date
id string transaction unique identifier
category string
source string partner name
status string
Timestamp
Name Type Description
seconds int64
nanos int32

Example:

{
  "transaction_list": [
    {
      "created": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "id": "string",
      "category": "string",
      "source": "string",
      "status": "string"
    }
  ],
  "list_total": "int32"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Marketplace Transaction Score

Allows merchant to retrieve Credit Transaction Score of clients

curl -X POST \
	https://api.sandbox.brankas.com/marketplace/v1/transaction-score \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"reference_id": "string",
		"client": {
			"display_name": "string",
			"return_url": "string",
			"logo_url": "string"
		}
	}'

HTTP Request

POST https://api.sandbox.brankas.com/marketplace/v1/transaction-score

Body Parameters

Name Type Description
reference_id string reference_id is a reference from the merchant to uniquely identify a marketplace transaction.
client Client client contains the relevant information about the client/merchant.
Objects
Client
Name Type Description
display_name string display_name is the name of client/merchant.
return_url string return_url is the webhook url of client/merchant.
logo_url string logo_url is the representation image for client/merchant.

Responses

Response body

Name Type Description
transaction_id string transaction_id is the unique identifier assigned to the transaction request generated by Brankas.
redirect_uri string redirect_uri is the tap url for process payment next step.

Example:

{
  "transaction_id": "string",
  "redirect_uri": "string"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Marketplace Transaction Summary

Allows merchant to retrieve Cardholder Spend Summary of clients

curl -X POST \
	https://api.sandbox.brankas.com/marketplace/v1/transaction-summary \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"reference_id": "string",
		"client": {
			"display_name": "string",
			"return_url": "string",
			"logo_url": "string"
		}
	}'

HTTP Request

POST https://api.sandbox.brankas.com/marketplace/v1/transaction-summary

Body Parameters

Name Type Description
reference_id string reference_id is a reference from the merchant to uniquely identify a marketplace transaction.
client Client client contains the relevant information about the client/merchant.
Objects
Client
Name Type Description
display_name string display_name is the name of client/merchant.
return_url string return_url is the webhook url of client/merchant.
logo_url string logo_url is the representation image for client/merchant.

Responses

Response body

Name Type Description
transaction_id string transaction_id is the unique identifier assigned to the transaction request generated by Brankas.
redirect_uri string redirect_uri is the tap url for process payment next step.

Example:

{
  "transaction_id": "string",
  "redirect_uri": "string"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Statement

Brankas Statement endpoints enable fintechs and financial service providers to leverage customer transaction information and deliver highly personalized financial services and applications. You can use Brankas Statement for credit scoring, financial management applications, personalized cross-sell opportunities, and customer verification.

  • Host https://statement.sandbox.bnk.to

API Reference Overview

Delete email notification configuration object

DeleteEmailNotification delete email notification configuration object.

curl -X DELETE \
	https://statement.sandbox.bnk.to/v1/notification/email/{ID} \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

DELETE https://statement.sandbox.bnk.to/v1/notification/email/{ID}

Query Parameters

Name Type Description
id string ID contains the unique identifier of the notification.

Responses

Response body

Name Type Description

Example:

{}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Retrieve statement recent notifications

Retrieves the recent notifications for a statement

curl -X GET \
	https://statement.sandbox.bnk.to/v1/notifications/{StatementID}/status \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://statement.sandbox.bnk.to/v1/notifications/{StatementID}/status

Query Parameters

Name Type Description
statement_id string StatementID is the unique identifier of the statement.

Responses

Response body

Name Type Description
notifications []StatementNotification Notifications is a list of the notification records.
Objects
StatementNotification
Name Type Description
id string ID contains the unique identifier of the statement notification.
notification_id string NotificationID contains the unique identifier of the notification.
url string URL contains the actual notification value.
statement_status StatementStatus StatementStatus is the status of the statement.
payload string Payload is the json that was sent.
http_response string HttpResponse is the response from site.
http_status string HttpStatus is the status returned from site.
error string Error message in the case the statement retrieval operation was unsuccessful
sent_at Timestamp SentAt is the time the notification was sent.
Timestamp
Name Type Description
seconds int64
nanos int32
Enums
StatementStatus
Value Description
UNKNOWN_StatementStatus Unknown statement status
Status_PENDING The requested statement retrieval is in progress.
FAILED The requested statement couldn’t be retrieved successfully.
COMPLETED The requested statement was successfully retrieved
NOTIFIED The request statement status was successfully notified
Status_RECEIVED The statement request processing is complete.
CANCELLED The statement request was cancelled
INACTIVATED The statement request inactivated upon waiting for user input
PURGED The statement data such as accounts and transactions are purged from brankas system
RECORDS_AVAILABLE Indicates atleast one or more transaction available for statement
INITIATED_Status The statement request is initiated for retrieval via IDP flow
NO_ACCOUNT The statement request was cancelled because of no account
RECONCILIATION_COMPLETED RECONCILIATION_COMPLETED indicates first reconciliation cycle has been successful
RECONCILIATION_NEW_TRANSACTION RECONCILIATION_NEW_TRANSACTION indicates there are new transactions merged
RECONCILIATION_DISABLED RECONCILIATION_DISABLED indicates that the reconciliation has been disabled

Example:

{
  "notifications": [
    {
      "id": "string",
      "notification_id": "string",
      "url": "string",
      "statement_status": "StatementStatus",
      "payload": "string",
      "http_response": "string",
      "http_status": "string",
      "error": "string",
      "sent_at": {
        "seconds": "int64",
        "nanos": "int32"
      }
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Send an ecommerce list request

Retrieve the ecommerces list request.

curl -X GET \
	https://statement.sandbox.bnk.to/v1/ecommerces \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://statement.sandbox.bnk.to/v1/ecommerces

Responses

Response body

Name Type Description
statements []Statement Statements are the statements that match the filters of a request.
next_page_token string NextPageToken represents the pagination token to retrieve the next page of results. If the value is “”, it means no further results for the request.
message string Message is any message from the server that are not treated as an error.
total_count int32 TotalCount of the statements matched by the query filters
previous_page_token string PreviousPageToken represents the pagination token to retrieve the previous page of results. If the value is “”, it means no further results for the request.
Objects
Statement
Name Type Description
status StatementStatus Status is the current status of the statement retrieval request
statement_id string StatementID is the unique system generated identifier assigned to this specific statement retrieval request
bank_code BankCode BankCode is the internal code used by the service to target a specific bank for the statement retrieval request.
start_date Timestamp StartDate reflects the timestamp / date of the earliest date up to which the bank provides recorded transaction data, relative to the current date. This differs from bank to bank and can range from 30 to 90 days worth of transaction records from the current date.
end_date Timestamp EndDate reflects the timestamp / date of when the statement retrieval request was initiated
account_statements []AccountStatement AccountStatements is the full list of transactions captured by the statement retrieval request
error string Error message in the case the statement retrieval operation was unsuccessful
request Timestamp Create is the request timestamp.
create Timestamp Create is the creation timestamp.
external_id string ExternalID represent an id that is passed by the api consumer to track the request
channel string Channel represent source channel whether a statement request is initiated from
country string Country is the country code (ID, PH, TH)
is_idp bool IsIDP denotes that the request processed through PIDP
sub_status StatementSubStatus StatementSubStatus denotes the granular status
update Timestamp Update is the updation timestamp.
is_notification_success bool IsNotificationSuccess denotes whether the notification posted is successful or not
site_response string SiteResponse is an optional text response from the bank website.
challenge Challenge Challenge is an optional challange information from the bank website to be used for next 2FA request.
shortcode string shortcode represent a staticlink code to indicate the statement request initiated via static link
user_consent bool UserConsent denotes whether end-user agreed or gave consent for performing statement retrieval
org_id string OrgID is the unique organization identifier.
income Income Income details related to the statement transactions.
bank_type string BankType is the type of the bank whether personal or corporate
code int32 Code is status error code if statement not found
message string Message is error message if statement not found
details []ErrorDetail Details is detailed message if statement not found
status_response StatusResponse StatusResponse contains the code and description about the status for this transaction.
local_time LocalTime LocalTime contains the local time of the dates based on timezone request.
risk_insight bool RiskInsight is a flag that indicates if risk insight is included in a statement.
account_link_id string AccountLinkID is linked credentials used during retrieval.
reconciliation_id string ReconciliationID is a unique parameter to indicate what this retrieval belong to particular reconciliation id
custom_shortcode string CustomShortCode represent a staticlink custom code to indicate the statement request initiated via static link
file_id string FileID is a unique parameter to indicate which file it belongs
is_static_link bool IsStaticLink indicates if the request coming from static link or not
map[string]bytes AccountPdfs is the list of account statement pdf files indexed by account number.
Timestamp
Name Type Description
seconds int64
nanos int32
AccountStatement
Name Type Description
account Account Account is the bank account information.
transactions []Transaction Transactions is the list of transaction which occured over the period_days.
account_pdfs bytes AccountPdfs is the list of account statement pdf files.
loans []Loan Loans is the list of loans of the account
Challenge
Name Type Description
type ChallengeType
data bytes
Income
Name Type Description
overview Overview Overview of income information in a very high level
details []Details Details of income information in very detailed level
account []Account Account is the bank account information.
bank_code BankCode BankCode is the Brankas bank code for the bank that holds the account.
created_at Timestamp CreatedAt is the time when income prediction created in the system
statement_id string StatementID of the income model
income_id string IncomeID is the unique system generated identifier assigned to this specific income request
error string Error is message in the case there was error during retrieval or in request
status IncomeStatus Status is the status of the income
ErrorDetail
Name Type Description
status_code string status_code contains the status code of the request.
status_desc string status_desc contains the description of the given status code of the request.
StatusResponse
Name Type Description
status_code string status_code contains the status code of the request.
status_desc string status_desc contains the description of the given status code of the request.
LocalTime
Name Type Description
start_date string StartDate reflects the timestamp / date of the earliest date up to which the bank provides recorded transaction data, relative to the current date. This differs from bank to bank and can range from 30 to 90 days worth of transaction records from the current date.
end_date string EndDate reflects the timestamp / date of when the statement retrieval request was initiated
create string Create is the creation timestamp.
update string Update is the updation timestamp.
Account
Name Type Description
account_id string AccountID is the bank account firestore document identifier.
type AccountType Type of the relevant bank account. It is an enum indicating whether it is a Savings or Checking account
owner_ids []string OwnerIds is the list of bank credential identifiers that own and have access to this account. The first in the list is the primary owner, and the list cannot be empty.
account_number string AccountNumber is the identifying account number of the bank account in question
nick string Nick is an optional nickname for the account.
balance Amount Balance is the current balance of the relevant bank account as of the current statement retrieval
holder_name string HolderName is the full name of the account holder. The format might change between banks.
bank_code BankCode BankCode is the Brankas bank code for the bank that holds the account.
total_amount_credited Amount TotalAmountCredited is the sum of amount credited with all transactions
total_amount_debited Amount TotalAmountDebited is the sum of amount debited with all transactions
credit_transaction_count int32 CreditTransactionCount denotes number of credit transaction
debit_transaction_count int32 DebitTransactionCount denotes number of debit transaction
holder_address string HolderAddress is the full address of the account holder.
account_metadata []AccountMetadata AccountMetadata is metadata from e-commerce data
account_pocket_name string AccountPocketName is the name of the account or pocket.
merchant_name string MerchantName is the full name of the account holder. The format might change between banks.
Transaction
Name Type Description
transaction_id string TransactionID is the transaction firestore document identifier.
date Timestamp Date is the transaction date in UTC
type TransactionType Type is the transaction’s type, whether it was a CREDIT, DEBIT.
status TransactionStatus Status is the transaction status marked by the bank as pending
amount Amount Amount is the financial value of the transaction
descriptor string Descriptor is the bank statement descriptor attached to the transaction
match_id string MatchID is a reference to related match data.
from Account From is the transaction source account.
to Account To is the transaction destination account.
fields Transaction_Fields
balance Amount Balance is the running balance of the transaction
merchant_type []string MerchantType is the category of the transaction
account_transaction_hash string AccountTransactionHash is the hash for account transaction (account number, date, amount, type,bank code,descriptor)
local_time string LocalTime contains the local time of the date based on timezone request.
confidence string Confidence is a percentage of expense confidence
metadata Metadata Metadata contains additional information of product
error string Error is the message to show in the case when transaction doesn’t exist
Loan
Name Type Description
loan_id string LoanID is the unique system generated identifier assigned to loan
loan_number string LoanNumber is the loan identifier.
loan_type string LoanType is the type of loan.
term_of_loan string TermOfLoan is the term of loan stated in the bank.
open_date Timestamp OpenDate is the loan start date.
due_date Timestamp DueDate is the tloan due date.
next_rate_change_date Timestamp NextRateChangeDate is the next date for interest change.
interest Interest Interest hold information of loan’s interest.
original_principal_amount Amount OriginalPrincipalAmount hold loan original amount.
outstanding_principal_amount Amount OutstandingPrincipalAmount hold outstanding loan amount.
unpaid_Instalment UnpaidInstalment UnpaidInstalment hold the information of the next instalment.
remaining_term string RemainingTerm is the remaining month of the loan due date.
instalments []Instalment Instalment hold the information of loan payment.
Overview
Name Type Description
count_of_days int32 count of days from start date to end date of the statement data
count_of_whole_months int32 count of whole months of the statement data
months_with_income int32 count of months with at least 1 transaction considered as an income
confidence string average confidence score from all transactions with categories considered as income available in the statement
count_of_months int32 count of months of the statement data
persona string profiles of the end user based on their income transactions and pattern
income IncomeOverview Income overview
non_income NonIncomeOverview NonIncome overview
Details
Name Type Description
year string Year of the income details
month string Month of the income details
is_whole_month bool indicates whether the assessment period covers the whole month or not (true/false)
total_amount Amount total amount of all transactions with categories considered as income in the respective month
income_count int32 count of all transactions with categories considered as non income in the respective month
transactions []Transaction list of transactions with categories considered as income in the respective month
income IncomeDetails Income Details
non_income NonIncomeDetails NonIncome Details
Account
Name Type Description
account_number string AccountNumber is the identifying account number of the bank account in question
nick_name string Nick is an optional nickname for the account.
balance Amount Balance is the current balance of the relevant bank account as of the current statement retrieval
holder_name string HolderName is the full name of the account holder. The format might change between banks.
holder_address string HolderAddress is the full address of the account holder.
Amount
Name Type Description
cur CurrencyISO4217 Cur is the currency of the amount using its ISO 4217 code.
num string Num is the actual numeric value of the amount. Note: When there are separators in the currency, we store the decimals as digits in the string. So, PHP 100.00 would be represented as “amount.cur”: “PHP” and “amount.num”: “10000”.
decimal Decimal Decimal is the actual amount value with decimal points
AccountMetadata
Name Type Description
address_name string AddressName is the address identifier
receiver_name string ReceiverName is the name of the receiver for this particular address
address string Address is address
postal_code string PostalCode is postal code for this address
phone string Phone number of the receiver
country string Country is country for this address
address_visit_count int32 AddressVisitCount is how many times address visited
address_visit_dates []string AddressVisitCount is times address visited
address_latitude string AddressLatitude is geometry latitude for address
address_longitude string AddressLongitude is geometry longitude for address
gcash_customer GCashCustomer GCashCustomer is metadata populated from gcash platform.
Transaction_Fields
Name Type Description
name string Name is the Name of the other party.
memo string Memo is the user input on a memo line.
account_no string AccountNo is the other party’s acount number.
company string Company is the virtual account company name.
Metadata
Name Type Description
invoice string Invoice is the invoice number of the transaction
total_order_price Amount TotalOrderPrice is the total price of the transaction
products []ProductMetadata Products contain list of products they bought
order_id string OrderID is the invoice number of the transaction
orders []Order Orders contain list of products they bought
origin Location Origin is the origin location of the Transaction
destination Location Destination is the destination location of the Transaction
service_type string ServiceType is the type of the transaction
payment_methods []string Payment methods are the methods that use in the transaction
orderStatus int32 OrderStatus is integer value of the status transaction
Interest
Name Type Description
type InterestType Type is the interest rate type.
rate string Rate is the numeric value.
UnpaidInstalment
Name Type Description
date Timestamp Date is the next instalment date.
amount Amount Amount is the next instalment amount.
Instalment
Name Type Description
instalment_id string InstalmentID is the unique system generated identifier assigned to loan instalment
date Timestamp Date is the transaction date.
payment_date Timestamp PaymentDate is the transaction date.
total_paid_amount Amount TotalPaidAmount is the total transaction amount.
principal_amount Amount PrincipalAmount is the principal instalment amount.
interest_amount Amount InterestAmount is the interest instalment amount.
outstanding_principal_amount Amount OutstandingPrincipalAmount is the outstanding principal transaction amount.
IncomeOverview
Name Type Description
months_with_income string count of months with at least 1 transaction considered as an income
total_amount Amount total amount of all transactions with categories considered as income available in the statement
count int32 count of all transactions with categories considered as income available in the statement
confidence string average confidence score from all transactions with categories considered as income available in the statement
monthly Monthly Monthly overview of the income
NonIncomeOverview
Name Type Description
overall_total_amount Amount total amount of all transactions with categories considered as nonincome available in the statement
overall_count int32 count of all transactions with categories considered as non income available in the statement
Amount
Name Type Description
cur CurrencyISO4217 currency
num string amount of the transaction in cents
decimal Decimal Decimal is the actual amount value with decimal points
Transaction
Name Type Description
date Timestamp Date is the transaction date
type string type of the transaction (Credit/debit)
confidence string Likelihood of the transaction to be an income (0-100%)
amount Amount Amount denotes the transaction amount
descriptor string description of the transactions
category string predicted category of the transaction
transaction_hash string TransactionHash contains account transaction hash value
transaction_id string TransactionID contains transaction id
IncomeDetails
Name Type Description
total_amount Amount total amount of all transactions with categories considered as income in the respective month
count int32 count of all transactions with categories considered as income in the respective month
categories []string list of income categories from transactions in the related month
categories_count int32 count of income categories from transactions in the related month
transactions []Transaction list of transactions with categories considered as income in the respective month
NonIncomeDetails
Name Type Description
total_amount Amount total amount of all transactions with categories considered as nonincome in the respective month
count int32 count of all transactions with categories considered as income in the respective month
categories []string list of nonincome categories from transactions in the related month
categories_count int32 count of nonincome categories from transactions in the related month
transactions []Transaction list of transactions with categories considered as nonincome in the respective month
Decimal
Name Type Description
places int32 Places denotes the number of decimal points included with the amount
num string Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
GCashCustomer
Name Type Description
first_name string FirstName is the first name of the customer.
last_name string LastName is the last name of the customer.
nick_name string NickName is the nick name of the customer.
birth_date string BirthDate is the birth date of the customer in YYYY-MM-DD format.
birth_place string BirthPlace is the birth place of the customer.
country string Country is the country of the customer.
province string Province is the province of the customer.
city string City is the city of the customer.
nationality string Nationality is nationality of the customer.
email string Email is the e-mail of the customer.
current_address GCashAddress CurrentAddress is the current address of the customer.
parent_address GCashAddress ParentAddress is the customer parent address of the customer.
source_of_funds []string SourceOfFunds is the source of funds of the customer.
work_nature string WorkNature is the work nature of the customer.
name_of_company_business string NameOfCompanyBusiness is the current occupation of the customer.
crn_number string CRNNumber is crn number of the customer.
nogovernment_id_reason string NoGovernmentIDReason is the reason why the customer does not have a government id.
application_status string ApplicationStatus is the current application status of the customer.
ProductMetadata
Name Type Description
name string Name is the name of the product
price Amount Price is the price of the product
quantity int32 Quantity is quantity of the product customer bought
total_sub_price Amount TotalSubPrice is the sub price of the product
merchant string Merchant is the merchant who sell the product
Category string Category is the purchase category of the product
id int64 ID is the unique identifier for the product that we get from bank/ecommerce
Order
Name Type Description
name string Name is the name of the product
price Amount Price is the price of the product
quantity int32 Quantity is quantity of the product customer bought
total_sub_price Amount TotalSubPrice is the sub price of the product
merchant string Merchant is the merchant who sell the product
category string Category is the purchase category of the product
Location
Name Type Description
formatted_address string FormattedAddress is formatted address of this location.
visit_count int32 VisitCount is how many times locatiom visited.
visit_dates []string VisitCount is times location visited.
latitude string Latitude is geometry latitude for location.
longitude string Longitude is geometry longitude for location.
label string Label is the label of location.
address_id string AddressID is bank or platform identifier for respective location. Data available from Gojek API.
place_id string PlaceID is bank or platform identifer for respective location.
address_info string AddressInfo is the address information details of location.
landmark string Landmark is the landmark of location.
created_at Timestamp CreatedAt is the creation date of location on bank or platform.
types []string Types is the type of location.
post_code string PostCode is post code of the address
partial_match bool PartialMatch indicates if the result from geocode is partial match
Monthly
Name Type Description
average_count int32 monthly average count of all transactions with categories considered as income available in the statement
average_amount Amount monthly average amount of all transactions with categories considered as income available in the statement
max_amount Amount monthly max amount of all transactions with categories considered as income available in the statement
min_amount Amount monthly min amount of all transactions with categories considered as income available in the statement
median_amount Amount monthly median amount of all transactions with categories considered as income available in the statement
Decimal
Name Type Description
places int32 Places denotes the number of decimal points included with the amount
num string Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
AddressTag
Name Type Description
formatted_address string FormattedAddress is formatted address of the location.
latitude string Latitude is geometry latitude for location.
longitude string Longitude is geometry longitude for location.
rank int32 Rank is an identifier to determine whether the address is home or public place
post_code string PostCode is post code of the address
GCashAddress
Name Type Description
city string City is the city of the address.
city_id string CityID is the city id of the address.
country string Country is the country of the address.
country_id string CountryID is the country id of the address.
province string Province is the province of the address.
province_id string ProvinceID is the province id of the address.
Enums
StatementStatus
Value Description
UNKNOWN_StatementStatus Unknown statement status
Status_PENDING The requested statement retrieval is in progress.
FAILED The requested statement couldn’t be retrieved successfully.
COMPLETED The requested statement was successfully retrieved
NOTIFIED The request statement status was successfully notified
Status_RECEIVED The statement request processing is complete.
CANCELLED The statement request was cancelled
INACTIVATED The statement request inactivated upon waiting for user input
PURGED The statement data such as accounts and transactions are purged from brankas system
RECORDS_AVAILABLE Indicates atleast one or more transaction available for statement
INITIATED_Status The statement request is initiated for retrieval via IDP flow
NO_ACCOUNT The statement request was cancelled because of no account
RECONCILIATION_COMPLETED RECONCILIATION_COMPLETED indicates first reconciliation cycle has been successful
RECONCILIATION_NEW_TRANSACTION RECONCILIATION_NEW_TRANSACTION indicates there are new transactions merged
RECONCILIATION_DISABLED RECONCILIATION_DISABLED indicates that the reconciliation has been disabled
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
GCASH_PERSONAL code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
KOMO_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Komo
VCB_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Vietcombank
MAYA_PERSONAL Bank code to retrieve retail online payment account transaction data for Pay Maya
StatementSubStatus
Value Description
UNKNOWN_StatementSubStatus
SubStatus_INITIATED Initiatated a request for PIDP
SubStatus_LOGIN_ERROR Error while logging in to the user internet banking account.
SubStatus_AWAITING_LOGIN Login in progress.
SubStatus_AWAITING_TFA Awaiting TFA authentication to gain access to the user’s online banking account.
SubStatus_COMPLETED The requested statement was successfully retrieved
SubStatus_BLOCKED Blocked
SubStatus_INPROGRESS The requested statement retrieval request is in progress.
SubStatus_INVALID_TFA TFA provided by the user is not correct or expired.
SubStatus_NO_TFA_PROVIDED User didn’t provide a TFA for authentication with the bank.
SubStatus_SYSTEM_UNAVAILABLE System busy or unavailable to process the request
SubStatus_ERROR The requested statement couldn’t be retrieved successfully.
SubStatus_CANCELLED Cancelled
SubStatus_INACTIVATED Inactivated
SubStatus_PURGED Purged
SubStatus_RECORDS_AVAILABLE Indicates atleast one or more transaction available for statement
SubStatus_TFA_OPTIONAL Indicates multiple TFA option available to change
SubStatus_INCOME_AVAILABLE The income data available for the statement
SubStatus_PERMISSION_REQUIRED Permission required
SubStatus_OTP_EXPIRED OTP is expired
SubStatus_WRONG_PDF_FORMAT Given wrong pdf format
SubStatus_REFUSE_CONSENT Refuse waive consent
ChallengeType

ChallengeType for captcha or OTP challenge

Value Description
TEXT TEXT are challenges that are generally represented as strings.
IMAGE IMAGE are image-based challenges, for example a captcha image.
IN_APP IN_APP are challenges that happens offline and asynchronously outside our control for example, approvals from a user’s mobile device.
SMS SMS are SMS-based challenge codes.
MGENCODE MGENCODE or Mobile Generated Code, are usually challenge codes generated by bank applications.
HYBRID HYBRID are bank-specific challenge types
PIN PIN are mostly static pin codes from banks, eg Metrobank’s passcode.
USER_ACTION USER_ACTION require some actions from user, but doesn’t need any information back from user. (ie. user need to click a link sent by sms, but after that we can continue automatically in our scraper) Bankworker will continue automatically without waiting for TFA call.
MULTIPLE_TFA Multiple OTPs needed at the same time
EMAIL_OTP EMAIL are challenges that will send OTP to user email.
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
MAYA_PERSONAL Bank code to retrieve retail online payment account transaction data for Pay Maya
IncomeStatus
Value Description
UNKNOWN_IncomeStatus Unknown income status
COMPLETED The requested income was successfully retrieved
FAILED The requested income couldn’t be retrieved successfully.
AccountType

AccountType is the account type enum.

Value Description
UNKNOWN_AccountType Indicates that the bank account type is either undefined or neither a Checking on Saving account
CHECKING Indicates that the bank account is a Checking Account
SAVINGS Indicates that the bank account is a Savings Account
JOINT Indicates that the bank account is a Joint Account
PAYROLL Indicates that the bank account is a Payroll Account
CORPORATE_ACCOUNT Indicates that the bank account is a Corporate Account
INVESTMENT Indicates that the bank account is a Investment Account
CREDIT_CARD Indicates that the bank account is a Credit Card Account
TransactionType

TransactionType is the transaction type enum.

Value Description
UNKNOWN_TYPE Unknown transaction type
CREDIT Transactions that credit the user’s account
DEBIT Transactions that debit the user’s account
TransactionStatus

TransactionStatus is the transaction status enum.

Value Description
UNKNOWN_STATUS
SUCCESS
TRANSACTIONSTATUS_PENDING
CANCELED
NOT_PAID
READY_TO_SHIP
SENT
RETURNED
DELIVERY_FAILED
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW
InterestType
Value Description
UNKNOWN
PERCENTAGE
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW

Example:

{
  "statements": [
    {
      "status": "StatementStatus",
      "statement_id": "string",
      "bank_code": "BankCode",
      "start_date": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "end_date": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "account_statements": [
        {
          "account": {
            "account_id": "string",
            "type": "AccountType",
            "owner_ids": "[]string",
            "account_number": "string",
            "nick": "string",
            "balance": {
              "cur": "CurrencyISO4217",
              "num": "string",
              "decimal": {
                "places": "int32",
                "num": "string"
              }
            },
            "holder_name": "string",
            "bank_code": "BankCode",
            "total_amount_credited": {
              "cur": "CurrencyISO4217",
              "num": "string",
              "decimal": {
                "places": "int32",
                "num": "string"
              }
            },
            "total_amount_debited": {
              "cur": "CurrencyISO4217",
              "num": "string",
              "decimal": {
                "places": "int32",
                "num": "string"
              }
            },
            "credit_transaction_count": "int32",
            "debit_transaction_count": "int32",
            "holder_address": "string",
            "account_metadata": [
              {
                "address_name": "string",
                "receiver_name": "string",
                "address": "string",
                "postal_code": "string",
                "phone": "string",
                "country": "string",
                "address_visit_count": "int32",
                "address_visit_dates": "[]string",
                "address_latitude": "string",
                "address_longitude": "string",                
                "gcash_customer": {
                  "first_name": "string",
                  "last_name": "string",
                  "nick_name": "string",
                  "birth_date": "string",
                  "birth_place": "string",
                  "country": "string",
                  "province": "string",
                  "city": "string",
                  "nationality": "string",
                  "email": "string",
                  "current_address": {
                    "city": "string",
                    "city_id": "string",
                    "country": "string",
                    "country_id": "string",
                    "province": "string",
                    "province_id": "string"
                  },
                  "parent_address": {
                    "city": "string",
                    "city_id": "string",
                    "country": "string",
                    "country_id": "string",
                    "province": "string",
                    "province_id": "string"
                  },
                  "source_of_funds": "[]string",
                  "work_nature": "string",
                  "name_of_company_business": "string",
                  "crn_number": "string",
                  "nogovernment_id_reason": "string",
                  "application_status": "string"
                }
              }
            ],
            "account_pocket_name": "string",
            "merchant_name": "string"
          },
          "transactions": [
            {
              "transaction_id": "string",
              "date": {
                "seconds": "int64",
                "nanos": "int32"
              },
              "type": "TransactionType",
              "status": "TransactionStatus",
              "amount": {
                "cur": "CurrencyISO4217",
                "num": "string",
                "decimal": {
                  "places": "int32",
                  "num": "string"
                }
              },
              "descriptor": "string",
              "match_id": "string",
              "from": {
                "account_id": "string",
                "type": "AccountType",
                "owner_ids": "[]string",
                "account_number": "string",
                "nick": "string",
                "balance": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "holder_name": "string",
                "bank_code": "BankCode",
                "total_amount_credited": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "total_amount_debited": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "credit_transaction_count": "int32",
                "debit_transaction_count": "int32",
                "holder_address": "string",
                "account_metadata": [
                  {
                    "address_name": "string",
                    "receiver_name": "string",
                    "address": "string",
                    "postal_code": "string",
                    "phone": "string",
                    "country": "string",
                    "address_visit_count": "int32",
                    "address_visit_dates": "[]string",
                    "address_latitude": "string",
                    "address_longitude": "string",
                    
                    "gcash_customer": {
                      "first_name": "string",
                      "last_name": "string",
                      "nick_name": "string",
                      "birth_date": "string",
                      "birth_place": "string",
                      "country": "string",
                      "province": "string",
                      "city": "string",
                      "nationality": "string",
                      "email": "string",
                      "current_address": {
                        "city": "string",
                        "city_id": "string",
                        "country": "string",
                        "country_id": "string",
                        "province": "string",
                        "province_id": "string"
                      },
                      "parent_address": {
                        "city": "string",
                        "city_id": "string",
                        "country": "string",
                        "country_id": "string",
                        "province": "string",
                        "province_id": "string"
                      },
                      "source_of_funds": "[]string",
                      "work_nature": "string",
                      "name_of_company_business": "string",
                      "crn_number": "string",
                      "nogovernment_id_reason": "string",
                      "application_status": "string"
                    }
                  }
                ],
                "account_pocket_name": "string",
                "merchant_name": "string"
              },
              "to": {
                "account_id": "string",
                "type": "AccountType",
                "owner_ids": "[]string",
                "account_number": "string",
                "nick": "string",
                "balance": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "holder_name": "string",
                "bank_code": "BankCode",
                "total_amount_credited": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "total_amount_debited": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "credit_transaction_count": "int32",
                "debit_transaction_count": "int32",
                "holder_address": "string",
                "account_metadata": [
                  {
                    "address_name": "string",
                    "receiver_name": "string",
                    "address": "string",
                    "postal_code": "string",
                    "phone": "string",
                    "country": "string",
                    "address_visit_count": "int32",
                    "address_visit_dates": "[]string",
                    "address_latitude": "string",
                    "address_longitude": "string",
                    
                    "gcash_customer": {
                      "first_name": "string",
                      "last_name": "string",
                      "nick_name": "string",
                      "birth_date": "string",
                      "birth_place": "string",
                      "country": "string",
                      "province": "string",
                      "city": "string",
                      "nationality": "string",
                      "email": "string",
                      "current_address": {
                        "city": "string",
                        "city_id": "string",
                        "country": "string",
                        "country_id": "string",
                        "province": "string",
                        "province_id": "string"
                      },
                      "parent_address": {
                        "city": "string",
                        "city_id": "string",
                        "country": "string",
                        "country_id": "string",
                        "province": "string",
                        "province_id": "string"
                      },
                      "source_of_funds": "[]string",
                      "work_nature": "string",
                      "name_of_company_business": "string",
                      "crn_number": "string",
                      "nogovernment_id_reason": "string",
                      "application_status": "string"
                    }
                  }
                ],
                "account_pocket_name": "string",
                "merchant_name": "string"
              },
              "fields": {
                "name": "string",
                "memo": "string",
                "account_no": "string",
                "company": "string"
              },
              "balance": {
                "cur": "CurrencyISO4217",
                "num": "string",
                "decimal": {
                  "places": "int32",
                  "num": "string"
                }
              },
              "merchant_type": "[]string",
              "account_transaction_hash": "string",
              "local_time": "string",
              "confidence": "string",
              "metadata": {
                "invoice": "string",
                "total_order_price": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "products": [
                  {
                    "name": "string",
                    "price": {
                      "cur": "CurrencyISO4217",
                      "num": "string",
                      "decimal": {
                        "places": "int32",
                        "num": "string"
                      }
                    },
                    "quantity": "int32",
                    "total_sub_price": {
                      "cur": "CurrencyISO4217",
                      "num": "string",
                      "decimal": {
                        "places": "int32",
                        "num": "string"
                      }
                    },
                    "merchant": "string",
                    "Category": "string",
                    "id": "int64"
                  }
                ],
                "order_id": "string",
                "orders": [
                  {
                    "name": "string",
                    "price": {
                      "cur": "CurrencyISO4217",
                      "num": "string",
                      "decimal": {
                        "places": "int32",
                        "num": "string"
                      }
                    },
                    "quantity": "int32",
                    "total_sub_price": {
                      "cur": "CurrencyISO4217",
                      "num": "string",
                      "decimal": {
                        "places": "int32",
                        "num": "string"
                      }
                    },
                    "merchant": "string",
                    "category": "string"
                  }
                ],
                "origin": {
                  "formatted_address": "string",
                  "visit_count": "int32",
                  "visit_dates": "[]string",
                  "latitude": "string",
                  "longitude": "string",
                  "label": "string",
                  "address_id": "string",
                  "place_id": "string",
                  "address_info": "string",
                  "landmark": "string",
                  "created_at": {
                    "seconds": "int64",
                    "nanos": "int32"
                  },
                  "types": "[]string",
                  "post_code": "string",
                  "partial_match": "bool"
                },
                "destination": {
                  "formatted_address": "string",
                  "visit_count": "int32",
                  "visit_dates": "[]string",
                  "latitude": "string",
                  "longitude": "string",
                  "label": "string",
                  "address_id": "string",
                  "place_id": "string",
                  "address_info": "string",
                  "landmark": "string",
                  "created_at": {
                    "seconds": "int64",
                    "nanos": "int32"
                  },
                  "types": "[]string",
                  "post_code": "string",
                  "partial_match": "bool"
                },
                "service_type": "string",
                "payment_methods": "[]string",
                "orderStatus": "int32"
              },
              "error": "string"
            }
          ],
          "account_pdfs": "bytes",
          "loans": [
            {
              "loan_id": "string",
              "loan_number": "string",
              "loan_type": "string",
              "term_of_loan": "string",
              "open_date": {
                "seconds": "int64",
                "nanos": "int32"
              },
              "due_date": {
                "seconds": "int64",
                "nanos": "int32"
              },
              "next_rate_change_date": {
                "seconds": "int64",
                "nanos": "int32"
              },
              "interest": {
                "type": "InterestType",
                "rate": "string"
              },
              "original_principal_amount": {
                "cur": "CurrencyISO4217",
                "num": "string",
                "decimal": {
                  "places": "int32",
                  "num": "string"
                }
              },
              "outstanding_principal_amount": {
                "cur": "CurrencyISO4217",
                "num": "string",
                "decimal": {
                  "places": "int32",
                  "num": "string"
                }
              },
              "unpaid_Instalment": {
                "date": {
                  "seconds": "int64",
                  "nanos": "int32"
                },
                "amount": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                }
              },
              "remaining_term": "string",
              "instalments": [
                {
                  "instalment_id": "string",
                  "date": {
                    "seconds": "int64",
                    "nanos": "int32"
                  },
                  "payment_date": {
                    "seconds": "int64",
                    "nanos": "int32"
                  },
                  "total_paid_amount": {
                    "cur": "CurrencyISO4217",
                    "num": "string",
                    "decimal": {
                      "places": "int32",
                      "num": "string"
                    }
                  },
                  "principal_amount": {
                    "cur": "CurrencyISO4217",
                    "num": "string",
                    "decimal": {
                      "places": "int32",
                      "num": "string"
                    }
                  },
                  "interest_amount": {
                    "cur": "CurrencyISO4217",
                    "num": "string",
                    "decimal": {
                      "places": "int32",
                      "num": "string"
                    }
                  },
                  "outstanding_principal_amount": {
                    "cur": "CurrencyISO4217",
                    "num": "string",
                    "decimal": {
                      "places": "int32",
                      "num": "string"
                    }
                  }
                }
              ]
            }
          ]
        }
      ],
      "error": "string",
      "request": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "create": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "external_id": "string",
      "channel": "string",
      "country": "string",
      "is_idp": "bool",
      "sub_status": "StatementSubStatus",
      "update": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "is_notification_success": "bool",
      "site_response": "string",
      "challenge": {
        "type": "ChallengeType",
        "data": "bytes"
      },
      "shortcode": "string",
      "user_consent": "bool",
      "org_id": "string",
      "income": {
        "overview": {
          "count_of_days": "int32",
          "count_of_whole_months": "int32",
          "months_with_income": "int32",
          "confidence": "string",
          "count_of_months": "int32",
          "persona": "string",
          "income": {
            "months_with_income": "string",
            "total_amount": {
              "cur": "CurrencyISO4217",
              "num": "string",
              "decimal": {
                "places": "int32",
                "num": "string"
              }
            },
            "count": "int32",
            "confidence": "string",
            "monthly": {
              "average_count": "int32",
              "average_amount": {
                "cur": "CurrencyISO4217",
                "num": "string",
                "decimal": {
                  "places": "int32",
                  "num": "string"
                }
              },
              "max_amount": {
                "cur": "CurrencyISO4217",
                "num": "string",
                "decimal": {
                  "places": "int32",
                  "num": "string"
                }
              },
              "min_amount": {
                "cur": "CurrencyISO4217",
                "num": "string",
                "decimal": {
                  "places": "int32",
                  "num": "string"
                }
              },
              "median_amount": {
                "cur": "CurrencyISO4217",
                "num": "string",
                "decimal": {
                  "places": "int32",
                  "num": "string"
                }
              }
            }
          },
          "non_income": {
            "overall_total_amount": {
              "cur": "CurrencyISO4217",
              "num": "string",
              "decimal": {
                "places": "int32",
                "num": "string"
              }
            },
            "overall_count": "int32"
          }
        },
        "details": [
          {
            "year": "string",
            "month": "string",
            "is_whole_month": "bool",
            "total_amount": {
              "cur": "CurrencyISO4217",
              "num": "string",
              "decimal": {
                "places": "int32",
                "num": "string"
              }
            },
            "income_count": "int32",
            "transactions": [
              {
                "date": {
                  "seconds": "int64",
                  "nanos": "int32"
                },
                "type": "string",
                "confidence": "string",
                "amount": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "descriptor": "string",
                "category": "string",
                "transaction_hash": "string",
                "transaction_id": "string"
              }
            ],
            "income": {
              "total_amount": {
                "cur": "CurrencyISO4217",
                "num": "string",
                "decimal": {
                  "places": "int32",
                  "num": "string"
                }
              },
              "count": "int32",
              "categories": "[]string",
              "categories_count": "int32",
              "transactions": [
                {
                  "date": {
                    "seconds": "int64",
                    "nanos": "int32"
                  },
                  "type": "string",
                  "confidence": "string",
                  "amount": {
                    "cur": "CurrencyISO4217",
                    "num": "string",
                    "decimal": {
                      "places": "int32",
                      "num": "string"
                    }
                  },
                  "descriptor": "string",
                  "category": "string",
                  "transaction_hash": "string",
                  "transaction_id": "string"
                }
              ]
            },
            "non_income": {
              "total_amount": {
                "cur": "CurrencyISO4217",
                "num": "string",
                "decimal": {
                  "places": "int32",
                  "num": "string"
                }
              },
              "count": "int32",
              "categories": "[]string",
              "categories_count": "int32",
              "transactions": [
                {
                  "date": {
                    "seconds": "int64",
                    "nanos": "int32"
                  },
                  "type": "string",
                  "confidence": "string",
                  "amount": {
                    "cur": "CurrencyISO4217",
                    "num": "string",
                    "decimal": {
                      "places": "int32",
                      "num": "string"
                    }
                  },
                  "descriptor": "string",
                  "category": "string",
                  "transaction_hash": "string",
                  "transaction_id": "string"
                }
              ]
            }
          }
        ],
        "account": [
          {
            "account_number": "string",
            "nick_name": "string",
            "balance": {
              "cur": "CurrencyISO4217",
              "num": "string",
              "decimal": {
                "places": "int32",
                "num": "string"
              }
            },
            "holder_name": "string",
            "holder_address": "string"
          }
        ],
        "bank_code": "BankCode",
        "created_at": {
          "seconds": "int64",
          "nanos": "int32"
        },
        "statement_id": "string",
        "income_id": "string",
        "error": "string",
        "status": "IncomeStatus"
      },
      "bank_type": "string",
      "code": "int32",
      "message": "string",
      "details": [
        {
          "status_code": "string",
          "status_desc": "string"
        }
      ],
      "status_response": {
        "status_code": "string",
        "status_desc": "string"
      },
      "local_time": {
        "start_date": "string",
        "end_date": "string",
        "create": "string",
        "update": "string"
      },
      "risk_insight": "bool",
      "account_link_id": "string",
      "reconciliation_id": "string",
      "custom_shortcode": "string",
      "file_id": "string",
      "is_static_link": "bool",
      "": "map[string]bytes"
    }
  ],
  "next_page_token": "string",
  "message": "string",
  "total_count": "int32",
  "previous_page_token": "string"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Retrieve email notifications

Retrieves the email notifications

curl -X GET \
	https://statement.sandbox.bnk.to/v1/notification/email \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://statement.sandbox.bnk.to/v1/notification/email

Responses

Response body

Name Type Description
email_notifications []EmailNotification EmailNotifications is a list of the email notification records.
Objects
EmailNotification
Name Type Description
id string ID contains the unique identifier of the notification.
description string Description for this notification.
status NotificationStatus Status is the state status of the emails
emails []string Emails are emails list used to send email CSV of the retrieved statement
Enums
NotificationStatus
Value Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED

Example:

{
  "email_notifications": [
    {
      "id": "string",
      "description": "string",
      "status": "NotificationStatus",
      "emails": "[]string"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Retrieve notifications

Retrieves the notifications

curl -X GET \
	https://statement.sandbox.bnk.to/v1/notification \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://statement.sandbox.bnk.to/v1/notification

Responses

Response body

Name Type Description
notifications []Notification Notifications is a list of the notification records.
Objects
Notification
Name Type Description
id string ID contains the unique identifier of the notification.
description string Description for this notification.
url string URL contains the actual notification value.
status NotificationStatus Status is the state of this notification - whether it is still active or not.
lastrun string Lastrun holds the result of last notification status
statement_events []StatementEvent StatementEvents are statement retrieval states which will be the basis when posting notification.
balance_events []BalanceEvent BalanceEvents are balance retrieval states which will be the basis when posting notification.
map[string]string Headers consist of list of key/value that need to be added for the notification request
Enums
NotificationStatus
Value Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED
StatementEvent

StatementEvent are the possible events during the statement retrieval flow.

Value Description
ALL_EVENT
RECORDS_AVAILABLE_EVENT
COMPLETED_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT
INCOME_AVAILABLE_EVENT
BalanceEvent

BalanceEvent are the possible events during the balance retrieval flow.

Value Description
ALL_EVENT
IN_PROGRESS_EVENT
SUCCESS_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT

Example:

{
  "notifications": [
    {
      "id": "string",
      "description": "string",
      "url": "string",
      "status": "NotificationStatus",
      "lastrun": "string",
      "statement_events": "[]StatementEvent",
      "balance_events": "[]BalanceEvent",
      "": "map[string]string"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Send a statement retrieval request

Initiates a statement retrieval request.

curl -X POST \
	https://statement.sandbox.bnk.to/v1/statement-retrieval \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"bank_code": "DUMMY_BANK_PERSONAL",
		"credential": {
			"identifier": "user+1@domain.com"
		}
	}'

HTTP Request

POST https://statement.sandbox.bnk.to/v1/statement-retrieval

Body Parameters

Name Type Description
bank_code BankCode BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request
credential Credential Credential is the user internet banking account credentials or StatementService token id.
period_days int32 PeriodDays is the filter to search transactions that occurred over a given period. note: the behaviour of the search is depends upon each bank site.
start_date string StartDate is the start date of the statement request Date/Time ranges should follow the - YYYY-MM-DD ( 2000-12-21 ) - YYYY-MM-DDTHH:MM:SS ( 2000-12-21 12:00:00 ) if using this format, the timezone should be supplied.
end_date string EndDate is the end date of the statement request Date/Time ranges should follow the - YYYY-MM-DD ( 2000-12-21 ) - YYYY-MM-DDTHH:MM:SS ( 2000-12-21 12:00:00 ) if using this format, the timezone should be supplied.
account_number string AccountNumber is the bank account number
api_credential APICredential APICredential are the credentials to access the bank API
external_id string ExternalID is an optional param. It’s a unique value provided by a 3rd party platform, which enables Brankas to associate it with statement retrieval requests.
channel string Channel is an optional param. The parameter value identifies the Channel via API call is initiated. Possible Values: WEB,MOBILE
org_id string OrgID is an optional param. It contains the unique organization identifier.
client_key_id string ClientKeyId is an identifier that specifies the respective key that need to be used in order to decrypt the credentials. The key must’ve been generated/uploaded already in order to know what the key identifier is. If the key is empty, that denotes the client credentials are in plain text if the key_id has a value, that denotes the client credentials are encrypted, and that will be decrypted before using the same.
remember_me bool RememberMe is the indicator to save credential for the next retrieval process
link_id string LinkId denotes an unique identifier reference the bank and user credentials that was already linked using remember_me feature, by providing valid link_id the system uses the credentials and bank which was linked earlier.
risk_insight bool RiskInsight is a flag that indicates if risk insight is included in a statement.
include_balance bool IncludeBalance is the indicator to include saving the balance details
timezone Timezone Timezone allows the dates to be in different timezone. required if start/end date want in specific timestamp.
org_id_override string OrgIDOverride is used to override the org id upon statement retrieval request this will be used for reconciliation that use admin token and need to override the org id based on the customer org id can only be used with admin token
reconciliation_id string ReconciliationID is a unique parameter to indicate what this retrieval belong to particular reconciliation id can only be used with admin token
parent_statement_id string ParentStatementID is a parameter to indicate what this retrieval belong to particular statement id used for reconciliation
is_recon bool IsRecon is parameter that can be used to indicate that this is reconciliation request
pdf_upload bool PDFUpload used to identify if client wants to enable PDF parser feature or not
account_verification bool AccountVerification indicates if its account details request only
map[string]string AdditionalFields are list of key value pair which is optional. This can be used to pass bank specific fields that differs from bank to bank
Objects
Credential
Name Type Description
credential_type CredentialType CredentialType is the type of the credential the identifier matches, e.g email
identifier string Identifier is the unique identifier for the credential (ie, a phone number, email, token, etc).
secret string Secret is the secret to exchange for validating the credential. If type is TOKEN, this can be empty
corporate_code string CorporateCode is the code that the corporate own to access their corporate account
APICredential
Name Type Description
corporate_id string CorporateID is the banks unique id for the organization. if the bank provides a partner_id, then it should be used instead.
identifier string Identifier is the unique identifier for the credential
secret string Secret is the secret for the credential
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
GCASH_PERSONAL code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
KOMO_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Komo
VCB_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Vietcombank
MAYA_PERSONAL Bank code to retrieve retail online payment account transaction data for Pay Maya
Timezone

Timezone is the timezone for different countries.

Value Description
UNKNOWN_TIMEZONE
ID_WESTERN
ID_CENTRAL
ID_EASTERN
PH_TZ
TH_TZ
UTC
CredentialType

CredentialType is the credential type.

Value Description
EMAIL
Type_MSISDN
TOKEN
CLIENT_CREDENTIAL
EMPTY
PHONE_NUMBER
MAGIC_LINK
OTP

Responses

Response body

Name Type Description
statement_id string StatementId is the unique system generated identifier assigned to this specific statement retrieval request. Once a statement has been retrieved and stored, it can then be queried later on from storage by using this as the identifier
status InitialStatementStatus Status is the current retrieval status
site_response string SiteResponse is any relevant text returned by the target bank’s online banking portal as part of the statement retrieval request
challenge Challenge Challenge is an optional challange information from the bank website to be used for next 2FA request.
link_id string LinkId denotes an unique identifier reference the bank and user credentials that was already linked using remember_me feature, by providing valid link_id the system uses the credentials and bank which was linked earlier.
Objects
Challenge
Name Type Description
type ChallengeType
data bytes
Enums
InitialStatementStatus
Value Description
UNKNOWN_InitialStatementStatus Unknown statement retireval status
RECEIVED The statement request processing is complete.
PENDING The statement request is currently being processed / retrieved
TFA_AWAIT Awaiting TFA authentication to gain access to the user’s online banking account
LOGIN_ERROR An error occurred while attempting to log into the user’s online banking account as part of the statement retrieval process
INITIATED The statement request is initiated for retrieval via IDP flow
ERROR An error occurred while attempting to retrieve statement
ChallengeType

ChallengeType for captcha or OTP challenge

Value Description
TEXT TEXT are challenges that are generally represented as strings.
IMAGE IMAGE are image-based challenges, for example a captcha image.
IN_APP IN_APP are challenges that happens offline and asynchronously outside our control for example, approvals from a user’s mobile device.
SMS SMS are SMS-based challenge codes.
MGENCODE MGENCODE or Mobile Generated Code, are usually challenge codes generated by bank applications.
HYBRID HYBRID are bank-specific challenge types
PIN PIN are mostly static pin codes from banks, eg Metrobank’s passcode.
USER_ACTION USER_ACTION require some actions from user, but doesn’t need any information back from user. (ie. user need to click a link sent by sms, but after that we can continue automatically in our scraper) Bankworker will continue automatically without waiting for TFA call.
MULTIPLE_TFA Multiple OTPs needed at the same time
EMAIL_OTP EMAIL are challenges that will send OTP to user email.

Example:

{
  "site_response": "Your request is currently being processed",
  "statement_id": "123_statement_id",
  "status": "PENDING"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Send a statement list request

Retrieve the statements list request.

curl -X GET \
	https://statement.sandbox.bnk.to/v1/statements \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://statement.sandbox.bnk.to/v1/statements

Responses

Response body

Name Type Description
statements []Statement Statements are the statements that match the filters of a request.
next_page_token string NextPageToken represents the pagination token to retrieve the next page of results. If the value is “”, it means no further results for the request.
message string Message is any message from the server that are not treated as an error.
total_count int32 TotalCount of the statements matched by the query filters
previous_page_token string PreviousPageToken represents the pagination token to retrieve the previous page of results. If the value is “”, it means no further results for the request.
Objects
Statement
Name Type Description
status StatementStatus Status is the current status of the statement retrieval request
statement_id string StatementID is the unique system generated identifier assigned to this specific statement retrieval request
bank_code BankCode BankCode is the internal code used by the service to target a specific bank for the statement retrieval request.
start_date Timestamp StartDate reflects the timestamp / date of the earliest date up to which the bank provides recorded transaction data, relative to the current date. This differs from bank to bank and can range from 30 to 90 days worth of transaction records from the current date.
end_date Timestamp EndDate reflects the timestamp / date of when the statement retrieval request was initiated
account_statements []AccountStatement AccountStatements is the full list of transactions captured by the statement retrieval request
error string Error message in the case the statement retrieval operation was unsuccessful
request Timestamp Create is the request timestamp.
create Timestamp Create is the creation timestamp.
external_id string ExternalID represent an id that is passed by the api consumer to track the request
channel string Channel represent source channel whether a statement request is initiated from
country string Country is the country code (ID, PH, TH)
is_idp bool IsIDP denotes that the request processed through PIDP
sub_status StatementSubStatus StatementSubStatus denotes the granular status
update Timestamp Update is the updation timestamp.
is_notification_success bool IsNotificationSuccess denotes whether the notification posted is successful or not
site_response string SiteResponse is an optional text response from the bank website.
challenge Challenge Challenge is an optional challange information from the bank website to be used for next 2FA request.
shortcode string shortcode represent a staticlink code to indicate the statement request initiated via static link
user_consent bool UserConsent denotes whether end-user agreed or gave consent for performing statement retrieval
org_id string OrgID is the unique organization identifier.
income Income Income details related to the statement transactions.
bank_type string BankType is the type of the bank whether personal or corporate
code int32 Code is status error code if statement not found
message string Message is error message if statement not found
details []ErrorDetail Details is detailed message if statement not found
status_response StatusResponse StatusResponse contains the code and description about the status for this transaction.
local_time LocalTime LocalTime contains the local time of the dates based on timezone request.
risk_insight bool RiskInsight is a flag that indicates if risk insight is included in a statement.
account_link_id string AccountLinkID is linked credentials used during retrieval.
reconciliation_id string ReconciliationID is a unique parameter to indicate what this retrieval belong to particular reconciliation id
custom_shortcode string CustomShortCode represent a staticlink custom code to indicate the statement request initiated via static link
file_id string FileID is a unique parameter to indicate which file it belongs
is_static_link bool IsStaticLink indicates if the request coming from static link or not
map[string]bytes AccountPdfs is the list of account statement pdf files indexed by account number.
Timestamp
Name Type Description
seconds int64
nanos int32
AccountStatement
Name Type Description
account Account Account is the bank account information.
transactions []Transaction Transactions is the list of transaction which occured over the period_days.
account_pdfs bytes AccountPdfs is the list of account statement pdf files.
loans []Loan Loans is the list of loans of the account
Challenge
Name Type Description
type ChallengeType
data bytes
Income
Name Type Description
overview Overview Overview of income information in a very high level
details []Details Details of income information in very detailed level
account []Account Account is the bank account information.
bank_code BankCode BankCode is the Brankas bank code for the bank that holds the account.
created_at Timestamp CreatedAt is the time when income prediction created in the system
statement_id string StatementID of the income model
income_id string IncomeID is the unique system generated identifier assigned to this specific income request
error string Error is message in the case there was error during retrieval or in request
status IncomeStatus Status is the status of the income
ErrorDetail
Name Type Description
status_code string status_code contains the status code of the request.
status_desc string status_desc contains the description of the given status code of the request.
StatusResponse
Name Type Description
status_code string status_code contains the status code of the request.
status_desc string status_desc contains the description of the given status code of the request.
LocalTime
Name Type Description
start_date string StartDate reflects the timestamp / date of the earliest date up to which the bank provides recorded transaction data, relative to the current date. This differs from bank to bank and can range from 30 to 90 days worth of transaction records from the current date.
end_date string EndDate reflects the timestamp / date of when the statement retrieval request was initiated
create string Create is the creation timestamp.
update string Update is the updation timestamp.
Account
Name Type Description
account_id string AccountID is the bank account firestore document identifier.
type AccountType Type of the relevant bank account. It is an enum indicating whether it is a Savings or Checking account
owner_ids []string OwnerIds is the list of bank credential identifiers that own and have access to this account. The first in the list is the primary owner, and the list cannot be empty.
account_number string AccountNumber is the identifying account number of the bank account in question
nick string Nick is an optional nickname for the account.
balance Amount Balance is the current balance of the relevant bank account as of the current statement retrieval
holder_name string HolderName is the full name of the account holder. The format might change between banks.
bank_code BankCode BankCode is the Brankas bank code for the bank that holds the account.
total_amount_credited Amount TotalAmountCredited is the sum of amount credited with all transactions
total_amount_debited Amount TotalAmountDebited is the sum of amount debited with all transactions
credit_transaction_count int32 CreditTransactionCount denotes number of credit transaction
debit_transaction_count int32 DebitTransactionCount denotes number of debit transaction
holder_address string HolderAddress is the full address of the account holder.
account_metadata []AccountMetadata AccountMetadata is metadata from e-commerce data
account_pocket_name string AccountPocketName is the name of the account or pocket.
merchant_name string MerchantName is the full name of the account holder. The format might change between banks.
Transaction
Name Type Description
transaction_id string TransactionID is the transaction firestore document identifier.
date Timestamp Date is the transaction date in UTC
type TransactionType Type is the transaction’s type, whether it was a CREDIT, DEBIT.
status TransactionStatus Status is the transaction status marked by the bank as pending
amount Amount Amount is the financial value of the transaction
descriptor string Descriptor is the bank statement descriptor attached to the transaction
match_id string MatchID is a reference to related match data.
from Account From is the transaction source account.
to Account To is the transaction destination account.
fields Transaction_Fields
balance Amount Balance is the running balance of the transaction
merchant_type []string MerchantType is the category of the transaction
account_transaction_hash string AccountTransactionHash is the hash for account transaction (account number, date, amount, type,bank code,descriptor)
local_time string LocalTime contains the local time of the date based on timezone request.
confidence string Confidence is a percentage of expense confidence
metadata Metadata Metadata contains additional information of product
error string Error is the message to show in the case when transaction doesn’t exist
Loan
Name Type Description
loan_id string LoanID is the unique system generated identifier assigned to loan
loan_number string LoanNumber is the loan identifier.
loan_type string LoanType is the type of loan.
term_of_loan string TermOfLoan is the term of loan stated in the bank.
open_date Timestamp OpenDate is the loan start date.
due_date Timestamp DueDate is the tloan due date.
next_rate_change_date Timestamp NextRateChangeDate is the next date for interest change.
interest Interest Interest hold information of loan’s interest.
original_principal_amount Amount OriginalPrincipalAmount hold loan original amount.
outstanding_principal_amount Amount OutstandingPrincipalAmount hold outstanding loan amount.
unpaid_Instalment UnpaidInstalment UnpaidInstalment hold the information of the next instalment.
remaining_term string RemainingTerm is the remaining month of the loan due date.
instalments []Instalment Instalment hold the information of loan payment.
Overview
Name Type Description
count_of_days int32 count of days from start date to end date of the statement data
count_of_whole_months int32 count of whole months of the statement data
months_with_income int32 count of months with at least 1 transaction considered as an income
confidence string average confidence score from all transactions with categories considered as income available in the statement
count_of_months int32 count of months of the statement data
persona string profiles of the end user based on their income transactions and pattern
income IncomeOverview Income overview
non_income NonIncomeOverview NonIncome overview
Details
Name Type Description
year string Year of the income details
month string Month of the income details
is_whole_month bool indicates whether the assessment period covers the whole month or not (true/false)
total_amount Amount total amount of all transactions with categories considered as income in the respective month
income_count int32 count of all transactions with categories considered as non income in the respective month
transactions []Transaction list of transactions with categories considered as income in the respective month
income IncomeDetails Income Details
non_income NonIncomeDetails NonIncome Details
Account
Name Type Description
account_number string AccountNumber is the identifying account number of the bank account in question
nick_name string Nick is an optional nickname for the account.
balance Amount Balance is the current balance of the relevant bank account as of the current statement retrieval
holder_name string HolderName is the full name of the account holder. The format might change between banks.
holder_address string HolderAddress is the full address of the account holder.
Amount
Name Type Description
cur CurrencyISO4217 Cur is the currency of the amount using its ISO 4217 code.
num string Num is the actual numeric value of the amount. Note: When there are separators in the currency, we store the decimals as digits in the string. So, PHP 100.00 would be represented as “amount.cur”: “PHP” and “amount.num”: “10000”.
decimal Decimal Decimal is the actual amount value with decimal points
AccountMetadata
Name Type Description
address_name string AddressName is the address identifier
receiver_name string ReceiverName is the name of the receiver for this particular address
address string Address is address
postal_code string PostalCode is postal code for this address
phone string Phone number of the receiver
country string Country is country for this address
address_visit_count int32 AddressVisitCount is how many times address visited
address_visit_dates []string AddressVisitCount is times address visited
address_latitude string AddressLatitude is geometry latitude for address
address_longitude string AddressLongitude is geometry longitude for address
gcash_customer GCashCustomer GCashCustomer is metadata populated from gcash platform.
Transaction_Fields
Name Type Description
name string Name is the Name of the other party.
memo string Memo is the user input on a memo line.
account_no string AccountNo is the other party’s acount number.
company string Company is the virtual account company name.
Metadata
Name Type Description
invoice string Invoice is the invoice number of the transaction
total_order_price Amount TotalOrderPrice is the total price of the transaction
products []ProductMetadata Products contain list of products they bought
order_id string OrderID is the invoice number of the transaction
orders []Order Orders contain list of products they bought
origin Location Origin is the origin location of the Transaction
destination Location Destination is the destination location of the Transaction
service_type string ServiceType is the type of the transaction
payment_methods []string Payment methods are the methods that use in the transaction
orderStatus int32 OrderStatus is integer value of the status transaction
Interest
Name Type Description
type InterestType Type is the interest rate type.
rate string Rate is the numeric value.
UnpaidInstalment
Name Type Description
date Timestamp Date is the next instalment date.
amount Amount Amount is the next instalment amount.
Instalment
Name Type Description
instalment_id string InstalmentID is the unique system generated identifier assigned to loan instalment
date Timestamp Date is the transaction date.
payment_date Timestamp PaymentDate is the transaction date.
total_paid_amount Amount TotalPaidAmount is the total transaction amount.
principal_amount Amount PrincipalAmount is the principal instalment amount.
interest_amount Amount InterestAmount is the interest instalment amount.
outstanding_principal_amount Amount OutstandingPrincipalAmount is the outstanding principal transaction amount.
IncomeOverview
Name Type Description
months_with_income string count of months with at least 1 transaction considered as an income
total_amount Amount total amount of all transactions with categories considered as income available in the statement
count int32 count of all transactions with categories considered as income available in the statement
confidence string average confidence score from all transactions with categories considered as income available in the statement
monthly Monthly Monthly overview of the income
NonIncomeOverview
Name Type Description
overall_total_amount Amount total amount of all transactions with categories considered as nonincome available in the statement
overall_count int32 count of all transactions with categories considered as non income available in the statement
Amount
Name Type Description
cur CurrencyISO4217 currency
num string amount of the transaction in cents
decimal Decimal Decimal is the actual amount value with decimal points
Transaction
Name Type Description
date Timestamp Date is the transaction date
type string type of the transaction (Credit/debit)
confidence string Likelihood of the transaction to be an income (0-100%)
amount Amount Amount denotes the transaction amount
descriptor string description of the transactions
category string predicted category of the transaction
transaction_hash string TransactionHash contains account transaction hash value
transaction_id string TransactionID contains transaction id
IncomeDetails
Name Type Description
total_amount Amount total amount of all transactions with categories considered as income in the respective month
count int32 count of all transactions with categories considered as income in the respective month
categories []string list of income categories from transactions in the related month
categories_count int32 count of income categories from transactions in the related month
transactions []Transaction list of transactions with categories considered as income in the respective month
NonIncomeDetails
Name Type Description
total_amount Amount total amount of all transactions with categories considered as nonincome in the respective month
count int32 count of all transactions with categories considered as income in the respective month
categories []string list of nonincome categories from transactions in the related month
categories_count int32 count of nonincome categories from transactions in the related month
transactions []Transaction list of transactions with categories considered as nonincome in the respective month
Decimal
Name Type Description
places int32 Places denotes the number of decimal points included with the amount
num string Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
GCashCustomer
Name Type Description
first_name string FirstName is the first name of the customer.
last_name string LastName is the last name of the customer.
nick_name string NickName is the nick name of the customer.
birth_date string BirthDate is the birth date of the customer in YYYY-MM-DD format.
birth_place string BirthPlace is the birth place of the customer.
country string Country is the country of the customer.
province string Province is the province of the customer.
city string City is the city of the customer.
nationality string Nationality is nationality of the customer.
email string Email is the e-mail of the customer.
current_address GCashAddress CurrentAddress is the current address of the customer.
parent_address GCashAddress ParentAddress is the customer parent address of the customer.
source_of_funds []string SourceOfFunds is the source of funds of the customer.
work_nature string WorkNature is the work nature of the customer.
name_of_company_business string NameOfCompanyBusiness is the current occupation of the customer.
crn_number string CRNNumber is crn number of the customer.
nogovernment_id_reason string NoGovernmentIDReason is the reason why the customer does not have a government id.
application_status string ApplicationStatus is the current application status of the customer.
ProductMetadata
Name Type Description
name string Name is the name of the product
price Amount Price is the price of the product
quantity int32 Quantity is quantity of the product customer bought
total_sub_price Amount TotalSubPrice is the sub price of the product
merchant string Merchant is the merchant who sell the product
Category string Category is the purchase category of the product
id int64 ID is the unique identifier for the product that we get from bank/ecommerce
Order
Name Type Description
name string Name is the name of the product
price Amount Price is the price of the product
quantity int32 Quantity is quantity of the product customer bought
total_sub_price Amount TotalSubPrice is the sub price of the product
merchant string Merchant is the merchant who sell the product
category string Category is the purchase category of the product
Location
Name Type Description
formatted_address string FormattedAddress is formatted address of this location.
visit_count int32 VisitCount is how many times locatiom visited.
visit_dates []string VisitCount is times location visited.
latitude string Latitude is geometry latitude for location.
longitude string Longitude is geometry longitude for location.
label string Label is the label of location.
address_id string AddressID is bank or platform identifier for respective location. Data available from Gojek API.
place_id string PlaceID is bank or platform identifer for respective location.
address_info string AddressInfo is the address information details of location.
landmark string Landmark is the landmark of location.
created_at Timestamp CreatedAt is the creation date of location on bank or platform.
types []string Types is the type of location.
post_code string PostCode is post code of the address
partial_match bool PartialMatch indicates if the result from geocode is partial match
Monthly
Name Type Description
average_count int32 monthly average count of all transactions with categories considered as income available in the statement
average_amount Amount monthly average amount of all transactions with categories considered as income available in the statement
max_amount Amount monthly max amount of all transactions with categories considered as income available in the statement
min_amount Amount monthly min amount of all transactions with categories considered as income available in the statement
median_amount Amount monthly median amount of all transactions with categories considered as income available in the statement
Decimal
Name Type Description
places int32 Places denotes the number of decimal points included with the amount
num string Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
AddressTag
Name Type Description
formatted_address string FormattedAddress is formatted address of the location.
latitude string Latitude is geometry latitude for location.
longitude string Longitude is geometry longitude for location.
rank int32 Rank is an identifier to determine whether the address is home or public place
post_code string PostCode is post code of the address
GCashAddress
Name Type Description
city string City is the city of the address.
city_id string CityID is the city id of the address.
country string Country is the country of the address.
country_id string CountryID is the country id of the address.
province string Province is the province of the address.
province_id string ProvinceID is the province id of the address.
Enums
StatementStatus
Value Description
UNKNOWN_StatementStatus Unknown statement status
Status_PENDING The requested statement retrieval is in progress.
FAILED The requested statement couldn’t be retrieved successfully.
COMPLETED The requested statement was successfully retrieved
NOTIFIED The request statement status was successfully notified
Status_RECEIVED The statement request processing is complete.
CANCELLED The statement request was cancelled
INACTIVATED The statement request inactivated upon waiting for user input
PURGED The statement data such as accounts and transactions are purged from brankas system
RECORDS_AVAILABLE Indicates atleast one or more transaction available for statement
INITIATED_Status The statement request is initiated for retrieval via IDP flow
NO_ACCOUNT The statement request was cancelled because of no account
RECONCILIATION_COMPLETED RECONCILIATION_COMPLETED indicates first reconciliation cycle has been successful
RECONCILIATION_NEW_TRANSACTION RECONCILIATION_NEW_TRANSACTION indicates there are new transactions merged
RECONCILIATION_DISABLED RECONCILIATION_DISABLED indicates that the reconciliation has been disabled
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
GCASH_PERSONAL code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
KOMO_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Komo
VCB_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Vietcombank
MAYA_PERSONAL Bank code to retrieve retail online payment account transaction data for Pay Maya
StatementSubStatus
Value Description
UNKNOWN_StatementSubStatus
SubStatus_INITIATED Initiatated a request for PIDP
SubStatus_LOGIN_ERROR Error while logging in to the user internet banking account.
SubStatus_AWAITING_LOGIN Login in progress.
SubStatus_AWAITING_TFA Awaiting TFA authentication to gain access to the user’s online banking account.
SubStatus_COMPLETED The requested statement was successfully retrieved
SubStatus_BLOCKED Blocked
SubStatus_INPROGRESS The requested statement retrieval request is in progress.
SubStatus_INVALID_TFA TFA provided by the user is not correct or expired.
SubStatus_NO_TFA_PROVIDED User didn’t provide a TFA for authentication with the bank.
SubStatus_SYSTEM_UNAVAILABLE System busy or unavailable to process the request
SubStatus_ERROR The requested statement couldn’t be retrieved successfully.
SubStatus_CANCELLED Cancelled
SubStatus_INACTIVATED Inactivated
SubStatus_PURGED Purged
SubStatus_RECORDS_AVAILABLE Indicates atleast one or more transaction available for statement
SubStatus_TFA_OPTIONAL Indicates multiple TFA option available to change
SubStatus_INCOME_AVAILABLE The income data available for the statement
SubStatus_PERMISSION_REQUIRED Permission required
SubStatus_OTP_EXPIRED OTP is expired
SubStatus_WRONG_PDF_FORMAT Given wrong pdf format
SubStatus_REFUSE_CONSENT Refuse waive consent
ChallengeType

ChallengeType for captcha or OTP challenge

Value Description
TEXT TEXT are challenges that are generally represented as strings.
IMAGE IMAGE are image-based challenges, for example a captcha image.
IN_APP IN_APP are challenges that happens offline and asynchronously outside our control for example, approvals from a user’s mobile device.
SMS SMS are SMS-based challenge codes.
MGENCODE MGENCODE or Mobile Generated Code, are usually challenge codes generated by bank applications.
HYBRID HYBRID are bank-specific challenge types
PIN PIN are mostly static pin codes from banks, eg Metrobank’s passcode.
USER_ACTION USER_ACTION require some actions from user, but doesn’t need any information back from user. (ie. user need to click a link sent by sms, but after that we can continue automatically in our scraper) Bankworker will continue automatically without waiting for TFA call.
MULTIPLE_TFA Multiple OTPs needed at the same time
EMAIL_OTP EMAIL are challenges that will send OTP to user email.
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
MAYA_PERSONAL Bank code to retrieve retail online payment account transaction data for Pay Maya
IncomeStatus
Value Description
UNKNOWN_IncomeStatus Unknown income status
COMPLETED The requested income was successfully retrieved
FAILED The requested income couldn’t be retrieved successfully.
AccountType

AccountType is the account type enum.

Value Description
UNKNOWN_AccountType Indicates that the bank account type is either undefined or neither a Checking on Saving account
CHECKING Indicates that the bank account is a Checking Account
SAVINGS Indicates that the bank account is a Savings Account
JOINT Indicates that the bank account is a Joint Account
PAYROLL Indicates that the bank account is a Payroll Account
CORPORATE_ACCOUNT Indicates that the bank account is a Corporate Account
INVESTMENT Indicates that the bank account is a Investment Account
CREDIT_CARD Indicates that the bank account is a Credit Card Account
TransactionType

TransactionType is the transaction type enum.

Value Description
UNKNOWN_TYPE Unknown transaction type
CREDIT Transactions that credit the user’s account
DEBIT Transactions that debit the user’s account
TransactionStatus

TransactionStatus is the transaction status enum.

Value Description
UNKNOWN_STATUS
SUCCESS
TRANSACTIONSTATUS_PENDING
CANCELED
NOT_PAID
READY_TO_SHIP
SENT
RETURNED
DELIVERY_FAILED
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW
InterestType
Value Description
UNKNOWN
PERCENTAGE
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW

Example:

{
  "statements": [
    {
      "account_statements": [
        {
          "account": {
            "account_number": "xxxxx1234",
            "balance": {
              "cur": "PHP",
              "num": "10000"
            },
            "holder_name": "TEST USER",
            "type": "SAVINGS"
          },
          "transactions": [
            {
              "amount": {
                "cur": "PHP",
                "num": "10000"
              },
              "date": "2020-10-21T04:50:35Z",
              "descriptor": "Payment to merchant X for product Y",
              "status": "Success",
              "type": "DEBIT"
            },
            {
              "amount": {
                "cur": "PHP",
                "num": "10000"
              },
              "date": "2020-10-21T04:50:35Z",
              "descriptor": "Payment to merchant X for product Y",
              "status": "Success",
              "type": "CREDIT"
            }
          ]
        }
      ],
      "bank_code": "DUMMY_BANK_PERSONAL",
      "end_date": "2019-01-21T04:50:35Z",
      "start_date": "2020-10-21T04:50:35Z",
      "statement_id": "123_statement_id",
      "status": "COMPLETED"
    },
    {
      "account_statements": [
        {
          "account": {
            "account_number": "xxxxx5678",
            "balance": {
              "cur": "PHP",
              "num": "10000"
            },
            "holder_name": "TEST USER 2",
            "type": "CHECKINGS"
          },
          "transactions": [
            {
              "amount": {
                "cur": "PHP",
                "num": "10000"
              },
              "date": "2020-10-21T04:50:35Z",
              "descriptor": "Payment to merchant X for product Y",
              "status": "Success",
              "type": "DEBIT"
            },
            {
              "amount": {
                "cur": "PHP",
                "num": "10000"
              },
              "date": "2020-10-21T04:50:35Z",
              "descriptor": "Payment to merchant X for product Y",
              "status": "Success",
              "type": "CREDIT"
            }
          ]
        }
      ],
      "bank_code": "DUMMY_BANK_PERSONAL",
      "end_date": "2019-01-21T04:50:35Z",
      "start_date": "2020-10-21T04:50:35Z",
      "statement_id": "456_statement_id",
      "status": "COMPLETED"
    },
    {
      "account_statements": [
        {
          "account": {
            "account_number": "1234567890",
            "balance": {
              "cur": "IDR",
              "decimal": {
                "num": "25400000.00",
                "places": 2
              },
              "num": "2540000000"
            },
            "credit_transaction_count": 7,
            "debit_transaction_count": 4,
            "holder_name": "TEST USER",
            "total_amount_credited": {
              "cur": "IDR",
              "decimal": {
                "num": "21500000.00",
                "places": 2
              },
              "num": "2150000000"
            },
            "total_amount_debited": {
              "cur": "IDR",
              "decimal": {
                "num": "1736500.00",
                "places": 2
              },
              "num": "173650000"
            },
            "type": "SAVINGS"
          },
          "transactions": [
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "130000.00",
                  "places": 2
                },
                "num": "13000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "5156500.00",
                  "places": 2
                },
                "num": "5156500.00"
              },
              "date": "2021-03-02T17:00:00Z",
              "descriptor": "TOP UP TRANSACTION A",
              "type": "DEBIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "65000.00",
                  "places": 2
                },
                "num": "6500000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "5221500.00",
                  "places": 2
                },
                "num": "522150000"
              },
              "date": "2021-03-08T17:00:00Z",
              "descriptor": "FUND IN INTRABANK TRANSFER SAMPLE 1",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "130000.00",
                  "places": 2
                },
                "num": "13000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "5351500.00",
                  "places": 2
                },
                "num": "535150000"
              },
              "date": "2021-03-21T17:00:00Z",
              "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 2",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "15351500.00",
                  "places": 2
                },
                "num": "1535150000"
              },
              "date": "2021-03-25T17:00:00Z",
              "descriptor": "COMPANY SALARY SAMPLE 1",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "100000.00",
                  "places": 2
                },
                "num": "10000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "15251500.00",
                  "places": 2
                },
                "num": "1525150000"
              },
              "date": "2021-04-02T17:00:00Z",
              "descriptor": "TRANSFER TO DESTINATION BANK A",
              "type": "DEBIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "6500.00",
                  "places": 2
                },
                "num": "650000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "15245000.00",
                  "places": 2
                },
                "num": "1524500000"
              },
              "date": "2021-04-02T17:00:00Z",
              "descriptor": "SWITCHING COST TRANSFER TO DESTINATION BANK A",
              "type": "DEBIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "80000.00",
                  "places": 2
                },
                "num": "8000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "15325000.00",
                  "places": 2
                },
                "num": "1532500000"
              },
              "date": "2021-04-06T17:00:00Z",
              "descriptor": "FUND IN INTRABANK TRANSFER SAMPLE 2",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "155000.00",
                  "places": 2
                },
                "num": "15500000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "15480000.00",
                  "places": 2
                },
                "num": "1548000000"
              },
              "date": "2021-04-12T17:00:00Z",
              "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 3",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "25480000.00",
                  "places": 2
                },
                "num": "2548000000"
              },
              "date": "2021-04-25T17:00:00Z",
              "descriptor": "COMPANY SALARY SAMPLE 2",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "70000.00",
                  "places": 2
                },
                "num": "7000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "25550000.00",
                  "places": 2
                },
                "num": "2555000000"
              },
              "date": "2021-05-12T17:00:00Z",
              "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 4",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "1500000.00",
                  "places": 2
                },
                "num": "150000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "25400000.00",
                  "places": 2
                },
                "num": "2540000000"
              },
              "date": "2021-05-13T17:00:00Z",
              "descriptor": "PAYMENT TO MERCHANT A",
              "type": "DEBIT"
            }
          ]
        }
      ],
      "bank_code": "BANK_ID_PERSONAL",
      "bank_type": "PERSONAL",
      "create": "2021-05-18T11:59:17Z",
      "end_date": "2021-05-18T11:59:31Z",
      "external_id": "test_income_external_id",
      "income": {
        "created_at": "2021-05-18T11:59:31Z",
        "details": [
          {
            "income": {
              "categories_count": 0,
              "count": 0,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "0",
                  "places": 2
                },
                "num": "0"
              }
            },
            "month": "2",
            "non_income": {
              "categories_count": 0,
              "count": 0,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "0",
                  "places": 2
                },
                "num": "0"
              }
            },
            "year": "2021"
          },
          {
            "income": {
              "categories": [
                "fundin_salary_paycheck"
              ],
              "categories_count": 1,
              "count": 1,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "transactions": [
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "10000000.00",
                      "places": 2
                    },
                    "num": "1000000000"
                  },
                  "category": "fundin_salary_paycheck",
                  "confidence": "97.30%",
                  "date": "2021-03-25T17:00:00Z",
                  "descriptor": "COMPANY SALARY SAMPLE 1",
                  "type": "CREDIT"
                }
              ]
            },
            "month": "3",
            "non_income": {
              "categories": [
                "fundin_receive_transfer"
              ],
              "categories_count": 1,
              "count": 2,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "195000.00",
                  "places": 2
                },
                "num": "19500000"
              },
              "transactions": [
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "65000.00",
                      "places": 2
                    },
                    "num": "6500000"
                  },
                  "category": "fundin_receive_transfer",
                  "confidence": "18.0%",
                  "date": "2021-03-08T17:00:00Z",
                  "descriptor": "FUND IN INTRABANK TRANSFER SAMPLE 1",
                  "type": "CREDIT"
                },
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "130000.00",
                      "places": 2
                    },
                    "num": "13000000"
                  },
                  "category": "fundin_receive_transfer",
                  "confidence": "12.48%",
                  "date": "2021-03-21T17:00:00Z",
                  "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 2",
                  "type": "CREDIT"
                }
              ]
            },
            "year": "2021"
          },
          {
            "income": {
              "categories": [
                "fundin_salary_paycheck"
              ],
              "categories_count": 1,
              "count": 1,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "transactions": [
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "10000000.00",
                      "places": 2
                    },
                    "num": "1000000000"
                  },
                  "category": "fundin_salary_paycheck",
                  "confidence": "97.30%",
                  "date": "2021-04-25T17:00:00Z",
                  "descriptor": "COMPANY SALARY SAMPLE 2",
                  "type": "CREDIT"
                }
              ]
            },
            "month": "4",
            "non_income": {
              "categories": [
                "fundin_receive_transfer"
              ],
              "categories_count": 1,
              "count": 2,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "235000.00",
                  "places": 2
                },
                "num": "23500000"
              },
              "transactions": [
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "80000.00",
                      "places": 2
                    },
                    "num": "8000000"
                  },
                  "category": "fundin_receive_transfer",
                  "confidence": "18.0%",
                  "date": "2021-04-06T17:00:00Z",
                  "descriptor": "FUND IN INTRABANK TRANSFER SAMPLE 2",
                  "type": "CREDIT"
                },
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "155000.00",
                      "places": 2
                    },
                    "num": "15500000"
                  },
                  "category": "fundin_receive_transfer",
                  "confidence": "12.48%",
                  "date": "2021-04-12T17:00:00Z",
                  "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 3",
                  "type": "CREDIT"
                }
              ]
            },
            "year": "2021"
          },
          {
            "income": {
              "categories": [],
              "categories_count": 0,
              "count": 0,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "0",
                  "places": 2
                },
                "num": "0"
              },
              "transactions": []
            },
            "month": "5",
            "non_income": {
              "categories": [
                "fundin_receive_transfer"
              ],
              "categories_count": 1,
              "count": 1,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "70000.00",
                  "places": 2
                },
                "num": "7000000"
              },
              "transactions": [
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "70000.00",
                      "places": 2
                    },
                    "num": "7000000"
                  },
                  "category": "fundin_receive_transfer",
                  "confidence": "12.48%",
                  "date": "2021-05-12T17:00:00Z",
                  "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 4",
                  "type": "CREDIT"
                }
              ]
            },
            "year": "2021"
          }
        ],
        "overview": {
          "count_of_days": 90,
          "count_of_months": 4,
          "count_of_whole_months": 2,
          "income": {
            "confidence": "97.30%",
            "count": 2,
            "monthly": {
              "average_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "average_count": 1,
              "max_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "median_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "min_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              }
            },
            "months_with_income": "2",
            "total_amount": {
              "cur": "IDR",
              "decimal": {
                "num": "20000000.00",
                "places": 2
              },
              "num": "2000000000"
            }
          },
          "non_income": {
            "overall_count": 5,
            "overall_total_amount": {
              "cur": "IDR",
              "decimal": {
                "num": "500000.00",
                "places": 2
              },
              "num": "50000000"
            }
          },
          "persona": "Salaryman"
        },
        "statement_id": "7dec0e20-bc7d-484d-a80b-d55451bbcdb1"
      },
      "org_id": "3ba5d732-e899-11eb-89bf-f793e8100480",
      "start_date": "2021-02-22T11:59:31Z",
      "statement_id": "7dec0e20-bc7d-484d-a80b-d55451bbcdb1",
      "status": "COMPLETED",
      "status_response": {
        "status_code": "STTDXXX2000",
        "status_desc": "completed"
      },
      "sub_status": "SubStatus_INCOME_AVAILABLE",
      "update": "2021-05-18T11:59:31Z"
    }
  ]
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Send an email to BD / Sales team for whitelisted purposes

Send an email to BD / Sales team to inform them there is a customer who wants to get whitelisted to be able to see more expense / income data

curl -X POST \
	https://statement.sandbox.bnk.to/v1/whitelist-request \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"company_name": "string",
		"company_email": "string",
		"company_country": "CountryISO3166",
		"product": "string"
	}'

HTTP Request

POST https://statement.sandbox.bnk.to/v1/whitelist-request

Body Parameters

Name Type Description
company_name string CompanyName is use to describe the company name
company_email string CompanyEmail is use to provide the company email
company_country CountryISO3166 CompanyCountry is country where the company resides
product string Product is use to determine which product is customer interest in
Enums
CountryISO3166
Value Description
ID Indonesia
PH Philippines
TH Thailand
VN Vietnam
ALL_COUNTRY ALL_COUNTRY

Responses

Response body

Name Type Description

Example:

{}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Send TFA request

Send two factor authentication request.

curl -X POST \
	https://statement.sandbox.bnk.to/v1/tfa \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"purpose": "BankCredentialLogin",
		"purpose_id": "123_transfer_id",
		"token": "123456",
		"transfer_id": "string",
		"option": "OptionalChallengeType",
		"multiple": [
			{
				"type": "OptionalChallengeType",
				"code": "string"
			}
		],
		"credential": {
			"identifier": "string",
			"secret": "string"
		}
	}'

HTTP Request

POST https://statement.sandbox.bnk.to/v1/tfa

Body Parameters

Name Type Description
purpose TFAPurpose Purpose defines what this TFA code should be used for.
purpose_id string purpose_id is the identifier for the object that this TFA token will be used for. For example, if purpose==BankCredentialLogin, purpose_id will be a bankcredential_id.
token string Token is the actual TFA / OTP code string the end user needs to submit.
transfer_id string transfer_id is the identifier of the transfer transaction.
option OptionalChallengeType Option to change OTP generator, ex: SMS, MGENCODE
multiple []MultipleCode Multiple contains several tokens if multiple TFA code is needed.
credential TFACredential Credential is the user internet banking account credentials.
Objects
MultipleCode
Name Type Description
type OptionalChallengeType
code string
TFACredential
Name Type Description
identifier string Identifier is the unique identifier for the credential (ie, a phone number, email, token, etc).
secret string Secret is the secret to exchange for validating the credential.
Enums
TFAPurpose

TFAPurpose is the usage of the TFA code supplied in the TFAService request

Value Description
UnknownPurpose Unknown Purpose
BankCredentialLogin Used to login to a bank account
FundTransferAuthentication Used to perform login for fund transfer
ResendTwoFactorAuthentication Used to request resend TFA
BankCredentialLoginAndVerificationLink Used to request login otp and the verification link
LinkVerificationOtp Used to enter OTP for GCash Verify Link
FundTransferMpinAuthentication Used to perform GCash fund transfer by sending Mpin
OptionalChallengeType

OptionalChallengeType for change OTP generators

Value Description
OPTION_UNKNOWN default to unknown, when there is no option set
OPTION_SMS SMS are SMS-based challenge codes.
OPTION_MGENCODE MGENCODE or Mobile Generated Code, are usually challenge codes generated by bank applications.
OPTION_PIN

Responses

Response body

Name Type Description
status Status Status defines the result of the request, indicating whether or not the TFA token was successfully submitted to the relevant bank or if the operation resulted in an error.
auth_status AuthStatus AuthStatus defines the result of submitting the TFA code with the bank, indicating whether the challenge succeeded or failed.
status_msg string StatusMsg is the bank-specific response to a failed TFA challenge, qualifying the cause of the failure (such as an invalid or incomplete TFA code)
Enums
Status

Status is the possible statuses for a TFA operation

Value Description
UNKNOWN_Status Unknown operation occuring
TFA_ERROR Error during operation
TFA_SUCCESS Successful operation
PROCESSING Processing
AuthStatus

AuthStatus is the possible response status’ for a TFA operation

Value Description
UNKNOWN_AuthStatus Unknown Status
INCOMPLETE Incomplete TFA
COMPLETE Successful TFA

Example:

{
  "auth_status": "COMPLETE",
  "status": "SUCCESS"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Send a statement retrieval initiation request

Initiates a statement retrieval request

curl -X POST \
	https://statement.sandbox.bnk.to/v1/statement-init \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"app_redirect_uri": "http://foo.com",
		"bank_codes": [
			"BDO_PERSONAL",
			"BPI_PERSONAL",
			"PNB_PERSONAL"
		],
		"country": "PH",
		"external_id": "test@domain.com",
		"organization_display_name": "NeoBank"
	}'

HTTP Request

POST https://statement.sandbox.bnk.to/v1/statement-init

Body Parameters

Name Type Description
country string Country is the country code (ID, PH, TH)
bank_codes []BankCode BankCodes used to specify the list of bank to be shown to user
external_id string ExternalID represent an id that is passed by the api consumer to track the request
app_redirect_uri string AppRedirectURI is the URL that end users need to be redirected after the successful statement retrieval operation
organization_display_name string OrganizationDisplayName is a name of the organization that send the request and will be displayed when processing the statement request
app_redirect_error_uri string AppRedirectErrorURI is the URL that end users need to be redirected for the failure on statement retrieval operation
app_redirect_duration string AppRedirectDuration is the time (in seconds) the user should be redirected upon statement retrieval operation finish.
remember_me bool RememberMe shows the remember_me option when performing the statement-retrieval flow if it is set to true, otherwise won’t show remember me option
link_id string LinkID is the identifier that maps to the bank and generated after a credential is stored in browser
auto_consent bool AutoConsent is a flag that skip the consent on PIDP flow and it is disabled by default
corporate bool Corporate flag indicates the flow will be for corporate bank statement retrievals
start_date string StartDate is the start date of the statement request Date/Time ranges should follow the - YYYY-MM-DD ( 2000-12-21 ) - YYYY-MM-DDTHH:MM:SS ( 2000-12-21 12:00:00 ) if using this format, the timezone should be supplied.
end_date string EndDate is the end date of the statement request Date/Time ranges should follow the - YYYY-MM-DD ( 2000-12-21 ) - YYYY-MM-DDTHH:MM:SS ( 2000-12-21 12:00:00 ) if using this format, the timezone should be supplied.
user_consent bool UserConsent is a flag that indicates if user gave a consent
bank_selected BankCode BankSelected is bank selected by merchant
alternative_data_sources []BankCode AlternativeDataSources used to specify the list of alternative data sources to be shown to user
pdf_upload bool PDFUpload used to identify if client wants to enable PDF parser feature or not
risk_insight bool RiskInsight is a flag that indicates if risk insight is included in a statement.
include_balance bool IncludeBalance is the indicator to include saving the balance details
timezone Timezone Timezone allows the dates to be in different timezone. required if start/end date want in specific timestamp.
logo_url string LogoURL represent the logo that should used during the statement retrieval operation
account_verification bool AccountVerification indicates if its account details request only
multi_retrieval bool MultiRetrieval flag indicates the flow will be for multi retrieval
request_id string RequestID is unique identifier per session that we can use for multi retrieval
without_banks bool WithoutBanks flag indicates it will only return alternative data sources AlternativeDataSources is mandatory if the flag set to true
is_summary bool IsSummary indicates that it is statement retrieval for summary request
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
GCASH_PERSONAL code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
KOMO_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Komo
VCB_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Vietcombank
MAYA_PERSONAL Bank code to retrieve retail online payment account transaction data for Pay Maya
Timezone

Timezone is the timezone for different countries.

Value Description
UNKNOWN_TIMEZONE
ID_WESTERN
ID_CENTRAL
ID_EASTERN
PH_TZ
TH_TZ
UTC

Responses

Response body

Name Type Description
statement_id string StatementID is the unique ID assigned to the statement initiation request
redirect_uri string RedirectURI is the URL that end users need to be redirected to in order to continue the statement-retrieval operation
time_consent_granted string TimeConsentGranted is the timestamp when user grant consent
request_id string RequestID is unique identifier per session that we can use for multi retrieval

Example:

{
  "statement_id": "96481b6f-f6f1-4414-badc-8fb1dae6c51c",
  "redirect_uri": "https://pidp-server.bnk.to?app=statement\u0026statement_id=96481b6f-f6f1-4414-badc-8fb1dae6c51c\u0026country=PH\u0026organization_display_name=NeoBank\u0026return_url=http%3A%2F%2Ffoo.com\u0026bank_codes=262,263,406",
  "time_consent_granted": "2021-11-26T05:55:11Z",
  "request_id": "string"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Send a statement multi retrieval initiation request

Initiates a statement multi retrieval request

curl -X POST \
	https://statement.sandbox.bnk.to/v1/statement-init-multiretrieval \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"country": "PH",
		"request_id": "00000000-0000-0000-00000000"
	}'

HTTP Request

POST https://statement.sandbox.bnk.to/v1/statement-init-multiretrieval

Body Parameters

Name Type Description
request_id string RequestID is unique identifier per session that we can use for multi retrieval

Responses

Response body

Name Type Description
statement_id string StatementID is the unique ID assigned to the statement initiation request
redirect_uri string RedirectURI is the URL that end users need to be redirected to in order to continue the statement-retrieval operation
time_consent_granted string TimeConsentGranted is the timestamp when user grant consent
request_id string RequestID is unique identifier per session that we can use for multi retrieval

Example:

{
  "statement_id": "96481b6f-f6f1-4414-badc-8fb1dae6c51c",
  "redirect_uri": "https://pidp-server.bnk.to?app=statement\u0026statement_id=96481b6f-f6f1-4414-badc-8fb1dae6c51c\u0026country=PH\u0026organization_display_name=NeoBank\u0026return_url=http%3A%2F%2Ffoo.com\u0026bank_codes=262,263,406",
  "time_consent_granted": "2021-11-26T05:55:11Z",
  "request_id": "string"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Send the statement delete request

Purge the statement associated with statement_ids and download identifier

curl -X POST \
	https://statement.sandbox.bnk.to/v1/statement-purge \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"statement_ids": "[]string",
		"download_id": "string",
		"confirm": "bool"
	}'

HTTP Request

POST https://statement.sandbox.bnk.to/v1/statement-purge

Body Parameters

Name Type Description
statement_ids []string StatementIDs are the list of statement ids for which the account and transaction details need to be purged
download_id string DownloadID is the unique identifier that represens a list of statement ids associated when statement detail report downloaded, passing the download_id will delete the statement account and transactions corresponds to the download identifier
confirm bool Confirm denotes that the statement shall be deleted, the flag won’t be required if purge happens by passing the statement_id if the download_id is passed and confirm is set to true the statement ids associated with download id’s will be purged, otherwise the downloaded statements details against the download_id will be deleted.

Responses

Response body

Name Type Description
purged_at Timestamp PurgedAt denotes the time when statement purged
statement_count int32 StatementCount returns the number of statement purged
Objects
Timestamp
Name Type Description
seconds int64
nanos int32

Example:

{
  "purged_at": {
    "seconds": "int64",
    "nanos": "int32"
  },
  "statement_count": "int32"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Send a static link creation request

Initiates a static link request

curl -X POST \
	https://statement.sandbox.bnk.to/v1/static-link \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"country": "string",
		"bank_codes": "[]BankCode",
		"app_redirect_uri": "string",
		"organization_display_name": "string",
		"logo_url": "string",
		"expiry_limit": "int32",
		"expires_in": "string",
		"start_date": "string",
		"end_date": "string",
		"alternative_data_sources": "[]BankCode",
		"pdf_upload": "bool",
		"reference_id_label": "string",
		"hide_brankas_logo": "bool",
		"hide_brankas_text": "bool",
		"custom_shortcode": "string"
	}'

HTTP Request

POST https://statement.sandbox.bnk.to/v1/static-link

Body Parameters

Name Type Description
country string Country is the country code (ID, PH, TH)
bank_codes []BankCode BankCodes used to specify the list of bank to be shown to user
app_redirect_uri string AppRedirectURI is the URL that end users need to be redirected after the successful statement retrieval operation
organization_display_name string OrganizationDisplayName is a name of the organization that send the request and will be displayed when processing the statement request
logo_url string LogoURL represent the logo that should used during the statement retrieval operation
expiry_limit int32 ExpiryLimit denotes the static link shall only be used until the limit/count exceeds, it will be considered as expired after when limit exceeds
expires_in string ExpiresIn denotes date for link that shall be active, it will be considered as expired after the duration Date/Time ranges should follow the YYYY-MM-DD convention
start_date string StartDate is the start date of the statement request Date/Time ranges should follow the YYYY-MM-DD convention
end_date string EndDate is the end date of the statement request Date/Time ranges should follow the YYYY-MM-DD convention
alternative_data_sources []BankCode AlternativeDataSources used to specify the list of alternative data sources to be shown to user
pdf_upload bool PDFUpload used to identify if client wants to enable PDF parser feature or not
reference_id_label string ReferenceIDLabel is the label for reference id/external id that will be shown to user
hide_brankas_logo bool HideBrankasLogo used to hide brankas logo on consent page
hide_brankas_text bool HideBrankasText used to hide brankas text on consent page
custom_shortcode string CustomShortCode is a customized code that represent a staticlink to indicate the statement request initiated via static link
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
GCASH_PERSONAL code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
KOMO_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Komo
VCB_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Vietcombank
MAYA_PERSONAL Bank code to retrieve retail online payment account transaction data for Pay Maya

Responses

Response body

Name Type Description
static_link string StaticLink is the static URL that shall be used to initiate the statement-retrieval operation

Example:

{
  "static_link": "string"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Create or update an email notification object

UpsertEmailNotification creates or updates an email notification object.

curl -X PUT \
	https://statement.sandbox.bnk.to/v1/notification/email \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"id": "string",
		"description": "string",
		"status": "NotificationStatus",
		"emails": "[]string"
	}'

HTTP Request

PUT https://statement.sandbox.bnk.to/v1/notification/email

Body Parameters

Name Type Description
id string ID contains the unique identifier of the notification.
description string Description for this notification.
status NotificationStatus Status is the state of this notification - whether it is still active or not.
emails []string Emails are emails list used to send email CSV of the retrieved statement
Enums
NotificationStatus
Value Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED

Responses

Response body

Name Type Description
id string ID contains the unique identifier of the business information object.

Example:

{
  "id": "string"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Create or update a notification object

UpsertNotification creates or updates a notification object.

curl -X PUT \
	https://statement.sandbox.bnk.to/v1/notification \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"id": "string",
		"description": "string",
		"url": "string",
		"status": "NotificationStatus",
		"statement_events": "[]StatementEvent",
		"balance_events": "[]BalanceEvent",
		"": "map[string]string"
	}'

HTTP Request

PUT https://statement.sandbox.bnk.to/v1/notification

Body Parameters

Name Type Description
id string ID contains the unique identifier of the notification.
description string Description for this notification.
url string URL contains the actual notification value.
status NotificationStatus Status is the state of this notification - whether it is still active or not.
statement_events []StatementEvent StatementEvents are statement retrieval states which will be the basis when posting notification.
balance_events []BalanceEvent BalanceEvents are balance retrieval states which will be the basis when posting notification.
map[string]string Headers consist of list of key/value that need to be added for the notification request
Enums
NotificationStatus
Value Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED
StatementEvent

StatementEvent are the possible events during the statement retrieval flow.

Value Description
ALL_EVENT
RECORDS_AVAILABLE_EVENT
COMPLETED_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT
INCOME_AVAILABLE_EVENT
BalanceEvent

BalanceEvent are the possible events during the balance retrieval flow.

Value Description
ALL_EVENT
IN_PROGRESS_EVENT
SUCCESS_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT

Responses

Response body

Name Type Description
id string ID contains the unique identifier of the business information object.

Example:

{
  "id": "string"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Status

Status API will return product status and institution status that are available in Brankas. Product status represents our API availability. When a product is disabled, although institutions are enabled, connections are non-available. Institution status (status) represents the Institution’s availability. When an institution is disabled, availability is highly dependent on the institution itself.

API Reference Overview

  • Host https://status.bnk.to

  • Base Path /v1/status

Get status

curl -X GET \
	https://status.bnk.to/v1/status \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://status.bnk.to/v1/status

Filters

Filter Function Country Product Institution
Show Product Status null null PRODUCT
Show All Country, Product, and Institutions’
status that is available in Brankas
null null null
Show Institutions’ status, filtered by Country
and Product and Institution name
PH STATEMENT BPI_PERSONAL

Responses

Response body

Name Type Description
institutions []Institution List of all institutions
Objects
Institution
Name Type Description
product Product
name string
institution_code InstitutionCode
status Status
country string
product_status Status
Enums
Product

Product is the enum used to identify the product service

Value Description
DIRECT
DISBURSE
STATEMENT

Example:

{
  "institutions": [
    {
      "product": "DIRECT",
      "institution_code": "PRODUCT",
      "product_status": "ENABLED",
	  "country": "PH"
    },
  ]
}
InstitutionCode

InstitutionCode is the enum used to identify and target a specific institution for the status API

Country Value Description
PRODUCT Represents Brankas product
PH BDO_PERSONAL Banco De Oro Unibank, Inc.
PH BPI_PERSONAL Bank of the Philippine Islands
PH BPI_CORPORATE Bank of the Philippines Islands (Corporate)
PH GCASH_PERSONAL GCash
PH LANDBANK_PERSONAL Land Bank of the Philippines
PH METROBANK_PERSONAL The Metropolitan Bank and Trust Company
PH NETBANK_PERSONAL Netbank (A Rural Bank) Inc.
PH PNB_PERSONAL Philippine National Bank
PH RCBC_PERSONAL The Rizal Commercial Banking Corporation
PH UNIONBANK_PERSONAL Union Bank of the Philippines
VN VCB_PERSONAL Vietcombank

Example:

{
  "institutions": [
    {
      "product": "DIRECT",
      "name": "BPI / BPI Family Savings Bank",
      "institution_code": "BPI_PERSONAL",
      "status": "ENABLED",
	  "country": "PH"
    },
  ]
}
Status

Status is the enum used to identify the status of the product/institution

Value Description
ENABLED
DISABLED

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contain the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occurred on the server side.