Go top

Overview

Introduction

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?

Open banking architecture
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.
Registration

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.
Account information consent
End point details:
Endpoints Method Description
/v1/api/open-banking/consent/account-access-consents Post account information consent
Request header:
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
Request body:
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
Response body:
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.
Account information details
End point details:
Endpoints Method Description
/ v1/api/open-banking/consent/account-access-consents/details Post account information details
Request header:
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
Request body:
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
Response body:
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.
Account consent delete
End point details:
Endpoints Method Description
/v1/api/open-banking/consent/account-access-consents/delete Post delete consent account
Request header:
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
Request body:
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
Response body:
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.
List Of all accounts
End point details:
Endpoints Method Description
/v1/api/open-banking/getAllAccounts Post load all accounts
Request header:
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
Request body:
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
Response body:
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.
Get accounts info account ID
End point details:
Endpoints Method Description
/v1/api/open-banking/getAccountsById Post Get account details by Id’s
Request header:
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
Request body:
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
Response body:
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.
Get accounts balance.png
End point details:
Endpoints Method Description
/v1/api/open-banking/getAccountsBalance Post Get account Balance by accounts ids
Request header:
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
Request body:
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
Response body:
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.
Get Transaction Details by Account Id
End point details:
Endpoints Method Description
/v1/api/open-banking/getTransById Post Get account Balance by accounts ids
Request header:
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
Request body:
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
Response body:
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.
Refresh consent API
End point details:
Endpoints Method Description
v1/api/open-banking/consent/account-access-consents/refresh Post renew the consentId
Request header:
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
Request body:
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
Response body:
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
                
Change Language
English
Completely safe and secure transactions