Overview
Introduction

Singleview platform provides a unified set of APIs that enable
Payment Service User’s (PSU) to connect to various open banking
services in a simple and secure manner. The goal of this product
is to allow consumers a higher control over their financial
assets.
How it works?

The above diagram illustrates the high-level architecture of
open banking system. Payment Service Users (PSU) authorizes
Singleview to access the open banking API by granting the
permission via internet banking credentials.
Authentication
Registration
Businesses must be registered with the Singleview network to
securely access financial data and enable instant payments. Once
the business is registered, a unique key is generated which
serves as an identifier to all future communications with the
Singleview systems. The below parameters must be pass along with
every API in the request header section.
clientId: String - Unique Identifier
for the Client
clientcode: String - Unique Identifier
for the Client
signature: String - Identifier for the
permissions.

Get Started
Account Information Consent
The purpose of this request is to generate Payment Service
User (PSU) consent for the Technical Service Providers (TSP).
User is redirected to the bank URL for authentication and a
unique consentId is generated for accessing the user’s account
relation information through TSP.

Endpoints | Method | Description |
---|---|---|
/v1/api/open-banking/consent/account-access-consents | Post | account information consent |
Name | Description | Type | Mandatory |
---|---|---|---|
clientId | Generated at the time with Singleview registration | String | Yes |
clientcode | Unique Singleview code for identification | String | Yes |
signature | Access control identifier | String | Yes |
sid | Unique session key for each user activity | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
SVConsentRequest | SVConsentRequest | String | Yes |
RequestID | Client-Side unique identification | String | Yes |
userName | Unique user id generated at registration time | String | Yes |
SVConsentInfoRequest | SVConsentInfoRequest | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
Data | Data | String | Yes |
Permissions | Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the Bank | String | Yes |
ExpirationDateTime | Specified date and time the permissions will expire or else it will be open ended | String | Yes |
TransactionFromDateTime | Specified start date and time for the transaction query period or it will be open ended, and data will be returned from the earliest available transaction. | String | Yes |
TransactionToDateTime | Specified end date and time for the transaction query period or the end date will be open ended, and data will be returned to the latest available transaction. | String | Yes |
Risk | The Risk section is sent by the initiating party to the Bank. It is used to specify additional details for risk scoring for Account Info. | String | Yes |
clientRedirectUrl | Redirect URL generated by bank for generating consentId | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
success | Identifies failure or success of the response | String | Yes |
message | General description of the response | String | Yes |
SVConsentResponse | SVConsentResponse | String | Yes |
SVConsentInfoMessage | SVConsentInfoMessage | String | Yes |
SVConsentInfoResponse | SVConsentInfoResponse | String | Yes |
ConsentId | Unique identification as assigned to identify the account access consent resource. | String | Yes |
Status | Specifies the status of consent resource in code form. | String | Yes |
StatusUpdateDateTime | Date and time at which the resource status was updated | String | Yes |
Data | Data | String | Yes |
Permissions | Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the Bank | String | Yes |
ExpirationDateTime | Specified date and time the permissions will expire or else it will be open ended | String | Yes |
TransactionFromDateTime | Specified start date and time for the transaction query period or it will be open ended, and data will be returned from the earliest available transaction. | String | Yes |
TransactionToDateTime | Specified end date and time for the transaction query period or the end date will be open ended, and data will be returned to the latest available transaction. | String | Yes |
AuthenticateExpDateTime | Specifies the expiration date time | String | Yes |
Risk | The Risk section is sent by the initiating party to the Bank. It is used to specify additional details for risk scoring for Account Info. | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
bankRedirectURL | URL link generated and hosted from Bank side. | String | Yes |
Token | Code generated by TSP for authorization. | String | Yes |
Sample JSON request
{
"SVConsentRequest": {
"DateTimeStamp": "2022-05-30T17:51:03",
"RequestID": "SDFSDFF23424234255",
"userName": "tatanew",
"SVConsentInfoMessage": [
{
"SVConsentInfoRequest": {
"BankCode": "ANB",
"Data": {
"Permissions": [
"ReadAccountsBasic",
"ReadBalances",
"ReadTransactionsBasic",
"ReadTransactionsCredits",
"ReadTransactionsDebits"
],
"ExpirationDateTime": "2022-07-26T11:54:15.922Z",
"TransactionFromDateTime": "2022-05-26T11:54:15.922Z",
"TransactionToDateTime": "2022-07-26T11:54:15.922Z"
},
"Risk": {},
"clientRedirectUrl": "http://95.177.175.231:8095/api/osv/openbanking/callback/consent"
}
},
{
"SVConsentInfoRequest": {
"BankCode": "ALRAJHI",
"Data": {
"Permissions": [
"ReadAccountsBasic"
],
"ExpirationDateTime": "2018-11-15T11:54:15.922Z",
"TransactionFromDateTime": "2018-11-15T11:54:15.922Z",
"TransactionToDateTime": "2018-11-15T11:54:15.922Z"
},
"Risk": {},
"clientRedirectUrl ": "http://95.177.175.231:8095/api/osv/openbanking/callback/consent"
}
}
]
}
}
Snippet copied
Sample JSON response
{
"success": true,
"message": "",
"SVConsentResponse": {
"SVConsentInfoMessage": [
{
"SVConsentInfoResponse": {
"ConsentId": "bd52fa99-4398-472e-97b3-7279c2e886d5",
"Status": "AwaitingAuthorisation",
"StatusUpdateDateTime": "2022-05-30T07:27:50.793Z",
"Data": {
"Permissions": [
"ReadAccountsBasic",
"ReadBalances",
"ReadTransactionsBasic",
"ReadTransactionsCredits",
"ReadTransactionsDebits"
],
"ExpirationDateTime": "2022-07-26T11:54:15.922Z",
"TransactionFromDateTime": "2022-05-26T11:54:15.922Z",
"TransactionToDateTime": "2022-07-26T11:54:15.922Z",
"AuthenticateExpDateTime": "2022-06-29T07:27:50.810Z"
},
"Risk": {},
"BankCode": "ANB",
"bankRedirectURL": "https://test-integrationapp.anb.com.sa/IntegrationManager_App/Login.aspx?consentid=bd52fa99-4398-472e-97b3-7279c2e886d5",
"Token": "9kd1JGbfievH0ZE5hhRdnktLonOX"
}
},
{
"SVConsentInfoResponse": {
"BankCode": "ALRAJHI",
"status": "FAILURE",
"message": "Access Denied"
}
}
]
}
}
Snippet copied
Account Information Details
The goal of this request is to retrieve the account details
for the specific accountId using the consentId. This flow
assumes the PSU has already consented.

Endpoints | Method | Description |
---|---|---|
/ v1/api/open-banking/consent/account-access-consents/details | Post | account information details |
Name | Description | Type | Mandatory |
---|---|---|---|
clientId | Generated at the time of registration | String | Yes |
clientcode | Unique client key for identification | String | Yes |
signature | Access control identifier | String | Yes |
sid | Unique key for each user activity | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
SVConsentDetailsRequest | SVConsentDetailsRequest | String | Yes |
RequestID | Client-Side unique identification | String | Yes |
userName | Unique user id generated at registration time | String | Yes |
SVConsentDetailsMessage | SVConsentDetailsMessage | String | Yes |
SVConsentDetailRequest | SVConsentDetailRequest | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
ConsentId | Unique identification as assigned to identify the account access consent resource. | String | Yes |
SVConsentDetailRequest | SVConsentDetailRequest | String | Yes |
DateTimeStamp | Date and time at which the resource was created | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
success | Identifies failure or success of the response | String | Yes |
message | General description of the response | String | Yes |
SVConsentDetailsResponse | Access control identifier | String | Yes |
SVConsentDetailsMessage | Unique key for each user activity | String | Yes |
SVConsentDetailResponse | Unique key for each user activity | String | Yes |
ConsentId | Unique identification as assigned to identify the account access consent resource. | String | Yes |
Status | Specifies the status of consent resource in code form | String | Yes |
StatusUpdateDateTime | Date and time at which the resource status was updated | String | Yes |
Data | Unique key for each user activity | String | Yes |
Permissions | Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the Bank | String | Yes |
TransactionFromDateTime | Specified start date and time for the transaction query period or it will be open ended, and data will be returned from the earliest available transaction. | String | Yes |
TransactionToDateTime | Specified end date and time for the transaction query period or the end date will be open ended, and data will be returned to the latest available transaction. | String | Yes |
AuthenticateExpDateTime | Specifies the expiration date time | String | Yes |
Risk | The Risk section is sent by the initiating party to the Bank, and It is used to specify additional details for risk scoring for Account Info. | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
Sample JSON request
{
"SVConsentDetailsRequest": {
"DateTimeStamp": "2022-05-27T17:51:03",
"RequestID": "SDFSDFF23424234247",
"userName": "tatanew",
"SVConsentDetailsMessage": [
{
"SVConsentDetailRequest": {
"BankCode": "ANB",
"ConsentId": "bd52fa99-4398-472e-97b3-7279c2e886d5"
}
},
{
"SVConsentDetailRequest": {
"BankCode": "ALRAJHI",
"ConsentId": "7341a6ae-c3df-46c6-8588-7ecb805aa51c"
}
}
]
}
}
Snippet copied
Sample JSON response
{
"success": true,
"message": "",
"SVConsentDetailsResponse": {
"SVConsentDetailsMessage": [
{
"SVConsentDetailResponse": {
"ConsentId": "bd52fa99-4398-472e-97b3-7279c2e886d5",
"Status": "Authorised",
"StatusUpdateDateTime": "2022-05-30T07:27:50.793Z",
"Data": {
"Permissions": [
"ReadAccountsBasic",
"ReadBalances",
"ReadTransactionsBasic",
"ReadTransactionsCredits",
"ReadTransactionsDebits"
],
"ExpirationDateTime": "2022-07-26T11:54:15.922Z",
"TransactionFromDateTime": "2022-05-26T11:54:15.922Z",
"TransactionToDateTime": "2022-07-26T11:54:15.922Z",
"AuthenticateExpDateTime": "2022-06-29T07:27:50.810Z"
},
"Risk": {},
"BankCode": "ANB"
}
},
{
"SVConsentDetailResponse": {
"BankCode": "ALRAJHI",
"status": "FAILURE",
"message": "Access Denied"
}
}
]
}
}
Snippet copied
Account Consent Delete
The aim of this request is to disconnect the specific account
by passing the consent id as the input parameter. The account
can be connected again by the user for processing any
financial purposes.

Endpoints | Method | Description |
---|---|---|
/v1/api/open-banking/consent/account-access-consents/delete | Post | delete consent account |
Name | Description | Type | Mandatory |
---|---|---|---|
clientId | Generated at the time of registration | String | Yes |
clientcode | Unique client key for identification | String | Yes |
signature | Access control identifier | String | Yes |
sid | Unique key for each user activity | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
SVConsentsDeleteRequest | Generated at the time of registration | String | Yes |
RequestID | Client-Side unique identification | String | Yes |
userName | Unique user id generated at registration time | String | Yes |
SVConsentsDeleteMessage | Unique key for each user activity | String | Yes |
SVConsentDeleteRequest | Unique key for each user activity | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
ConsentId | Unique identification as assigned to identify the account access consent resource. | String | Yes |
DateTimeStamp | Date and time at which the resource was created | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
success | Identifies failure or success of the response | String | Yes |
message | General description of the response | String | Yes |
SVConsentsDeleteResponse | Access control identifier | String | Yes |
SVConsentsDeleteMessage | Unique key for each user activity | String | Yes |
SVConsentDeleteResponse | Unique key for each user activity | String | Yes |
ConsentId | Unique identification as assigned to identify the account access consent resource. | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
Sample JSON request
{
"SVConsentsDeleteRequest": {
"DateTimeStamp": "2022-03-29T17:51:03",
"RequestID": "SDFSDFF23424234244",
"userName": "tatanew",
"SVConsentsDeleteMessage": [
{
"SVConsentDeleteRequest": {
"BankCode": "ANB",
"ConsentId": "0bf9c24f-a24a-48b1-9e87-18b5b4da9dd7"
}
},
{
"SVConsentDeleteRequest": {
"BankCode": "ALRAJHI",
"ConsentId": "7341a6ae-c3df-46c6-8588-7ecb805aa51c"
}
}
]
}
}
Snippet copied
Sample JSON response
{
"success": true,
"message": "",
"SVConsentsDeleteResponse": {
"SVConsentsDeleteMessage": [
{
"SVConsentDeleteResponse": {
"BankCode": "ANB",
"ConsentId": "0bf9c24f-a24a-48b1-9e87-18b5b4da9dd7",
"success": true,
"message": "Successfully delete consent"
}
},
{
"SVConsentDeleteResponse": {
"BankCode": "ALRAJHI",
"status": "FAILURE",
"message": "Access Denied"
}
}
]
}
}
Snippet copied
List Of All Accounts
The purpose of this request is to retrieve the list of
accounts associated with the consent identity. List of all
accounts are accessed through the single TSP API.

Endpoints | Method | Description |
---|---|---|
/v1/api/open-banking/getAllAccounts | Post | load all accounts |
Name | Description | Type | Mandatory |
---|---|---|---|
clientId | Generated at the time of registration | String | Yes |
clientcode | Unique client key for identification | String | Yes |
signature | Access control identifier | String | Yes |
sid | Unique key for each user activity | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
SVAllAccountsRequest | Generated at the time of registration | String | Yes |
RequestID | Client-Side unique identification | String | Yes |
userName | Unique user id generated at registration time | String | Yes |
SVAccountsInfoMessage | Unique key for each user activity | String | Yes |
SVAccountInfoRequest | Unique key for each user activity | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
ConsentId | Unique identification as assigned to identify the account access consent resource. | String | Yes |
DateTimeStamp | Date and time at which the resource was created | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
success | Identifies failure or success of the response | String | Yes |
message | General description of the response | String | Yes |
SVAllAccountsResponse | SVAllAccountsResponse | String | Yes |
SVAccountsInfoMessage | SVAccountsInfoMessage | String | Yes |
SVAccountInfoResponse | SVAccountInfoResponse | String | Yes |
Data | Data | String | Yes |
Account | Maintains the financial asset | String | Yes |
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | String | Yes |
Status | Specifies the status of consent resource in code form | String | Yes |
AccountSubType | Specifies the sub type of account (product family group). | String | Yes |
AccountType | Specifies the type of account (personal or business). | String | Yes |
Nickname | Additional name of the user | String | Yes |
Currency | Currency Code | String | Yes |
OpeningDate | Account open date | String | Yes |
Meta | Meta | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
Sample JSON request
{
"SVAllAccountsRequest": {
"DateTimeStamp": "2022-05-26T17:51:03",
"RequestID": "SDFSDFF23424234245",
"userName": "tatanew",
"SVAccountsInfoMessage": [
{
"SVAccountInfoRequest": {
"BankCode": "ANB",
"ConsentId": "bd52fa99-4398-472e-97b3-7279c2e886d5"
}
},
{
"SVAccountInfoRequest": {
"BankCode": "ALRAJHI",
"ConsentId": "7341a6ae-c3df-46c6-8588-7ecb805aa51c"
}
}
]
}
}
Snippet copied
Sample JSON response
{
"success": true,
"message": "",
"SVAllAccountsResponse": {
"SVAccountsInfoMessage": [
{
"SVAccountInfoResponse": {
"Data": {
"Account": [
{
"AccountId": "9a44211e-b128-4295-8f8a-f536b5db167e",
"Status": "ACTIVE",
"AccountSubType": "CA006",
"AccountType": "CA006",
"Nickname": "NAME1",
"Currency": "SAR",
"OpeningDate": "2020-10-01"
}
]
},
"Meta": {
"TotalPages": 1,
"ItemCount": 1
},
"BankCode": "ANB"
}
},
{
"SVAccountInfoResponse": {
"BankCode": "ALRAJHI",
"status": "FAILURE",
"message": "Access Denied"
}
}
]
}
}
Snippet copied
Get Accounts Info by Account ID’s
The purpose of this request is to retrieve the list of
accounts associated with the account’s identities. ConsentId
is passed in the request to get the list of accounts
associated with the user. All the accounts information can be
accessed through the single API.

Endpoints | Method | Description |
---|---|---|
/v1/api/open-banking/getAccountsById | Post | Get account details by Id’s |
Name | Description | Type | Mandatory |
---|---|---|---|
clientId | Generated at the time of registration | String | Yes |
clientcode | Unique client key for identification | String | Yes |
signature | Access control identifier | String | Yes |
sid | Unique key for each user activity | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
SVAccountsByIdRequest | Generated at the time of registration | String | Yes |
RequestID | Client-Side unique identification | String | Yes |
userName | Unique user id generated at registration time | String | Yes |
SVAccountsInfoMessage | Unique key for each user activity | String | Yes |
SVAccountInfoRequest | Unique key for each user activity | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
Account_Id | Unique key for each user activity | String | Yes |
DateTimeStamp | Date and time at which the resource was created | String | Yes |
ConsentId | Unique ID given by bank for authentication | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
success | Identifies failure or success of the response | String | Yes |
message | General description of the response | String | Yes |
SVAccountsByIdResponse | SVAccountsByIdResponse | String | Yes |
SVAccountsInfoMessage | SVAccountsInfoMessage | String | Yes |
SVAccountInfoResponse | SVAccountInfoResponse | String | Yes |
Data | Data | String | Yes |
Account | Maintains the financial asset | String | Yes |
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | String | Yes |
Status | Specifies the status of consent resource in code form | String | Yes |
AccountSubType | Specifies the sub type of account (product family group). | String | Yes |
AccountType | Specifies the type of account (personal or business). | String | Yes |
Nickname | Additional name of the user | String | Yes |
Currency | Currency Code | String | Yes |
OpeningDate | Account open date | String | Yes |
Meta | Meta | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
Sample JSON request
{
"SVAccountsByIdRequest": {
"DateTimeStamp": "2022-03-29T17:51:03",
"RequestID": "SDFSDFF23424234244",
"userName": "tatanew",
"SVAccountsInfoMessage": [
{
"SVAccountInfoRequest": {
"BankCode": "ANB",
"Account_Id":"9a44211e-b128-4295-8f8a-f536b5db167e",
"ConsentId": "bd52fa99-4398-472e-97b3-7279c2e886d5",
}
},
{
"SVAccountInfoRequest": {
"BankCode": "ALRAJHI",
"Account_Id":"82a4ab46-bb56-42fb-a1d0-a5f6c5b58e5e"
}
}
]
}
}
Snippet copied
Sample JSON response
{
"success": true,
"message": "",
"SVAccountsByIdResponse": {
"SVAccountsInfoMessage": [
{
"SVAccountInfoResponse": {
"Data": {
"Account": [
{
"AccountId": "9a44211e-b128-4295-8f8a-f536b5db167e",
"Status": "ACTIVE",
"AccountSubType": "CA006",
"AccountType": "CA006",
"Nickname": "NAME1",
"Currency": "SAR",
"OpeningDate": "2020-10-01"
}
]
},
"Meta": {
"TotalPages": 1,
"ItemCount": 1
},
"BankCode": "ANB"
}
},
{
"SVAccountInfoResponse": {
"BankCode": "ALRAJHI",
"status": "FAILURE",
"message": "Access Denied"
}
}
]
}
}
Snippet copied
Get Accounts Balance
The goal of this request is to retrieve the updated account
balance based on the account Id’s. Multiple accounts available
balance can be retrieved by passing list of account id through
the single API.

Endpoints | Method | Description |
---|---|---|
/v1/api/open-banking/getAccountsBalance | Post | Get account Balance by accounts ids |
Name | Description | Type | Mandatory |
---|---|---|---|
clientId | Generated at the time of registration | String | Yes |
clientcode | Unique client key for identification | String | Yes |
signature | Access control identifier | String | Yes |
sid | Unique key for each user activity | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
SVAccountsBalanceRequest | Generated at the time of registration | String | Yes |
RequestID | Client-Side unique identification | String | Yes |
userName | Unique user id generated at registration time | String | Yes |
SVAccountsInfoMessage | Unique key for each user activity | String | Yes |
SVAccountInfoRequest | Unique key for each user activity | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
Account_Id | Unique key for each user activity | String | Yes |
ConsentId | Unique identification as assigned to identify the account access consent resource. | String | Yes |
DateTimeStamp | Date and time at which the resource was created | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
success | Identifies failure or success of the response | String | Yes |
message | General description of the response | String | Yes |
SVAccountsBalanceResponse | SVAccountsBalanceResponse | String | Yes |
SVAccountsInfoMessage | SVAccountsInfoMessage | String | Yes |
SVAccountInfoResponse | SVAccountInfoResponse | String | Yes |
Data | Data | String | Yes |
Balance | Available balance in the account | String | Yes |
Amount | Transaction amount | String | Yes |
Currency | Currency code | String | Yes |
CreditDebitIndicator | Identifies its credit or debit | String | Yes |
Type | Specifies the type of account | String | Yes |
Links | Links | String | Yes |
Self | Self | String | Yes |
Meta | Meta | String | Yes |
TotalPages | No of Pages | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
Sample JSON request
{
"SVAccountsBalanceRequest": {
"DateTimeStamp": "2022-03-29T17:51:03",
"RequestID": "SDFSDFF23424234244",
"userName": "tatanew",
"SVAccountsInfoMessage": [
{
"SVAccountInfoRequest": {
"BankCode": "ANB",
"Account_Id": "9a44211e-b128-4295-8f8a-f536b5db167e"
}
},
{
"SVAccountInfoRequest": {
"BankCode": "ALRAJHI",
"Account_Id": "82a4ab46-bb56-42fb-a1d0-a5f6c5b58e5e"
}
}
]
}
}
Snippet copied
Sample JSON response
{
"success": true,
"message": "",
"SVAccountsBalanceResponse": {
"SVAccountsInfoMessage": [
{
"SVAccountInfoResponse": {
"Data": {
"Balance": [
{
"AccountId": "9a44211e-b128-4295-8f8a-f536b5db167e",
"Amount": {
"Amount": "99872.00",
"Currency": "SAR"
},
"CreditDebitIndicator": "Credit",
"Type": "OpeningCleared",
"DateTime": "2022-05-30T07:32:13.878Z"
},
{
"AccountId": "9a44211e-b128-4295-8f8a-f536b5db167e",
"Amount": {
"Amount": "99872.00",
"Currency": "SAR"
},
"CreditDebitIndicator": "Credit",
"Type": "BookedBalance",
"DateTime": "2022-05-30T07:32:13.878Z"
}
]
},
"Links": {
"Self": "www.developer.anb.com.sa"
},
"Meta": {
"TotalPages": 1
},
"BankCode": "ANB"
}
},
{
"SVAccountInfoResponse": {
"BankCode": "ALRAJHI",
"status": "FAILURE",
"message": "Access Denied"
}
}
]
}
}
Snippet copied
Get Transaction Details by Account Id’s
The goal of this request is to retrieve the list of
transaction details based on the account ids. The complete
history of transactions is retrieved through the single
Singleview API.

Endpoints | Method | Description |
---|---|---|
/v1/api/open-banking/getTransById | Post | Get account Balance by accounts ids |
Name | Description | Type | Mandatory |
---|---|---|---|
clientId | Generated at the time of registration | String | Yes |
clientcode | Unique client key for identification | String | Yes |
signature | Access control identifier | String | Yes |
sid | Unique key for each user activity | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
SVTransByIdRequest | SVTransByIdRequest | String | Yes |
RequestID | Client-Side unique identification | String | Yes |
userName | Unique user id generated at registration time | String | Yes |
SVTransInfoMessage | SVTransInfoMessage | String | Yes |
SVTransInfoRequest | SVTransInfoRequest | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | String | Yes |
DateTimeStamp | Date and time at which the resource was created | String | Yes |
ConsentId | Unique identification as assigned to identify the account access consent resource. | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
SVTransByIdResponse | SVTransByIdResponse | String | Yes |
DateTimeStamp | Date and time at which the resource was created | String | Yes |
SVTransInfoMessage | SVTransInfoMessage | String | Yes |
SVTransInfoResponse | SVTransInfoResponse | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
Data | Data | String | Yes |
Transaction | Extended details on an entry in the report. | String | Yes |
AccountId | A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner. | String | Yes |
BookingDateTime | Time stamp of a transaction entry is posted to an account | String | Yes |
CreditDebitIndicator | Identifies its credit or debit | String | Yes |
Status | Specifies the status of consent resource in code form | String | Yes |
TransactionId | This identifier is immutable and unique | String | Yes |
ValueDateTime | Date and time at which assets become available to the account owner in case of a credit entry. | String | Yes |
BankTransactionCode | Unique key of Bank | String | Yes |
CardInstrument | Card element used in the transaction | String | Yes |
AuthorisationType | The card authorisation type | String | Yes |
CardSchemeName | Name of the card scheme. | String | Yes |
Identification | Unique Identifier | String | Yes |
Name | Beneficiary Name | String | Yes |
ChargeAmount | Additional charges | String | Yes |
Amount | Transaction amount | String | Yes |
CurrencyExchange | Exchange value | String | Yes |
TargetCurrency | Currency code of creditor | String | Yes |
SourceCurrency | Currency code of depositor | String | Yes |
Code | Code | String | Yes |
Sample JSON request:
{
"SVTransByIdRequest": {
"DateTimeStamp": "2022-03-29T17:51:03",
"RequestID": "SDFSDFF23424234244",
"userName": "tatanew",
"SVTransInfoMessage": [
{
"SVTransInfoRequest": {
"BankCode": "ANB",
"Account_Id":"82a4ab46-bb56-42fb-a1d0-a5f6c5b58e5e",
"ConsentId": "bd52fa99-4398-472e-97b3-7279c2e886d5"
}
},
{
"SVTransInfoRequest": {
"BankCode": "ALRAJHI",
"Account_Id":"82a4ab46-bb56-42fb-a1d0-a5f6c5b58e5e"
}
}
]
}
}
Snippet copied
Sample JSON response
{
"SVTransByIdResponse": {
"DateTimeStamp": "2022-03-29T17:51:03",
"SVTransInfoMessage": [
{
"SVTransInfoResponse": {
"BankCode": "NCB",
"Data": {
"Transaction": [
{
"AccountId": "74d69a05-0381-4767-bd9b-824fd9714875",
"BookingDateTime": "2022-05-10T15:14:36.000Z",
"CreditDebitIndicator": "Credit",
"Status": "Booked",
"TransactionId": "SDC278494",
"ValueDateTime": "2022-05-10",
"Amount": {
"Amount": "404.00",
"Currency": "SAR"
},
"BankTransactionCode": {},
"CardInstrument": {
"AuthorisationType": "None",
"CardSchemeName": "MADA",
"Identification": "9045784824-Payment to merchantB2B OUTGOING - 16521848751652184875",
"Name": "card name"
},
"ChargeAmount": {
"Amount": "404.00",
"Currency": "SAR"
},
"CurrencyExchange": {
"TargetCurrency": "SAR",
"SourceCurrency": "SAR"
},
"ProprietaryBankTransactionCode": {
"Code": "030"
}
},
{
"AccountId": "74d69a05-0381-4767-bd9b-824fd9714875",
"BookingDateTime": "2022-05-10T15:18:48.000Z",
"CreditDebitIndicator": "Debit",
"Status": "Booked",
"TransactionId": "SDC278497",
"ValueDateTime": "2022-05-10",
"Amount": {
"Amount": "-0.59",
"Currency": "SAR"
},
"BankTransactionCode": {},
"CardInstrument": {
"AuthorisationType": "None",
"CardSchemeName": "MADA",
"Identification": "6034215896-تحويل بين حساباتيFX_FROM 4768ed361652185123773707",
"Name": "card name"
},
"ChargeAmount": {
"Amount": "-0.59",
"Currency": "SAR"
},
"CurrencyExchange": {
"TargetCurrency": "SAR",
"SourceCurrency": "SAR"
},
"ProprietaryBankTransactionCode": {
"Code": "030"
}
}
]
},
"Links": {
"Self": "www.developer.anb.com.sa"
},
"Meta": {
"TotalPages": 1,
"IsCompleted": true,
"FirstAvailableDateTime": "2022-05-10",
"LastAvailableDateTime": "2022-05-11",
"ItemCount": "2"
}
}
},
{
"SVTransInfoResponse": {
"BankCode": "ALRAJHI",
"Data": {
"Transaction": [
{
"AccountId": "74d69a05-0381-4767-bd9b-824fd9714875",
"BookingDateTime": "2022-05-10T15:14:36.000Z",
"CreditDebitIndicator": "Credit",
"Status": "Booked",
"TransactionId": "SDC278494",
"ValueDateTime": "2022-05-10",
"Amount": {
"Amount": "404.00",
"Currency": "SAR"
},
"BankTransactionCode": {},
"CardInstrument": {
"AuthorisationType": "None",
"CardSchemeName": "MADA",
"Identification": "9045784824-Payment to merchantB2B OUTGOING - 16521848751652184875",
"Name": "card name"
},
"ChargeAmount": {
"Amount": "404.00",
"Currency": "SAR"
},
"CurrencyExchange": {
"TargetCurrency": "SAR",
"SourceCurrency": "SAR"
},
"ProprietaryBankTransactionCode": {
"Code": "030"
}
},
{
"AccountId": "74d69a05-0381-4767-bd9b-824fd9714875",
"BookingDateTime": "2022-05-10T15:18:48.000Z",
"CreditDebitIndicator": "Debit",
"Status": "Booked",
"TransactionId": "SDC278497",
"ValueDateTime": "2022-05-10",
"Amount": {
"Amount": "-0.59",
"Currency": "SAR"
},
"BankTransactionCode": {},
"CardInstrument": {
"AuthorisationType": "None",
"CardSchemeName": "MADA",
"Identification": "6034215896-تحويل بين حساباتيFX_FROM 4768ed361652185123773707",
"Name": "card name"
},
"ChargeAmount": {
"Amount": "-0.59",
"Currency": "SAR"
},
"CurrencyExchange": {
"TargetCurrency": "SAR",
"SourceCurrency": "SAR"
},
"ProprietaryBankTransactionCode": {
"Code": "030"
}
}
]
},
"Links": {
"Self": "www.developer.anb.com.sa"
},
"Meta": {
"TotalPages": 1,
"IsCompleted": true,
"FirstAvailableDateTime": "2022-05-10",
"LastAvailableDateTime": "2022-05-11",
"ItemCount": "2"
}
}
}
]
}
}
Snippet copied
Refresh Consent API
The goal of this request is to renew the consentId. The
consent id is expired for few period of time which needs to be
refreshed for any communication for accessing the services of
Open Banking API.

Endpoints | Method | Description |
---|---|---|
v1/api/open-banking/consent/account-access-consents/refresh | Post | renew the consentId |
Name | Description | Type | Mandatory |
---|---|---|---|
clientId | Generated at the time of registration | String | Yes |
clientcode | Unique client key for identification | String | Yes |
signature | Access control identifier | String | Yes |
sid | Unique key for each user activity | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
SVConsentsRefreshRequest | SVConsentsRefreshRequest | String | Yes |
RequestID | Client-Side unique identification | String | Yes |
userName | Unique user id generated at registration time | String | Yes |
SVConsentsRefreshMessage | SVConsentsRefreshMessage | String | Yes |
SVConsentRefreshRequest | SVConsentRefreshRequest | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
ConsentId | Unique identification as assigned to identify the account access consent resource | String | Yes |
DateTimeStamp | Date and time at which the resource was created | String | Yes |
Name | Description | Type | Mandatory |
---|---|---|---|
success | Identifies failure or success of the response | String | Yes |
message | General description of the response | String | Yes |
SVConsentsRefreshResponse | SVConsentsRefreshResponse | String | Yes |
SVConsentsRefreshMessage | SVConsentsRefreshMessage | String | Yes |
SVConsentRefreshResponse | SVConsentRefreshResponse | String | Yes |
BankCode | Unique Code given to Bank for identification purpose | String | Yes |
ConsentId | Unique identification as assigned to identify the account access consent resource | String | Yes |
Sample JSON request
{
"SVConsentsRefreshRequest": {
"DateTimeStamp": "2022-03-29T17:51:03",
"RequestID": "SDFSDFF23424234244",
"userName": "tatanew",
"SVConsentsRefreshMessage": [
{
"SVConsentRefreshRequest": {
"BankCode": "ANB",
"ConsentId": "0bf9c24f-a24a-48b1-9e87-18b5b4da9dd7"
}
},
{
"SVConsentRefreshRequest": {
"BankCode": "ALRAJHI",
"ConsentId": "7341a6ae-c3df-46c6-8588-7ecb805aa51c"
}
}
]
}
}
Snippet copied
Sample JSON response
{
"success": true,
"message": "",
"SVConsentsRefreshResponse": {
"SVConsentsRefreshMessage": [
{
"SVConsentRefreshResponse": {
"BankCode": "ANB",
"ConsentId": "0bf9c24f-a24a-48b1-9e87-18b5b4da9dd7",
}
},
{
"SVConsentRefreshResponse": {
"BankCode": "ALRAJHI",
"status": "FAILURE",
"message": "Access Denied"
}
}
]
}
}
Snippet copied