Open BankingB2B SuiteERP Integration
GuidesAPI ReferenceChangelog
Menu

Categories

Open BankingB2B SuiteERP Integration

  • GENERAL INFORMATION

    • Documentation guide
    • SingleView Open Banking
    • KSAOB standards
    • Security best practices
  • GETTING STARTED

    • Integration guide
    • Developer console
    • Establish secure connection
    • Generate access token
    • Make test raw data API call
    • Make test data use case API call
  • CONSENT MANAGEMENT

    • Overview
    • Create a consent
    • Retrieve consent details
    • Revoke a consent
  • Raw Data APIs

    • Introduction
    • View accounts
    • View balance
    • View transactions
    • Identify account holders (Parties)
    • Review direct debits
    • Review scheduled payments
    • Review standing orders
  • DATA USE CASE APIS

  • Plug-and-Play Integrations

    • Payly
  • RESOURCES

    • Errors & codes
    • Collections
    • API version management
    • Bank connectivity
  • API Archives


Consent Management

Secure way to manage access to your account information

Introduction

Consent is the core of the open banking system and is crucial to maintaining regulatory standards and improving privacy and data security. SingleView Open Banking API allows users to securely access their banking information and control data sharing by managing their consent as per the regulatory standards.

User consent is captured at the bank by requesting access to the specific user's account information.

🚧

Important information

  • A bank account without/expired user consent cannot be accessed through the AIS services as per the regulatory standards.
  • To manage your consent, ensure a valid access token that must be included in the request.

SingleView Open Banking API's consent management feature allows the users to:

  • Create new consent
  • View consent details
  • Revoke consent

Create Consent

A new consent can generated by sending a request to the banks through the SingleView APIs. The consent generated authorizes SingleView APIs to enable Account Information Services and retrieve account information for the specific bank account(s) included in the consent. A user can access multiple accounts of a particular bank through a registered and linked consent or can choose to create individual consent.

Endpoint details

Endpoint URL

Method

Authentication requirements

/v1/api/observice/connect

POST

  1. clientId
  2. clientCode
  3. signature
  4. Authorization Bearer: Token

Sample request

Create consent request
{
  "dateTimeStamp": "2025-01-25T18:32:47",
  "requestID": "df797efb-b588-4234-8ae1-5cb748559830",
  "merchantId": "APIS-300505",
  "useCaseType":"AISP",
  "redirectUrl":"https://obsandbox.onesingleview.com",
  "banks": [
    {
      "code": "SVMB01",
      "permissions": [
        "ReadAccountsBasic",
        "ReadAccountsDetail",
        "ReadBalances",
        "ReadParty",
        "ReadPartyPSU",
        "ReadPartyPSUIdentity",
        "ReadBeneficiariesBasic",
        "ReadBeneficiariesDetail",
        "ReadTransactionsBasic",
        "ReadTransactionsDetail",
        "ReadTransactionsCredits",
        "ReadTransactionsDebits",
        "ReadScheduledPaymentsBasic",
        "ReadScheduledPaymentsDetail",
        "ReadDirectDebits",
        "ReadStandingOrdersBasic",
        "ReadStandingOrdersDetail"
      ],
      "expiryDate": "2025-12-31T10:40:00+02:00",
      "txnFromDate": "2016-01-01T10:40:00+02:00",
      "txnToDate": "2025-12-31T10:40:00+02:00",
      "accountType":"retail" // retail , corporate
    }
  ]
}

 

Request description

JSON Tag

Requirement

Description

Data type

dateTimeStamp

Mandatory

Denoting the date and time of the request ISO 8601 format - YYYY-MM-DDTHH:MM:SS

Date

requestID

Mandatory

Unique request identification details UUID format

Alphanumeric

merchantID

Mandatory

Unique merchant identification details UUID format

Alphanumeric

useCaseType

Mandatory

Type of service/use case. To be mentioned as "AISP"

String

redirectUrl

Mandatory

URL assigned to redirect the user information

String

banks

Mandatory

Array of banks' consents

Object

code

Mandatory

Unique bank identification code

Alphanumeric

permissions

Mandatory

List of permissions requested through the consent ReadAccountsBasic ReadAccountsDetail ReadBalances ReadBeneficiariesBasic ReadBeneficiariesDetail ReadDirectDebits ReadTransactionsBasic ReadTransactionsCredits ReadTransactionsDebits ReadTransactionsDetail ReadProducts ReadStandingOrdersDetail ReadProducts ReadStandingOrdersDetail ReadStatementsDetail ReadParty ReadPartyPSU

Array of strings

expiryDate

Mandatory

Consent expiry date and time ISO 8601 format - YYYY-MM-DDTHH:MM:SS

Date

txnFromDate

Mandatory

Initial date & time for the allotted transaction access period ISO 8601 format - YYYY-MM-DDTHH:MM:SS

Date

txnToDate

Mandatory

Final date & time for the allotted transaction access period ISO 8601 format - YYYY-MM-DDTHH:MM:SS

Date

accountType

Mandatory

Type of account among retail or corporate

Enum

Sample response

Create consent response
{
  "success": true,
  "payload": [
    {
      "code": "SVMB01",
      "data": {
        "permissions": [
          "ReadAccountsBasic",
          "ReadAccountsDetail",
          "ReadBalances",
          "ReadParty",
          "ReadPartyPSU",
          "ReadPartyPSUIdentity",
          "ReadBeneficiariesBasic",
          "ReadBeneficiariesDetail",
          "ReadTransactionsBasic",
          "ReadTransactionsDetail",
          "ReadTransactionsCredits",
          "ReadTransactionsDebits",
          "ReadScheduledPaymentsBasic",
          "ReadScheduledPaymentsDetail",
          "ReadDirectDebits",
          "ReadStandingOrdersBasic",
          "ReadStandingOrdersDetail"
        ],
        "expirationDateTime": "2025-12-31T10:40:00+02:00",
        "transactionFromDateTime": "2016-01-01T10:40:00+02:00",
        "transactionToDateTime": "2025-12-31T10:40:00+02:00",
        "accountType": [
          "KSAOB.Retail"
        ],
        "accountSubType": [
          "Savings",
          "CurrentAccount",
          "CreditCard",
          "EMoney"
        ],
        "onBehalfOf": {
          "tradingName": "SingleView",
          "legalName": "SingleView Pvt Ltd",
          "identifierType": "Other",
          "identifier": "SV"
        },
        "purpose": [
          "Personal Finance Manager"
        ],
        "consentId": "urn:SVMB01:kac-5a166b7d-8cdb-443a-a67a-80ad7a5b95b3",
        "status": "AwaitingAuthorization",
        "creationDateTime": "2025-01-28T10:36:47.360Z",
        "statusUpdateDateTime": "2025-01-28T10:36:47.360Z"
      },
      "links": {
        "self": "https://rs1.lab.openbanking.sa/open-banking/account-information/2022.11.01-final-errata2/account-access-consents/urn:SVMB01:kac-5a166b7d-8cdb-443a-a67a-80ad7a5b95b3"
      },
      "meta": {
        "totalPages": 1,
        "totalRecords": 1,
        "requestDateTime": "2025-01-28T10:36:47.360Z"
      },
      "scope": "openid accounts",
      "bankRedirectUrl": "https://auth1.lab.openbanking.sa/auth?client_id=bb27297f-a84e-4939-a26e-86f2d11a3f5a&response_type=code&scope=openid%20accounts&request_uri=urn:ietf:params:oauth:request_uri:5f679e00-1ad6-467c-8d7e-54941607fc46"
    }
  ]
}

 

Response description

JSON Tag

Description

success

Process success status represented as true or false

payload

Process response tag

code

Unique bank code identifier

data

Data tag for specific bank account consent

permissions

List of permissions provided in the consent

expirationDateTime

Date and time for consent expiry

transactionFromDateTime

Initial date & time for the allotted transaction access period

transactionToDateTime

Final date & time for the allotted transaction access period

consentId

Unique consent identification

status

Status of consent processing

creationDateTime

Date and time of representing the creation of consent

statusUpdateDateTime

Most recent time and date representing latest consent update

links

Redirect links

self

Own link/url details

meta

Meta tag

totalRecords

Total number of records included in the response

requestDateTime

Date and time of the request

scope

Details on the scope of account

bankRedirectUrl

Bank redirect URL for reflecting the results

Get Consent Details

Check consent details by sending a request included with the account specific consent IDs.

Endpoint details

Endpoint URL

Method

Authentication requirements

/v1/api/observice/consent/details

POST

  1. clientId
  2. clientCode
  3. signature
  4. Authorization Bearer: Token

Sample request

Get consent details request
{
  "dateTimeStamp": "2024-12-31T10:40:00+02:00",
  "requestID": "df797efb-b588-4234-8ae1-5cb748559830",
  "merchantId": "APIS-300505",
  "banks": [
    {
      "code": "SVMB01",
      "consentId":"urn:SVMB01:kac-5a166b7d-8cdb-443a-a67a-80ad7a5b95b3"
    }
  ]
}

 

Request description

JSON Tag

Requirement

Description

Data type

dateTimeStamp

Mandatory

Denoting the time and date of the request ISO 8601 format - YYYY-MM-DDTHH:MM:SS

Date

requestID

Mandatory

Unique request identification details UUID format

Alphanumeric

merchantId

Mandatory

Unique merchant identification details UUID format

Alphanumeric

banks

Mandatory

Array of banks data

Object

code

Mandatory

Unique bank identification code

Alphanumeric

consentId

Mandatory

Unique consent identification details

String

Sample response

Get consent details response
{
  "success": true,
  "payload": [
    {
      "code": "SVMB01",
      "data": {
        "permissions": [
          "ReadParty",
          "ReadPartyPSU",
          "ReadPartyPSUIdentity",
          "ReadTransactionsBasic",
          "ReadTransactionsDetail",
          "ReadTransactionsCredits",
          "ReadTransactionsDebits"
        ],
        "expirationDateTime": "2025-12-31T10:40:00+02:00",
        "transactionFromDateTime": "2016-01-01T10:40:00+02:00",
        "transactionToDateTime": "2025-12-31T10:40:00+02:00",
        "accountType": [
          "KSAOB.Retail"
        ],
        "accountSubType": [
          "Savings",
          "CurrentAccount",
          "CreditCard",
          "EMoney"
        ],
        "onBehalfOf": {
          "tradingName": "SingleView",
          "legalName": "SingleView Pvt Ltd",
          "identifierType": "Other",
          "identifier": "SV"
        },
        "purpose": [
          "Personal Finance Manager"
        ],
        "consentId": "urn:SVMB01:kac-fecb7e95-b1ad-4681-b5e8-109a8c766b80",
        "status": "Authorized",
        "creationDateTime": "2025-02-03T07:03:29.378Z",
        "statusUpdateDateTime": "2025-02-03T07:03:48.491Z"
      },
      "links": {
        "self": "https://rs1.lab.openbanking.sa/open-banking/account-information/2022.11.01-final-errata2/account-access-consents/urn:SAMA:kac-fecb7e95-b1ad-4681-b5e8-109a8c766b80"
      },
      "meta": {
        "totalPages": 1,
        "totalRecords": 1,
        "requestDateTime": "2025-02-03T07:03:29.378Z"
      },
      "scope": {}
    }
  ]
}

 

Response details

JSON Tag

Description

success

Process success status represented as true or false

payload

Process response tag

code

Unique bank code identifier

data

Data tag for specific bank account consent

permissions

List of permissions provided in the consent

expirationDateTime

Date and time for consent expiry

transactionFromDateTime

Initial date & time for the allotted transaction access period

transactionToDateTime

Final date & time for the allotted transaction access period

consentId

Unique consent identification

status

Status of consent processing

creationDateTime

Date and time of representing the creation of consent

statusUpdateDateTime

Most recent time and date representing latest consent update

links

Redirect links

self

Own link/url details

meta

Meta tag

totalPages

Page length of the response

totalRecords

Total number of records included in the response

requestDateTime

Date and time of the request

scope

Details on the scope of account

Revoke Consent

To remove or stop the account access authority, you need to revoke the existing active consents. This can be done by sending a request to revoke the specific consent by providing consent ID that accordingly disables the services for that particular account.

Endpoint details

Endpoint URL

Method

Authentication requirements

/v1/api/observice/consent/delete

POST

  1. clientId
  2. clientCode
  3. signature
  4. Authorization Bearer: Token

Sample request

Revoke consent request
{
  "dateTimeStamp": "2024-12-31T10:40:00+02:00",
  "requestID": "df797efb-b588-4234-8ae1-5cb748559830",
  "merchantId": "APIS-300505",
  "banks": [
    {
      "code": "SVMB01",
      "consentId":"urn:SVMB01:kac-5a166b7d-8cdb-443a-a67a-80ad7a5b95b3"
    }
  ]
}

 

Request details

JSON Tag

Requirement

Description

Data type

dateTimeStamp

Mandatory

Denoting the time and date of the request ISO 8601 format - YYYY-MM-DDTHH:MM:SS

Date

requestID

Mandatory

Unique request identification details UUID format

Alphanumeric

merchantId

Mandatory

Unique merchant identification details UUID format

Alphanumeric

banks

Mandatory

Array of banks data

Object

code

Mandatory

Unique bank identification code

Alphanumeric

consentId

Mandatory

Unique consent identification details

String

Sample response

Revoke consent response
{
  "success": true,
  "payload": [
    {
      "code": "SVMB01",
      "consentId": "urn:SVMB01:kac-fecb7e95-b1ad-4681-b5e8-109a8c766b80",
      "success": true,
      "message": "Successfully deleted the consent",
      "status": "success"
    }
  ]
}

 

Response description

JSON Tag

Description

success

Process success status represented as true or false

payload

Process response tag

code

Unique bank code identifier

consentId

Unique identification for a bank account(s) consent

success

Boolean of the process result as true or false

message

Message about the process action

status

Status of the specific consent

Updated July 2, 2026

PreviousData APIsNextAccounts
Was this helpful?