Parties

1. Version Control

Version

Date

Description of Changes

Bahrain OBF v1.0.0

28th Oct 2020

Initial Release

2. Overview

The parties resource is used by an AISP to retrieve the details on the account owner(s)/holder(s) and operator(s) for a specific account identified by AccountId.

The party resource is used by an AISP to retrieve the details on the account owner/holder for a specific account identified by AccountId:

  • In the case of a business, this will be the details of the business

  • In the case of joint accounts, this will be the details of the account owners/holders

This resource description is developed specifically focusing on corporate accounts and is optional for ASPSP to implement.

3. Endpoints

S. No.

Resource

HTTP Operation

Endpoint

Mandatory

Scope

Grant Type

Idempotency Key

Parameters

Request Object

Response Object

3.1

parties

GET

GET /accounts/{AccountId}/parties

Optional

accounts

Authorisation Code

No

 

 

OBReadParties

3.2

parties

GET

GET /accounts/{AccountId}/party

Optional

accounts

Authorisation Code

No

 

 

OBReadParty

3.3

parties

GET

GET /party

Optional

accounts

Authorisation Code

No

 

 

OBReadParty

3.1 GET /accounts/{AccountId}/parties

If the ASPSP has chosen to implement the /accounts/{AccountId}/parties endpoint, the ASPSP may return details on the account owner(s)/holder(s) and operator(s).

3.2 GET /accounts/{AccountId}/party

If the ASPSP has chosen to implement the /accounts/{AccountId}/party endpoint, the ASPSP must return details on the account owner/holder:

  • In the case of a business, this will be the details of the business

3.3 GET /party

If the ASPSP has chosen to implement the /party endpoint, the ASPSP must return details on the user that has authorised the account-access-consent with the ASPSP:

  • In the case of a business account, this will be the details of the party that has given authorisation to the AISP to view the account

4. Data Models

The Data Dictionary section gives the detail on the payload content for the Party endpoints.

4.1 OBPartyDetail

This section describes the OBPartyDetail class which is reused as the Party resource in the OBReadParty and OBReadParties payloads. The Party resource contains a set of elements that describes a party. The party may be linked to a specific account.

4.1.1 UML Diagram

 

4.1.2 Notes

  • Each ASPSP must determine appropriate format for the full legal name. This format should be documented on ASPSP developer portals

4.1.3 Data Dictionary

Name

Occurrence

XPath

Enhanced Definition

Class/ Datatype

Codes

Pattern

OBPartyDetail

 

OBPartyDetail

 

OBPartyDetail

 

 

PartyId

1..1

OBPartyDetail/PartyId

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

String

 

 

PartyNumber

0..1


OBPartyDetail/PartyNumber

 

Number assigned by an agent to identify its user/customer

String

 

 

PartyType

0..1

OBPartyDetail/PartyType

Party Type

String

Enum

  • Delegate

  • Joint

  • Sole

 

Name

0..1

OBPartyDetail/Name

Name by which a party is known and which is usually used to identify that party

String

 

 

FullLegalName

0..1

OBPartyDetail/FullLegalName

The full legal name of the party

String

 

 

LegalStructure

0..1

OBPartyDetail/LegalStructure

Legal standing of the party

String

  • Enum: (Indicative)

  • BH.OBF.CIC

  • BH.OBF.CIO

  • BH.OBF.Charity

  • BH.OBF.CoOp

  • BH.OBF.GeneralPartnership

  • BH.OBF.Individual

  • BH.OBF.LimitedLiabilityPartnership

  • BH.OBF.LimitedPartnership

  • BH.OBF.PrivateLimitedCompany

  • BH.OBF.PublicLimitedCompany

  • BH.OBF.Sole   

 

BeneficialOwnership

0..1

OBPartyDetail/BeneficialOwnership

A flag to indicate a party's beneficial ownership of the related account

xs:boolean

 

 

AccountRole

0..1

OBPartyDetail/AccountRole


A party's role with respect to the related account

 

String

Enum: (Indicative)

  • BH.OBF.Administrator

  • BH.OBF.Beneficiary

  • BH.OBF.CustodianForMinor

  • BH.OBF.Granter

  • BH.OBF.LegalGuardian

  • BH.OBF.OtherParty

  • BH.OBF.PowerOfAttorney

  • BH.OBF.Principal

  • BH.OBF.Protector

  • BH.OBF.RegisteredSharedName

 

EmailAddress

0..1

OBPartyDetail/EmailAddress

Address for electronic mail (e-mail)

String

 

 

Phone

0..1

OBPartyDetail/Phone

Collection of information that identifies a phone number as defined by telecom services

String

 

+[0-9]{1,3}-[0-9()+-]{1,30}

Mobile

0..1

OBPartyDetail/Mobile

Collection of information that identifies a mobile phone number as defined by telecom services

String

 

+[0-9]{1,3}-[0-9()+-]{1,30}

Relationships

0..1

OBPartyDetail/Relationships

The Party's relationships with other resources

OBPartyDetail/Relationships

 

 

Account

0..1

OBPartyDetail/Relationships/Account

 

Relationship to the Account resource

 

OBPartyDetail/Relationships/Account

 

 

Related

1..1

OBPartyDetail/Relationships/Account/Related

Absolute URI to the related resource

String

 

 

Id

1..1

OBPartyDetail/Relationships/Account/Id

Unique identification as assigned by the ASPSP to uniquely identify the related resource

String

 

 

Address

0..n

OBPartyDetail/Address

Postal address of a party

OBPartyDetail/Address

 

 

AddressType

0..1

OBPartyDetail/Address/AddressType

Identifies the nature of the postal address

String

Enum:

  • Business

  • Correspondence

  • DeliveryTo

  • MailTo

  • POBox

  • Postal

  • Residential

 

AddressLine

0..7

OBPartyDetail/Address/AddressLine

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

String

 

 

StreetName

0..1

OBPartyDetail/Address/StreetName

Number of a street or thoroughfare

String

 

 

BuildingNumber

0..1

OBPartyDetail/Address/BuildingNumber

Number that identifies the position of a building on a street

String

 

 

PostCode

0..1

OBPartyDetail/Address/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

OBPartyDetail/Address/TownName

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

String

 

 

CountrySubDivision

0..1

OBPartyDetail/Address/CountrySubDivision

Identifies a subdivision of a country such as state, region, and county

String

 

 

Country

0..1

OBPartyDetail/Address/Country

Nation with its own government

String

 

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

4.2 OBReadParty

The OBReadParty object will be used for the call to:

  • GET /accounts/{AccountId}/party

  • GET /party

The response to GET /accounts/{AccountId}/party and GET /party (if available) must contain at most one party.

4.2.1        UML Diagram

 

4.2.2        Data Dictionary

Name

Occurrence

XPath

Enhanced Definition

Class/ Datatype

Codes

Pattern

OBReadParty

 

OBReadParty

 

OBReadParty

 

 

Data

1..1

OBReadParty/Data

 

OBReadParty/Data

 

 

Party

0..1

OBReadParty/Data/Party

 

OBPartyDetail

 

 

4.3 OBReadParties

The OBReadParties object will be used for the call to:

  • GET /accounts/{AccountId}/parties

The response to GET /accounts/{AccountId}/parties may contain multiple parties.

4.3.1 UML Diagram

 

4.3.2 Data Dictionary

Name

Occurrence

XPath

Enhanced Definition

Class/ Datatype

Codes

Pattern

OBReadParties

 

OBReadParties

 

OBReadParties

 

 

Data

1..1

OBReadParties/Data

 

OBReadParties/Data

 

 

Party

0..n

OBReadParties/Data/Party

 

OBPartyDetail

 

 

4.4 Permission Codes

The ReadParty permission is required to access GET /accounts/{AccountId}/party or GET /accounts/{AccountId}/parties. The resource response payload does not differ depending on the permissions granted.

The ReadPartyCustomer permission is required to access GET /party. The resource response payload does not differ depending on the permissions granted.

5. Usage Example

5.1 All Parties

5.1.1 Get Account Parties Request

GET /accounts/00345897/parties

Authorisation: 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

5.1.2 Get Account Parties Response

200 OK

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

Content-Type: application/json

{

  "Data": {

    "Party": [

      {

        "PartyId": "Party07",

        "PartyNumber": "6798",

        "PartyType": "Sole",

        "Name": "Ali Hassan Mohammed”,

        "FullLegalName": "XYZ Limited",

        "LegalStructure": "BH.OBF.XYZLimited",

        "BeneficialOwnership": true,

        "AccountRole": "BH.OBF.Principal",

        "EmailAddress": "contact@xyz.com",

        "Relationships": {

          "Account": {

            "Related": "www.TBC.com",

            "Id": "7985"

          }

        },

        "Address": [

          {

            "AddressType": "Business",

            "AddressLine": "ABC Bank, Diplomatic Area”

            "BuildingNumber": "Building 152",

            “RoadNumber”: “Road 1703”,

            “BlockNumber”: “Block 317”,

            "City": "Manama",

            "Country": "Bahrain",

          }

        ]

      },

      {

        "PartyId": "Party08",

        "PartyNumber": "6799",

        "PartyType": "Delegate",

        "Name": "Khalid Ahmed Ali",

        "FullLegalName": "Khalid Ahmed Ali",

        "LegalStructure": "BH.OBF.Individual",

        "BeneficialOwnership": true,

        "AccountRole": "BH.OBF.Administrator",

        "EmailAddress": "khalid@xyz.com",

        "Relationships": {

          "Account": {

            "Related": "www.TBC.com",

            "Id": "7995"

          }

        },

      }

    ]

  },

"Links": {

    "Self": "www.TBC.com"

  },

  "Meta": {

    "TotalPages": 01,

    "FirstAvailableDateTime": "2020-03-26T09:10:17.596+03:00”,

    }

}

5.2 Account Owner

5.2.1 Get Account Party Request

GET /accounts/00345897/party

Authorisation: 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

5.2.2 Get Account Party Response

200 OK

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

Content-Type: application/json

{

  "Data": {

    "Party": [

      {

        "PartyId": "Party07",

        "PartyNumber": "6798",

        "PartyType": "Sole",

        "Name": "XYZ",

        "FullLegalName": "XYZ Limited",

        "LegalStructure": "BH.OBF.XYZLimited",

        "BeneficialOwnership": true,

        "AccountRole": "BH.OBF.Principal",

        "EmailAddress": "contact@xyz.com",

        "Relationships": {

          "Account": {

            "Related": "www.TBC.com",

            "Id": "7985"

          }

        },

        "Address": [

          {

            "AddressType": "Business",

            "AddressLine": "ABC Bank, Diplomatic Area”

            "BuildingNumber": "Building 152",

            “RoadNumber”: “Road 1703”,

            “BlockNumber”: “Block 317”,

            "City": "Manama",

            "Country": "Bahrain",

             }

        ]

      },

    ]

  },

"Links": {

    "Self": "www.TBC.com"

  },

  "Meta": {

    "TotalPages": 01

    }

}

5.3 Authorised User

5.3.1 Get Party Request

GET /party

Authorisation: 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

5.3.2 Get Account Party Response

200 OK

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

Content-Type: application/json

{

  "Data": {

    "Party": [

      {

        "PartyId": "Party08",

        "PartyNumber": "6799",

        "PartyType": "Delegate",

        "Name": "Khalid Ahmed Ali",

        "FullLegalName": "Khalid Ahmed Ali",

        "LegalStructure": "BH.OBF.Individual",

        "BeneficialOwnership": true,

        "AccountRole": "BH.OBF.Administrator",

        "EmailAddress": "khalid@xyz.com",

        "Relationships": {

          "Account": {

            "Related": "www.TBC.com",

            "Id": "7995"

          }

        },

      }

    ]

  },

"Links": {

    "Self": "www.TBC.com"

  },

  "Meta": {

    "TotalPages": 01,

    }

}

 

 

CENTRAL BANK OF BAHRAIN © 2020