openapi: 3.0.0
info:
title: UAE Account Information API
description: '## UAE Open Finance Account Information API Specification'
version: v1.12
servers:
- url: /open-finance/account-information/v1.12
tags:
- name: Account Access
description: Account Access Consents Resource
- name: Accounts
description: Accounts Resource
- name: Balances
description: Balances Resource
- name: Beneficiaries
description: Beneficiaries Resource
- name: Direct Debits
description: Direct Debits Resource
- name: Product
description: Product Resource
- name: Scheduled Payments
description: Scheduled Payments Resource
- name: Standing Orders
description: Standing Orders Resource
- name: Transactions
description: Transactions Resource
- name: Consents
description: Consents Resource
- name: Parties
description: Parties Resource
paths:
/account-access-consents:
get:
tags:
- Account Access
summary: Retrieve Account Access Consents by BaseConsentId
description: |
Retrieve all Account Access Consents for an BaseConsentId
operationId: GetAccountAccessConsentsByBaseConsentId
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/x-customer-user-agent'
- $ref: '#/components/parameters/baseConsentId'
responses:
'200':
$ref: '#/components/responses/200BaseConsentIdConsentsRetrieve'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'404':
$ref: '#/components/responses/404Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'415':
$ref: '#/components/responses/415Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- TPPOAuth2Security:
- openid
- accounts
/account-access-consents/{ConsentId}:
get:
tags:
- Account Access
summary: Get Account Access Consents
description: |
Retrieve Account Access Consents
operationId: GetAccountAccessConsentsConsentId
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/ConsentId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountAccessConsentsConsentIdRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- TPPOAuth2Security:
- openid
- accounts
patch:
tags:
- Account Access
summary: Patch Consent
description: |
Update and Account Access Consent Status or Webhook Subscription
operationId: PatchAccountAccessConsentsConsentId
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/ConsentId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/x-customer-user-agent'
requestBody:
description: |
Request Body
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEPatchConsent'
application/json:
schema:
$ref: '#/components/schemas/AEPatchConsent'
application/jwt:
schema:
$ref: '#/components/schemas/AEPatchConsentSigned'
responses:
'204':
$ref: '#/components/responses/204AccountAccessConsentsConsentIdDeleted'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'415':
$ref: '#/components/responses/415Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- TPPOAuth2Security:
- openid
- accounts
/accounts:
get:
tags:
- Accounts
summary: Get Accounts
description: >
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadAccountsBasic
* ReadAccountsDetail
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
operationId: GetAccounts
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- UserOAuth2Security:
- openid
- accounts
/accounts/{AccountId}:
get:
tags:
- Accounts
summary: Get an Account
description: >
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadAccountsBasic
* ReadAccountsDetail
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
operationId: GetAccountsAccountId
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsAccountIdRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- UserOAuth2Security:
- openid
- accounts
/accounts/{AccountId}/balances:
get:
tags:
- Balances
summary: Get Balances
description: >
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadBalances
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
operationId: GetAccountsAccountIdBalances
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsAccountIdBalancesRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- UserOAuth2Security:
- openid
- accounts
/accounts/{AccountId}/beneficiaries:
get:
tags:
- Beneficiaries
summary: Get Beneficiaries
description: >
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadBeneficiariesBasic
* ReadBeneficiariesDetail
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
operationId: GetAccountsAccountIdBeneficiaries
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsAccountIdBeneficiariesRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- UserOAuth2Security:
- openid
- accounts
/accounts/{AccountId}/direct-debits:
get:
tags:
- Direct Debits
summary: Get Direct Debits
description: >
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadDirectDebits
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
operationId: GetAccountsAccountIdDirectDebits
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsAccountIdDirectDebitsRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'404':
$ref: '#/components/responses/404Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- UserOAuth2Security:
- openid
- accounts
/accounts/{AccountId}/product:
get:
tags:
- Product
summary: Get Product for an Account
description: >
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadProduct
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
operationId: GetAccountsAccountIdProduct
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsAccountIdProductRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'404':
$ref: '#/components/responses/404Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- UserOAuth2Security:
- openid
- accounts
/accounts/{AccountId}/scheduled-payments:
get:
tags:
- Scheduled Payments
summary: Get Scheduled Payments
description: >
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadScheduledPaymentsBasic
* ReadScheduledPaymentsDetail
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
operationId: GetScheduledPayments
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsAccountIdScheduledPaymentsRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'404':
$ref: '#/components/responses/404Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- UserOAuth2Security:
- openid
- accounts
/accounts/{AccountId}/standing-orders:
get:
tags:
- Standing Orders
summary: Get Standing Orders
description: >
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadStandingOrdersBasic
* ReadStandingOrdersDetail
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
operationId: GetAccountsAccountIdStandingOrders
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsAccountIdStandingOrdersRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'404':
$ref: '#/components/responses/404Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- UserOAuth2Security:
- openid
- accounts
/accounts/{AccountId}/transactions:
get:
tags:
- Transactions
summary: Get Transactions
description: >
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadTransactionsBasic
* ReadTransactionsDetail
* ReadTransactionsCredits
* ReadTransactionsDebits
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
operationId: GetAccountsAccountIdTransactions
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/x-customer-user-agent'
- $ref: '#/components/parameters/FromBookingDateTimeParam'
- $ref: '#/components/parameters/ToBookingDateTimeParam'
responses:
'200':
$ref: '#/components/responses/200AccountsAccountIdTransactionsRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- UserOAuth2Security:
- openid
- accounts
/accounts/{AccountId}/consents:
get:
tags:
- Consents
summary: Get Consents
description: >
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadConsents
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
operationId: GetAccountsAccountIdConsents
parameters:
- $ref: '#/components/parameters/AccountId'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-customer-user-agent'
responses:
'200':
$ref: '#/components/responses/200AccountsAccountIdConsentsRead'
'400':
$ref: '#/components/responses/400Error'
'401':
$ref: '#/components/responses/401Error'
'403':
$ref: '#/components/responses/403Error'
'404':
$ref: '#/components/responses/404Error'
'405':
$ref: '#/components/responses/405Error'
'406':
$ref: '#/components/responses/406Error'
'429':
$ref: '#/components/responses/429Error'
'500':
$ref: '#/components/responses/500Error'
security:
- UserOAuth2Security:
- openid
- accounts
/accounts/{AccountId}/parties:
get:
tags:
- Parties
operationId: PartiesByAccountId_read
summary: Get Parties for an Account
description: >-
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadParty
* ReadPartyUser
* ReadPartyUserIdentity
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-customer-user-agent'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
- $ref: '#/components/parameters/AccountId'
responses:
'200':
description: The request has succeeded.
headers:
x-fapi-interaction-id:
required: false
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadParty2'
application/json:
schema:
$ref: '#/components/schemas/AEReadParty2'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadParty2Signed'
'400':
description: Bad request
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEErrorSignedResponse'
'401':
description: Unauthorized
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'403':
description: Forbidden
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEErrorSignedResponse'
'404':
description: Not found
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'405':
description: Method Not Allowed
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'406':
description: Not Acceptable
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'415':
description: Unsupported Media Type
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'429':
description: Too Many Requests
headers:
retry-after:
required: true
description: Number in seconds to wait
schema:
type: integer
format: int64
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'500':
description: Internal Server Error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEErrorSignedResponse'
security:
- UserOAuth2Security:
- openid
- accounts
/parties:
get:
tags:
- Parties
operationId: Parties_read
summary: Get Parties
description: >-
**The list below outlines the Consent Permissions that are applicable to
this resource:**
* ReadParty
* ReadPartyUser
* ReadPartyUserIdentity
Refer to *Customer Experience Guidelines*, *Account Information*, *Data
Groups* for further information.
parameters:
- $ref: '#/components/parameters/Authorization'
- $ref: '#/components/parameters/x-customer-user-agent'
- $ref: '#/components/parameters/x-fapi-auth-date'
- $ref: '#/components/parameters/x-fapi-customer-ip-address'
- $ref: '#/components/parameters/x-fapi-interaction-id'
responses:
'200':
description: The request has succeeded.
headers:
x-fapi-interaction-id:
required: false
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadParty4'
application/json:
schema:
$ref: '#/components/schemas/AEReadParty4'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadParty4Signed'
'400':
description: Bad request
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEErrorSignedResponse'
'401':
description: Unauthorized
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'403':
description: Forbidden
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEErrorSignedResponse'
'404':
description: Not found
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'405':
description: Method Not Allowed
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'406':
description: Not Acceptable
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'415':
description: Unsupported Media Type
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'429':
description: Too Many Requests
headers:
retry-after:
required: true
description: Number in seconds to wait
schema:
type: integer
format: int64
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'500':
description: Internal Server Error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEErrorSignedResponse'
security:
- UserOAuth2Security:
- openid
- accounts
components:
responses:
TPPWebhookResponse:
description: Response Status Code
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
schema:
type: string
required: true
403Error:
description: Forbidden
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEErrorResponseSigned'
404Error:
description: Not found
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
405Error:
description: Method Not Allowed
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
406Error:
description: Not Acceptable
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
415Error:
description: Unsupported Media Type
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
429Error:
description: Too Many Requests
headers:
Retry-After:
description: Number in seconds to wait
schema:
type: integer
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
schema:
type: string
500Error:
description: Internal Server Error
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEErrorResponseSigned'
401Error:
description: Unauthorized
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
400Error:
description: Bad request
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/json:
schema:
$ref: '#/components/schemas/AEErrorResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEErrorResponseSigned'
200AccountsAccountIdDirectDebitsRead:
description: Direct Debits Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadDirectDebit'
application/json:
schema:
$ref: '#/components/schemas/AEReadDirectDebit'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadDirectDebitSigned'
200AccountsAccountIdStandingOrdersRead:
description: Standing Orders Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadStandingOrder'
application/json:
schema:
$ref: '#/components/schemas/AEReadStandingOrder'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadStandingOrderSigned'
200AccountsAccountIdScheduledPaymentsRead:
description: Scheduled Payments Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadScheduledPayment'
application/json:
schema:
$ref: '#/components/schemas/AEReadScheduledPayment'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadScheduledPaymentSigned'
200AccountsAccountIdBeneficiariesRead:
description: Beneficiaries Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadBeneficiary'
application/json:
schema:
$ref: '#/components/schemas/AEReadBeneficiary'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadBeneficiarySigned'
200AccountsAccountIdTransactionsRead:
description: Transactions Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadTransaction'
application/json:
schema:
$ref: '#/components/schemas/AEReadTransaction'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadTransactionSigned'
200AccountsAccountIdProductRead:
description: Product Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadProduct1'
application/json:
schema:
$ref: '#/components/schemas/AEReadProduct1'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadProduct1Signed'
200AccountsAccountIdBalancesRead:
description: Balances Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadBalance'
application/json:
schema:
$ref: '#/components/schemas/AEReadBalance'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadBalanceSigned'
200AccountsAccountIdRead:
description: Account ID Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadAccountId'
application/json:
schema:
$ref: '#/components/schemas/AEReadAccountId'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadAccountIdSigned'
204AccountAccessConsentsConsentIdDeleted:
description: No Content
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
200AccountAccessConsentsConsentIdRead:
description: Account Access Consents Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadConsentResponse'
application/json:
schema:
$ref: '#/components/schemas/AEReadConsentResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadConsentResponseSigned'
200AccountsRead:
description: Accounts Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadAccount'
application/json:
schema:
$ref: '#/components/schemas/AEReadAccount'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadAccountSigned'
200AccountsAccountIdConsentsRead:
description: Consents Read
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadConsent'
application/json:
schema:
$ref: '#/components/schemas/AEReadConsent'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadConsentSigned'
200BaseConsentIdConsentsRetrieve:
description: Retrieve Payment Consents by BaseConsentId
headers:
x-fapi-interaction-id:
description: An RFC4122 UID used as a correlation id.
required: true
schema:
type: string
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEConsentsByBaseConsentIdResponse'
application/json:
schema:
$ref: '#/components/schemas/AEConsentsByBaseConsentIdResponse'
application/jwt:
schema:
$ref: '#/components/schemas/AEConsentsByBaseConsentIdResponseSigned'
schemas:
Jwt:
description: >
[https://www.rfc-editor.org/rfc/rfc7519](https://www.rfc-editor.org/rfc/rfc7519)
type: object
properties:
iss:
description: >
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
type: string
exp:
description: >
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
type: number
nbf:
description: >
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
type: number
aud:
description: >
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
type: array
items:
type: string
iat:
description: >
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
type: number
required:
- iss
- exp
- nbf
additionalProperties: false
AEReadConsentResponseSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadConsentResponse'
required:
- message
additionalProperties: false
AEConsentsByBaseConsentIdResponseSigned:
description: |
Payment Consents By BaseConsentId Response Signed Schema
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
type: array
items:
$ref: '#/components/schemas/AEReadConsentResponse'
required:
- message
additionalProperties: false
AEErrorResponseSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEErrorResponse'
required:
- message
additionalProperties: false
WebhookEventSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/WebhookEvent'
required:
- message
additionalProperties: false
AEReadAccountSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadAccount'
required:
- message
additionalProperties: false
AEReadAccountIdSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadAccountId'
required:
- message
additionalProperties: false
AEReadBalanceSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadBalance'
required:
- message
additionalProperties: false
AEReadBeneficiarySigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadBeneficiary'
required:
- message
additionalProperties: false
AEReadDirectDebitSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadDirectDebit'
required:
- message
additionalProperties: false
AEReadProduct1Signed:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadProduct1'
required:
- message
additionalProperties: false
AEReadScheduledPaymentSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadScheduledPayment'
required:
- message
additionalProperties: false
AEReadStandingOrderSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadStandingOrder'
required:
- message
additionalProperties: false
AEReadTransactionSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadTransaction'
required:
- message
additionalProperties: false
EventNotification:
type: object
description: |
A Webhook Subscription Schema
required:
- Webhook
properties:
Webhook:
description: |
A Webhook Schema
type: object
properties:
Url:
description: |
The TPP Callback URL being registered with the LFI
type: string
example: https://api.tpp.com/webhook/callbackUrl
IsActive:
description: >
The TPP specifying whether the LFI should send (IsActive true)
or not send (IsActive false) Webhook Notifications to the TPP's
Webhook URL
type: boolean
example: false
additionalProperties: false
additionalProperties: false
WebhookEvent:
type: object
description: Webhook Event
required:
- Data
- EventMeta
properties:
Data:
type: object
description: >-
Event Data. This Data Object will contain the same API resource and
Schema that has triggered the Event.
additionalProperties: false
Links:
$ref: '#/components/schemas/LinksSelf'
EventMeta:
type: object
description: Event Metadata
required:
- EventDateTime
- EventResource
- EventType
- ConsentId
properties:
EventDateTime:
type: string
format: date-time
description: Date Time of the first Event in the Message
EventResource:
type: string
description: The API resource to which the Event itself is associated
example: /accounts/123
EventType:
type: string
enum:
- Resource.Created
- Resource.Updated
- Resource.Deleted
description: The Type of Event
ConsentId:
description: >-
Unique identification as assigned to identify the consents
resource.
type: string
minLength: 1
maxLength: 128
additionalProperties: false
additionalProperties: false
OnBehalfOf:
type: object
description: On Behalf Of
properties:
TradingName:
type: string
description: Trading Name
example: Acme Accounting Trading Name
LegalName:
type: string
description: Legal Name
example: Acme Accounting Legal Name
IdentifierType:
type: string
description: Identifier Type
enum:
- Other
Identifier:
type: string
description: Identifier
example: abcd1234
additionalProperties: false
AEErrorResponse:
description: >-
An array of detail error codes, and messages, and URLs to documentation
to help remediation.
type: object
properties:
Errors:
items:
$ref: '#/components/schemas/AEError'
type: array
minItems: 1
required:
- Errors
additionalProperties: false
AEError:
description: Error
type: object
properties:
Code:
description: Low level textual error code, e.g., Field.Missing
type: string
enum:
- AccessToken.Unauthorized
- AccessToken.InvalidScope
- Consent.Revoked
- Consent.TransientAccountAccessFailure
- Consent.AccountTemporarilyBlocked
- Consent.PermanentAccountAccessFailure
- Consent.Invalid
- JWS.InvalidSignature
- JWS.Malformed
- JWS.InvalidClaim
- JWS.InvalidHeader
- GenericRecoverableError
- GenericError
- JWE.DecryptionError
- JWE.InvalidHeader
- Event.UnexpectedEvent
- Body.InvalidFormat
- Resource.InvalidResourceId
- Resource.InvalidFormat
- Consent.BusinessRuleViolation
Message:
description: >-
A description of the error that occurred. e.g., 'A mandatory field
isn't supplied' or 'RequestedExecutionDateTime must be in future'
UAEOF doesn't standardise this field
type: string
minLength: 1
maxLength: 500
Path:
description: >-
Recommended but optional reference to the JSON Path of the field
with error, e.g., Data.Initiation.InstructedAmount.Currency
type: string
minLength: 1
maxLength: 500
Url:
description: >-
URL to help remediate the problem, or provide more information, or
to API Reference, or help etc
type: string
required:
- Code
- Message
additionalProperties: false
minProperties: 1
LinksSelf:
type: object
description: Links relevant to the resource
required:
- Self
properties:
Self:
$ref: '#/components/schemas/Self'
additionalProperties: false
Links:
description: Links relevant to the resource
required:
- Self
properties:
Self:
$ref: '#/components/schemas/Self'
First:
$ref: '#/components/schemas/First'
Prev:
$ref: '#/components/schemas/Prev'
Next:
$ref: '#/components/schemas/Next'
Last:
$ref: '#/components/schemas/Last'
additionalProperties: false
Meta:
type: object
description: Meta Data relevant to the resource
additionalProperties: false
MetaTotalPages:
description: Meta Data relevant to the resource
type: object
required:
- TotalPages
properties:
TotalPages:
$ref: '#/components/schemas/TotalPages'
additionalProperties: false
MetaTransactions:
description: Meta Data relevant to the resource
type: object
required:
- TotalPages
properties:
TotalPages:
$ref: '#/components/schemas/TotalPages'
FirstAvailableDateTime:
$ref: '#/components/schemas/ISODateTime'
LastAvailableDateTime:
$ref: '#/components/schemas/ISODateTime'
additionalProperties: false
Self:
description: A link to the current resource
type: string
format: uri
First:
description: A link to the first page in a paginated result set
type: string
format: uri
Prev:
description: A link to the previous page in a paginated result set
type: string
format: uri
Next:
description: A link to the next page in a paginated result set
type: string
format: uri
Last:
description: A link to the last page in a paginated result set
type: string
format: uri
TotalPages:
description: Total number of Pages where a result set is paginated
type: integer
format: int32
minimum: 0
TransactionDateTime:
description: >
The Date Time of when the transaction occurred.
All dates in the JSON payloads are represented in ISO 8601 date-time
format.
All date-time fields in responses must include the timezone.
An example is below: 2017-04-05T10:43:07+00:00
type: string
format: date-time
PaymentMode:
description: The mode of payment
type: string
enum:
- Online
- Offline
- Batch
TransactionType:
description: The type of transaction
type: string
enum:
- POS
- ECommerce
- ATM
- BillPayments
- LocalBankTransfer
- SameBankTransfer
- InternationalTransfer
- Teller
- Cheque
- Other
SubTransactionType:
description: The sub-type of a transaction
type: string
enum:
- Purchase
- Reversal
- Refund
- Withdrawal
- WithdrawalReversal
- Deposit
- DepositReversal
- MoneyTransfer
- NotApplicable
Flags:
description: The flag of a transaction
type: string
enum:
- Cashback
- Payroll
- DirectDebit
- StandingOrder
- Loan
- Dividend
AccountHolderName:
type: string
description: >
* /accounts resource
The Account Holder Name is the name or names of the Account owner(s)
represented at the account level
* /accounts/{AccountId} resource
The Account Holder Name is the name or names of the Account owner(s)
represented at the account level
* /beneficiaries resource
The Account Holder Name is the name or names of the Beneficiary account
owner(s) represented at the account level, as displayed by the Creditor
Agent's online channels and as provided by the Beneficiary to the User 1
when adding the Beneficiary in the Beneficiary list.
Note, the Account Holder Name is not the product name or the nickname of
the account.
* /scheduled-payments resource
The Account Holder Name is the name or names of the Beneficiary account
owner(s) represented at the account level, as displayed by the Creditor
Agent's online channels and as provided by the Beneficiary to the User 1
when adding the Beneficiary in the Beneficiary list.
Note, the Account Holder Name is not the product name or the nickname of
the account.
* /standing-orders resource
The Account Holder Name is the name or names of the Beneficiary account
owner(s) represented at the account level, as displayed by the Creditor
Agent's online channels and as provided by the Beneficiary to the User 1
when adding the Beneficiary in the Beneficiary list.
Note, the Account Holder Name is not the product name or the nickname of
the account.
AccountHolderShortName:
type: string
description: |
* /accounts resource
The Account holder nick name
* /accounts/{AccountId} resource
The Account holder nick name
* /beneficiaries resource
The Beneficiary account holder nick name
* /scheduled-payments resource
The Beneficiary account holder nick name
* /standing-orders resource
The Beneficiary account holder nick name
StatementReference:
description: >-
Unique reference for the statement. This reference may be optionally
populated if available.
type: string
minLength: 1
maxLength: 35
LocalTimeZone:
description: >
The UTC offset of the local date and time of where the transaction
occurred
E.g. UTC+03:00
type: string
example: UTC+03:00
pattern: ^UTC[+-]([01]\d|2[0-4])(:?[0-5]\d)?$
ISODateTime:
description: >-
All dates in the JSON payloads are represented in ISO 8601 date-time
format.
All date-time fields in responses must include the timezone. An example
is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
StandingOrderId:
description: >-
A unique and immutable identifier produced by the LFI to identify the
account resource. This identifier has no meaning to the account owner.
type: string
minLength: 1
maxLength: 40
StandingOrderType:
description: The type of Standing Order.
type: string
enum:
- BetweenMyAccounts
- SameBankTransfer
- LocalBankTransfer
- InternationalTransfer
- Charity
Frequency:
type: string
minLength: 1
maxLength: 35
description: >
* The frequency that the Standing Order payments are executed from the
User1s account. Encoded with allowable values as follows:
* Individual Definitions:
NotKnown - SO frequency is not known (i.e. not provided)
EveryDay - SO frequency is Every day
EveryWorkingDay - SO frequency is every working day
IntervalDay - SO frequency is an interval specified in number of
calendar days (2 to 31)
IntervalWeekDay - SO frequency is an interval specified in weeks (1 to
51), and the day within the week (1 to 7)
WeekInMonthDay - SO frequency is a monthly interval, specifying the week
of the month (1 to 5) and day within the week (1 to 7)
IntervalMonthDay - SO frequency is an interval specified in months
(between 1 to 6, 12, 24), specifying the day within the month (-5 to -1,
1 to 31)
QuarterDay - SO frequency is quarterly RECEIVED
BiAnnual - SO frequency is every 6 months
Annual - SO frequency is every year
RECEIVED = Paid on the 20th March, 19th June, 24th September and 20th
December.
* Individual Patterns:
NotKnown (ScheduleCode)
EveryDay (ScheduleCode)
EveryWorkingDay (ScheduleCode)
IntervalDay:NoOfDay (ScheduleCode + NoOfDay)
IntervalWeekDay:IntervalInWeeks:DayInWeek (ScheduleCode +
IntervalInWeeks + DayInWeek)
WeekInMonthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth +
DayInWeek)
IntervalMonthDay:IntervalInMonths:DayInMonth (ScheduleCode +
IntervalInMonths + DayInMonth)
QuarterDay: + either (RECEIVED) ScheduleCode + QuarterDay
* The regular expression for this element combines five smaller versions
for each permitted pattern. To aid legibility - the components are
presented individually here:
NotKnown
EveryDay
EveryWorkingDay
IntervalDay:(([2-9])|([1-2][0-9])|3[0-1])
IntervalWeekDay:[1-51]:[1-7]
WeekInMonthDay:[1-5]:[1-7]
IntervalMonthDay:([1-6]|12|24):(-[1-5]|[1-9]|[12][0-9]|3[01])
QuarterDay:(RECEIVED)
* Full Regular Expression:
^(NotKnown)$|^(EveryDay)$|^(EveryWorkingDay)$|^(IntervalDay:(([2-9])|([1-2][0-9])|3[0-1]))$|^(IntervalWeekDay:[1-51]:[1-7])$|^(WeekInMonthDay:[1-5]:[1-7])$|^(IntervalMonthDay:([1-6]|12|24):(-[1-5]|[1-9]|[12][0-9]|3[01]))$|^(QuarterDay:(RECEIVED))$"
type: "string"
pattern:
"^(NotKnown)$|^(EveryDay)$|^(EveryWorkingDay)$|^(IntervalDay:(([2-9])|([1-2][0-9])|3[0-1]))$|^(IntervalWeekDay:[1-51]:[1-7])$|^(WeekInMonthDay:[1-5]:[1-7])$|^(IntervalMonthDay:([1-6]|12|24):(-[1-5]|[1-9]|[12][0-9]|3[01]))$|^(QuarterDay:(RECEIVED))$"
PurposeSO:
description: >
The purpose of the Standing Order payment.
A free format string in the form of transaction categorisation.
Example: "Bills and expenses", "Government payment", "Personal
Expenses".
type: string
minLength: 1
maxLength: 50
FirstPaymentDateTime:
description: >-
The date on which the first payment for a Standing Order schedule will
be made.All dates in the JSON payloads are represented in ISO 8601
date-time format.
All date-time fields in responses must include the timezone. An example
is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
NextPaymentDateTime:
description: >-
The date on which the next payment for a Standing Order schedule will be
made.All dates in the JSON payloads are represented in ISO 8601
date-time format.
All date-time fields in responses must include the timezone. An example
is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
LastPaymentDateTime:
description: >-
The date on which the last (most recent) payment for a Standing Order
schedule was made.All dates in the JSON payloads are represented in ISO
8601 date-time format.
All date-time fields in responses must include the timezone. An example
is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
FinalPaymentDateTime:
description: >-
The date on which the final payment for a Standing Order schedule will
be made.All dates in the JSON payloads are represented in ISO 8601
date-time format.
All date-time fields in responses must include the timezone. An example
is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
NumberOfPayments:
description: >-
Number of the payments that will be made in completing this frequency
sequence including any executed since the sequence start date.
type: string
minLength: 1
maxLength: 35
AEExternalStandingOrderStatusCode:
description: Specifies the status of the standing order in code form.
type: string
enum:
- Active
- Inactive
DirectDebitId:
description: >-
A unique and immutable identifier used to identify the direct debit
resource. This identifier has no meaning to the account owner.
type: string
minLength: 1
maxLength: 256
MandateIdentification:
description: >-
This is the unique and immutable reference to the User 1 for the Direct
Debit mandate.
type: string
minLength: 1
maxLength: 35
AEExternalDirectDebitStatusCode:
description: >-
Specifies the status of the direct debit. Encoded with allowable values
of: 'Active', 'Inactive'
type: string
enum:
- Active
- Inactive
FrequencyDD:
description: >-
Specifies the frequency of the Direct Debit collections to the User 1
account.
type: string
enum:
- Annual
- Daily
- Fortnightly
- HalfYearly
- Monthly
- NotKnown
- Quarterly
- Weekly
PreviousPaymentDateTime:
description: >-
The date of most recent direct debit collection to the User 1 account.
All dates in the JSON payloads are represented in ISO 8601 date-time
format.
All date-time fields in responses must include the timezone. An example
is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
AEActiveOrHistoricCurrencyAndAmount_0:
type: object
required:
- Amount
- Currency
description: >-
This is the value of the last direct debit collection from the User 1
account.
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
AEActiveOrHistoricCurrencyAndAmount_1:
type: object
required:
- Amount
- Currency
description: >
The amount of money that was moved between the User 1 (Debtor) and the
payment beneficiary (Creditor) by the LFI, before adding any charges
from the sending LFI.
It is expressed in the currency as ordered by the User 1 (i.e. the
initiating party of the payment). This amount is transported unchanged
through the transaction chain.
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
AEActiveOrHistoricCurrencyAndAmount_2:
type: object
required:
- Amount
- Currency
description: The amount of the first Standing Order
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
AEActiveOrHistoricCurrencyAndAmount_3:
type: object
required:
- Amount
- Currency
description: The amount of the next Standing Order.
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
AEActiveOrHistoricCurrencyAndAmount_4:
type: object
required:
- Amount
- Currency
description: The amount of the final Standing Order
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
AEActiveOrHistoricCurrencyAndAmount_5:
type: object
required:
- Amount
- Currency
description: Amount of money in the transaction entry.
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
AEActiveOrHistoricCurrencyAndAmount_6:
type: object
required:
- Amount
- Currency
description: Transaction charges to be paid by the charge bearer.
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
ChargeIncluded:
description: >
If true then the value in the Amount has the ChargeAmount deducted
from it
type: boolean
additionalProperties: false
AEActiveOrHistoricCurrencyAndAmount_7:
type: object
required:
- Amount
- Currency
description: The amount of the last (most recent) Standing Order instruction.
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
AEActiveOrHistoricCurrencyAndAmount_8:
type: object
required:
- Amount
- Currency
description: ' The VAT associated with the ChargeAmount'
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
AEReadDirectDebit:
description: List of Direct Debits for an Account
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: object
description: Primary data for the resource
required:
- AccountId
- DirectDebit
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
DirectDebit:
type: array
items:
$ref: '#/components/schemas/AEDirectDebit'
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEDirectDebit:
type: object
description: Account to or from which a cash entry is made.
required:
- DirectDebitId
- MandateIdentification
- DirectDebitStatusCode
- Name
- Frequency
properties:
DirectDebitId:
$ref: '#/components/schemas/DirectDebitId'
MandateIdentification:
$ref: '#/components/schemas/MandateIdentification'
DirectDebitStatusCode:
$ref: '#/components/schemas/AEExternalDirectDebitStatusCode'
Name:
$ref: '#/components/schemas/Name_2'
Frequency:
$ref: '#/components/schemas/FrequencyDD'
PreviousPaymentDateTime:
$ref: '#/components/schemas/PreviousPaymentDateTime'
PreviousPaymentAmount:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
additionalProperties: false
AEReadStandingOrder:
description: List of Standing Orders for an Account
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: object
description: Primary data for the resource
required:
- AccountId
- StandingOrder
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
StandingOrder:
type: array
items:
$ref: '#/components/schemas/AEStandingOrder'
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEStandingOrder:
description: Standing Orders for a specific AccountId
type: object
required:
- Frequency
- StandingOrderId
- FirstPaymentDateTime
- FinalPaymentDateTime
- NumberOfPayments - StandingOrderStatusCode
- FirstPaymentAmount
- FinalPaymentAmount
properties:
StandingOrderId:
$ref: '#/components/schemas/StandingOrderId'
AccountHolderName:
$ref: '#/components/schemas/AccountHolderName'
AccountHolderShortName:
$ref: '#/components/schemas/AccountHolderShortName'
StandingOrderType:
$ref: '#/components/schemas/StandingOrderType'
Frequency:
$ref: '#/components/schemas/Frequency'
CreditorReference:
$ref: '#/components/schemas/Reference'
Purpose:
$ref: '#/components/schemas/PurposeSO'
FirstPaymentDateTime:
$ref: '#/components/schemas/FirstPaymentDateTime'
NextPaymentDateTime:
$ref: '#/components/schemas/NextPaymentDateTime'
LastPaymentDateTime:
$ref: '#/components/schemas/LastPaymentDateTime'
FinalPaymentDateTime:
$ref: '#/components/schemas/FinalPaymentDateTime'
NumberOfPayments:
$ref: '#/components/schemas/NumberOfPayments'
StandingOrderStatusCode:
$ref: '#/components/schemas/AEExternalStandingOrderStatusCode'
FirstPaymentAmount:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_2'
NextPaymentAmount:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_3'
LastPaymentAmount:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_7'
FinalPaymentAmount:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_4'
CreditorAgent:
$ref: >-
#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_1
CreditorAccount:
type: array
items:
$ref: '#/components/schemas/AECashAccount5_0'
SupplementaryData:
$ref: '#/components/schemas/AESupplementaryData'
additionalProperties: false
AEBranchAndFinancialInstitutionIdentification5_1:
type: object
required:
- SchemeName
- Identification
description: >
Creditor Agent refers to the Financial Institution that manages the
account on behalf of the scheduled payment beneficiary party, managing
registration, booking of entries on the account, calculating balances on
the account and providing information about the account. This is the
servicing Financial Institution of the Beneficiary account.
properties:
SchemeName:
$ref: >-
#/components/schemas/AEExternalFinancialInstitutionIdentificationCode
Identification:
$ref: '#/components/schemas/Identification_1'
additionalProperties: false
DebtorReference:
description: >
Reference in the context of the User 1 (i.e. the Debtor) to refer to the
payment transaction.
Usage: If available, the initiating party (i.e. Debtor) generates this
reference for internal purposes (e.g. to enable reconciliation, refer to
a PO, invoice etc). This field is captured by the LFI and is not
transmitted via the payment rails to the Creditor of the payment.
type: string
minLength: 1
maxLength: 35
AEExternalScheduleTypeCode:
description: >
Specifies the type of scheduled payment date provided under
ScheduledPaymentDateTime.
Encoded with allowable values of:
"Arrival" - User1 specifies the date for the arrival of funds in the beneficiary (Creditor) account
"Execution" - User1 specifies the date which the payment needs to be executed from the User 1 (Debtor) account.
type: string
enum:
- Arrival
- Execution
ScheduledPaymentDateTime:
description: >-
Date (and time) information related to the scheduled payment (Arrival or
Execution) based on the ScheduleType field. All dates in the JSON
payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example
is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
ProductId:
description: >-
Identifier within the LFI for the product. Must be unique in the
organisation.
type: string
minLength: 1
maxLength: 40
AEProductType1Code:
description: Descriptive code for the product.
type: string
AEProductName:
description: Descriptive name for the product.
type: string
ScheduledPaymentId:
description: >-
A unique and immutable identifier produced by the LFI to identify the
scheduled payment resource. This identifier has no meaning to the
account owner.
type: string
minLength: 1
maxLength: 40
BeneficiaryId:
description: >-
A unique and immutable identifier used to identify the beneficiary
resource. This identifier has no meaning to the account owner.
type: string
minLength: 1
maxLength: 40
AEBeneficiaryTypeCode:
description: >-
Specifies the Beneficiary Type. Encoded with allowable values of:
'Activated' - Beneficiary has been added to the beneficiary list using
SCA. 'NotActivated' - Beneficiary has been added to the beneficiary list
without SCA
type: string
enum:
- Activated
- NotActivated
AEBranchAndFinancialInstitutionIdentification6_0:
type: object
description: >-
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.
required:
- SchemeName
- Identification
properties:
SchemeName:
$ref: >-
#/components/schemas/AEExternalFinancialInstitutionIdentificationCode
Identification:
$ref: '#/components/schemas/Identification_1'
Name:
$ref: '#/components/schemas/Name_1'
PostalAddress:
$ref: '#/components/schemas/AEPostalAddress6'
additionalProperties: false
AECashAccount5_0:
type: object
required:
- SchemeName
- Identification
description: Provides the details to identify the beneficiary account.
properties:
SchemeName:
$ref: '#/components/schemas/AEExternalAccountIdentificationCode1'
Identification:
$ref: '#/components/schemas/Identification_0'
additionalProperties: false
AECashAccount6_0:
type: object
description: >
Creditor account details available in case the transaction is a Debit
transaction.
These are optional because there are situations where this cannot be
populated for the following Debit transactions:
- cash withdrawals (no creditor account/agent)
- cheques and DDs may not have this information at least during the
process of clearing and sometimes (e.g. for agency banks) may not be
reconciled ever
- some corner situations with international payments
- for card payments (instead merchant information fields should be
populated)
properties:
SchemeName:
$ref: '#/components/schemas/AEExternalAccountIdentificationCode'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
$ref: '#/components/schemas/Name_0'
additionalProperties: false
AECashAccount6_1:
type: object
description: >
Account details of the Debtor in case the transaction is a Credit
transaction.
These are optional because there are situations where this cannot be
populated for the following Credit transactions
- cash deposits (no creditor account/agent)
- cheques and DDs may not have this information at least during the
process of clearing and sometimes (e.g. for agency banks) may not be
reconciled ever
- some corner situations with international payments
- for refunds with card payments (instead merchant information fields
should be populated)
properties:
SchemeName:
$ref: '#/components/schemas/AEExternalAccountIdentificationCode'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
$ref: '#/components/schemas/Name_0'
additionalProperties: false
Reference:
description: >-
Unique reference in the context of the creditor, provided by the
creditor to the User1 (Debtor), to unambiguously refer to the payment
transaction. Usage: If available, the initiating party (i.e. Debtor)
provides this reference in the structured remittance information, to
enable reconciliation by the Creditor upon receipt of the amount of
money. This field is populated by the User 1 (who is the initiating
party of the payment e.g. the Debtor). Field is free format text
type: string
minLength: 1
maxLength: 35
TransactionId:
description: >-
Unique identifier for the transaction within an servicing institution.
This identifier is both unique and immutable.
type: string
minLength: 1
maxLength: 210
TransactionReference:
description: >
Unique reference for the transaction.
When processed through a national payment system, it is mandatory to be
populated by the LFI.
As an example, it may be a reference code for the local payment scheme."
type: string
minLength: 1
maxLength: 210
AECreditDebitCode_1:
description: Indicates whether the transaction is a credit or a debit entry.
type: string
enum:
- Credit
- Debit
AEEntryStatusCode:
description: Status of a transaction entry on the books of the account servicer.
type: string
enum:
- Booked
- Pending
- Rejected
AETransactionMutabilityCode:
description: Specifies the Mutability of the Transaction record.
type: string
enum:
- Mutable
- Immutable
BookingDateTime:
description: >
Date and time when a transaction entry is posted to an account on the
account servicer's books.
Usage: Booking date is the expected booking date, unless the status is
booked, in which case it is the actual booking date.
All dates in the JSON payloads are represented in ISO 8601 date-time
format.
All date-time fields in responses must include the timezone. An example
is below: 2017-04-05T10:43:07+00:00
type: string
format: date-time
ValueDateTime:
description: >
Date and time at which assets become available to the account owner in
case of a credit entry, or cease to be available to the account owner in
case of a debit transaction entry.
Usage: If transaction entry status is pending and value date is present,
then the value date refers to an expected/requested value date.
For transaction entries subject to availability/float and for which
availability information is provided, the value date must not be used.
In this case the availability component identifies the number of
availability days.
Availability float refers to the time period between fund deposits and
clearing.
The float is essentially double-counted money: a paid sum which, due to
delays in processing, appears simultaneously in the accounts of the
Debtor and the Creditor.
All dates in the JSON payloads are represented in ISO 8601 date-time
format. All date-time fields in responses must include the timezone. An
example is below: 2017-04-05T10:43:07+00:00"
type: string
format: date-time
TransactionInformation:
description: >-
Further details of the transaction. This is the transaction narrative,
which is unstructured text.
type: string
minLength: 1
maxLength: 500
StreetName:
description: Name of a street or thoroughfare.
type: string
minLength: 1
maxLength: 70
ShortAddress:
description: 8 character Unique alphanumeric Code.
type: string
minLength: 1
maxLength: 8
BuildingNumber:
description: Number that identifies the position of a building on a street.
type: string
minLength: 4
maxLength: 4
SecondaryNumber:
description: Secondary Number, if required
type: string
minLength: 4
maxLength: 4
District:
description: Identifies the District of a City
type: string
minLength: 1
maxLength: 35
AECountry:
description: Identifies a county either by full name or country code
type: string
pattern: ^[A-Z]{2,2}$
City:
description: Identifies the City of a Country
type: string
minLength: 1
maxLength: 35
AccountId:
description: >-
A unique and immutable identifier produced by the LFI to identify the
account resource.This identifier has no meaning to the account owner
(User 1).
type: string
minLength: 1
maxLength: 40
StatusUpdateDateTime:
description: >-
Date and time at which the account resource status was updated. All
dates in the JSON payloads are represented in ISO 8601 date-time
format.
All date-time fields in responses must include the timezone. An example
is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
AEUnitNumber:
description: This is the unit number of the business premises or dwelling
type: number
example: 10
AEAddressTypeCode:
description: Postal Address type specifies the the nature of the postal address.
type: string
enum:
- Business
- Correspondence
- DeliveryTo
- MailTo
- POBox
- Postal
- Residential
- Statement
AEAccountStatusCode:
description: |
Specifies the status of account resource in code form.
* Active: The account exist and is in an active state.
* Inactive: The account is deemed not active by the LFI. Please refer to the
[CBUAE Website](https://rulebook.centralbank.ae/en/rulebook/dormant-accounts-regulation)
for qualification of Inactive status.
* Dormant: Please refer to the [CBUAE Website](https://rulebook.centralbank.ae/en/rulebook/dormant-accounts-regulation)
for the definition of Dormant status.
* Unclaimed: Please refer to the [CBUAE Website](https://rulebook.centralbank.ae/en/rulebook/dormant-accounts-regulation)
for the definition of Unclaimed status.
* Deceased: The account holder has passed away.
* Suspended: The account has been temporarily deactivated by the LFI for reasons such as
suspicious activities or non-compliance with regulations. The account holder might
be unable to access funds or perform transactions until the bank's requirements
are met, and the suspension is lifted.
* Closed: The account is closed
type: string
enum:
- Active
- Inactive
- Dormant
- Unclaimed
- Deceased
- Suspended
- Closed
ActiveOrHistoricCurrencyCode_0:
description: >-
Identification of the currency in which the account is held. A code
allocated to a currency under an international currency identification
scheme, as described in the latest edition of the international standard
ISO 4217 'Codes for the representation of currencies and funds'.
type: string
pattern: ^[A-Z]{3,3}$
example: AED
ActiveOrHistoricCurrencyCode_1:
description: >-
A 3 character alphabetic code allocated to a currency under an
international currency identification scheme, as described in the latest
edition of the international standard ISO 4217 'Codes for the
representation of currencies and funds'.
type: string
pattern: ^[A-Z]{3,3}$
example: AED
AEExternalAccountTypeCode:
description: Specifies the type of account (Retail, SME or Corporate).
type: string
enum:
- Retail
- SME
- Corporate
AEExternalAccountSubTypeCode:
description: >-
Specifies the sub type of account (product family group). Examples
values include: CurrentAccount, Savings
type: string
x-namespaced-enum:
- CurrentAccount
- Savings
Description_0:
description: Specifies the description of the account sub-type.
type: string
minLength: 1
maxLength: 35
Nickname:
description: >-
The nickname of the account, assigned by User 1 to provide an additional
and easier means of identification of the account at the LFI.
type: string
minLength: 1
maxLength: 70
OpeningDate:
description: >-
Date on which the account and its related basic services by LFI started
to be operational for User 1. All dates in the JSON payloads are
represented in ISO 8601 date-time format. All date-time fields in
responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
MaturityDate:
description: >
* Fixed Term Savings Account
MaturityDate is the date on which the savings mature and the balance can be withdrawn by the User without penalty
* All dates in the JSON payloads are represented in ISO 8601 date-time
format. All date-time fields in responses must include the timezone. An
example is: 2017-04-05T10:43:07+00:00
type: string
format: date-time
AEExternalAccountIdentificationCode:
description: >-
Name of the identification scheme for the account. Encoded with
allowable values published in an external list.
type: string
enum:
- IBAN
- AccountNumber
AEExternalAccountIdentificationCode1:
description: >-
Name of the identification scheme for the account. Encoded with
allowable values published in an external list.
type: string
enum:
- IBAN
- AccountNumber
- MaskedPAN
- MobileNumber
- UtilityName
- EWallet
Identification_0:
description: >
Identification for the account assigned by the LFI based on the Account
Scheme Name. This identification is known by the User 1 account owner.
For IBAN, refer to the ISO Standard 13616.
type: string
minLength: 1
maxLength: 400
Identification_1:
description: >
* /accounts resource
Unique and unambiguous identification of the LFI as the account
servicing institution for the Open Banking Services.
* /beneficiaries resource
Unique and unambiguous identification of the Creditor Agency as the
servicing institution of the Beneficiary.
* /scheduled-payments resource
Unique and unambiguous identification of the LFI as the account
servicing institution for the Open Banking Services.
* /standing-orders resource
Unique and unambiguous identification of the LFI as the account
servicing institution for the Open Banking Services.
* /transactions resource
Unique and unambiguous identification of the LFI as the account servicing institution for the Open Banking Services.
* Notes:
Based on the value of the field **SchemeName**, this entry may
be :
* BICFI: The BIC/SWIFT Code
* Other: The ID; A Country Code followed by a Bank Code (4 character code).
type: string
minLength: 1
maxLength: 35
AEExternalFinancialInstitutionIdentificationCode:
description: >
* /accounts resource
The name of the identification scheme for the LFI as the account
services provider. Encoded with allowable value as published in an
external list.
* /beneficiaries resource
Refers to the Financial Institution that manages the account on behalf
of the Beneficiary party, managing registration, booking of entries on
the account, calculating balances on the account and providing
information about the account. This is the servicing Financial
Institution of the Beneficiary account.
* /scheduled-payments resource
Refers to the identification scheme for uniquely identifying the
Creditor Agent.
* /standing-orders resource
Refers to the identification scheme for uniquely identifying the
Creditor Agent.
* /transactions resource
Refers to the identification scheme for uniquely identifying the
Creditor Agent.
type: string
enum:
- BICFI
- Other
AccountIdentifiers:
type: array
items:
type: object
description: Provides the details to identify an account.
required:
- SchemeName
- Identification
properties:
SchemeName:
$ref: '#/components/schemas/AEExternalAccountIdentificationCode'
Identification:
$ref: '#/components/schemas/Identification_0'
Name:
$ref: '#/components/schemas/Name_0'
additionalProperties: false
AEBranchAndFinancialInstitutionIdentification5_0:
type: object
required:
- SchemeName
- Identification
description: >-
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.
properties:
SchemeName:
$ref: >-
#/components/schemas/AEExternalFinancialInstitutionIdentificationCode
Identification:
$ref: '#/components/schemas/Identification_1'
additionalProperties: false
CreationDateTime:
description: >-
Date and time at which the resource was created.All dates in the JSON
payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example
is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
AEConsentPermissions:
type: array
description: >
Specifies the permitted Account Access data types.
This is a list of the data groups being consented by the User, and
requested for authorization with the LFI.
items:
type: string
enum:
- ReadAccountsBasic
- ReadAccountsDetail
- ReadBalances
- ReadBeneficiariesBasic
- ReadBeneficiariesDetail
- ReadTransactionsBasic
- ReadTransactionsDetail
- ReadTransactionsCredits
- ReadTransactionsDebits
- ReadProduct
- ReadScheduledPaymentsBasic
- ReadScheduledPaymentsDetail
- ReadDirectDebits
- ReadStandingOrdersBasic
- ReadStandingOrdersDetail
- ReadConsents
- ReadPartyUser
- ReadPartyUserIdentity
- ReadParty
minItems: 1
AEReadBeneficiary:
description: List of Beneficiaries for an Account
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: object
description: Primary data for the resource
required:
- AccountId
- Beneficiary
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
Beneficiary:
type: array
items:
$ref: '#/components/schemas/AEBeneficiary'
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEBeneficiary:
description: Beneficiaries for a specific AccountId
type: object
required:
- BeneficiaryId
- BeneficiaryType
properties:
BeneficiaryId:
$ref: '#/components/schemas/BeneficiaryId'
BeneficiaryType:
$ref: '#/components/schemas/AEBeneficiaryTypeCode'
AccountHolderName:
$ref: '#/components/schemas/AccountHolderName'
AccountHolderShortName:
$ref: '#/components/schemas/AccountHolderShortName'
Reference:
$ref: '#/components/schemas/Reference'
SupplementaryData:
$ref: '#/components/schemas/AESupplementaryData'
CreditorAgent:
$ref: >-
#/components/schemas/AEBranchAndFinancialInstitutionIdentification6_0
CreditorAccount:
type: array
items:
$ref: '#/components/schemas/AECashAccount5_0'
additionalProperties: false
AEReadAccount:
description: List of Accounts
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: object
description: Primary data for the resource
required:
- Account
properties:
Account:
type: array
items:
$ref: '#/components/schemas/AEAccountArrayId'
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEReadAccountId:
description: Individual Account
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: object
description: Primary data for the resource
required:
- AccountId
- Account
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
Account:
$ref: '#/components/schemas/AEAccountId'
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEActiveCurrencyAndAmount_SimpleType:
description: >-
A number of monetary units specified in an active currency where the
unit of currency is explicit and compliant with ISO 4217.
type: string
pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
AECreditDebitCode_2:
description: >-
Indicates whether the balance of the account is a credit or a debit
balance. Encoded with allowable values: 'Credit', 'Debit' Usage: A zero
balance is considered to be a credit balance.
type: string
enum:
- Credit
- Debit
AEBalanceTypeCode:
description: >
The type of balance for the account.
Encoded with allowable values of:
* 'ClosingAvailable' - end of day balance specifying the amount
available to User 1 to withdraw or use.
* 'ClosingBooked' - end of day balance including value of payments for
cheques or payments which have not been cleared yet.
* 'ClosingCleared' - end of day balance including value of payments for
cheques or payments which have been cleared.
* 'Expected' - intra day balance including value of payments for cheques
or payments which have been cleared.
* 'ForwardAvailable' - intraday balance specifying the amount available
to User 1 to withdraw or use considering forward dated payments or other
intraday payments or cheques that will be clearing to the account.
* 'Information' - TBC.
* 'InterimAvailable' - intraday balance specifying the amount available
to User 1 to withdraw or use (most probably real-time.'InterimBooked' -
intraday balance including value of payments for cheques or payments
which have not been cleared yet.
* 'InterimCleared' - intraday balance including value of payments for
cheques or payments which have been cleared (probably real-time).
* 'OpeningAvailable' - start of day balance specifying the amount
available to User 1 to withdraw or use.
* 'OpeningBooked' - start of day balance including value of payments for
cheques or payments which have not been cleared yet.
* 'OpeningCleared' - start of day balance including value of payments
for cheques or payments which have been cleared.
* 'PreviouslyClosedBooked' -TBC.
Note: LFIs support different types for presenting account balance, so
this list is used to support different LFI systems in UAE.
type: string
enum:
- ClosingAvailable
- ClosingBooked
- ClosingCleared
- Expected
- ForwardAvailable
- Information
- InterimAvailable
- InterimBooked
- InterimCleared
- OpeningAvailable
- OpeningBooked
- OpeningCleared
- PreviouslyClosedBooked
ProprietaryBankTransactionCodeStructure1:
type: object
required:
- Code
description: >
ProprietaryBankTransactionCode is mandatory when the BankTransactionCode
(with code specifying the Domain, Family and SubFamily as per External
Codes ISO20022) is absent.
Set of elements to fully identify a proprietary bank transaction code
properties:
Code:
description: >-
Proprietary bank transaction code to identify the underlying
transaction.
type: string
minLength: 1
maxLength: 35
Issuer:
description: >-
Identification of the issuer of the proprietary bank transaction
code.
type: string
minLength: 1
maxLength: 35
additionalProperties: false
Name_0:
description: >-
The account name is the name or names of the User 1 account owner(s)
represented at an account level, as displayed by the LFI's online
channels. Note: The account name is not the product name or the nickname
of the account.
type: string
minLength: 1
maxLength: 70
Name_1:
description: >
* Beneficiary
Name by which an agent is known and which is usually used to identify
that agent
* Creditor agent
Name by which the Financial institution(FI) which is the creditor is
known and which is usually used to identify that FI.
* DebtorAgent
Name by which an financial institution of the debtor is known and which
is usually used to identify that financial institution.
type: string
minLength: 1
maxLength: 140
Name_2:
description: >-
This is the name of the regulated beneficiary entity that initiates the
Direct Debit collection.
type: string
minLength: 1
maxLength: 70
AEBranchAndFinancialInstitutionIdentification6_1:
type: object
description: >
Financial institution servicing an account for the creditor in case the
transaction is a Debit transaction.
These are optional because there are situations where this cannot be
populated for the following Debit transactions
- Cash withdrawals (no creditor account/agent)
- Cheques and DDs may not have this information at least during the
process of clearing and sometimes (e.g. for agency banks) may not be
reconciled ever
- Some corner situations with international payments
- For card payments (instead merchant information fields should be
populated)
properties:
SchemeName:
$ref: >-
#/components/schemas/AEExternalFinancialInstitutionIdentificationCode
Identification:
$ref: '#/components/schemas/Identification_1'
Name:
$ref: '#/components/schemas/Name_1'
PostalAddress:
$ref: '#/components/schemas/AEPostalAddress6'
additionalProperties: false
PostCode:
description: >-
Identifier consisting of a group of letters and/or numbers that is added
to a postal address to assist the sorting of mail.
type: string
minLength: 1
maxLength: 16
AEPostalAddress6:
type: object
description: >-
Postal Address specifies Information that locate and identify a specific
address, as defined by postal services.
properties:
AddressType:
$ref: '#/components/schemas/AEAddressTypeCode'
ShortAddress:
$ref: '#/components/schemas/ShortAddress'
BuildingNumber:
$ref: '#/components/schemas/BuildingNumber'
UnitNumber:
$ref: '#/components/schemas/AEUnitNumber'
StreetName:
$ref: '#/components/schemas/StreetName'
SecondaryNumber:
$ref: '#/components/schemas/SecondaryNumber'
District:
$ref: '#/components/schemas/District'
PostalCode:
$ref: '#/components/schemas/PostCode'
City:
$ref: '#/components/schemas/City'
Country:
$ref: '#/components/schemas/AECountry'
additionalProperties: false
AEMerchantDetails1:
type: object
description: >
Details of the Merchant involved in the transaction.
Merchant Details are specified only for those merchant categories that
are generally expected to originate retail financial transactions
properties:
MerchantId:
description: MerchantId
type: integer
minLength: 8
maxLength: 20
MerchantName:
description: Name by which the merchant is known.
type: string
minLength: 1
maxLength: 350
MerchantCategoryCode:
description: >
Category code values are used to enable the classification of
merchants into specific categories based on the type of business,
trade or services supplied.
Category code conforms to ISO 18245, related to the type of services
or goods the merchant provides for the transaction."
type: string
minLength: 3
maxLength: 4
additionalProperties: false
AETransactionCashBalance:
type: object
required:
- CreditDebitIndicator
- Type
- Amount
description: >-
Set of elements used to define the balance as a numerical representation
of the net increases and decreases in an account after a transaction
entry is applied to the account.
properties:
CreditDebitIndicator:
$ref: '#/components/schemas/AECreditDebitCode_2'
Type:
$ref: '#/components/schemas/AEBalanceTypeCode'
Amount:
type: object
required:
- Amount
- Currency
description: >-
Amount of money of the cash balance after a transaction entry is
applied to the account..
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
additionalProperties: false
AEBankTransactionCodeStructure:
type: object
description: >
BankTransactionCode is mandatory (with code specifying the Domain,
Family and SubFamily as per External Codes ISO20022) when the
ProprietaryBankTransactionCode is absent.
Specifies the domain, the family and the sub-family of the bank
transaction code, in a structured and hierarchical format.
Usage: If a specific family or sub-family code cannot be provided, the
generic family code defined for the domain or the generic sub-family
code defined for the family should be provided.
[https://www.iso20022.org/sites/default/files/2022-05/BTC_Codification_31May2022.xls](https://www.iso20022.org/sites/default/files/2022-05/BTC_Codification_31May2022.xls)
properties:
Domain:
description: Specifies the Domain
type: string
DomainCode:
description: Specifies the Domain Code.
type: string
Family:
description: Specifies the Family
type: string
FamilyCode:
description: Specifies the Family Code
type: string
SubFamily:
description: Specifies the Sub-Family
type: string
SubFamilyCode:
description: Specifies the Sub-family Code
type: string
additionalProperties: false
AECurrencyExchange:
type: object
required:
- SourceCurrency
- TargetCurrency
- UnitCurrency
- ExchangeRate
- InstructedAmount
description: Set of elements used to provide details on the currency exchange.
properties:
SourceCurrency:
description: >-
Currency from which an amount is to be converted in a currency
conversion. A code allocated to a currency by a Maintenance Agency
under an international identification scheme, as described in the
latest edition of the international standard ISO 4217 "Codes for the
representation of currencies and funds".
type: string
pattern: ^[A-Z]{3,3}$
TargetCurrency:
description: >-
Currency into which an amount is to be converted in a currency
conversion.A code allocated to a currency by a Maintenance Agency
under an international identification scheme, as described in the
latest edition of the international standard ISO 4217 "Codes for the
representation of currencies and funds".
type: string
pattern: ^[A-Z]{3,3}$
UnitCurrency:
description: >-
Currency in which the rate of exchange is expressed in a currency
exchange. In the example 1AED = xxxCUR, the unit currency is AED.A
code allocated to a currency by a Maintenance Agency under an
international identification scheme, as described in the latest
edition of the international standard ISO 4217 "Codes for the
representation of currencies and funds".
type: string
pattern: ^[A-Z]{3,3}$
ExchangeRate:
description: >-
Factor used to convert an amount from one currency into another.
This reflects the price at which one currency was bought with
another currency.
Usage: ExchangeRate expresses the ratio between UnitCurrency and
QuotedCurrency (ExchangeRate = UnitCurrency/QuotedCurrency).
type: number
ContractIdentification:
description: >-
Unique identification to unambiguously identify the foreign exchange
contract.
type: string
minLength: 1
maxLength: 35
QuotationDate:
description: >-
Date and time at which an exchange rate is quoted.All dates in the
JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An
example is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
InstructedAmount:
type: object
required:
- Amount
- Currency
description: >-
Amount of money to be moved between the debtor and creditor, before
deduction of charges, expressed in the currency as ordered by the
initiating party.
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
additionalProperties: false
AEReadProduct1:
description: Product detail for an Account
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: object
description: Primary data for the resource
required:
- AccountId
- Product
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
Product:
type: array
items:
$ref: '#/components/schemas/AEProduct'
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEProduct:
type: object
description: Set of elements used to define the product details.
required:
- ProductId
- ProductType
properties:
ProductId:
$ref: '#/components/schemas/ProductId'
ProductType:
$ref: '#/components/schemas/AEProductType1Code'
ProductName:
$ref: '#/components/schemas/AEProductName'
IsIslamic:
$ref: '#/components/schemas/AEIsIslamic'
Charges:
$ref: '#/components/schemas/AECharge'
LendingRates:
$ref: '#/components/schemas/AELendingRate'
DepositRates:
$ref: '#/components/schemas/AEDepositRate'
additionalProperties: false
AEReadTransaction:
description: List of Transactions for an Account
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: object
description: Primary data for the resource
required:
- AccountId
- Transaction
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
Transaction:
type: array
items:
$ref: '#/components/schemas/AETransaction'
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTransactions'
additionalProperties: false
AETransactionCardInstrument:
type: object
required:
- CardSchemeName
- InstrumentType
description: Set of elements to describe the card instrument used in the transaction.
properties:
CardSchemeName:
description: Name of the card scheme.
type: string
enum:
- AmericanExpress
- Diners
- Discover
- GCC
- MasterCard
- UPI
- VISA
InstrumentType:
description: The card instrument type.
type: string
enum:
- ApplePay
- Contactless
- MagStripe
- Chip
- Other
Name:
description: Name of the cardholder using the card instrument.
type: string
minLength: 1
maxLength: 70
Identification:
description: >-
Identification assigned by an institution to identify the card
instrument used in the transaction. This identification is known by
the account owner, and MUST be masked.
type: string
minLength: 1
maxLength: 16
example: 1234********4321
additionalProperties: false
AESupplementaryData:
type: object
properties: {}
additionalProperties: false
description: >-
Additional information that can not be captured in the structured fields
and/or any other specific block.
AEBranchAndFinancialInstitutionIdentification6_2:
type: object
description: >
Financial institution servicing an account for the Debtor in case the
transaction is a Credit transaction.
These are optional because there are situations where this cannot be
populated for the following Credit transactions
- cash deposits (no creditor account/agent)
- cheques and DDs may not have this information at least during the
process of clearing and sometimes (e.g. for agency banks) may not be
reconciled ever
- some corner situations with international payments
- for refunds with card payments (instead merchant information fields
should be populated)
properties:
SchemeName:
$ref: >-
#/components/schemas/AEExternalFinancialInstitutionIdentificationCode
Identification:
$ref: '#/components/schemas/Identification_1'
Name:
$ref: '#/components/schemas/Name_1'
PostalAddress:
$ref: '#/components/schemas/AEPostalAddress6'
additionalProperties: false
AETransaction:
type: object
description: Provides further details on an entry in the report.
required:
- TransactionId
- CreditDebitIndicator
- Status
- BookingDateTime
- Amount
- TransactionDateTime
- TransactionType
- SubTransactionType
- PaymentModes
properties:
TransactionId:
$ref: '#/components/schemas/TransactionId'
TransactionDateTime:
$ref: '#/components/schemas/TransactionDateTime'
LocalTimeZone:
$ref: '#/components/schemas/LocalTimeZone'
StatementReference:
$ref: '#/components/schemas/StatementReference'
TransactionReference:
$ref: '#/components/schemas/TransactionReference'
TransactionType:
$ref: '#/components/schemas/TransactionType'
SubTransactionType:
$ref: '#/components/schemas/SubTransactionType'
TerminalId:
$ref: '#/components/schemas/TerminalId'
Flags:
type: array
items:
$ref: '#/components/schemas/Flags'
PaymentModes:
$ref: '#/components/schemas/PaymentMode'
CreditDebitIndicator:
$ref: '#/components/schemas/AECreditDebitCode_1'
Status:
$ref: '#/components/schemas/AEEntryStatusCode'
TransactionMutability:
$ref: '#/components/schemas/AETransactionMutabilityCode'
BookingDateTime:
$ref: '#/components/schemas/BookingDateTime'
ValueDateTime:
$ref: '#/components/schemas/ValueDateTime'
TransactionInformation:
$ref: '#/components/schemas/TransactionInformation'
Amount:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_5'
ChargeAmount:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_6'
ChargeAmountVat:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_8'
CurrencyExchange:
$ref: '#/components/schemas/AECurrencyExchange'
BankTransactionCode:
$ref: '#/components/schemas/AEBankTransactionCodeStructure'
ProprietaryBankTransactionCode:
$ref: '#/components/schemas/ProprietaryBankTransactionCodeStructure1'
Balance:
$ref: '#/components/schemas/AETransactionCashBalance'
MerchantDetails:
$ref: '#/components/schemas/AEMerchantDetails1'
CreditorAgent:
$ref: >-
#/components/schemas/AEBranchAndFinancialInstitutionIdentification6_1
CreditorAccount:
type: array
items:
$ref: '#/components/schemas/AECashAccount6_0'
DebtorAgent:
$ref: >-
#/components/schemas/AEBranchAndFinancialInstitutionIdentification6_2
DebtorAccount:
$ref: '#/components/schemas/AECashAccount6_1'
CardInstrument:
$ref: '#/components/schemas/AETransactionCardInstrument'
SupplementaryData:
$ref: '#/components/schemas/AESupplementaryData'
BillDetails:
$ref: '#/components/schemas/BillDetails'
GeoLocation:
$ref: '#/components/schemas/AEGeoLocation'
PaymentPurposeCode:
$ref: '#/components/schemas/AEPaymentPurposeCode'
additionalProperties: false
AEAccountId:
type: object
description: >-
Unambiguous identification of the account to which credit and debit
entries are made. The following fields are optional only for accounts
that are switched:
* Data.Currency
* Data.AccountType
* Data.AccountSubType
For all other accounts, the fields must be populated by the LFI.
properties:
AccountHolderName:
$ref: '#/components/schemas/AccountHolderName'
AccountHolderShortName:
$ref: '#/components/schemas/AccountHolderShortName'
Status:
$ref: '#/components/schemas/AEAccountStatusCode'
StatusUpdateDateTime:
$ref: '#/components/schemas/StatusUpdateDateTime'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
AccountType:
$ref: '#/components/schemas/AEExternalAccountTypeCode'
AccountSubType:
$ref: '#/components/schemas/AEExternalAccountSubTypeCode'
Description:
$ref: '#/components/schemas/Description_0'
Nickname:
$ref: '#/components/schemas/Nickname'
OpeningDate:
$ref: '#/components/schemas/OpeningDate'
MaturityDate:
$ref: '#/components/schemas/MaturityDate'
AccountIdentifiers:
$ref: '#/components/schemas/AccountIdentifiers'
Servicer:
$ref: >-
#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_0
additionalProperties: false
AEAccountArrayId:
type: object
description: >-
Unambiguous identification of the account to which credit and debit
entries are made. The following fields are optional only for accounts
that are switched:
* Data.Currency
* Data.AccountType
* Data.AccountSubType
For all other accounts, the fields must be populated by the LFI.
required:
- AccountId
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
AccountHolderName:
$ref: '#/components/schemas/AccountHolderName'
AccountHolderShortName:
$ref: '#/components/schemas/AccountHolderShortName'
Status:
$ref: '#/components/schemas/AEAccountStatusCode'
StatusUpdateDateTime:
$ref: '#/components/schemas/StatusUpdateDateTime'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
AccountType:
$ref: '#/components/schemas/AEExternalAccountTypeCode'
AccountSubType:
$ref: '#/components/schemas/AEExternalAccountSubTypeCode'
Description:
$ref: '#/components/schemas/Description_0'
Nickname:
$ref: '#/components/schemas/Nickname'
OpeningDate:
$ref: '#/components/schemas/OpeningDate'
MaturityDate:
$ref: '#/components/schemas/MaturityDate'
AccountIdentifiers:
$ref: '#/components/schemas/AccountIdentifiers'
Servicer:
$ref: >-
#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_0
additionalProperties: false
AEPatchConsentSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEPatchConsent'
required:
- message
additionalProperties: false
AEPatchConsent:
description: Patch Account Access Consent
type: object
properties:
Data:
type: object
description: Primary data for the resource
required:
- Status
properties:
Status:
$ref: '#/components/schemas/PatchConsentStatus'
RevokedBy:
$ref: '#/components/schemas/AERevokedBy'
additionalProperties: false
Subscription:
$ref: '#/components/schemas/EventNotification'
additionalProperties: false
AEReadConsentResponse:
description: Account Access Consent
type: object
required:
- Data
- Links
properties:
Data:
type: object
description: Primary data for the resource
required:
- ConsentId
- BaseConsentId
- CreationDateTime
- Status
- StatusUpdateDateTime
- Permissions
- ExpirationDateTime
- OpenFinanceBilling
properties:
ConsentId:
$ref: '#/components/schemas/AEConsentId'
BaseConsentId:
$ref: '#/components/schemas/AEBaseConsentId'
CreationDateTime:
$ref: '#/components/schemas/CreationDateTime'
Status:
$ref: '#/components/schemas/ConsentStatus'
StatusUpdateDateTime:
$ref: '#/components/schemas/StatusUpdateDateTime'
Permissions:
$ref: '#/components/schemas/AEConsentPermissions'
ExpirationDateTime:
description: >-
Specified date and time the permissions will expire.
All date-time fields in responses must include the timezone. An
example is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
TransactionFromDateTime:
description: >-
Specified start date and time for the transaction query period.
If this is not populated, the start date will be open ended, and
data will be returned from the earliest available
transaction.All dates in the JSON payloads are represented in
ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An
example is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
TransactionToDateTime:
description: >-
Specified end date and time for the transaction query period.
If this is not populated, the end date will be open ended, and
data will be returned to the latest available transaction.All
dates in the JSON payloads are represented in ISO 8601 date-time
format.
All date-time fields in responses must include the timezone. An
example is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
AccountType:
type: array
items:
$ref: '#/components/schemas/AEExternalAccountTypeCode'
AccountSubType:
type: array
items:
$ref: '#/components/schemas/AEExternalAccountSubTypeCode'
OnBehalfOf:
$ref: '#/components/schemas/OnBehalfOf'
OpenFinanceBilling:
$ref: '#/components/schemas/AEAccountAccessOpenFinanceBilling'
RevokedBy:
$ref: '#/components/schemas/AERevokedBy'
additionalProperties: false
Subscription:
$ref: '#/components/schemas/EventNotification'
Links:
$ref: '#/components/schemas/LinksSelf'
Meta:
$ref: '#/components/schemas/Meta'
additionalProperties: false
AEConsentsByBaseConsentIdResponse:
type: array
items:
$ref: '#/components/schemas/AEReadConsentResponse'
AEReadBalance:
description: List of Balances for an Account
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: object
description: Primary data for the resource
required:
- AccountId
- Balance
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
Balance:
type: array
items:
$ref: '#/components/schemas/AEBalance'
minItems: 1
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEBalance:
type: object
description: Set of elements used to define the balance details.
required:
- CreditDebitIndicator
- Type
- DateTime
- Amount
properties:
CreditDebitIndicator:
$ref: '#/components/schemas/AECreditDebitCode_2'
Type:
$ref: '#/components/schemas/AEBalanceTypeCode'
DateTime:
description: >-
Indicates the date (and time) that the account balance was
checked.All dates in the JSON payloads are represented in ISO 8601
date-time format. All date-time fields in responses must include the
timezone. An example is below: 2017-04-05T10:43:07+00:00
type: string
format: date-time
Amount:
type: object
required:
- Amount
- Currency
description: Amount of money of the cash balance.
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
CreditLine:
type: array
items:
type: object
description: Set of elements used to provide details on the credit line.
required:
- Included
- Type
- Amount
properties:
Included:
description: >-
Boolean flag to Indicate whether or not a credit line is
included in the balance of the account. Usage: If not present,
credit line is not included in the balance amount of the
account.
type: boolean
Type:
description: >-
Type of credit line provided to the account. Encoded with
allowable values of: Available, Credit, Emergency, Pre-Agreed,
Temporary. Note: LFIs support different types of credit lines
on accounts, so this list is used to support different LFI
systmes in UAE.
type: string
enum:
- Available
- Credit
- Emergency
- Pre-Agreed
- Temporary
Amount:
type: object
required:
- Amount
- Currency
description: Amount of money of the credit line.
properties:
Amount:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
Currency:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1'
additionalProperties: false
additionalProperties: false
additionalProperties: false
AEReadScheduledPayment:
description: List of Scheduled Payments for an Account
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: object
description: Primary data for the resource
required:
- AccountId
- ScheduledPayment
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
ScheduledPayment:
type: array
items:
$ref: '#/components/schemas/AEScheduledPayment'
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEScheduledPayment:
description: Scheduled Payments for a specific AccountId
type: object
required:
- ScheduledPaymentId
- ScheduledPaymentDateTime
- ScheduledType
- InstructedAmount
properties:
ScheduledPaymentId:
$ref: '#/components/schemas/ScheduledPaymentId'
AccountHolderName:
$ref: '#/components/schemas/AccountHolderName'
AccountHolderShortName:
$ref: '#/components/schemas/AccountHolderShortName'
ScheduledType:
$ref: '#/components/schemas/AEExternalScheduleTypeCode'
ScheduledPaymentDateTime:
$ref: '#/components/schemas/ScheduledPaymentDateTime'
CreditorReference:
$ref: '#/components/schemas/Reference'
DebtorReference:
$ref: '#/components/schemas/DebtorReference'
InstructedAmount:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_1'
CreditorAgent:
$ref: >-
#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_1
CreditorAccount:
type: array
items:
$ref: '#/components/schemas/AECashAccount5_0'
additionalProperties: false
TerminalId:
description: ID of the Terminal if the transaction was initiated from a retail POS
type: integer
minLength: 8
maxLength: 20
BillDetails:
description: Bill Details
type: object
properties:
BillerId:
description: >-
This should be 'BillerCode' as per SP-SADAD specifications. It is a
unique biller identifier within SADAD that could be used by the
end-user to refer to a specific SADAD biller (e.g. STC biller code
is 001, water services biller code is 015, etc.)
type: number
BillNumber:
description: Unique bill identifier within the account.
type: string
BillPaymentType:
description: >
Indicates whether the bill could be a One-off payment, Recurring
payment, Postpaid, Pre-paid, etc. Example values:
- "Post-Paid"
- "AdvancePaymentForRoaming"
- "Recharge"
- "Renewal"
- "RoamingDeposit"
- "One-Off"
- "RecurringPayment"
type: string
x-namespaced-enum:
- Post-Paid
- AdvancePaymentForRoaming
- Recharge
- Renewal
- RoamingDeposit
- One-Off
- RecurringPayment
additionalProperties: false
ConsentStatus:
description: Specifies the status of consent resource in code form.
type: string
enum:
- Authorized
- AwaitingAuthorization
- Rejected
- Revoked
- Expired
- Suspended
PatchConsentStatus:
description: >-
The Revoked status must only be set if the current Consent Status is set
to either Authorized or AwaitingAuthorization
type: string
enum:
- Revoked
AERevokedBy:
description: |
Denotes the Identifier of the revocation.
| Identifier| Description|
|-----------|------------|
| LFI | Revoked by LFI without User initiation|
| TPP | Revoked by TPP without User initiation|
| LFI.InitiatedByUser | Initiated by User via the LFI|
| TPP.InitiatedByUser | Initiated by User via the TPP|
type: string
enum:
- LFI
- TPP
- LFI.InitiatedByUser
- TPP.InitiatedByUser
AEIsIslamic:
type: boolean
description: |
A flag to denote if the Product is an Islamic product
default: false
AEGeoLocation:
description: >-
Estimated latitude and longitude coordinates, in degrees. Contains one
latitude and one longitude subfield.
type: object
required:
- Latitude
- Longitude
properties:
Latitude:
description: Latitude in degrees
type: string
Longitude:
description: Longitude in degrees
type: string
additionalProperties: false
AEAccountAccessAuthorizationDetail:
description: The schema for account access object in the authorization_details
type: object
required:
- type
- consent
properties:
type:
type: string
description: The type of the account access object
enum:
- urn:openfinanceuae:account-access-consent:v1.12
consent:
type: object
description: Primary data for the resource
required:
- ConsentId
- Permissions
- OpenFinanceBilling
properties:
ConsentId:
$ref: '#/components/schemas/AEConsentId'
BaseConsentId:
$ref: '#/components/schemas/AEBaseConsentId'
Permissions:
$ref: '#/components/schemas/AEConsentPermissions'
ExpirationDateTime:
description: >-
Specified date and time the permissions will expire.
All date-time fields in responses must include the timezone. An
example is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
TransactionFromDateTime:
description: >-
Specified start date and time for the transaction query period.
If this is not populated, the start date will be open ended, and
data will be returned from the earliest available
transaction.All dates in the JSON payloads are represented in
ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An
example is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
TransactionToDateTime:
description: >-
Specified end date and time for the transaction query period.
If this is not populated, the end date will be open ended, and
data will be returned to the latest available transaction.All
dates in the JSON payloads are represented in ISO 8601 date-time
format.
All date-time fields in responses must include the timezone. An
example is below:
2017-04-05T10:43:07+00:00
type: string
format: date-time
AccountType:
type: array
items:
$ref: '#/components/schemas/AEExternalAccountTypeCode'
AccountSubType:
type: array
items:
$ref: '#/components/schemas/AEExternalAccountSubTypeCode'
OnBehalfOf:
$ref: '#/components/schemas/OnBehalfOf'
OpenFinanceBilling:
$ref: '#/components/schemas/AEAccountAccessOpenFinanceBilling'
additionalProperties: false
Subscription:
$ref: '#/components/schemas/EventNotification'
additionalProperties: false
AEReadConsentSigned:
allOf:
- $ref: '#/components/schemas/Jwt'
- type: object
properties:
message:
$ref: '#/components/schemas/AEReadConsent'
required:
- message
additionalProperties: false
AEReadConsent:
description: List of Standing Orders for an Account
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: object
description: Primary data for the resource
required:
- AccountId
- Consent
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
Consent:
type: array
items:
type: object
additionalProperties: false
oneOf:
- $ref: '#/components/schemas/AEAccountAccessAuthorizationDetail'
discriminator:
propertyName: type
additionalProperties: false
Links:
$ref: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEConsentId:
description: >
Unique identification assigned by the TPP to identify the consent
resource.
type: string
minLength: 1
maxLength: 128
example: aac-69255d98-ab0e-4758-92a7-cacbf3073efa
AEBaseConsentId:
description: >
The original ConsentId assigned by the TPP.
It is used by the TPP for updating/renewing parameters associated with
long-lived consents.
It must be provided when long-lived consent parameters are
updated/renewed for a current consent that has not yet finished.
type: string
minLength: 1
maxLength: 128
example: abc-19877d98-ab0e-4758-92a7-vvffr1234abv
AEPaymentPurposeCode:
description: > A Categorycategory code, that relatedrelates to the type of services or goods that corresponds to
corresponds to the underlying purpose of the Paymentpayment. The code must conform to the published
* The ISO20022 External Aani payment purpose code setslist.
type: string
minLength: 1
maxLength: 43
pattern: ^[A-Z]{43}$
AEDuration:
description: |
The period of time for which the credit line is available.
Formatted according to ISO 8601 Durations (excludes recurrence syntax)
type: string
minLength: 1
maxLength: 40
pattern: ^P(?=\d)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?$
AECharge:
description: |
Fees and charges applicable to the account
type: array
items:
type: object
required:
- Name
- ChargeType
- Amount
properties:
Name:
type: string
description: |
Name of the charge
minLength: 1
maxLength: 40
ChargeType:
type: string
description: |
Type of the charge
minLength: 1
maxLength: 10
Amount:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
Frequency:
$ref: '#/components/schemas/AEDuration'
Notes:
type: string
description: |
Notes providing more information on the charge.
minLength: 1
maxLength: 500
additionalProperties: false
AELendingRate:
description: |
Lending rates for this account
type: array
items:
type: object
required:
- LendingRateType
- Rate
properties:
LendingRateType:
type: string
minLength: 1
maxLength: 10
Rate:
$ref: '#/components/schemas/AERate'
Amount:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
CalculationFrequency:
$ref: '#/components/schemas/AEDuration'
ApplicationFrequency:
$ref: '#/components/schemas/AEDuration'
RepaymentType:
type: string
description: |
Options in place for repayments
minLength: 1
maxLength: 40
Notes:
type: string
description: |
Notes providing more information on the rate.
minLength: 1
maxLength: 500
additionalProperties: false
AEDepositRate:
description: |
Deposit rates for this account
type: array
items:
type: object
required:
- DepositRateType
- Rate
properties:
DepositRateType:
type: string
minLength: 1
maxLength: 10
Rate:
$ref: '#/components/schemas/AERate'
CalculationFrequency:
$ref: '#/components/schemas/AEDuration'
ApplicationFrequency:
$ref: '#/components/schemas/AEDuration'
RepaymentType:
type: string
description: |
Options in place for repayments
minLength: 1
maxLength: 40
Notes:
type: string
description: |
Notes providing more information on the rate.
minLength: 1
maxLength: 500
additionalProperties: false
AERate:
description: >
A string representing a percentage (e.g. an interest rate).
A rate of 100% would be represented by the value 1.0 and a rate of -100%
by -1.0
- At least 1 and up to a total of 16 significant digits before decimal
point
- Up to 16 digits following the decimal point
- No formatting, eg thousand separating commas
type: string
minLength: 1
maxLength: 18
AEErrorSignedResponse:
type: object
required:
- iss
- exp
- nbf
- message
properties:
iss:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
exp:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
nbf:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
aud:
type: array
items:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
iat:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
message:
$ref: '#/components/schemas/AEErrorResponse'
description: Signed error response payload
additionalProperties: false
AEExternalAccountRoleCode:
typedescription: string|
enum: Specifies the Party's role with respect to -the Administratorrelated account. Allowed values
- Beneficiary are defined based on ISO 20022 -definitions CustodianForMinoras follows:
- Granter - Administrator: The party that administers -the LegalGuardianaccount and is not the
- OtherParty account -owner.
PowerOfAttorney - PrincipalBeneficiary: Ultimate party that is entitled to either receive -the benefits Protector
- RegisteredShareholderName of the ownership of the account.
- SecondaryOwner - SeniorManagingOfficialCustodianForMinor: Entity that holds the account on behalf of -a Settlorlegal
- SuccessorOnDeath minor. Although the description:account Specifiesis theregistered Party'sunder rolethe withname respectof tothe theminor, related
account. AEExternalPartyTypeCode: type:the stringcustodian retains control of the account.
enum: - DelegateGranter: Granter role in the hedge funds industry.
- Joint - SoleLegalGuardian: Party that has been appointed by description:a >legal authority to act on
Specifies the party type. behalf of a person Encodedjudged withto allowablebe values:incapacitated.
"Delegate" - Used OtherParty: An other type of party. Used when a given account role cannot
be mapped to the role defined at the LFI.
- PowerOfAttorney: Power of attorney which is held by the party.
- Principal: Party acts as principal for the account for trading purposes.
- Protector: Person appointed under a trust instrument to direct or
restrain the trustees in relation to their administration of an account
held in trust.
- RegisteredShareholderName: Party for which shares are to be registered,
for share holding accounts only.
- SecondaryOwner: Entity that is not the primary owner when the ownership of
an investment account is split among several owners.
- SeniorManagingOfficial: Party that makes, or participates in the making of,
decisions that affect the whole, or a substantial part, of the business of
a customer of a reporting entity or that has the capacity to affect
significantly the financial standing of a customer of a reporting entity.
- Settlor: Entity that creates a trust or contributes assets to the trust.
- SuccessorOnDeath: Deceased's estate, or successor, to whom account
ownership will be transferred upon the death of one of the
owners.
type: string
enum:
- Administrator
- Beneficiary
- CustodianForMinor
- Granter
- LegalGuardian
- OtherParty
- PowerOfAttorney
- Principal
- Protector
- RegisteredShareholderName
- SecondaryOwner
- SeniorManagingOfficial
- Settlor
- SuccessorOnDeath
AEExternalPartyTypeCode:
type: string
enum:
- Delegate
- Joint
- Sole
description: >
Specifies the party type.
Encoded with allowable values:
"Delegate" - Used for business accounts when user has delegated
authority to access the account ,
"Joint" - Party is a joint owner of the account
"Sole" - Party is the sole owner of the account
AEPartyCalendarType:
type: string
enum:
- IslamicCalendar
- GregorianCalendar
description: >
The type of calendar used for the date of issuance and date of expiry in
the document evidence
Allowable values:
"Islamic Calendar"
"Gregorian Calendar"
Both calendars must follow YYYY-MM-DD
AEPartyIdentityAddressClaim:
type: object
required:
- Formatted
- StreetAddress
- Locality
- Region
- PostalCode
- Country
properties:
Formatted:
type: string
description: |
The address number and street claim that has been verified.
StreetAddress:
type: string
description: |
The address street claim that has been verified.
Locality:
type: string
description: >
The address locality (village, town, city etc) claim that has been
verified.
Region:
type: string
description: |
The address region claim that has been verified.
PostalCode:
$ref: '#/components/schemas/PostalCode'
Country:
$ref: '#/components/schemas/CountryCode'
description: >
Address object as per OpenID Connect Core 1.0 Address Claim
[https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim](https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim)
additionalProperties: false
AEPartyIdentityAssurance2:
type: object
required:
- PartyId
- PartyType
- AccountRole
- VerifiedClaims
properties:
PartyId:
type: string
minLength: 1
maxLength: 40
description: >-
A unique and immutable identifier used to identify the customer
resource. This identifier has no meaning to the account owner.
PartyNumber:
type: string
minLength: 1
maxLength: 35
description: Number assigned by an agent to identify its customer.
PartyType:
$ref: '#/components/schemas/AEExternalPartyTypeCode'
AccountRole:
$ref: '#/components/schemas/AEExternalAccountRoleCode'
VerifiedClaims:
type: array
items:
$ref: '#/components/schemas/VerifiedClaim'
description: >-
Container object containing entries for the trust framework and the
evidence used to verify the claims
description: >
Party Identity Assurance (Response) Schema
Based on the [OpenID Connect for Identity Assurance 1.0
Specification](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html)
additionalProperties: false
AEPartyIdentityAssurance4:
type: object
required:
- PartyId
- VerifiedClaims
properties:
PartyId:
type: string
minLength: 1
maxLength: 40
description: >-
A unique and immutable identifier used to identify the customer
resource. This identifier has no meaning to the account owner.
PartyNumber:
type: string
minLength: 1
maxLength: 35
description: Number assigned by an agent to identify its customer.
VerifiedClaims:
type: array
items:
$ref: '#/components/schemas/VerifiedClaim'
description: >-
Container object containing entries for the trust framework and the
evidence used to verify the claims
description: >
Party Identity Assurance (Response) Schema
Based on the [OpenID Connect for Identity Assurance 1.0
Specification](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html)
additionalProperties: false
AEPartyIdentityCheckDetail:
type: object
properties:
CheckMethod:
type: string
description: >
Identifes the method used by PASP for checking the evidence for
verification
String representing the check done, this includes processes such as
checking the authenticity of the document, or verifying the user's
biometric against an identity document.
Organization:
type: string
description: >
String denoting the legal entity that performed the check. This
SHOULD be included if the OP did not perform the check itself
Txn:
type: string
description: >
Identifier referring to the identity verification transaction. The
OP MUST ensure that this is present when EvidenceRef element is
used. The OP MUST ensure that the transaction identifier can be
resolved into transaction details during an audit
Time:
$ref: '#/components/schemas/ISODateTime'
description: >
Identifes the method used by PASP for checking the evidence for
verification.
Representing the checks done in relation to the evidence
OpenID Connect for Identity Assurance 1.0:
[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element)
additionalProperties: false
AEPartyIdentityEvidenceAttachment:
type: object
required:
- Desc
- ContentType
- Content
- Txn
properties:
Desc:
type: string
description: >
Description of the document. This can be the filename or just an
explanation of the content.
ContentType:
type: string
description: |
Content (MIME) type of the document
Content:
type: string
description: |
Base64 encoded representation of the document content
Txn:
type: string
description: |
Identifier referring to the transaction
additionalProperties: false
AEPartyIdentityEvidenceAttachments:
type: object
required:
- AEPartyIdentityEvidenceAttachments
properties:
AEPartyIdentityEvidenceAttachments:
type: array
items:
$ref: '#/components/schemas/AEPartyIdentityEvidenceAttachment'
description: >
Attachments
[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-attachments](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-attachments)
additionalProperties: false
AEPartyIdentityEvidenceTypeDocument:
type: object
properties:
Type:
allOf:
- $ref: '#/components/schemas/DocumentEvidenceType'
description: The type of evidence allowed for providing verification.
CheckDetails:
type: array
items:
$ref: '#/components/schemas/AEPartyIdentityCheckDetail'
Verifier:
$ref: '#/components/schemas/DocumentEvidenceVerifier'
Time:
$ref: '#/components/schemas/ISODateTime'
DocumentDetails:
$ref: '#/components/schemas/DocumentEvidenceDetails'
Attachments:
$ref: '#/components/schemas/AEPartyIdentityEvidenceAttachments'
description: >
Document Evidence
[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-document](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-document)
additionalProperties: false
AEPartyIdentityEvidenceTypeElectronicRecord:
type: object
properties:
Type:
allOf:
- $ref: '#/components/schemas/ElectronicRecordEvidenceType'
description: The type of evidence allowed for providing verification.
CheckDetails:
type: array
items:
$ref: '#/components/schemas/AEPartyIdentityCheckDetail'
Time:
$ref: '#/components/schemas/ISODateTime'
Record:
$ref: '#/components/schemas/ElectronicRecordProperties'
Attachments:
$ref: '#/components/schemas/AEPartyIdentityEvidenceAttachments'
description: >
Electronic Record Evidence
[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-electronic_re](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-type-electronic_re)
additionalProperties: false
AEReadParty2:
type: object
required:
- Data
- Links
- Meta
properties:
Data:
$ref: '#/components/schemas/AEReadParty2Data'
Links:
$ref: '#/components/schemas/LinksResource'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
description: List of Parties for an Account
additionalProperties: false
AEReadParty2Data:
type: object
required:
- AccountId
- Party
properties:
AccountId:
$ref: '#/components/schemas/AccountId'
Party:
type: array
items:
$ref: '#/components/schemas/AEPartyIdentityAssurance2'
description: Primary data for the resource
additionalProperties: false
AEReadParty2Signed:
type: object
required:
- iss
- exp
- nbf
- message
properties:
iss:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
exp:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
nbf:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
aud:
type: array
items:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
iat:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
message:
$ref: '#/components/schemas/AEReadParty2'
additionalProperties: false
AEReadParty4:
type: object
required:
- Data
- Links
- Meta
properties:
Data:
$ref: '#/components/schemas/AEReadParty4Data'
Links:
$ref: '#/components/schemas/LinksResource'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
description: Current User Information
additionalProperties: false
AEReadParty4Data:
type: object
required:
- Party
properties:
Party:
$ref: '#/components/schemas/AEPartyIdentityAssurance4'
additionalProperties: false
AEReadParty4Signed:
type: object
required:
- iss
- exp
- nbf
- message
properties:
iss:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
exp:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
nbf:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
aud:
type: array
items:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
iat:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
message:
$ref: '#/components/schemas/AEReadParty4'
additionalProperties: false
AssuranceDetails:
type: object
required:
- AssuranceType
- AssuranceClassification
- EvidenceRef
properties:
AssuranceType:
type: string
description: >-
String denoting which part of the assurance_process the evidence
fulfils
AssuranceClassification:
type: string
description: >-
String reflecting how the evidence has been classified or measured
as required by the TrustFramework
EvidenceRef:
type: array
items:
$ref: '#/components/schemas/EvidenceRef'
description: Denoting the details about how the evidence complies with the policy
additionalProperties: false
AssuranceProcess:
type: object
required:
- Policy
- Procedure
- AssuranceDetails
properties:
Policy:
type: string
description: Representing the standard or policy that was followed.
Procedure:
type: string
description: Representing a specific procedure from the policy that was followed.
AssuranceDetails:
type: array
items:
$ref: '#/components/schemas/AssuranceDetails'
description: >
Determines the assurance process that was followed. This reflects how
the evidence meets the requirements of the TrustFramework and
AssuranceLevel. The factual record of the evidence and the procedures
followed are recorded in the evidence element, this element is used to
cross reference the evidence to the AssuranceLevel followed
OpenID Connect for Identity Assurance 1.0:
[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element)
additionalProperties: false
Claims:
type: object
properties:
GivenName:
type: string
description: >-
Given name of the Party. Given name (also called forename) is used
to differentiate from the surname or family name.
Surname:
type: string
description: Surname of the Party
MiddleName:
type: string
description: Middle name of the Party
Nickname:
type: string
description: Nickname of the Party
EmiratesId:
type: string
description: Emirates ID number of the Party
EmiratesIdExpiryDate:
type: string
format: date
description: Emirates ID card expiry date
DateOfBirth:
type: string
format: date
description: Date of birth of the Party
SourceOfIncome:
type: string
Salary:
type: number
Nationality:
type: string
ResidentialAddress:
$ref: '#/components/schemas/AEPartyIdentityAddressClaim'
MobileNumber:
type: string
Email:
type: string
MaritalStatus:
type: string
Salutation:
type: string
Language:
type: string
EmployerName:
type: string
EmploymentSinceDate:
type: string
format: date
PowerofAttorney:
type: boolean
SalaryTransfer:
type: boolean
Profession:
type: string
UpdatedAt:
type: string
format: time
description: >
Standard Claims:
[https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)
IdentityAssurance Claims:
[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims)
additionalProperties: false
CountryCode:
type: object
required:
- CountryCode
properties:
CountryCode:
type: string
pattern: ^[A-Z]{2,2}$
description: Nation with its own government, occupying a particular territory.
additionalProperties: false
DocumentEvidenceDetails:
type: object
properties:
Type:
$ref: '#/components/schemas/DocumentEvidenceDetailsType'
DocumentNumber:
type: string
description: The unique id number in the evidence used for verification checking
PersonalNumber:
type: string
description: >
An identifier that is assigned to the End-User and is not limited to
being used in one document, for example a national identification
number, personal identity number, citizen number, social security
number, driver number, account number, customer number, licensee
number, etc
SerialNumber:
type: string
description: >
An identifier/number that identifies the document irrespective of
any personalization information (this usually only applies to
physical artifacts and is present before personalization).
CalendarType:
$ref: '#/components/schemas/AEPartyCalendarType'
DateOfIssuance:
$ref: '#/components/schemas/ISODateTime'
DateOfExpiry:
$ref: '#/components/schemas/ISODateTime'
Issuer:
$ref: '#/components/schemas/DocumentEvidenceDetailsIssuer'
description: 'Representing the document used to perform the identity verification. '
additionalProperties: false
DocumentEvidenceDetailsIssuer:
type: object
required:
- Name
- Address
- CountryCode
- Jurisdiction
properties:
Name:
type: string
description: |
Designation of the issuer of the document.
Address:
$ref: '#/components/schemas/AEPartyIdentityAddressClaim'
CountryCode:
allOf:
- $ref: '#/components/schemas/CountryCode'
description: >
String denoting the country or supranational organization that
issued the document as ISO 3166
Jurisdiction:
type: string
description: >
String containing the name of the
region(s)/state(s)/province(s)/municipality(ies) that issuer has
jurisdiction over (if this information is not common knowledge or
derivable from the address)
description: Containing information about the issuer of this document.
additionalProperties: false
DocumentEvidenceDetailsType:
type: string
enum:
- passport
- driving_permit
- idcard
- residence_permit
description: >
The type of document used for evidence checking
[https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)"
DocumentEvidenceType:
type: string
enum:
- document
DocumentEvidenceVerifier:
type: object
required:
- Organization
properties:
Organization:
type: string
description: >-
String denoting the organization which performed the verification on
behalf of the OP.
Txn:
type: string
description: >-
Identifier referring to the identity verification transaction. The
OP MUST ensure that the transaction identifier can be resolved into
transaction details during an audit.
description: >-
Denoting the legal entity that performed the identity verification. This
object SHOULD be included if the OP did not perform the identity
verification itself. This object is retained for backward compatibility,
implementers are recommended to use CheckDetails & Organization instead
additionalProperties: false
ElectronicRecordEvidenceType:
type: string
enum:
- electronic_record
ElectronicRecordProperties:
type: object
required:
- Type
- PersonalNumber
- CalendarType
- CreatedAt
- DateOfExpiry
- Source
properties:
Type:
$ref: '#/components/schemas/ElectronicRecordType'
PersonalNumber:
type: string
description: >
String representing an identifier that is assigned to the User and
is not limited to being used in one record, for example a national
identification number, personal identity number, citizen number,
social security number, driver number, account number, customer
number, licensee number, etc.
CalendarType:
$ref: '#/components/schemas/AEPartyCalendarType'
CreatedAt:
$ref: '#/components/schemas/ISODateTime'
DateOfExpiry:
$ref: '#/components/schemas/ISODateTime'
Source:
$ref: '#/components/schemas/ElectronicRecordSourceProperties'
description: |
Representing the record used to perform the identity verification.
additionalProperties: false
ElectronicRecordSourceProperties:
type: object
required:
- Name
- Address
- CountryCode
- Jurisdiction
properties:
Name:
type: string
description: |
Designation of the source of the electronic_record
Address:
$ref: '#/components/schemas/AEPartyIdentityAddressClaim'
CountryCode:
allOf:
- $ref: '#/components/schemas/CountryCode'
description: >
String denoting the country or supranational organization that
issued the evidence as ISO 3166
Jurisdiction:
type: string
description: >
String containing the name of the region(s) / state(s) / province(s)
/ municipality(ies) that source has jurisdiction over (if it's not
common knowledge or derivable from the address)
description: |
Information about the source of this record
additionalProperties: false
ElectronicRecordType:
type: string
enum:
- bank_account
- mortgage_account
- loan_account
description: >
String denoting the type of electronic record
EvidenceMetadata:
type: object
required:
- EvidenceClassification
properties:
EvidenceClassification:
type: string
description: >-
Object indicating any meta data about the evidence that is required by
the AssuranceProcess in order to demonstrate compliance with the
TrustFramework. It has the following sub-elements
additionalProperties: false
EvidenceRef:
type: object
required:
- Txn
- EvidenceMetadata
properties:
Txn:
type: string
description: Identifier referring to the txn used in the CheckDetails.
EvidenceMetadata:
$ref: '#/components/schemas/EvidenceMetadata'
description: Evidence being referred to
additionalProperties: false
EvidenceType:
anyOf:
- $ref: '#/components/schemas/AEPartyIdentityEvidenceTypeDocument'
- $ref: '#/components/schemas/AEPartyIdentityEvidenceTypeElectronicRecord'
LinksResource:
type: object
required:
- Self
properties:
Self:
$ref: '#/components/schemas/Self'
First:
$ref: '#/components/schemas/First'
Prev:
$ref: '#/components/schemas/Prev'
Next:
$ref: '#/components/schemas/Next'
Last:
$ref: '#/components/schemas/Last'
description: Links relevant to the resource
additionalProperties: false
PostalCode:
type: object
required:
- PostalCode
properties:
PostalCode:
type: string
minLength: 5
maxLength: 5
description: >-
Identifier consisting of a group of letters and/or numbers that is
added to a postal address to assist the sorting of mail.
additionalProperties: false
TrustFrameworkCode:
type: string
enum:
- Undefined
description: >-
Identifies the trust framework used for verification. This consists of a
set of rules and standards and sets out requirements so that
organisations know what ‘good’ identity verification looks like.
Trust Frameworks:
[https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)
VerifiedClaim:
type: object
required:
- Verification
- Claims
properties:
Verification:
$ref: '#/components/schemas/VerifiedClaimVerification'
Claims:
allOf:
- $ref: '#/components/schemas/Claims'
description: >
Standard Claims:
[https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)
IdentityAssurance Claims:
[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-claims)
description: >
Verified Claims
Container object containing entries for the trust framework and the
evidence used to verify the claims
[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-representing-verified-claim](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-representing-verified-claim)
additionalProperties: false
VerifiedClaimVerification:
type: object
required:
- TrustFramework
properties:
TrustFramework:
$ref: '#/components/schemas/TrustFrameworkCode'
AssuranceLevel:
type: string
description: >
Determines the assurance level associated with the User in the
respective VerifiedClaims. The value range depends on the respective
TrustFramework value.
Assurance Level:
[https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)
AssuranceProcess:
$ref: '#/components/schemas/AssuranceProcess'
Time:
allOf:
- $ref: '#/components/schemas/ISODateTime'
description: >
Representing the date and time when the identity verification
process took place. All dates in the JSON payloads are represented
in ISO 8601 date-time format. All date-time fields in responses must
include the timezone. An example is below: 2017-04-05T10:43:07+00:00
VerificationProcess:
type: string
description: >
Unique reference to the identity verification process as performed
by the OP. Used for identifying and retrieving details in case of
disputes or audits. Presence of this element might be required for
certain trust frameworks.
Evidence:
allOf:
- $ref: '#/components/schemas/EvidenceType'
description: >
The type of evidence allowed for providing verification.
OpenID Connect for Identity Assurance 1.0:
[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-evidence-element)
description: >
Verification
[https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html#name-verification-element)
additionalProperties: false
AEAccountAccessOpenFinanceBilling:
type: object
required:
- UserType
- Purpose
properties:
IsLargeCorporate:
type: "boolean"
description: Customer has more than 100 million AED turnover
UserType:
description: Type of Customer
type: string
enum:
- Retail
- SME
- Corporate
Purpose:
description: Purpose of data sharing request
type: string
enum:
- AccountAggregation
- RiskAssessment
- TaxFiling
- Onboarding
- Verification
- QuoteComparison
- BudgetingAnalysis
- FinancialAdvice
- AuditReconciliation
description: Billing parameters specified by the TPP
additionalProperties: false
parameters:
Authorization:
name: authorization
in: header
required: true
description: An authorization Token as per https://tools.ietf.org/html/rfc6750
schema:
type: string
x-customer-user-agent:
in: header
name: x-customer-user-agent
description: Indicates the user-agent that the User is using.
required: false
schema:
type: string
x-fapi-customer-ip-address:
in: header
name: x-fapi-customer-ip-address
required: false
description: The User's IP address if the User is currently logged in with the TPP.
schema:
type: string
x-fapi-auth-date:
in: header
name: x-fapi-auth-date
required: false
description: >-
The time when the User last logged in with the TPP.
All dates in the HTTP headers are represented as RFC 7231 Full Dates. An
example is below:
Sun, 10 Sep 2017 19:43:31 UTC
schema:
type: string
pattern: >-
^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
\d{2}:\d{2}:\d{2} (GMT|UTC)$
x-fapi-interaction-id:
in: header
name: x-fapi-interaction-id
required: false
description: An RFC4122 UID used as a correlation id.
schema:
type: string
ConsentId:
name: ConsentId
in: path
description: ConsentId
required: true
schema:
type: string
AccountId:
name: AccountId
in: path
description: AccountId
required: true
schema:
type: string
FromBookingDateTimeParam:
in: query
name: fromBookingDateTime
description: >-
The UTC ISO 8601 Date Time to filter transactions FROM
NB Time component is optional - set to 00:00:00 for just Date.
If the Date Time contains a timezone, the LFI must ignore the timezone
component.
schema:
type: string
format: date-time
ToBookingDateTimeParam:
in: query
name: toBookingDateTime
description: >-
The UTC ISO 8601 Date Time to filter transactions TO
NB Time component is optional - set to 00:00:00 for just Date.
If the Date Time contains a timezone, the LFI must ignore the timezone
component.
schema:
type: string
format: date-time
baseConsentId:
in: query
name: baseConsentId
required: true
description: |
A specific baseConsentId. For example:
```
baseConsentId=abc-19877d98-ab0e-4758-92a7-vvffr1234abv
```
schema:
type: string
allowEmptyValue: false
example: abc-19877d98-ab0e-4758-92a7-vvffr1234abv
securitySchemes:
TPPOAuth2Security:
type: oauth2
description: >-
TPP confidential client authorization with the LFI to stage a consent.
**Please refer to [OpenID FAPI Security Profile 1.0 -Part 2
Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)
- 5.2.2 point 14 - shall authenticate the confidential client using one
of the following methods private_key_jwt and [OpenID Connect Core
1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
9. Client Authentication private_key_jwt**
flows:
clientCredentials:
tokenUrl: https://authserver.example/token
scopes:
openid: Activates OpenID Connect Support
accounts: Ability to read Accounts Information
UserOAuth2Security:
type: oauth2
description: >-
[OAuth2 PAR flow](https://datatracker.ietf.org/doc/html/rfc9126), it is
required when the User needs to perform SCA with the LFI when a TPP
wants to access an LFI resource owned by the User. **Please refer to
[OpenID FAPI Security Profile 1.0 -Part 2
Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)
- 5.2.2 point 14 - shall authenticate the confidential client using one
of the following methods private_key_jwt and [OpenID Connect Core
1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
9. Client Authentication private_key_jwt**
flows:
authorizationCode:
authorizationUrl: https://authserver.example/authorization
tokenUrl: https://authserver.example/token
scopes:
openid: Activates OpenID Connect Support
accounts: >-
Ability to read Accounts Information. This is a parameterized
scope with the ConsentId
LFIWebhookSecurity:
type: http
description: >-
The LFI generates a Self Signed JWT Authorization Token for Client
Authentication with the TPP. **Please refer to Self-Signed JWT
Authorization Token Specification in the UAE Standard API User Guide**
scheme: bearer
bearerFormat: JWT
|