Appearance
Banking API
📘 Banking API Overview
The Banking API provides seamless and secure access to core banking functionalities, enabling integration with external systems and services. It supports real-time operations for customer and account management, as well as transactional services.
🔑 Key Features
User Information Retrieval
- Fetch user details using either a Client ID or Client UUID.
Savings Account Operations
Current Balance Inquiry: Retrieve the current balance of a savings account.
Transaction History: Get a list of transactions for a savings account.
Transaction Details: View full details of a specific transaction using its Transaction ID.
Transaction Services
Debit Operation: Withdraw funds from a specified source account.
Credit Operation: Deposit funds into a specified destination account.
Fund Transfer: Transfer funds between two accounts (debit source, credit destination) in a single transaction.
Account Validation
- Validate an account’s availability for transactions by checking balance and limit constraints.
🛡️ Use Cases
Digital banking applications
Third-party payment integrations
Financial service platforms needing real-time account access and funds movement
📘 Headers for API Request
X-API-KEY
Description: This is a unique API key provided to the partner (or client) to authenticate the requests they make to the API. The API key is typically issued upon registration and must be included in each request to ensure that the request is coming from a valid and authorized partner.
Usage: The value is usually a long string of characters, ensuring security and preventing unauthorized access to the service.
User-Agent
Description: The
User-Agentheader identifies the source or client making the request. It provides information such as the type of application, operating system, version, or device from which the request is being made.Usage: It helps the server track usage patterns, troubleshoot issues specific to certain devices or platforms, and sometimes deliver platform-specific content or optimizations.
- Example:
User-Agent: MyApp/1.0 (iPhone; iOS 14.0; Scale/2.00)
- Example:
X-Hmac-Timestamp
Description: This header contains the timestamp at the moment the request is sent. It's used as part of the security mechanism to prevent replay attacks, ensuring that the request is recent and valid within a specified time window.
Usage: The value should be a timestamp in UTC format (e.g.,
2025-07-22T10:15:30Z). The server can compare this timestamp with the current time to ensure the request hasn't been replayed from a previous session.
X-Hmac-Nonce
Description: This is a unique value (often a random string or number) that ensures that each request is distinct, even if the rest of the request (such as the payload) is identical. The nonce is used to prevent replay attacks and ensure that the same request cannot be processed multiple times.
Usage: The value is typically a UUID or a random string. It must be unique for every request sent to avoid collisions. Once used, the nonce should never be reused.
X-Hmac-Signature
Description: This is the cryptographic signature used to verify the integrity and authenticity of the request. The signature is typically generated using a secret key and the request payload (including the headers, body, and sometimes the timestamp and nonce). It ensures that the request has not been tampered with and is from the expected sender.
Usage: The value is a hashed signature, typically created using HMAC (Hash-based Message Authentication Code). The server can generate its own signature using the same secret key and compare it to the one provided in the header to verify that the request is legitimate.
Example of Request Headers
http
X-API-KEY: abc123xyz456
User-Agent: MyApp/1.0 (iPhone; iOS 14.0; Scale/2.00)
X-Hmac-Timestamp: 2025-07-22T10:15:30Z
X-Hmac-Nonce: 6a47c531-ef99-4cde-b8a3-dde87ec3a6de
X-Hmac-Signature: 34f85f4a5107d7b9b4a273c5b2fd3c04These headers provide a secure and traceable way of ensuring that the request is legitimate, comes from the right source, and hasn't been tampered with during transit. Let me know if you need further details or examples!
EndFragment
User
User Info
Method: POST
URL: /user/info
Get User Info
This endpoint allows you to get user information from the server.
HTTP Method
POST
Endpoint
/user/info
Request Parameters
The request body should be in JSON format and must include the following parameter:
- clientid (string): A unique identifier for the client making the request.
Example Request Body
json
{
"clientid": "10000016"
}Expected Response Format
The server will respond with a JSON object that typically includes a status message indicating the success or failure of the operation, along with any relevant data related to the user information submitted.
Example Response
json
{
"code": 200,
"status": "Success",
"data": [
{
"clientid": "8e596114-b595-11ec-a9ae-00155deeec00",
"clientid2": 10000016,
"firstname": "FN10000016",
"middlename": "MN10000016",
"lastname": "LN10000016",
"email": null,
"address": null
}
]
}Ensure that the clientid is valid to receive an appropriate response from the server.
This endpoint allows you to get user information to the server.
HTTP Method
POST
Endpoint
/user/info
Request Parameters
The request body should be in JSON format and must include the following parameter:
- clientid (string): A unique identifier for the client making the request.
Example Request Body
json
{
"clientid": "10000016"
}Expected Response Format
The server will respond with a JSON object that typically includes a status message indicating the success or failure of the operation, along with any relevant data related to the user information submitted.
Ensure that the clientid is valid to receive an appropriate response from the server.
Headers:
X-API-KEY: NaNX-Hmac-Signature: NaNUser-Agent: NaNX-Hmac-Nonce: NaNX-Hmac-Timestamp: NaN
Example Request Body:
json
{
"clientid": "10060630"
}Savings
Savings Details
Method: POST
URL: /savings/details
Endpoint: POST /savings/details
This endpoint is used to retrieve detailed information about a specific savings account identified by the savingsid.
Request Parameters
- savingsid (string, required): The unique identifier for the savings account. This parameter is essential for the API to locate the correct account details.
Request Body Example
json
{
"savingsid": "10000016"
}Expected Response
The response will include detailed information about the savings account associated with the provided savingsid. The expected JSON response structure is as follows:
json
{
"code": 0,
"status": "",
"data": {
"savingsid": 0,
"currentbalance1": 0,
"currentbalance2": 0
}
}Response Fields
code (integer): Indicates the status of the request. A value of
0typically signifies a successful operation.status (string): A message or status indicator related to the request.
data (object): Contains the details of the savings account.
savingsid (integer): The identifier for the savings account.
currentbalance1 (integer): The current balance of the savings account in a specific currency or context.
currentbalance2 (integer): The current balance of the savings account in another currency or context.
Notes
Ensure that the
savingsidprovided is valid and corresponds to an existing savings account to avoid errors in the response.The response may vary based on the account's status and the data available in the system.
This endpoint is used to retrieve detailed information about a specific savings account identified by the savingsid.
Request Parameters
- savingsid (string, required): The unique identifier for the savings account. This parameter is essential for the API to locate the correct account details.
Request Body Example
json
{
"savingsid": "10000016"
}Expected Response
The response will include detailed information about the savings account associated with the provided savingsid.
Response Format
Status Code: 200
Content-Type: application/json
Response Body Structure
json
{
"code": 0,
"status": "",
"data": {
"savingsid": 0,
"currentbalance1": 0,
"currentbalance2": 0
}
}Notes
Ensure that the
savingsidprovided is valid and corresponds to an existing savings account to avoid errors in the response.The response may vary based on the account's status and the data available in the system.
This endpoint is used to retrieve detailed information about a specific savings account identified by the savingsid.
Request Parameters
- savingsid (string, required): The unique identifier for the savings account. This parameter is essential for the API to locate the correct account details.
Request Body Example
json
{
"savingsid": "10000016"
}Expected Response
The response will include the following fields:
code (integer): Indicates the success or failure of the request. A value of
0typically signifies success.status (string): A message providing additional information about the request status.
data (object): Contains detailed information about the savings account, which may include:
savingsid (integer): The identifier for the savings account.
currentbalance1 (integer): The current balance of the account in the primary currency.
currentbalance2 (integer): The current balance of the account in an alternative currency, if applicable.
Notes
Ensure that the
savingsidprovided is valid and corresponds to an existing savings account to avoid errors in the response.The response may vary based on the account's status and the data available in the system.
A successful request will return a status code of
200.
Headers:
X-API-KEY: NaNX-SIGNATURE: NaNUser-Agent: NaNX-Hmac-Timestamp: NaNX-Hmac-Nonce: NaNX-Hmac-Signature: NaN
Example Request Body:
json
{
"savingsid": "10000016"
}Savings Transactions List
Method: POST
URL: /savings/transaction-list
API Endpoint: Retrieve Savings Transaction List
This endpoint allows users to retrieve a list of transactions associated with a specific savings account. It supports pagination and sorting to facilitate the retrieval of transaction data.
Request
Method: POST
URL: /savings/transaction-list
Request Body:
The request body must be in JSON format and should contain the following parameters:
savingsid (string): The unique identifier of the savings account for which transactions are being requested.
page (integer): The page number of the results to retrieve, useful for pagination.
limit (integer): The maximum number of transactions to return per page.
sorDirection (string): The direction of sorting for the transaction list. Acceptable values are "asc" for ascending and "desc" for descending order.
Example Request Body:
json
{
"savingsid": "10000016",
"page": 1,
"limit": 10,
"sorDirection": "desc"
}Response
Upon a successful request, the API will return a JSON response with the following structure:
code (integer): Indicates the status of the response. A value of
0typically indicates success.status (string): A message providing additional context about the response status.
data (object): An object containing the transaction data.
transactions (array): An array of transaction objects, where each object includes:
transactionId (integer): The unique identifier of the transaction.
amount (string): The amount of money involved in the transaction.
transactionDate (string): The date when the transaction occurred.
transactionType (string): The type of transaction (e.g., deposit, withdrawal).
status (string): The current status of the transaction.
Example Response:
json
{
"code": 200,
"status": "Success",
"data": {
"transactions": [
{
"transactionId": 8964719,
"amount": "1.00",
"transactionDate": "2025-06-26",
"transactionType": "debit",
"status": "Success"
},
{
"transactionId": 8964715,
"amount": "1.00",
"transactionDate": "2025-06-26",
"transactionType": "debit",
"status": "Success"
},
]
}
}Notes
Ensure that the
savingsidprovided corresponds to an existing savings account to receive valid transaction data.Adjust the
pageandlimitparameters based on the desired number of results and pagination needs.
Headers:
X-API-KEY: NaNX-SIGNATURE: NaNUser-Agent: NaNX-Hmac-Nonce: NaNX-Hmac-Timestamp: NaNX-Hmac-Signature: NaN
Example Request Body:
json
{
"savingsid": "10000016",
"page": 1,
"limit": 10,
"sorDirection": "desc"
}Savings Transactions Details
Method: POST
URL: /savings/transactions-details
POST /savings/transactions-details
This endpoint is used to retrieve detailed information about a specific transaction in the savings account.
Request Parameters
The request should include the following JSON payload in the body:
- transactionid (string): The unique identifier for the transaction whose details are being requested.
Example Request Body
json
{
"transactionid": "1697225"
}Expected Response Format
The response will return a JSON object containing the details of the specified transaction. The structure of the response will include relevant fields that provide insights into the transaction, such as amount, date, and status.
Example Response
json
{
"code": 200,
"status": "Success",
"data": {
"transactionId": 1697225,
"savingsid": 10000016,
"amount": "1750.00",
"transactionDate": "2015-03-09",
"status": "Success",
"referenceNumber": "PN001000118370 #2",
"transactionName": "credit",
"transactionTime": "2015-03-09"
}
}Ensure that the transaction ID provided corresponds to a valid transaction in the system to receive accurate details.
This endpoint is used to retrieve detailed information about a specific transaction in the savings account.
Request Parameters
The request should include the following JSON payload in the body:
- transactionid (string): The unique identifier for the transaction whose details are being requested.
Example Request Body
json
{
"transactionid": "1697225"
}Expected Response Format
The response will return a JSON object containing the details of the specified transaction. The structure of the response will include the following fields:
code (integer): Indicates the status of the request (0 for success).
status (string): A message indicating the status of the transaction request.
data (object): Contains detailed information about the transaction, including:
transactionId (integer): The ID of the transaction.
savingsid (integer): The ID of the associated savings account.
amount (string): The amount involved in the transaction.
transactionDate (string): The date when the transaction occurred.
status (string): The current status of the transaction.
referenceNumber (string): A reference number associated with the transaction.
transactionName (string): The name or type of the transaction.
transactionTime (string): The time when the transaction took place.
Notes
Ensure that the transaction ID provided corresponds to a valid transaction in the system to receive accurate details. A successful request will return a status code of 200 along with the transaction details in the response.
Headers:
X-API-KEY: NaNX-SIGNATURE: NaNUser-Agent: NaNX-Hmac-Nonce: NaNX-Hmac-Timestamp: NaNX-Hmac-Signature: NaN
Example Request Body:
json
{
"transactionid": "1"
}Bank Transfer
Intra Fund Transfer
Method: POST
URL: /banktransfer/intra-fund-transfer
Intra-Fund Transfer API
This endpoint allows users to initiate an intra-fund transfer between two accounts within the same bank. It facilitates the transfer of funds from a source account to a destination account, including optional fees and a description for the transaction.
Request
Method: POST
Endpoint: /banktransfer/intra-fund-transfer
Request Body
The request body should be in JSON format and include the following parameters:
customerId (string): The unique identifier of the customer initiating the transfer.
sourceAccount (string): The account number from which the funds will be withdrawn.
destinationAccount (string): The account number to which the funds will be transferred.
amount (string): The amount of money to be transferred.
fee (string): The transaction fee associated with the transfer.
description (string): A brief description of the transfer.
referenceNumber (string): A unique reference number for tracking the transaction.
type (string): The type of transaction, which should be set to "transfer". Options: transfer | debit | credit
channel (string): The channel through which the transfer is made, in this case, "intrabank".
Example Request Body
json
{
"customerId": "1697225",
"sourceAccount": "10000016",
"destinationAccount": "10000024",
"amount": "100.00",
"fee": "10.00",
"description": "Test Fund",
"referenceNumber": "92183091231890",
"type": "transfer",
"channel": "intrabank"
}Response
The response will provide confirmation of the transfer initiation, including relevant details about the transaction. The structure of the response may include:
code (integer): A code indicating the status of the request (e.g., 0 for success).
status (string): A message indicating the status of the transfer.
data (object): An object containing additional details about the transaction, which may include:
accountBalance (integer): The remaining balance in the account after the transfer.
transtime (string): The timestamp of the transaction.
reference (integer): A reference number associated with the transaction.
Example Response
json
{
"code": 201,
"status": "Success",
"data": {
"accountBalance": 27684.75,
"transtime": "2025-06-30T06:47:33.011604",
"reference": 1685
}
}Notes
Ensure that all parameters are provided in the correct format to avoid errors during the transfer process.
The transaction fee is deducted from the source account along with the transfer amount.
Headers:
X-API-KEY: NaNX-SIGNATURE: NaNUser-Agent: NaNX-Hmac-TImestamp: NaNX-Hmac-Nonce: NaNX-Hmac-Signature: NaN
Example Request Body:
json
{
"customerId": "1697225",
"sourceAccount": "10000016",
"destinationAccount": "10000024",
"amount": "100.00",
"fee": "10.00",
"description": "Test Fund",
"referenceNumber": "92183091231890",
"type": "transfer",
"channel": "intrabank"
}Accounts
Account Validation
Method: POST
URL: /accounts/validation
Validate Account Endpoint
This endpoint is used to validate an account based on the provided savings ID. It checks if the specified savings account exists and is valid within the system. This is particularly useful for applications that need to verify account details before proceeding with transactions or account-related operations.
Request
Method: POST
URL:
/accounts/validationHeaders:
Content-Type:application/json(indicates that the request body is in JSON format)
Request Body
The request body should be a JSON object containing the following parameter:
- savingsid (string): The unique identifier for the savings account that needs to be validated. This ID is essential for the validation process.
Example Request Body:
json
{
"savingsid": "10099786"
}Expected Response
Upon a successful request, the server will respond with a status code of 200 and a JSON object containing the following structure:
code (integer): Indicates the result of the validation operation (e.g.,
0for success).status (string): A brief status message related to the validation process.
data (object): Contains additional information about the validation result:
rc (integer): A return code indicating the outcome of the validation (e.g.,
0for valid).message (string): A message providing further details about the validation status.
partnerid (integer): Identifier for the partner associated with the account (if applicable).
AcctId (string): The account ID associated with the savings ID (if found).
source_channel (integer): The source channel identifier (if applicable).
clientid (null or string): The client ID associated with the request (if applicable).
Example Response:
json
{
"code": 200,
"status": "Success",
"data": {
"rc": 201,
"message": "Partner account#",
"partnerid": 10065,
"AcctId": "10099786",
"source_channel": 4,
"clientid": null
}
}Notes
Ensure that the savings ID provided is correct and exists in the system to avoid validation errors.
The response may vary based on the validity of the savings ID provided, and it is important to handle different return codes appropriately in your application.
Headers:
X-API-KEY: NaNX-SIGNATURE: NaNUser-Agent: NaNX-Hmac-Nonce: NaNX-Hmac-Signature: NaNX-Hmac-timestamp: NaN
Example Request Body:
json
{
"savingsid": "10000016"
}SampleEndpoint
Method: POST
URL: /SampleEndpoint
Headers:
X-API-KEY: NaNX-SIGNATURE: NaNUser-Agent: NaNX-Hmac-Nonce: NaNX-Hmac-Timestamp: NaNX-Hmac-Signature: NaN
Example Request Body:
json
{
"test": "testing"
}