IBAN Verification

Validate IBAN and verify account information

Introduction

IBAN Verification API Services ensure the accuracy and validity of IBANs by performing syntax checks, checksum verification, and other validations to confirm that the provided IBANs are correctly formatted and correspond to the correct country and financial institution. This helps prevent errors and fraud in cross-border payments and ensures the integrity of international banking transactions.

The IBAN Verification API service lets you fetch account information for multiple bank accounts in a Consent ID or a single account using the Account ID.

Consent

User consent is the primary requirement to access any services in Open Banking. The user or account holder grants explicit consent to a Third-Party to access their financial data. This consent is given through a secure, multi-factor authentication process to verify the user's identity.

The consent request must include the following details:

Endpoint

useCaseType

Value

permissions

Value

/v1/api/observice/connect

IBANVALIDATIONS

ReadAccountsBasic
ReadAccountsDetail

Check Consent Management for more details to create, view, and revoke consents.

Get All Accounts IBAN Verification Services

Endpoint details

Endpoint URL

Method

Authentication requirements

/v1/api/observice/accounts

POST

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

Sample request

{
  "dateTimeStamp": "2024-12-31T10:40:00+02:00",
  "requestID": "df797efb-b588-4234-8ae1-5cb748559830",
  "merchantId": "APIS-300505",
  "fromDate": "2016-01-01T10:40:00+02:00",
  "toDate": "2025-12-31T10:40:00+02:00",
  "ibanValidation" : true,
  "banks": [
    {
      "code": "SAMA",
      "consentId":"urn:SAMA:kac-5a166b7d-8cdb-443a-a67a-80ad7a5b95b3",
      "iban":"SA0000000000000580000001"
    }
  ]
}

Request description

JSON Tag

Description

Data type

DateTimeStamp Mandatory

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

Date

RequestID
Mandatory

Unique request identification

Alphanumeric

merchantId
Mandatory

Unique merchant identification

Alphanumeric

fromDate
Mandatory

Initial date of transaction period
ISO 8601 format - YYYY-MM-DDTHH:MM:SS

Date

toDate
Mandatory

Final date of transaction period
ISO 8601 format - YYYY-MM-DDTHH:MM:SS

Date

ibanValidation
Mandatory

IBAN Validation service tag to be denoted as true

Boolean

banks
Mandatory

Array of banks and consents

Object

code
Mandatory

Unique bank identification code

Alphanumeric

consentId
Mandatory

Unique consent identification

String

iban
Mandatory

Unique IBAN identification details with
XX Country Code and 0000000000000000000000 as account number

String

Sample response

{
  "success": true,
  "payload": [
    {
      "code": "SAMA",
      "data": {
        "account": [
          {
            "accountId": "100004000000000000000002",
            "accountHolderName": "Mitsuhirato",
            "accountHolderShortName": "Mitsuhirato",
            "status": "Active",
            "currency": "SAR",
            "nickname": "Mitsuhirato",
            "accountType": "KSAOB.Retail",
            "accountSubType": "CurrentAccount",
            "accountIdentifiers": [
              {
                "identificationType": "KSAOB.IBAN",
                "identification": "10000109010102",
                "name": "Luigi International"
              },
              {
                "identificationType": "KSAOB.IBAN",
                "identification": "10000109010102",
                "name": "Luigi International"
              }
            ],
            "servicer": {
              "identificationType": "KSAOB.BICFI",
              "identification": "10000109010101"
            },
            "statusUpdateDateTime": "2023-02-01T16:37:00.980Z",
            "description": "Account sub-type description",
            "openingDate": "2022-04-08T16:37:00.980Z",
            "maturityDate": "2023-11-29T16:37:00.980Z",
            "ibanCheck": "failed"
          },
          {
            "accountId": "100004000000000000000003",
            "accountHolderName": "Mitsuhirato",
            "accountHolderShortName": "Mitsuhirato",
            "status": "Active",
            "currency": "SAR",
            "nickname": "Mitsuhirato",
            "accountType": "KSAOB.Retail",
            "accountSubType": "CurrentAccount",
            "accountIdentifiers": [
              {
                "identificationType": "KSAOB.IBAN",
                "identification": "10000109010103",
                "name": "Mario International"
              },
              {
                "identificationType": "KSAOB.IBAN",
                "identification": "10000109010103",
                "name": "Mario International"
              }
            ],
            "servicer": {
              "identificationType": "KSAOB.BICFI",
              "identification": "10000109010101"
            },
            "statusUpdateDateTime": "2023-02-01T16:37:00.981Z",
            "description": "Account sub-type description",
            "openingDate": "2022-04-08T16:37:00.981Z",
            "maturityDate": "2023-11-29T16:37:00.981Z",
            "ibanCheck": "failed"
          }
        ]
      },
      "links": {
        "self": "https://rs1.lab.openbanking.sa/open-banking/account-information/2022.11.01-final-errata2/accounts"
      },
      "meta": {
        "totalPages": 1
      }
    }
  ]
}

Response description

JSON TagDescription
successProcess success status represented as true or false
payloadTag carrying the response information
codeUnique bank identification code
dataTag carrying the response data of the accounts
accountTag carrying accounts information in the response
accountIdUnique bank account identification code
accountHolderNameFull name of the account holder
accountHolderShortNameShort name of the account holder
statusCurrent status of the account as active or inactive
currencyDefault currency of the account
nicknameNickname of the account holder
accountTypeType of the account
accountSubTypeSub-type of the account
accountIdentifiersAccount identifiers information tag
identificationTypeType of account identification
identificationUnique identification details
nameName of the account as per identification
servicerAccount servicer details tag
identificationTypeType of servicer account identification
identificationUnique servicer identification details
statusUpdateDateTimeEffective date and time of the last update of account information
descriptionDescription of the account information
openingDateDate of opening of the bank account
maturityDateDate of maturity of the bank account
ibanValidationStatus/result of IBAN Validation process for the account
linksRedirect link
selfOwn link/URL details
metaMeta tag
totalPagesInformation displayed in terms of pages

Get IBAN Verification Services by Account ID

Endpoint details

Endpoint URL

Method

Authentication requirements

/v1/api/observice/accountsById

POST

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

Sample request

{
  "dateTimeStamp": "2024-12-31T10:40:00+02:00",
  "requestID": "df797efb-b588-4234-8ae1-5cb748559830",
  "merchantId": "APIS-300505",
  "fromDate": "2016-01-01T10:40:00+02:00",
  "toDate": "2025-12-31T10:40:00+02:00",
  "ibanValidation" : true,
  "banks": [
    {
      "code": "SAMA",
      "consentId":"urn:SAMA:kac-5a166b7d-8cdb-443a-a67a-80ad7a5b95b3",
      "accountId": "100004000000000000000002",
      "iban":"SA0000000000000580000001"
    }
  ]
}

Request description

JSON Tag

Description

Data type

DateTimeStamp Mandatory

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

Date

RequestID
Mandatory

Unique request identification
UUID format

Alphanumeric

merchantId
Mandatory

Unique merchant identification
UUID format

Alphanumeric

fromDate
Mandatory

Initial date of transaction period
ISO 8601 format - YYYY-MM-DDTHH:MM:SS

Date

toDate
Mandatory

Final date of transaction period
ISO 8601 format - YYYY-MM-DDTHH:MM:SS

Date

ibanValidation
Mandatory

IBAN Validation service tag to be denoted as true

Boolean

banks
Mandatory

Array of banks and consents

Object

code
Mandatory

Unique bank identification code

Alphanumeric

consentId
Mandatory

Unique consent identification

String

accountId
Mandatory

Unique account identification

String

iban
Mandatory

Unique IBAN identification details with
XX Country Code and 0000000000000000000000 as account number

Alphanumeric

Sample response

{
  "payload": {
    "success": true,
    "payload": [
      {
        "code": "SAMA",
        "data": {
          "accountId": "100004000000000000000002",
          "account": {
            "accountHolderName": "Mitsuhirato",
            "accountHolderShortName": "Mitsuhirato",
            "status": "Active",
            "currency": "SAR",
            "nickname": "Mitsuhirato",
            "accountType": "KSAOB.Retail",
            "accountSubType": "CurrentAccount",
            "accountIdentifiers": [
              {
                "identificationType": "KSAOB.IBAN",
                "identification": "10000109010102",
                "name": "Luigi International"
              },
              {
                "identificationType": "KSAOB.IBAN",
                "identification": "10000109010102",
                "name": "Luigi International"
              }
            ],
            "servicer": {
              "identificationType": "KSAOB.BICFI",
              "identification": "10000109010101"
            },
            "statusUpdateDateTime": "2023-02-01T16:37:00.980Z",
            "description": "Account sub-type description",
            "openingDate": "2022-04-08T16:37:00.980Z",
            "maturityDate": "2023-11-29T16:37:00.980Z"
          }
        },
        "links": {
          "self": "https://rs1.lab.openbanking.sa/open-banking/account-information/2022.11.01-final-errata2/accounts/100004000000000000000002"
        },
        "meta": {
          "totalPages": 1
        },
        "ibanCheck": "failed"
      }
    ]
  }
}

Response description

JSON TagDescription
successProcess success status represented as true or false
payloadTag carrying the response information
codeUnique bank identification code
dataTag carrying the response data of the accounts
accountIdUnique bank account identification code
accountHolderNameFull name of the account holder
accountHolderShortNameShort name of the account holder
statusCurrent status of the account as active or inactive
currencyDefault currency of the account
nicknameNickname of the account holder
accountTypeType of the account
accountSubTypeSub-type of the account
accountIdentifiersAccount identifiers information tag
identificationTypeType of account identification
identificationUnique identification details
nameName of the account as per identification
servicerAccount servicer details tag
identificationTypeType of servicer account identification
identificationUnique servicer identification details
statusUpdateDateTimeEffective date and time of the last update of account information
descriptionDescription of the account information
openingDateDate of opening of the bank account
maturityDateDate of maturity of the bank account
linksRedirect link
selfOwn link/URL details
metaMeta tag
totalPagesInformation displayed in terms of pages
ibanValidationResult of the IBAN Validation process for the account