Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The beneficiaries resource is used by an AISP to retrieve the account beneficiaries information for a specific AccountId or to retrieve the beneficiaries' information in bulk for account(s) that the PSU customer has authorised to access.

...

S.No.

Resource

HTTP Operation

Endpoint

Mandatory

Scope

Grant Type

Idempotency Key

Parameter

Request Object

Response Object

2.1

beneficiaries

GET

GET /accounts/{AccountId}/beneficiaries

Conditional

accounts

Authorization Authorisation Code

No

 

 

OBReadBeneficiary

2.2

beneficiaries

GET

GET /beneficiaries

Conditional

accounts

Authorization Authorisation Code

No

Pagination

 

OBReadBeneficiary

...

In the case an ASPSP manages beneficiaries at a customer level (logged in user), instead of account level:

  • If a PSU customer selects multiple accounts for authorisation, then their beneficiaries apply consistently to all selected accounts (i.e., in the bulk endpoint /beneficiaries).If a different PSU selects the same accounts, a different set of beneficiaries could be returned.

This is the expected behaviour of the beneficiaries' endpoints, in the case an ASPSP manages beneficiaries at a customer level:

  • The bulk endpoint /beneficiaries will return the unique list of beneficiaries against the PSUcustomer. In this case, the AccountId in the OBReadBeneficiary payload would be set to NULL / empty (even if the PSU customer only has one account).

  • The selected account endpoint /accounts/{AccountId}/beneficiaries will return the beneficiaries that may be accessible to the AccountId, based on the PSUcustomer. In this case, the AccountId will be populated in the payload.

...

  • These objects must not be returned without the ReadBeneficiariesDetail permission:

    • OBReadBeneficiary/Data/Beneficiary/CreditorAgent

    • OBReadBeneficiary/Data/Beneficiary/CreditorAccount

  • If the ReadBeneficiariesDetail is granted by the PSUcustomer:

    • OBReadBeneficiary/Data/Beneficiary/CreditorAgent may be returned if applicable to the account and ASPSP (0..1)

    • OBReadBeneficiary/Data/Beneficiary/CreditorAccount must be returned (1..1)

If the ReadPAN permission is granted by the PSUc,ustomer, the ASPSP may choose to populate the OBReadBeneficiary/Data/Beneficiary/CreditorAccount/Identification with the unmasked PAN (if the PAN is being populated in the response).

...

Name

Occurrence

XPath

Definition

Class/ Datatype

Codes

Pattern

OBReadBeneficiary

 

OBReadBeneficiary

 

OBReadBeneficiary

 

 

Data

1..1

OBReadBeneficiary/Data

 

OBReadBeneficiary/Data

 

 

Beneficiary

0..n

OBReadBeneficiary/Data/Beneficiary

 

OBReadBeneficiary/Data/Beneficiary

 

 

AccountId

0..1

OBReadBeneficiary/Data/Beneficiary/AccountId

A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.

String

 

 

BeneficiaryId

0..1

OBReadBeneficiary/Data/Beneficiary/BeneficiaryId

A unique and immutable identifier used to identify the beneficiary resource. This identifier has no meaning to the account owner.

String

 

 

BeneficiaryType

0..1

OBReadBeneficiary/Data/Beneficiary/BeneficiaryType

Specifies the Beneficiary Type.

String

Enum:

  • Trusted

  • Ordinary

 

Reference

0..1

OBReadBeneficiary/Data/Beneficiary/Reference

Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.

String

 

 

SupplementaryData

0..1

OBReadBeneficiary/Data/Beneficiary/SupplementaryData

Additional information that cannot be captured in the structured fields and/or any other specific block.

OBSupplementaryData

 

 

CreditorAgent

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent

Party that manages the account on behalf of the account owner, that is manages the registration and booking of entries on the account, calculates balances on the account and provides information about the account. This is the servicer of the beneficiary account.

OBReadBeneficiary/Data/Beneficiary/CreditorAgent

 

 

SchemeName

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/SchemeName

Name of the identification scheme, in a coded form as published in an external list.

String

Enum:

  • BH.OBF.BICFIIBAN

 

Identification

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/Identification

Unique and unambiguous identification of the servicing institution.

String

 

 

Name

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/Name

Name by which an agent is known and which is usually used to identify that agent.

String

 

 

PostalAddress

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress

Information that locates and identifies a specific address, as defined by postal services.

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress

 

 

AddressType

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/AddressType

Identifies the nature of the postal address.

String

Enum:

  • Business

  • Correspondence

  • DeliveryTo

  • MailTo

  • POBox

  • Postal

  • Residential

  • Statement

 

Department

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/Department

Identification of a division of a large organisation or building.

String

 

 

SubDepartment

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/SubDepartment

Identification of a sub-division of a large organisation or building.

String

 

 

AddressLine

0..7

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/AddressLine

Information that locates and identifies a specific address, as defined by postal services, presented in free format text.

String

StreetName

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/StreetName

Name of a street or thoroughfare.

String

 

 

BuildingNumber

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/BuildingNumber

Number that identifies the position of a building on a street.

String

 

 

PostCode

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/PostCode

Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.

String

 

 

TownName

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/TownName

Name of a built-up area, with defined boundaries, and a local government.

String

 

 

CountrySubDivision

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/CountrySubDivision

Identifies a subdivision of a country such as state, region, country.

String

 

 

Country

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/Country

Nation with its own government.

String

 

^[A-Z]{2,2}$

AddressLine

0..7

OBReadBeneficiary/Data/Beneficiary/CreditorAgent/PostalAddress/AddressLine

Information that locates and identifies a specific address, as defined by postal services, presented in free format text.

String

 

 

CreditorAccount

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAccount

Provides the details to identify the beneficiary account.

OBReadBeneficiary/Data/Beneficiary/CreditorAccount

 

 

SchemeName

1..1

OBReadBeneficiary/Data/Beneficiary/CreditorAccount/SchemeName

Name of the identification scheme, in a coded form as published in an external list.

OBExternalAccountIdentificationCode

Enum:

  • BH.OBF.BBANBH.OBF.IBANBH.OBF.PAN

 

Identification

1..1

OBReadBeneficiary/Data/Beneficiary/CreditorAccount/Identification

Identification assigned by an institution to identify an account. This identification is known by the account owner.

String

 

 

Name

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAccount/Name

The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.

String

 

 

SecondaryIdentification

0..1

OBReadBeneficiary/Data/Beneficiary/CreditorAccount/SecondaryIdentification

This is secondary identification of the account, as assigned by the account servicing institution. This can be used by building societies to additionally identify accounts with a roll number (in addition to a sort code and account number combination).

String

 

 

 

4.      Usage Example

...

4.1.1     Get Beneficiaries Request

GET /beneficiaries

AuthorizationAuthorisation: Bearer 4ZopnFZFKjr5zDsicSQpLL

x-fapi-auth-date: Tue, 18 Mar 2020 19:43:31 GMT+03:00

x-fapi-customer-ip-address: 204.35.213.15

x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f

Accept: application/json

...

{
  "Data": {
    "Beneficiary": [
      {
        "AccountId": "00345897",
        "BeneficiaryId": "2247",
        "Reference": "Installment",
        "CreditorAccount": {
        "SchemeName": "BH.OBF.IBAN",
        "Identification": "BH10XYZU00100000005698",
        "Name": "Sonia”      },
      {
        "AccountId": "0012789",
        "BeneficiaryId": "1567",
        "Reference": "Investment",
        "CreditorAccount": {
        "SchemeName": "BBANBH.OBF.IBAN",
        "Identification": " BH10XYZU00100000008876",
        "Name": "Asif Khan",
      }
      }
    ]
  },
 "Links": {
    "Self": "www.TBC.com"
  },
  "Meta": {
    "TotalPages": 01,
    "FirstAvailableDateTime": "2020-03-24T09:10:17.596Z"596+03:00”,
    "LastAvailableDateTime": "2020-03-24T09:10:17.596Z"596+03:00”
  }
} 

4.2.       Specific Account

...

GET /accounts/00345897/beneficiaries

AuthorizationAuthorisation: Bearer 4ZopnFZFKjr5zDsicSQpLL

x-fapi-auth-date: Tue, 24 Mar 2020 19:43:31 GMT+03:00

x-fapi-customer-ip-address: 204.35.213.15

x-fapi-interaction-id: 75bdc714-b2dg-7676-c759-780d6815689f

Accept: application/json

...

{

  "Data": {

    "Beneficiary": [

      {

        "AccountId": "00345897",

        "BeneficiaryId": "2247",

        "Reference": "Investment",

        "CreditorAgent": {

        "SchemeName": "BH.OBF.IBAN",

        "Identification": "USU00100000008984736",

        "Name": "Joseph Niel",

        "PostalAddress": {

          "AddressType": "Business",

          "Department": "TO_BE_CONFIRMED",

                  "SubDepartment": "TO_BE_CONFIRMED",

                  "StreetNameAddressLine": "6",          Four Seasons Hotel”

        "BuildingNumber": "54Building 555",

          "PostCode": "80822",

          "TownName": "Colarado",

          "CountrySubDivision": "Colarado",

                  “RoadNumber”: “Road 4612”,
        “BlockNumber”: “Block 423”,

        "City": "Hamala",
        "Country": "USA",

          "AddressLine": [

            "Block 3A, Building 54"

          ]

Bahrain",

        }

      },

        "CreditorAccount": {

        "SchemeName": "BH.OBF.IBAN",

        "Identification": "BH10XYZU00100000005698",

        "Name": "Sonia",

      },

      }

    ]

  },

 "Links": {

    "Self": "www.TBC.com"

  },

  "Meta": {

    "TotalPages": 02,

    "FirstAvailableDateTime": "2020-03-24T09:10:17.596Z"596+03:00”,

    "LastAvailableDateTime": "2020-03-24T09:10:17.596Z"596+03:00”

  }

}