openapi: 3.0.01
info:
title: UAE Account Information APIOzone Connect - Data Sharing APIs
descriptioncontact:
'## UAE Open Financename: AccountOzone InformationFinancial APITechnology Specification'Limited
versiondescription: v1.0-rc1
servers:|
- url: /open-finance/account-information/v1.0-rc1
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
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:**
* ReadPartyPSU
* ReadPartyPSUIdentity
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/AEReadParty3'
application/json:
schema:
$ref: '#/components/schemas/AEReadParty3'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadParty3Signed'
'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:
- UAEOF.Resource.Created
- UAEOF.Resource.Updated
- UAEOF.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
Purpose:
description: Purpose
type: string
enum:
- Account Aggregation
- Personal Finance Manager
- Credit Assessment
- Tax Filing
- Enterprise Financial Management
- Other
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., UAEOF.Field.Missing
type: string
enum:
- UAEOF.AccessToken.Unauthorized
- UAEOF.AccessToken.InvalidScope
- UAEOF.Consent.Revoked
- UAEOF.Consent.TransientAccountAccessFailure
- UAEOF.Consent.AccountTemporarilyBlocked
- UAEOF.Consent.PermanentAccountAccessFailure
- UAEOF.Consent.Invalid
- UAEOF.JWS.InvalidSignature
- UAEOF.JWS.Malformed
- UAEOF.JWS.InvalidClaim
- UAEOF.JWS.InvalidHeader
- UAEOF.GenericRecoverableError
- UAEOF.GenericError
- UAEOF.JWE.DecryptionError
- UAEOF.JWE.InvalidHeader
- UAEOF.Event.UnexpectedEvent
- UAEOF.Body.InvalidFormat
- UAEOF.Resource.InvalidResourceId
- UAEOF.Resource.InvalidFormat
- UAEOF.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:
- UAEOF.Online
- UAEOF.Offline
- UAEOF.Batch
TransactionType:
description: The type of transaction
type: string
enum:
- UAEOF.POS
- UAEOF.ECommerce
- UAEOF.ATM
- UAEOF.BillPayments
- UAEOF.LocalBankTransfer
- UAEOF.SameBankTransfer
- UAEOF.InternationalTransfer
- UAEOF.Teller
- UAEOF.Cheque
- UAEOF.Other
SubTransactionType:
description: The sub-type of a transaction
type: string
enum:
- UAEOF.Purchase
- UAEOF.Reversal
- UAEOF.Refund
- UAEOF.Withdrawal
- UAEOF.WithdrawalReversal
- UAEOF.Deposit
- UAEOF.DepositReversal
- UAEOF.MoneyTransfer
- UAEOF.NotApplicable
Flags:
description: The flag of a transaction
type: string
enum:
- UAEOF.Cashback
- UAEOF.Payroll
- UAEOF.DirectDebit
- UAEOF.StandingOrder
- UAEOF.Loan
- UAEOF.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:
- UAEOF.BetweenMyAccounts
- UAEOF.SameBankTransfer
- UAEOF.LocalBankTransfer
- UAEOF.InternationalTransfer
- UAEOF.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:
- UAEOF.Active
- UAEOF.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:
- UAEOF.Annual
- UAEOF.Daily
- UAEOF.Fortnightly
- UAEOF.HalfYearly
- UAEOF.Monthly
- UAEOF.NotKnown
- UAEOF.Quarterly
- UAEOF.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'
NameThis document provides the OAS3 specification for Data Sharing APIs for Ozone Connect.
These APIs should be implemented by an financial institution so that Ozone
can expose these end-points to TPPs.
#### Document Structure
The documentation contains a number of references of the form `XXX-999-999`. These are references
to test case numbers in the Ozone Connect Test Harness that financial institutions may use to test their Ozone Connect implementations.
#### Coming soon
The following changes can be expected in the next release:
- some enumeration and object definitions remain to be aligned with CBUAE specifications. These will be updated
- specific changes expected in the next release have been marked as ***TODO*** in the document
- query parameters for pagination will be introduced in alignment with CBUAE specifications
- some additional query parameters for functional completeness will be introduced
version: Version 2024.31 for CBUAE
servers:
- url: https://<your-ozone-connect-server>
tags:
- name: accounts
description: |
APIs that should be implemented by Financial Instituations to expose `accounts` information to TPPs.
- name: balances
description: |
APIs that should be implemented by Financial Instituations to expose `balances` information to TPPs.
- name: transactions
description: |
APIs that should be implemented by Financial Instituations to expose `transactions` information to TPPs.
- name: customers
description: |
APIs that should be implemented by Financial Instituations to expose `customer` information to TPPs.
- name: beneficiaries
description: |
APIs that should be implemented by Financial Instituations to expose `beneficiaries` information to TPPs.
- name: direct-debits
description: |
APIs that should be implemented by Financial Instituations to expose `direct debit` information to TPPs.
- name: scheduled-payments
description: |
APIs that should be implemented by Financial Instituations to expose `scheduled payment` information to TPPs.
- name: standing-orders
description: |
APIs that should be implemented by Financial Instituations to expose `standing order` information to TPPs.
- name: products
description: |
APIs that should be implemented by Financial Instituations to expose `product` information to TPPs.
paths:
/accounts:
get:
tags:
- accounts
summary: Fetch accounts
description: |
###### ACC-010-010
The API must return all the accounts specified by the `accountIds` query parameter.
###### ACC-010-140
If one or more specified accountIds does not exist or cannot be retrieved the call should continue to return other accounts.
###### ACC-010-150
If no accounts are found, the call must return a success status code `200` with an empty `data` array.
## Optionality
At least one of `/accounts` or `/accounts/:accountId` must be implemented.
If not implemented, Ozone will use the `/accounts/:accountId` end-point.
However, that is not as performant an alternative and Financial Instituations are encouraged to implement this end-point.
operationId: findAccounts
parameters:
# common header parameters that set context
- $ref: "#/components/parameters/providerId"
- $ref: "#/components/parameters/aspspId"
- $ref: "#/components/parameters/callerOrgId"
- $ref: "#/components/parameters/callerClientId"
- $ref: "#/components/parameters/callerSoftwareStatementId"
- $ref: "#/components/parameters/apiUri"
- $ref: "#/components/parameters/apiOperation"
- $ref: "#/components/parameters/consentId"
- $ref: "#/components/parameters/callerInteractionId"
- $ref: "#/components/parameters/ozoneInteractionId"
- $ref: "#/components/parameters/psuIdentifier"
# query parameters
- name: accountIds
in: query
description: Comma separated ids of the accounts to be returned
schema:
type: string
minimum: 1
required: true
responses:
"200":
description: successful operation
content:
application/json:
schema:
$ref: "#/components/schemas/AccountsResponse"
"400":
$refdescription: '#/components/schemas/Name_2' |
Frequency: The operation __must__ be failed with a status of $ref: '#/components/schemas/FrequencyDD'
`400` under the following error conditions:
PreviousPaymentDateTime: - $ref: '#/components/schemas/PreviousPaymentDateTime'###### ACC-010-020
PreviousPaymentAmount: If the `accountsIds` query parameter is not supplied.
$ref:
'#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0' additionalProperties: false - AEReadStandingOrder:
###### ACC-010-040
description: List of Standing Orders for an Account The `o3-psu-identifier` header parameter is type:not objectspecified.
required: - ###### ACC-010-050
Data - Links Both the `accountIds` query parameter and the `o3-psu- Metaidentifier` header parameter are not specified.
properties: - ###### ACC-010-030
Data: type: object
The `o3-provider-id` header is missing or has an unexpected value
description: Primary data for the resource The operation __may__ be failed required:with a status of `400` under the following error conditions:
- AccountId - ###### ACC-010-070, ACC-010-080, ACC-010-090
StandingOrder properties: One or more of the mandatory header parameters is not AccountId:specified or has an unexpected value
$ref: '#/components/schemas/AccountId' - `o3-api-uri`,
StandingOrder: - `o3-api-operation`,
type: array - `o3-ozone-interaction-id`
items: content:
$ref: '#/components/schemas/AEStandingOrder'application/json:
additionalProperties: false schema:
Links: $ref: '"#/components/schemas/Links'Error"
Meta"401":
$refdescription: '#/components/schemas/MetaTotalPages'|
additionalProperties: false AEStandingOrder:The operation __must__ be description: Standing Orders for a specific AccountId
type: objectfailed with a status of `401` under the following error conditions:
required: - ###### ACC-010-100
Frequency - StandingOrderId The API consumer is not -authorised.
FirstPaymentDateTime
- FinalPaymentDateTime content:
- NumberOfPayments application/json:
- StandingOrderStatusCode -schema:
FirstPaymentAmount - FinalPaymentAmount properties$ref: "#/components/schemas/Error"
StandingOrderIdsecurity:
- $refbearerAuth: '#/components/schemas/StandingOrderId'[]
/accounts/{accountId}:
AccountHolderNameget:
tags:
$ref: '#/components/schemas/AccountHolderName' - accounts
AccountHolderShortName: summary: Fetch the account specified by the account $ref: '#/components/schemas/AccountHolderShortName'id
StandingOrderTypedescription: |
$ref: '#/components/schemas/StandingOrderType'###### ACC-020-010
The Frequency:API must return the account specified by the `accountId` path parameter.
$ref: '#/components/schemas/Frequency' ## Optionality
CreditorReference: At least one $ref:of '#/components/schemas/Reference'
`/accounts` or `/accounts/:accountId` must be implemented.
Purpose operationId: findByAccountId
parameters:
$ref: '#/components/schemas/PurposeSO' # common header parameters that FirstPaymentDateTime:set context
- $ref: '"#/components/schemas/FirstPaymentDateTime'parameters/providerId"
- NextPaymentDateTime$ref: "#/components/parameters/aspspId"
- $ref: '"#/components/schemas/NextPaymentDateTime'parameters/callerOrgId"
- LastPaymentDateTime$ref: "#/components/parameters/callerClientId"
- $ref: '"#/components/schemas/LastPaymentDateTime'parameters/callerSoftwareStatementId"
- FinalPaymentDateTime$ref: "#/components/parameters/apiUri"
- $ref: '"#/components/schemas/FinalPaymentDateTime'parameters/apiOperation"
- NumberOfPayments$ref: "#/components/parameters/consentId"
- $ref: '"#/components/schemas/NumberOfPayments'parameters/callerInteractionId"
- StandingOrderStatusCode$ref: "#/components/parameters/ozoneInteractionId"
- $ref: '"#/components/schemas/AEExternalStandingOrderStatusCode'parameters/psuIdentifier"
# Path FirstPaymentAmount:param definitions
- $refname: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_2'accountId
NextPaymentAmount: in: path
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_3' description: Id of the account to be LastPaymentAmount:queried
$refrequired: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_7'true
FinalPaymentAmountschema:
$ref type: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_4'string
responses:
CreditorAgent: "200":
$ref: >- description: successful operation
#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_1 content:
CreditorAccount: typeapplication/json:
array itemsschema:
$ref: '"#/components/schemas/AECashAccount5_0'AccountResponse"
SupplementaryData"400":
$refdescription: '#/components/schemas/AESupplementaryData'|
additionalProperties: false AEBranchAndFinancialInstitutionIdentification5_1:The operation __must__ be failed with a type:status objectof `400` under the following error conditions:
required:
- IdentificationType - ###### ACC-020-020
- Identification description: > The account corresponding to the `accountId` query Creditorparameter Agentdoes refersnot toexist theor Financialis Institutionunder thata managesbar
the
account on behalf of the- scheduled payment beneficiary party, managing###### ACC-020-030
registration, booking of entries on the account, calculating balances on
The `o3-provider-id` header is missing or has an unexpected value
the account and providing information about the account. ThisThe is the
servicing Financial Institution of the Beneficiary account.operation __should__ be failed with a status of `400` under the following error conditions:
properties: - ###### ACC-020-040
IdentificationType: $ref: >-The financial institution should fail the call if the `o3-psu-identifier` header is #/components/schemas/AEExternalFinancialInstitutionIdentificationCodenot specified.
Identification: - ###### ACC-020-050
$ref: '#/components/schemas/Identification_1' additionalProperties: false If both the DebtorReference:`accountId` and `o3-psu-identifier` header are not specified.
description:
> Reference in the contextThe of the User 1 (i.e. the Debtor) to refer to the
operation __may__ be failed with a status of `400` under the following error conditions:
payment transaction. - ###### ACC-020-070, Usage: If available, the initiating party (i.e. Debtor) generates thisACC-020-080, ACC-020-090
One or referencemore forof internalthe purposes (e.g. to enable reconciliation, refer to
mandatory header parameters is not specified or has an unexpected value
a PO, invoice etc). This field is captured by the LFI and is not- `o3-api-uri`,
transmitted via the payment rails to the Creditor of the payment.- `o3-api-operation`,
type: string - `o3-ozone-interaction-id`
minLength: 1 maxLengthcontent:
35 AEExternalScheduleTypeCode: descriptionapplication/json:
> Specifies the type of scheduled paymentschema:
date provided under ScheduledPaymentDateTime. Encoded with allowable values of:$ref: "#/components/schemas/Error"
"401":
"Arrival" - User1 specifies the datedescription: for|
the arrival of funds in the beneficiary (Creditor) account The operation __must__ be failed with a "Execution"status -of User1`401` specifiesunder the datefollowing whicherror theconditions:
payment
needs to be executed from the User 1 (Debtor) account. - ###### ACC-020-100
type: string enum: The API consumer is -not UAEOFauthorised.Arrival
-content:
UAEOF.Execution ScheduledPaymentDateTime: descriptionapplication/json:
>- Date (and time) information related toschema:
the scheduled payment (Arrival or Execution) based on the ScheduleType field. All dates in the JSON
$ref: "#/components/schemas/Error"
security:
payloads are represented- inbearerAuth: ISO[]
8601
date-time format. /accounts/{accountId}/balances:
get:
All date-time fieldstags:
in responses must include the timezone. An example - balances
issummary: below:Fetch the balances for the account specified by the 2017-04-05T10:43:07+00:00account id.
typeoperationId: findBalancesByAccountId
string
formatdescription: date-time|
ProductId: ###### BAL-020-010
description: >- Retrieves the Identifierbalance withinfor theaccount LFIspecified forby the `accountId` productparameter.
Must be unique in the ###### BAL-020-110
organisation. If the type:`balanceType` stringis specified, the financial institution must return minLength:the 1specified balance type only.
maxLength: 40 AEProductType1Code:
###### BAL-020-120
description: Descriptive code forIf the product.balanceType is not specified, the financial institution may type:return stringmore than one balance record AEProductName:for each account. Each row would represent description:a Descriptivebalance nameof fora thedifferent producttype.
typeparameters:
string ScheduledPaymentId: # common header parameters description:that >-set context
A unique- and immutable identifier produced by the LFI to identify the
$ref: "#/components/parameters/providerId"
- $ref: "#/components/parameters/aspspId"
scheduled payment resource. This- identifier has no meaning to the$ref: "#/components/parameters/callerOrgId"
- $ref: "#/components/parameters/callerClientId"
account owner. - type$ref: string"#/components/parameters/callerSoftwareStatementId"
minLength: 1 - $ref: "#/components/parameters/apiUri"
maxLength: 40 - BeneficiaryId$ref: "#/components/parameters/apiOperation"
description: >- - $ref: "#/components/parameters/consentId"
A unique and immutable identifier- used to identify the beneficiary$ref: "#/components/parameters/callerInteractionId"
resource.- This identifier has no meaning to the account owner.
type: string$ref: "#/components/parameters/ozoneInteractionId"
- $ref: "#/components/parameters/psuIdentifier"
# minLength:Path 1param definitions
maxLength: 40 - name: accountId
AEBeneficiaryTypeCode: description: >- in: path
Specifies the Beneficiary Type. Encoded withdescription: allowableId valuesof of:the account to be queried
'Activated' - Beneficiary has been added torequired: thetrue
beneficiary list using schema:
SCA. 'NotActivated' - Beneficiary has been added to the beneficiary list type: string
without SCA # query parameters
type: string - enumname: balanceType
- UAEOF.Activated in: query
- UAEOF.NotActivated AEBranchAndFinancialInstitutionIdentification6_0description: The type of balance to be type:returned
object description: >- schema:
Party that manages the account on behalf of the account owner, that is$ref: "#/components/schemas/CbuaeBalanceType"
responses:
manages the registration and booking"200":
of entries on the account, description: successful operation
calculates balances on the account and provides information about the content:
account. application/json:
This is the servicer of the beneficiary account. schema:
required: - IdentificationType $ref: "#/components/schemas/BalancesResponse"
- Identification "400":
properties: description: |
IdentificationType: $ref: >-The operation __must__ be failed with a status of `400` under the #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
following error conditions:
Identification: - ###### BAL-020-020
$ref: '#/components/schemas/Identification_1' Name: The balance for account corresponding to the `accountId` query $ref: '#/components/schemas/Name_1'
PostalAddress:parameter does not exist or is under a bar
$ref: '#/components/schemas/AEPostalAddress6'
- ###### BAL-020-030
additionalProperties: false AECashAccount5_0: The `o3-provider-id` header type:is objectmissing or has an unexpected value
required: - IdentificationType - ###### BAL-020-130
- Identification description: Provides theThe details`balanceType` toquery identifyparameter thehas beneficiaryan account.unexpected value or is not supported by properties:the financial institution.
IdentificationType: The operation __should__ be $ref: '#/components/schemas/AEExternalAccountIdentificationCode'
Identification:failed with a status of `400` under the following error conditions:
$ref: '#/components/schemas/Identification_0'
- ###### BAL-020-040
additionalProperties: false AECashAccount6_0: The financial type:institution objectshould fail the call if the description: >
`o3-psu-identifier` header is not specified.
Creditor account details available in case the transaction- is a Debit###### BAL-020-050
transaction. Both the `accountId` query parameter Theseand are optional because therethe `o3-psu-identifier` header parameter are situationsnot wherespecified.
this
cannot be populated for theThe following Debit transactions:
- cash withdrawals (no creditor account/agent)operation __may__ be failed with a status of `400` under the following error conditions:
- cheques and DDs may not have this information at least during the###### BAL-020-070, BAL-020-080, BAL-020-090
One or processmore of clearingthe andmandatory sometimes (e.g. for agency banks) may not be
header parameters is not specified or has an unexpected value
reconciled ever - some corner situations with international payments`o3-api-uri`,
- `o3-api-operation`,
for card payments (instead merchant information fields should be - `o3-ozone-interaction-id`
populated) propertiescontent:
IdentificationType application/json:
$ref: '#/components/schemas/AEExternalAccountIdentificationCode' schema:
Identification: $ref: '"#/components/schemas/Identification_0'Error"
Name"401":
$refdescription: '#/components/schemas/Name_0'|
additionalProperties: false The operation AECashAccount6_1:
type: object
__must__ be failed with a status of `401` under the following error conditions:
description: > - ###### AccountBAL-020-100
details of the Debtor in case the transaction is a Credit The API consumer is not transactionauthorised.
Thesecontent:
are optional because there are situations where this cannot be application/json:
populated for the following Credit transactions schema:
- cash deposits (no creditor account/agent) $ref: "#/components/schemas/Error"
- cheques and DDs maysecurity:
not have this information at least during the - bearerAuth: []
/accounts/{accountId}/transactions:
process of clearing andget:
sometimes (e.g. for agency banks) may nottags:
be - reconciledtransactions
ever summary: Fetch transactions for -the someaccount cornerspecified situationsby withthe internationalaccountId
payments description: |
- for refunds with card payments###### TXN-020-010
(instead merchant information fields Retrieves all the transactions shouldfor bethe populated)account specified by the `accountId` in the properties:URL.
IdentificationType: ###### TXN-020-011
$ref: '#/components/schemas/AEExternalAccountIdentificationCode'
Identification:
Retrieves the transactions for the account specified, starting from the specified valid `fromBookingDateTime` query parameter, until today.
$ref: '#/components/schemas/Identification_0' ###### TXN-020-012
Name: Retrieves the transactions for the account $ref: '#/components/schemas/Name_0'
additionalProperties: false
Reference:specified, starting from the begining, and ending at the specified valid `toBookingDateTime` query parameter.
description: >- ###### TXN-020-013
Unique reference inRetrieves the contexttransactions offor the account creditorspecified, providedstarting byfrom the the specified valid `fromBookingDateTime` query parameter, and ending creditor toat the User1 (Debtor), to unambiguously refer to the paymentspecified valid `toBookingDateTime` query parameter.
###### TXN-020-020
transaction. Usage: If available, the initiating party (i.e. Debtor)
provides this reference in the structured remittance information, to
If the account does not exist or is under a bar, then the financial institution should return an error with status 400.
enable reconciliation by theoperationId: CreditorfindTransactionsByAccountId
upon receipt of the amount of parameters:
money. This# fieldcommon isheader populatedparameters bythat theset Usercontext
1 (who is the initiating - $ref: "#/components/parameters/providerId"
party of the payment e.g. the Debtor). Field is free format text- $ref: "#/components/parameters/aspspId"
- type$ref: string"#/components/parameters/callerOrgId"
minLength: 1 maxLength: 35- $ref: "#/components/parameters/callerClientId"
TransactionId: - description$ref: >-"#/components/parameters/callerSoftwareStatementId"
Unique- identifier for the transaction within an servicing institution.$ref: "#/components/parameters/apiUri"
- $ref: "#/components/parameters/apiOperation"
This identifier is both unique and immutable.- $ref: "#/components/parameters/consentId"
type: string - $ref: "#/components/parameters/callerInteractionId"
minLength: 1 - maxLength$ref: 210"#/components/parameters/ozoneInteractionId"
TransactionReference: - $ref: description: >"#/components/parameters/psuIdentifier"
# UniquePath referenceparam fordefinitions
the transaction. - name: accountId
When processed through a national payment system, it is mandatory toin: bepath
populated by thedescription: LFI.Id of the account to be queried
As an example, it may be a reference coderequired: fortrue
the local payment scheme." typeschema:
string minLength: 1 maxLengthtype: 210
string
AECreditDebitCode_1: descriptionexample: Indicatesabc-123
whether the transaction is a credit or a debit- entry.
$ref: "#/components/parameters/transaction-fromBookingDateTime"
type: string - $ref: "#/components/parameters/transaction-toBookingDateTime"
enum: responses:
- UAEOF.Credit "200":
- UAEOF.Debit AEEntryStatusCodedescription: successful operation
description: Status of a transaction entry oncontent:
the books of the account servicer. typeapplication/json: string
enum: schema:
- UAEOF.Booked - UAEOF.Pending $ref: "#/components/schemas/TransactionsResponse"
- UAEOF.Rejected AETransactionMutabilityCode"400":
description: Specifies the Mutability ofdescription: the|
Transaction record. type: string The operation __must__ be enum:failed with a status of `400` under the following - UAEOF.Mutableerror conditions:
- UAEOF.Immutable - BookingDateTime:
###### TXN-020-020
description: > If Datethe andaccount timedoes whennot aexist transactionor entry is postedunder toa anbar, accountthen on the financial institution should return an error with status 400.
account
servicer's books. Usage: Booking- date is the expected booking date, unless the status is###### TXN-020-040
If booked, in which case it is the actual booking date.the `o3-psu-identifier` header parameter is not specified.
All- dates in the JSON payloads are represented in ISO 8601 date-time###### TXN-020-030
The `o3-provider-id` header format.is missing or has an unexpected value
All date-time fields in responses must include the timezone. An- example###### TXN-020-050
is below: 2017-04-05T10:43:07+00:00 Both the type:`accountId` stringquery parameter and the `o3-psu-identifier` header parameter format: date-time
are not specified.
ValueDateTime: description: > - ###### TXN-020-170
Date and time at which assets become available to the accountThe owner`fromBookingDateTime` inis not in ISO Date format
case of a credit entry, or cease to be available to- the account owner in###### TXN-020-180
case of a debit transactionThe entry.`toBookingDateTime` is not in ISO Date format
Usage: If transaction entry status is pending and value dateThe is present,
then the value date refers to an expected/requested value date.operation __may__ be failed with a status of `400` under the following error conditions:
- For transaction entries subject to availability/float and for which###### TXN-020-070, TXN-020-080, TXN-020-090
availabilityOne informationor ismore provided,of the valuemandatory header dateparameters mustis not specified or behas used.an unexpected value
In this case the availability component identifies the number of- `o3-api-uri`,
availability days. - `o3-api-operation`,
Availability float refers to the time period between fund deposits and - `o3-ozone-interaction-id`
clearing. content:
The float is essentially double-counted money: a paid sum which, due toapplication/json:
delays in processing, appearsschema:
simultaneously in the accounts of the payer and the payee.$ref: "#/components/schemas/Error"
"401":
All dates in the JSON payloads are represented in ISO 8601 date-timedescription: |
format. All date-time fields inThe responsesoperation __must__ be includefailed thewith timezone.a Anstatus of `401` under the following error conditions:
example is below: 2017-04-05T10:43:07+00:00" type: string - ###### TXN-020-100
format: date-time TransactionInformation: The API description:consumer >-is not authorised.
Further detailssecurity:
of the transaction. This is the transaction narrative, - bearerAuth: []
/accounts/{accountId}/direct-debits:
which is unstructured text.get:
typetags:
string minLength: 1- direct-debits
maxLengthsummary: 500Fetch the direct debits specified StreetName:by the account id
description: Name of a streetdescription: or|
thoroughfare. type: string###### DBT-020-010
minLength: 1 Retrieves the direct debits maxLength:specified 70by the `accountId` parameter.
ShortAddress: descriptionoperationId: 8findDirectDebitByAccountId
character Unique alphanumeric Code. parameters:
type: string # common minLength:header 1parameters that set context
maxLength: 8 - BuildingNumber$ref: "#/components/parameters/providerId"
description: Number that identifies- the position of a building on a street.$ref: "#/components/parameters/aspspId"
- $ref: "#/components/parameters/callerOrgId"
type: string - minLength$ref: 4"#/components/parameters/callerClientId"
maxLength: 4- $ref: "#/components/parameters/callerSoftwareStatementId"
SecondaryNumber: - description$ref: Secondary Number, if required"#/components/parameters/apiUri"
- type$ref: string"#/components/parameters/apiOperation"
- minLength$ref: 4"#/components/parameters/consentId"
maxLength: 4 - $ref: "#/components/parameters/callerInteractionId"
District: - description$ref: Identifies the District of a City"#/components/parameters/ozoneInteractionId"
- $ref: type: string"#/components/parameters/psuIdentifier"
minLength: 1# Path param definitions
maxLength: 35 - AECountryname: accountId
description: Identifies a county either byin: fullpath
name or country code typedescription: stringId of the account to be pattern: ^[A-Z]{2,2}$queried
City: descriptionrequired: Identifiestrue
the City of a Country typeschema:
string minLength: 1 type: string
maxLength: 35 AccountIdresponses:
description: >- "200":
A unique and immutabledescription: identifiersuccessful producedoperation
by the LFI to identify the content:
account resource.This identifier has no meaning to the account owner application/json:
(User 1). schema:
type: string minLength: 1 maxLength: 40$ref: "#/components/schemas/DirectDebitsResponse"
StatusUpdateDateTime: "400":
description: >- description: |
Date and time at which the account resource status was updated. AllThe operation __must__ be failed with a status of dates`400` inunder the JSONfollowing payloadserror areconditions:
represented
in ISO 8601 date-time format.- ###### DBT-020-020
All date-time fields in responses must includeThe theaccount timezone.corresponding Anto examplethe `accountId` query parameter does not exist or is below:under a bar
2017-04-05T10:43:07+00:00 - type: string###### DBT-020-030
format: date-time AEUnitNumber: The `o3-provider-id` header is missing description:or Thishas isan theunexpected unitvalue
number
of the business premises or dwelling type:The numberoperation __should__ be failed with a status example:of 10`400` under the following error AEAddressTypeCodeconditions:
description: Postal Address type specifies the the nature- of the postal address.###### DBT-020-040
type: string The financial enum:institution should fail the call if the `o3-psu-identifier` UAEOF.Businessheader is not specified.
- UAEOF.Correspondence - ###### - UAEOF.DeliveryToDBT-020-050
- UAEOF.MailTo Both the `accountId` query -parameter UAEOF.POBoxand the `o3-psu-identifier` header parameter are not specified.
- UAEOF.Postal - UAEOF.Residential The operation __may__ be failed with a status -of UAEOF.Statement`400` under the following error AEAccountStatusCodeconditions:
description: | - ###### Specifies the status of account resource in code form.DBT-020-070, DBT-020-080, DBT-020-090
One or more of [Active]: It means that the account is exist and active.
the mandatory header parameters is not specified or has an unexpected value
[NotActive]: It means that the account has been not active for 6 to 12 months.- `o3-api-uri`,
- `o3-api-operation`,
[Dormant]: It means that the accounts has been Inactive for 1 to 5 years.- `o3-ozone-interaction-id`
[Unclaimed]content:
It means that the accounts has been Inactive for more than 5 years. application/json:
[Deceased]: Indicates that the accountschema:
holder has passed away. [Suspended]: If the account is suspended do to any reason.$ref: "#/components/schemas/Error"
"401":
[Closed]: If the accountdescription: is|
closed type: string The enum:
- Active
operation __must__ be failed with a status of `401` under the following error conditions:
- NotActive - ###### DBT-020-100
Dormant - Unclaimed The API consumer is not -authorised.
Deceased
- Suspended content:
- Closed ActiveOrHistoricCurrencyCode_0application/json:
description: >- schema:
Identification of the currency in which the account is held. A code $ref: "#/components/schemas/Error"
allocated to a currency undersecurity:
an international currency identification - bearerAuth: []
scheme, as described in the latest edition of the international standard /accounts/{accountId}/scheduled-payments:
get:
tags:
ISO 4217 'Codes for the representation- ofscheduled-payments
currencies and funds'. summary: Fetch the type:scheduled stringpayments specified by the account id
pattern: ^[A-Z]{3,3}$ description: |
example: AED ActiveOrHistoricCurrencyCode_1: ###### FDP-020-010
description: >- Retrieves the scheduled payments A 3specified characterby alphabeticthe code`accountId` allocatedparameter.
to
a currency under an operationId: findScheduledPaymentByAccountId
international currency identificationparameters:
scheme, as described in the latest # common header parameters that set editioncontext
of the international standard ISO 4217 'Codes for the- $ref: "#/components/parameters/providerId"
representation of currencies- and funds'.$ref: "#/components/parameters/aspspId"
type: string - $ref: "#/components/parameters/callerOrgId"
pattern: ^[A-Z]{3,3}$ - example$ref: AED"#/components/parameters/callerClientId"
AEExternalAccountTypeCode: - description$ref: Specifies the type of account (Retail or Corporate).
type: string"#/components/parameters/callerSoftwareStatementId"
- $ref: "#/components/parameters/apiUri"
- enum:$ref: "#/components/parameters/apiOperation"
- UAEOF.Retail$ref: "#/components/parameters/consentId"
- UAEOF.Corporate
$ref: "#/components/parameters/callerInteractionId"
AEExternalAccountSubTypeCode: - description$ref: >-"#/components/parameters/ozoneInteractionId"
Specifies- the sub type of account (product family group). Examples
values include: CurrentAccount, Savings, CreditCard, PrePaidCard,
$ref: "#/components/parameters/psuIdentifier"
# Path param definitions
- name: accountId
EMoney, ChargeCard, Other in: path
type: string x-namespaced-enumdescription: Id of the account to be queried
- CurrentAccount required: -true
Savings - CreditCardschema:
- PrePaidCard type: string
- EMoney responses:
- ChargeCard "200":
- Other Description_0description: successful operation
description: Specifies the description of the account sub-type. content:
type: string minLengthapplication/json:
1 maxLength: 35 Nicknameschema:
description: >- The nickname of the account, assigned by User 1 to provide an additional$ref: "#/components/schemas/ScheduledPaymentsResponse"
"400":
anddescription: easier|
means of identification of the account at the LFI. The operation type: string
minLength: 1__must__ be failed with a status of `400` under the following error conditions:
maxLength: 70 OpeningDate:- ###### FDP-020-020
description: >- The Dateaccount oncorresponding whichto the account`accountId` andquery itsparameter relateddoes basicnot servicesexist byor LFIis startedunder a bar
to be operational for User 1. All dates- in the JSON payloads are###### FDP-020-030
represented in ISO 8601The date-time format. All date-time fields in`o3-provider-id` header is missing or has an unexpected value
responses must include theThe timezone. An example is below:
2017-04-05T10:43:07+00:00operation __should__ be failed with a status of `400` under the following error conditions:
type: string - format: date-time###### FDP-020-040
MaturityDate: description: > The financial institution should fail the call *if Fixed Term Loan Account
the `o3-psu-identifier` header is not specified.
MaturityDate is the date on which- the debt of an account must be paid in full. On this date, the principal amount of the debt is fully paid, so no further interest expense accrues###### FDP-020-050
Both the `accountId` query parameter and the `o3-psu-identifier` header parameter are not specified.
* Fixed Term SavingsThe Accountoperation __may__ be failed with a status of `400` MaturityDate isunder the datefollowing onerror whichconditions:
the
savings mature and the balance can be withdrawn by the User without penalty- ###### FDP-020-070, FDP-020-080, FDP-020-090
* All dates in the JSON payloads are represented in ISO 8601One date-timeor more of the mandatory header parameters is not format.specified Allor date-timehas fieldsan inunexpected responsesvalue
must include the timezone. An example is:- 2017`o3-04-05T10:43:07+00:00api-uri`,
type: string format: date-time- `o3-api-operation`,
AEExternalAccountIdentificationCode: description: >- - `o3-ozone-interaction-id`
Name of the identification scheme for thecontent:
account. Encoded with allowable valuesapplication/json:
published in an external list. type: string schema:
enum: - UAEOF.IBAN $ref: "#/components/schemas/Error"
- UAEOF.AccountNumber Identification_0"401":
description: > description: |
Identification for the account assigned by the LFI basedThe on the Account
Scheme Name. This identification is known by the User 1 account owner.operation __must__ be failed with a status of `401` under the following error conditions:
- ###### FDP-020-100
For IBAN, refer to the ISO Standard 13616. The type:API stringconsumer is not authorised.
minLength: 1 maxLengthcontent:
400 Identification_1: descriptionapplication/json:
> * /accounts resource schema:
Unique and unambiguous identification of the LFI as the account $ref: "#/components/schemas/Error"
servicing institutionsecurity:
for the Open Banking Services. - bearerAuth: []
* /beneficiaries resource/accounts/{accountId}/standing-orders:
get:
Unique and unambiguoustags:
identification of the Creditor Agency as the - standing-orders
servicing institutionsummary: ofFetch the Beneficiary.standing orders specified by the account id
* /scheduled-payments resource description: |
Unique and unambiguous identification of the LFI as the account###### STO-020-010
Retrieves the standing servicingorders institutionspecified forby the Open`accountId` Banking Servicesparameter.
operationId: findStandingOrderByAccountId
* /standing-orders resource parameters:
Unique# andcommon unambiguousheader identificationparameters of the LFI as the account
that set context
servicing institution- for the Open Banking Services.$ref: "#/components/parameters/providerId"
- $ref: "#/components/parameters/aspspId"
* /transactions resource - $ref: "#/components/parameters/callerOrgId"
Unique and unambiguous identification- of the LFI as the account servicing institution for the Open Banking Services.$ref: "#/components/parameters/callerClientId"
- $ref: "#/components/parameters/callerSoftwareStatementId"
- *$ref: "#/components/parameters/apiUri"
Notes: - $ref: Based on the value of the field **IdentificationType**, this entry may"#/components/parameters/apiOperation"
- $ref: "#/components/parameters/consentId"
be- $ref: "#/components/parameters/callerInteractionId"
*- UAEOF.BICFI$ref: The BIC/SWIFT Code"#/components/parameters/ozoneInteractionId"
- $ref: "#/components/parameters/psuIdentifier"
* UAEOF.OTHER: The# ID;Path Aparam Countrydefinitions
Code followed by a Bank Code (UAEOF 4 - name: accountId
character code). in: path
type: string minLengthdescription: 1
Id of the account to be queried
maxLength: 35 AEExternalFinancialInstitutionIdentificationCoderequired: true
description: > schema:
* /accounts resource type: string
The name ofresponses:
the identification scheme for the LFI as the account"200":
services provider. Encodeddescription: withsuccessful allowableoperation
value as published in an content:
external list. application/json:
* /beneficiaries resource Refersschema:
to the Financial Institution that manages the account on behalf $ref: of the Beneficiary party, managing registration, booking of entries on"#/components/schemas/StandingOrdersResponse"
"400":
the account,description: calculating|
balances on the account and providing The operation information about the account. This is the servicing Financial
__must__ be failed with a status of `400` under the following error conditions:
Institution of the Beneficiary account. - ###### STO-020-020
* /scheduled-payments resource The account Referscorresponding to the identification`accountId` schemequery forparameter uniquelydoes identifyingnot theexist or is under a bar
Creditor Agent. - * /standing-orders resource###### STO-020-030
Refers to the identification scheme for uniquely identifying the
The `o3-provider-id` header is missing or has an unexpected value
Creditor Agent. The operation __should__ *be /transactionsfailed resourcewith a status of `400` under the following error conditions:
Refers to the identification scheme for uniquely identifying the - ###### STO-020-040
Creditor Agent. type: string The financial institution should enum:fail the call if the `o3-psu-identifier` header is not - UAEOFspecified.BICFI
- UAEOF.OTHER - AccountIdentifiers:
###### STO-020-050
type: array items: The financial institution should fail the call if type:the object`accountId` does not refer to an account that
description: Provides the details to identify an account. is accessible by required:a the PSU identified by the `o3-psu-identifier` header.
- IdentificationType The operation - Identification
properties:
__may__ be failed with a status of `400` under the following error conditions:
IdentificationType: - ###### STO-020-060, STO-020-070, STO-020-080
$ref: '#/components/schemas/AEExternalAccountIdentificationCode' One Identification:or more of the mandatory header parameters is not specified or has an $ref: '#/components/schemas/Identification_0'unexpected value
Name: - `o3-api-uri`,
$ref: '#/components/schemas/Name_0' - `o3-api-operation`,
additionalProperties: false AEBranchAndFinancialInstitutionIdentification5_0: type: object- `o3-ozone-interaction-id`
required: content:
- IdentificationType application/json:
- Identification description: >- schema:
Party that manages the account on behalf of the account owner, that is $ref: "#/components/schemas/Error"
manages the registration and"401":
booking of entries on the account, description: |
calculates balances on the account and provides information about the The operation __must__ be failed with a account.status of `401` under the following error propertiesconditions:
IdentificationType: - ###### STO-020-090
$ref: >- The API consumer #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
is not authorised.
Identification: content:
$ref: '#/components/schemas/Identification_1' application/json:
additionalProperties: false CreationDateTime: descriptionschema:
>- Date and time at which the resource was created.All dates in the JSON$ref: "#/components/schemas/Error"
security:
payloads are represented in- ISObearerAuth: 8601[]
date-time
format. /customer:
get:
All date-time fields intags:
responses must include the timezone. An example - customers
is belowsummary: Fetch customer
2017-04-05T10:43:07+00:00
description: |
type: string ###### CUS-010-040
format: date-time AEConsentPermissions: The API must return the customer type:for arraythe PSU identified by the `o3-psu-identifier` header.
description:
> ###### SpecifiesCUS-010-190
the
permitted Account Access data types. If no customer is found, the call Thismust isreturn a listsuccess ofstatus thecode data`200` groupswith beingan consentedempty by`data` theobject.
User,
and operationId: findCustomer
requested for authorization with the LFI. parameters:
items: # common header parameters that set type:context
string - enum$ref: "#/components/parameters/providerId"
- ReadAccountsBasic
$ref: "#/components/parameters/aspspId"
- ReadAccountsDetail
$ref: "#/components/parameters/callerOrgId"
- ReadBalances
$ref: "#/components/parameters/callerClientId"
- ReadBeneficiariesBasic
$ref: "#/components/parameters/callerSoftwareStatementId"
- ReadBeneficiariesDetail
$ref: "#/components/parameters/apiUri"
- ReadTransactionsBasic
$ref: "#/components/parameters/apiOperation"
- ReadTransactionsDetail
$ref: "#/components/parameters/consentId"
- ReadTransactionsCredits
$ref: "#/components/parameters/callerInteractionId"
- ReadTransactionsDebits
$ref: "#/components/parameters/ozoneInteractionId"
- ReadProduct
name: o3-psu-identifier
- ReadScheduledPaymentsBasicin: header
- ReadScheduledPaymentsDetailschema:
- ReadDirectDebits type: string
- ReadStandingOrdersBasic required: true
- ReadStandingOrdersDetail description: A Base64 encoded representation of the psuIdentifier JSON object.
-
ReadConsents responses:
- ReadPartyPSU "200":
- ReadPartyPSUIdentity description: successful operation
- ReadParty content:
minItems: 1 AEReadBeneficiary: application/json:
description: List of Beneficiaries for an Account schema:
type: object required: $ref: - Data"#/components/schemas/CustomerResponse"
"400":
- Links description: -|
Meta properties: The operation __must__ be Data:failed with a status of `400` under the following error typeconditions:
object
description: Primary data- for the resource###### CUS-010-040
required: The `o3-psu-identifier` header parameter are not specified.
- AccountId - ###### CUS-010-030
Beneficiary properties: The `o3-provider-id` header is missing or has an unexpected value
AccountId:
The $ref: '#/components/schemas/AccountId'
Beneficiary:operation __may__ be failed with a status of `400` under the following error conditions:
- type: array
###### CUS-010-070, CUS-010-080, CUS-010-090
items: One or more of the mandatory header parameters is not specified or has an unexpected value
$ref: '#/components/schemas/AEBeneficiary' additionalProperties: false - `o3-api-uri`,
Links: - `o3-api-operation`,
$ref: '#/components/schemas/Links' Meta: - `o3-ozone-interaction-id`
$ref: '#/components/schemas/MetaTotalPages' content:
additionalProperties: false AEBeneficiary: application/json:
description: Beneficiaries for a specific AccountId typeschema:
object required: - BeneficiaryId$ref: "#/components/schemas/Error"
- BeneficiaryType"401":
properties: description: |
BeneficiaryId: The $ref: '#/components/schemas/BeneficiaryId'
BeneficiaryType:
operation __must__ be failed with a status of `401` under the following error conditions:
$ref: '#/components/schemas/AEBeneficiaryTypeCode' - ###### CUS-010-100
AccountHolderName: $ref: '#/components/schemas/AccountHolderName'
The API consumer is not authorised.
AccountHolderShortName: content:
$ref: '#/components/schemas/AccountHolderShortName' Referenceapplication/json:
$ref: '#/components/schemas/Reference' schema:
SupplementaryData: $ref: '"#/components/schemas/AESupplementaryData'Error"
security:
CreditorAgent: - bearerAuth: []
$ref /customers/action/cop-query:
>- post:
tags:
#/components/schemas/AEBranchAndFinancialInstitutionIdentification6_0 - customers
CreditorAccount: summary: Fetches customer data based type:on arraya confirmation of payee query
itemsdescription: |
The API is used by $ref: '#/components/schemas/AECashAccount5_0'
additionalProperties: false
AEReadAccount:Ozone to find customer records from the LFI based on a confirmation of payee query.
description: List of AccountsOzone will send a query to type: object
required:
- Datathe LFI that identifies a customer account. The financial institution must return the customer records associated with specified account.
Ozone takes on -the Linksresponsibility of implementing the COP name matching rules. The -financial Metainstitution must return the customer records that properties:match the COP query.
Data: The financial institution may return multiple customer type:records objectfor a single account. (e.g. for joint accounts)
description: Primary data for the resource In situations where the customer is not found, the financial required:institution must return a success status code `200` with an empty `data` - Accountobject. e.g.
- properties:account is not found
Account: - account is under a bar
type: array - customer has opted out of COP
items: Note that this operation is not carried out under a consent and the call will $ref: '#/components/schemas/AEAccountArrayId'
not have a `o3-consent-id` header
additionalPropertiesoperationId: falsefindCustomerForCop
Linksparameters:
- $ref: '"#/components/schemas/Links'parameters/providerId"
- Meta$ref: "#/components/parameters/aspspId"
- $ref: '"#/components/schemas/MetaTotalPages'parameters/callerOrgId"
additionalProperties: false- $ref: "#/components/parameters/callerClientId"
AEReadAccountId: - description$ref: Individual Account"#/components/parameters/callerSoftwareStatementId"
type: object- $ref: "#/components/parameters/apiUri"
required: - $ref: "#/components/parameters/apiOperation"
- Data - $ref: "#/components/parameters/callerInteractionId"
- Links - $ref: - Meta"#/components/parameters/ozoneInteractionId"
propertiesrequestBody:
Datarequired: true
content:
type: object application/json:
description: Primary data for the resource schema:
required: $ref: "#/components/schemas/ConfirmationRequest"
- AccountId responses:
-"200":
Account propertiesdescription: successful operation
AccountIdcontent:
application/json:
$ref: '#/components/schemas/AccountId' schema:
Account: $ref: '"#/components/schemas/AEAccountId'CustomersResponse"
"400":
additionalProperties: false description: |
Links: The operation __must__ be $ref: '#/components/schemas/Links'
Metafailed with a status of `400` under the following error conditions:
$ref: '#/components/schemas/MetaTotalPages' - ###### CUS-010-040
additionalProperties: false AEActiveCurrencyAndAmount_SimpleType: description: >-
The `o3-psu-identifier` header parameter are not specified.
A number of monetary units specified in an active currency where- the###### CUS-010-030
unit of currency is explicit and compliant with ISO 4217.
type: stringThe `o3-provider-id` header is missing or has an unexpected value
pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$ AECreditDebitCode_2: The operation __may__ be failed with description:a >-status of `400` under the following error conditions:
Indicates
whether the balance of the account is a credit or a debit - ###### CUS-010-070, CUS-010-080, CUS-010-090
balance. Encoded with allowable values: 'Credit', 'Debit' Usage: A zero One or more of the mandatory header balanceparameters is not consideredspecified or tohas bean aunexpected creditvalue
balance. type: string enum:- `o3-api-uri`,
- UAEOF.Credit - `o3-api-operation`,
- UAEOF.Debit AEBalanceTypeCode: description: >- `o3-ozone-interaction-id`
The type ofcontent:
balance for the account. application/json:
Encoded with allowable values of: schema:
* 'ClosingAvailable' - end of day balance specifying the amount $ref: "#/components/schemas/Error"
available to User 1 to withdraw or use. "401":
* 'ClosingBooked' - end of day balance including value of payments fordescription: |
The operation __must__ be failed chequeswith ora paymentsstatus whichof have`401` notunder beenthe clearedfollowing yet.error conditions:
* 'ClosingCleared' - end of- day balance including value of payments for###### CUS-010-100
cheques orThe paymentsAPI whichconsumer haveis beennot clearedauthorised.
* 'Expected'content:
- intra day balance including value of payments for cheques application/json:
or payments which have been cleared. schema:
* 'ForwardAvailable' - intraday balance specifying the amount available $ref: "#/components/schemas/Error"
to Usersecurity:
1 to withdraw or use considering forward dated payments- orbearerAuth: other[]
/accounts/{accountId}/customer:
intradayget:
payments or cheques that will be clearingtags:
to the account. - customers
* 'Information' - TBC.summary: Fetch the customers specified by the account id
* 'InterimAvailable' - intraday balancedescription: specifying|
the
amount available ###### CUS-020-040
to
User 1 to withdraw or use (most probably real-time.'InterimBooked' -
intraday balance including value of payments for cheques or payments The API must return the customer for the PSU identified by the `o3-psu-identifier` header.
###### CUS-020-190
which have not been cleared yet. If no customer is found, the call must return a *success 'InterimCleared'status -code intraday`200` balancewith includingan valueempty of`data` paymentsobject.
for
operationId: findCustomerByAccountId
cheques or payments which have been clearedparameters:
(probably real-time). # common header parameters *that 'OpeningAvailable'set -context
start of day balance specifying the amount - $ref: "#/components/parameters/providerId"
available to User 1 to- withdraw or use.$ref: "#/components/parameters/aspspId"
- $ref: * 'OpeningBooked' - start of day balance including value of payments for"#/components/parameters/callerOrgId"
- $ref: "#/components/parameters/callerClientId"
- cheques or payments which have not been cleared yet.
$ref: "#/components/parameters/callerSoftwareStatementId"
- $ref: "#/components/parameters/apiUri"
* 'OpeningCleared' - start of day balance including value of payments$ref: "#/components/parameters/apiOperation"
- $ref: "#/components/parameters/consentId"
for cheques or payments which have- been cleared.$ref: "#/components/parameters/callerInteractionId"
- * 'PreviouslyClosedBooked' -TBC.$ref: "#/components/parameters/ozoneInteractionId"
- name: o3-psu-identifier
Note: LFIs support different types for presenting account balance, so in: header
this list is used toschema:
support different LFI systems in UAE. type: string
enum: required: true
- UAEOF.ClosingAvailable description: A Base64 -encoded UAEOF.ClosingBookedrepresentation of the psuIdentifier JSON object.
- UAEOF.ClosingCleared # Path param definitions
- UAEOF.Expected - UAEOF.ForwardAvailablename: accountId
- UAEOF.Information in: path
- UAEOF.InterimAvailable description: Id of the account -to UAEOF.InterimBooked
- UAEOF.InterimClearedbe queried
- UAEOF.OpeningAvailable required: true
- UAEOF.OpeningBooked schema:
- UAEOF.OpeningCleared type: string
- UAEOF.PreviouslyClosedBooked ProprietaryBankTransactionCodeStructure1: example: abc-123
type: object responses:
required: "200":
- Code description: successful >operation
ProprietaryBankTransactionCode is mandatorycontent:
when the BankTransactionCode (with code specifying the Domain, Family and SubFamily as per External application/json:
schema:
Codes ISO20022) is absent. $ref: "#/components/schemas/CustomersResponse"
Set of elements to"400":
fully identify a proprietary bank transaction code description: |
properties: Code: The operation __must__ be failed with a status of description:`400` >-under the following error conditions:
Proprietary bank transaction code to identify- the underlying###### CUS-020-040
transaction. The `o3-psu-identifier` header parameter are not specified.
type: string - minLength: 1###### CUS-020-030
maxLength: 35 The `o3-provider-id` header is missing or Issuer:has an unexpected value
description: >- The operation __may__ be failed with a Identificationstatus of the`400` issuer ofunder the proprietaryfollowing bankerror transactionconditions:
code. - ###### CUS-020-070, CUS-020-080, CUS-020-090
type: string One or more minLength:of 1the mandatory header parameters is not specified or has an unexpected maxLength:value
35 additionalProperties: false Name_0: - `o3-api-uri`,
description: >- The account name is the name or names of the User 1 account owner(s)
- `o3-api-operation`,
- `o3-ozone-interaction-id`
represented at an account level, as displayed bycontent:
the LFI's online channels. Noteapplication/json:
The account name is not the product name or the nickname schema:
of the account. type: string $ref: "#/components/schemas/Error"
minLength: 1 "401":
maxLength: 70 Name_1: description: |
description: > *The Beneficiaryoperation __must__ be failed with a status of `401` under Namethe byfollowing whicherror anconditions:
agent
is known and which is usually used to identify - ###### CUS-020-100
that agent *The CreditorAPI agentconsumer is not authorised.
Name by which the Financial institution(FI) which is the creditor is content:
application/json:
known and which is usually used to identify that FI. schema:
* DebtorAgent Name by which an financial institution of the debtor is known and which$ref: "#/components/schemas/Error"
security:
- bearerAuth: []
is usually used to identify that financial institution. /accounts/{accountId}/beneficiaries:
get:
typetags:
string minLength:- 1beneficiaries
maxLengthsummary: 140Fetch the beneficiaries specified by Name_2:the account id
description: >- description: |
This is the name of the regulated beneficiary entity that initiates the###### BEN-020-010
Retrieves the beneficiaries specified by the Direct`accountId` Debit collectionparameter.
type: string ###### BEN-020-020
minLength: 1 The account maxLength:corresponding 70to the `accountId` query parameter AEBranchAndFinancialInstitutionIdentification6_1:does not exist or is under a type:bar
object
descriptionoperationId: >findBeneficiariesByAccountId
parameters:
Financial institution servicing an account for the creditor# incommon caseheader theparameters that set context
transaction is a Debit- transaction.
$ref: "#/components/parameters/providerId"
These- are optional because there are situations where this cannot be
$ref: "#/components/parameters/aspspId"
- $ref: "#/components/parameters/callerOrgId"
populated for the following- Debit transactions
$ref: "#/components/parameters/callerClientId"
- Cash withdrawals (no creditor account/agent)
$ref: "#/components/parameters/callerSoftwareStatementId"
- Cheques and DDs may not have this information at least during the
$ref: "#/components/parameters/apiUri"
- $ref: "#/components/parameters/apiOperation"
process of- clearing and sometimes (e.g. for agency banks) may not be
$ref: "#/components/parameters/consentId"
- $ref: "#/components/parameters/callerInteractionId"
reconciled ever - $ref: "#/components/parameters/ozoneInteractionId"
- Some corner situations with international- payments $ref: "#/components/parameters/psuIdentifier"
-# ForPath cardparam paymentsdefinitions
(instead merchant information fields should be - name: accountId
populated) propertiesin: path
IdentificationType: description: Id of the account to be queried
$ref: >- required: true
#/components/schemas/AEExternalFinancialInstitutionIdentificationCode Identificationschema:
$ref: '#/components/schemas/Identification_1'
type: string
Nameresponses:
"200":
$ref: '#/components/schemas/Name_1' description: successful PostalAddress:operation
$refcontent:
'#/components/schemas/AEPostalAddress6'
additionalProperties: false PostCodeapplication/json:
description: >- schema:
Identifier consisting of a group of letters and/or numbers that is added $ref: "#/components/schemas/BeneficiariesResponse"
to a postal address to assist"400":
the sorting of mail. typedescription: |
string minLength: 1 The operation maxLength: 16
AEPostalAddress6:
type: object__must__ be failed with a status of `400` under the following error conditions:
description: >- - ###### BEN-020-020
Postal Address specifies Information that locate and identify a specific If the `accountsId` query parameter is not specified.
address,
as defined by postal services. properties: - ###### BEN-020-030
AddressType: The $ref: '#/components/schemas/AEAddressTypeCode'
ShortAddress:`o3-provider-id` header is missing or has an unexpected value
$ref: '#/components/schemas/ShortAddress'
BuildingNumber:
The operation __should__ be failed with a status of `400` under the following error conditions:
$ref: '#/components/schemas/BuildingNumber' - ###### BEN-020-040
UnitNumber: $ref: '#/components/schemas/AEUnitNumber' The financial institution should fail the call StreetName:if the `o3-psu-identifier` header is not specified.
$ref: '#/components/schemas/StreetName' - SecondaryNumber:
###### BEN-020-050
$ref: '#/components/schemas/SecondaryNumber' Both the `accountId` query parameter District:and the `o3-psu-identifier` header parameter are not specified.
$ref: '#/components/schemas/District' PostalCode:The operation __may__ be failed with a status of `400` under $ref: '#/components/schemas/PostCode'
the following error conditions:
City: - ###### BEN-020-060, $ref: '#/components/schemas/City'BEN-020-070, BEN-020-080
Country: One or more of the mandatory $ref: '#/components/schemas/AECountry'
additionalProperties: falseheader parameters is not specified or has an unexpected value
AEMerchantDetails1: type: object - `o3-api-uri`,
description: > Details of the Merchant involved in the transaction.- `o3-api-operation`,
Merchant Details are specified only for those merchant categories that- `o3-ozone-interaction-id`
content:
are generally expected to originate retail financial transactions application/json:
properties: MerchantIdschema:
description: MerchantId $ref: "#/components/schemas/Error"
type"401":
integer minLengthdescription: 8|
maxLength: 20 The operation __must__ be failed with a status MerchantName:of `401` under the following error conditions:
description: Name by which the merchant is known. - ###### BEN-020-100
type: string The API consumer is not minLength:authorised.
1
maxLengthcontent:
350 MerchantCategoryCode: application/json:
description: > schema:
Category code values are used to enable the classification of $ref: "#/components/schemas/Error"
security:
merchants into specific categories based on the- typebearerAuth: of[]
business,
/accounts/{accountId}/products:
get:
trade or servicestags:
supplied. - products
Category codesummary: conformsFetch toproducts.
ISO 18245, related to the type ofdescription: services|
The API must orreturn goodsall the products merchantthat are providesprovided forby the transactionfinancial institution."
If no type:products stringare found, the call must return a success status code `200` minLength:with 3an empty `data` array.
maxLength: 4 It should be noted that the additionalProperties:TPP falsecalling the standards based API AETransactionCashBalance:may not do so under a consent. type:The objectPSU is not identifiable and the required:
`o3-consent-id` and `o3-psu-identifier` headers should not be expected.
- CreditDebitIndicator operationId: findProducts
-parameters:
Type # -common Amountheader parameters that set context
description: >- - $ref: "#/components/parameters/providerId"
Set of elements used to define the balance- as a numerical representation$ref: "#/components/parameters/aspspId"
- of the net increases and decreases in an account after a transaction$ref: "#/components/parameters/callerOrgId"
- $ref: "#/components/parameters/callerClientId"
entry- is applied to the account.$ref: "#/components/parameters/callerSoftwareStatementId"
- properties$ref: "#/components/parameters/apiUri"
CreditDebitIndicator- $ref: "#/components/parameters/apiOperation"
- $ref: '"#/components/schemas/AECreditDebitCode_2'parameters/consentId"
- Type$ref: "#/components/parameters/callerInteractionId"
- $ref: '"#/components/schemasparameters/AEBalanceTypeCode'ozoneInteractionId"
Amount:- $ref: "#/components/parameters/psuIdentifier"
# type:Path objectparam definitions
- requiredname: accountId
in: path
- Amount description: Id of the account to -be Currencyqueried
descriptionrequired: >-true
schema:
Amount of money of the cash balance after a transactiontype: entrystring
is
responses:
applied to the account.. "200":
propertiesdescription: successful operation
Amountcontent:
application/json:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType' schema:
Currency: $ref: '"#/components/schemas/ActiveOrHistoricCurrencyCode_1'ProductsResponse"
additionalProperties"400":
false additionalProperties: false description: |
AEBankTransactionCodeStructure: type: object The operation __must__ be description:failed >with a status of `400` under the following error BankTransactionCodeconditions:
is
mandatory (with code specifying the Domain, - ###### FamilyPRD-010-030
and SubFamily as per External Codes ISO20022) when the The ProprietaryBankTransactionCode`o3-provider-id` header is absent.missing or has an unexpected value
Specifies the- domain, the family and the sub-family of the bank###### PRD-010-040
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-familyThe `o3-psu-identifier` header parameter is not specified.
The operation __may__ be failed with a status of `400` under the following error conditions:
code- defined for the family should be provided.###### PRD-010-070, PRD-010-080, PRD-010-090
[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:
One or more of the mandatory header parameters is not specified or has an unexpected value
description: Specifies the Domain - `o3-api-uri`,
type: string - `o3-api-operation`,
DomainCode: description: Specifies the Domain Code.- `o3-ozone-interaction-id`
typecontent:
string Family: application/json:
description: Specifies the Family schema:
type: string FamilyCode$ref: "#/components/schemas/Error"
description"401":
Specifies the Family Code description: |
type: string SubFamily:The operation __must__ be failed with a status of `401` under the description:following Specifieserror theconditions:
Sub-Family
type: string - ###### PRD-010-100
SubFamilyCode: The API description:consumer Specifiesis the Sub-family Codenot authorised.
typecontent:
string additionalProperties: false AECurrencyExchangeapplication/json:
type: object requiredschema:
- SourceCurrency $ref: - TargetCurrency"#/components/schemas/Error"
security:
- UnitCurrency - bearerAuth: []
components:
- ExchangeRate schemas:
#
- InstructedAmount # Schemas for Accounts
description: Set of#
elements used to provide detailsAccountsResponse:
on the currency exchange. propertiestype: object
SourceCurrencydescription: |
A description:descriptor >-for an account.
This is Currencya fromcomposite whichobject an amount is tothat may be convertedexpanded in athe currencyfuture to support
additional account conversion.types Afor codenew allocatedAPI tostandards aand currencyaccount bytypes.
a Maintenance Agency example:
underdata:
an international identification scheme, as described in the - id: string
latest edition of the international standard ISO 4217 "Codes for theaccountType: UAEOF.Retail
accountSubType: string
representation of currencies and funds". currency: GBP
type: string status: Active
pattern: ^[A-Z]{3,3}$ TargetCurrencyaccountHolderName: string
description: >- servicer:
Currency into which an amount is to be converted in a currencyschemeName: UAEOF.BICFI
identification: string
conversion.A code allocated to a currency by a Maintenance Agency accountNumbers:
under an international identification scheme, as- describedname: instring
the latest edition of the international standard ISO 4217 "Codes for theschemeName: UAEOF.IBAN
identification: string
representation of currencies and funds". product:
type: string patternid: ^[A-Z]{3,3}$ string
UnitCurrency: productName: string
description: >- bundleName: string
Currency in which the rate of exchange ismeta: expressed{}
in a currency properties:
exchange.data:
In the example 1AED = xxxCUR, the unit currency is AED.Atype: array
items:
code allocated to a currency by a Maintenance Agency under an $ref: "#/components/schemas/CbuaeAccount"
meta:
international identification scheme, as described in the latest $ref: "#/components/schemas/Meta"
AccountResponse:
edition of the international standardtype: ISOobject
4217 "Codes for the description: |
representationA ofdescriptor currenciesfor andan funds"account.
This is a type:composite stringobject that may be expanded in the future to support
pattern: ^[A-Z]{3,3}$ additional account types ExchangeRate:for new API standards and account types.
description: >- properties:
data:
Factor used to convert an amount from one currency into another.$ref: "#/components/schemas/CbuaeAccount"
meta:
This reflects the price at which one currency was bought with$ref: "#/components/schemas/Meta"
CbuaeAccount:
type: object
another currency. properties:
Usageid:
ExchangeRate expresses the ratio between UnitCurrency and type: string
QuotedCurrency (ExchangeRateproduct:
= UnitCurrency/QuotedCurrency). type$ref: number"#/components/schemas/ProductIdentifier"
ContractIdentificationmultiAuth:
descriptiontype: boolean
>- businessCustomer:
Unique identification to unambiguously identify the foreigntype: exchangearray
items:
contract. type$ref: string"#/components/schemas/CustomerIdentifier"
customers:
minLength: 1 type: array
maxLength: 35 QuotationDateitems:
description: >- $ref: "#/components/schemas/CustomerIdentifier"
Dateminimum: and1
time at which an exchange rate is quoted.All datesaccountHolderName:
in the $ref: "#/components/schemas/AccountHolderName"
JSON payloads are represented in ISO 8601accountHolderShortName:
date-time format. $ref: "#/components/schemas/AccountHolderShortName"
All date-time fields in responsesstatus:
must include the timezone. An description: |
example is below: Specifies the status of account resource in code 2017-04-05T10:43:07+00:00
form.
type: string
formatenum:
date-time InstructedAmount: - Active
type: object required:- NotActive
- AmountDormant
- Unclaimed
Currency description: >- Deceased
Amount - ofSuspended
money to be moved between the debtor and creditor, before - Closed
deductionstatusUpdateDateTime:
of charges, expressed in the currency as ordered by the description: "Date and time at which the resource status was updated."
initiating party. type: string
properties: format: date-time
Amount: currency:
$ref: '"#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'TCurrency"
accountType:
Currency: description: "Specifies the type of account (Retail or Corporate)"
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' type: string
additionalProperties: false additionalProperties: false enum:
AEReadProduct1: description: Product detail- forUAEOF.Retail
an Account type: object - UAEOF.Corporate
required: accountSubType:
- Data type: string
- Links x-namespaced-enum:
Meta properties: - CurrentAccount
Data: - type:Savings
object description: Primary- dataCreditCard
for the resource - required:PrePaidCard
- AccountIdEMoney
- ProductChargeCard
properties: - Other
AccountIddescription:
description: "Specifies the description $ref: '#/components/schemas/AccountId'
of the account sub-type."
Producttype: string
nickName:
type: array description: "The nickname of the account, assigned by User 1 items:to provide an additional and easier means of identification of the account at the $ref: '#/components/schemas/AEProduct'financial instituation"
additionalPropertiestype: falsestring
LinksopeningDate:
$refdescription: '#/components/schemas/Links'
Meta:
$ref: '#/components/schemas/MetaTotalPages' "Date on which the account and its related basic services by financial institution started to be operational for User 1"
additionalPropertiestype: string
false AEProduct: format: date-time
type: object descriptionmaturityDate:
Set of elements used to define the productdescription: details.>
required: * Fixed Term -Loan ProductIdAccount
- ProductType MaturityDate is properties:the date on which the debt of an account ProductId:must be paid in full. On this date, the principal amount of $ref: '#/components/schemas/ProductId'
ProductType:the debt is fully paid, so no further interest expense accrues.
$ref: '#/components/schemas/AEProductType1Code' * Fixed Term Savings Account
ProductName: $ref: '#/components/schemas/AEProductName'
IsIslamic:
$ref: '#/components/schemas/AEIsIslamic' MaturityDate is the date on which the savings mature and the balance can be withdrawn by the User without penalty
Chargestype: string
$refformat: '#/components/schemas/AECharge'date-time
LendingRatesaccountNumbers:
$reftype: '#/components/schemas/AELendingRate'array
DepositRatesitems:
$ref: '"#/components/schemas/AEDepositRate'
additionalProperties: falseAccountIdentifiers"
AEReadTransaction: descriptionminimum: List1
of Transactions for an Account servicer:
type: object required: $ref: "#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_0"
- Datarequired:
- Linksid
- MetaaccountNumbers
propertiesadditionalProperties: false
DataAccountIdentifiers:
type: object
description: PrimaryProvides data for the resourcedetails to identify an account.
required:
- AccountIdschemeName
- Transaction
identification
properties:
AccountIdschemeName:
$ref: '#/components/schemas/AccountIdAEExternalAccountIdentificationCode'
Transactionidentification:
type$ref: array'#/components/schemas/Identification_0'
items:
name:
$ref: '#/components/schemas/AETransactionName_0'
additionalProperties: false
additionalProperties: false AEExternalAccountIdentificationCode:
Linksdescription: >-
Name of $ref: '#/components/schemas/Links'
the identification scheme for the account. Encoded with
Meta: allowable values published in an $ref: '#/components/schemas/MetaTransactions'external list.
additionalPropertiestype: string
false AETransactionCardInstrumentenum:
type: object- UAEOF.IBAN
required: - UAEOF.AccountNumber
- CardSchemeNameIdentification_0:
description: >
- InstrumentType description:Identification Setfor ofthe elementsaccount toassigned describeby the cardfinancial instrumentinstitution usedbased inon the transaction.Account
properties:
CardSchemeName:Scheme Name. This identification is known by the User 1 account owner.
For IBAN, description:refer Nameto ofthe theISO cardStandard scheme13616.
type: string
type: string minLength: 1
enummaxLength: 400
Name_0:
description: >-
UAEOF.AmericanExpress The account name is the -name UAEOF.Dinersor names of the User 1 account owner(s)
- UAEOF.Discover represented at an account level, as displayed by the financial institution's -online
UAEOF.GCC channels. Note: The account name -is UAEOF.MasterCardnot the product name or the nickname
- UAEOF.UPI of the account.
type: string
- UAEOF.VISA minLength: 1
maxLength: -70
UAEOF.mada
AEBranchAndFinancialInstitutionIdentification5_0:
InstrumentType: type: object
descriptionrequired:
The card instrument type. - schemeName
type: string - identification
enumdescription: >-
Party that manages the -account UAEOF.ApplePayon behalf of the account owner, that is
- UAEOF.madaPay manages the registration and booking of entries on the account,
- UAEOF.Contactless calculates balances on the account and provides -information UAEOF.MagStripeabout the
account.
- UAEOF.Chip properties:
schemeName:
- UAEOF.Other Name$ref: >-
description: Name of the cardholder using the card instrument. #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
identification:
type: string $ref: '#/components/schemas/Identification_1'
minLengthadditionalProperties: 1false
Identification_1:
maxLength: 70 description: >
Identification: * /accounts resource
description: >- Unique and unambiguous identification of the financial institution as the Identificationaccount
assigned by an institution to identify the card servicing institution for the Open Finance services.
instrument used in the transaction. This* identification/beneficiaries isresource
known
by Unique and unambiguous identification of the accountCreditor owner,Agency andas MUSTthe
be masked. servicing institution of the type:Beneficiary.
string
minLength: 1* /scheduled-payments resource
Unique maxLength:and 16unambiguous identification of the financial institution as the account
example: 1234********4321 servicing institution additionalProperties:for falsethe Open Finance services.
AESupplementaryData:
type: object * /standing-orders resource
properties: {} Unique and additionalProperties:unambiguous falseidentification of the financial institution as the description:account
>- servicing Additionalinstitution informationfor thatthe canOpen notFinance beservices.
captured
in
the structured fields * /transactions resource
and/or any other specific block. AEBranchAndFinancialInstitutionIdentification6_2:Unique and unambiguous identification of the financial type:institution objectas the account servicing institution for the description:Open >Finance services.
Financial institution servicing* an accountNotes:
for
the Debtor in case the Based on the value of transactionthe is a Credit transaction.
field **IdentificationType**, this entry may
Thesebe are:
optional
because there are situations where this cannot be * UAEOF.BICFI: The BIC/SWIFT Code
populated for the following Credit transactions * UAEOF.OTHER: The ID; A Country Code followed by -a cashBank depositsCode (noUAEOF 4
creditor account/agent) character code).
- cheques and DDs maytype: notstring
have this information at least during theminLength: 1
maxLength: process35
of
clearing and sometimes (e.g. for agency banks) may not be
AEExternalFinancialInstitutionIdentificationCode:
description: >
reconciled ever * /accounts resource
- some corner situations withThe internationalname paymentsof the identification scheme for the financial institution as the account
- for refunds with card payments (instead merchantservices informationprovider. fieldsEncoded with allowable value as published in an
should be populated) external list.
properties:
IdentificationType: * /beneficiaries resource
$ref: >- Refers to the Financial Institution that manages the account on behalf
#/components/schemas/AEExternalFinancialInstitutionIdentificationCode of the Identification:Beneficiary party, managing registration, booking of entries on
$ref: '#/components/schemas/Identification_1' the account, calculating balances on Name:the account and providing
$ref: '#/components/schemas/Name_1'
PostalAddress: information about the account. This is the servicing Financial
Institution of the $ref: '#/components/schemas/AEPostalAddress6'Beneficiary account.
additionalProperties: false * AETransaction:/scheduled-payments resource
type: object Refers to the identification scheme description:for Providesuniquely furtheridentifying detailsthe
on an entry in the report. Creditor Agent.
required: * /standing-orders TransactionIdresource
- CreditDebitIndicatorRefers to the identification scheme for uniquely identifying the
- Status Creditor Agent.
-
BookingDateTime
-* Amount/transactions resource
- TransactionDateTime Refers to the identification scheme for uniquely identifying -the
TransactionType Creditor -Agent.
SubTransactionType type: string
- PaymentModes enum:
properties: - UAEOF.BICFI
TransactionId: - UAEOF.OTHER
$ref: '#/components/schemas/TransactionId' CustomersResponse:
TransactionDateTimetype: object
properties:
$ref: '#/components/schemas/TransactionDateTime' data:
LocalTimeZone: type: array
$ref: '#/components/schemas/LocalTimeZone' items:
StatementReference: $ref: '"#/components/schemas/StatementReference'CbuaeCustomer"
TransactionReferencemeta:
$ref: '"#/components/schemas/TransactionReference'Meta"
CustomerResponse:
TransactionType: type: object
$refproperties:
'#/components/schemas/TransactionType' SubTransactionTypedata:
$ref: '"#/components/schemas/SubTransactionType'CbuaeCustomer"
TerminalIdmeta:
$ref: '"#/components/schemas/TerminalId'Meta"
CbuaeCustomer:
Flags: type: object
typeproperties:
array id:
items: type: string
$ref: '#/components/schemas/Flags' minLength: 1
PaymentModes: maxLength: 40
$ref: '#/components/schemas/PaymentMode' CreditDebitIndicatordescription: >-
$ref: '#/components/schemas/AECreditDebitCode_1'
Status:
A unique and immutable identifier used to identify the customer
$ref: '#/components/schemas/AEEntryStatusCode' resource. This identifier has no meaning to TransactionMutability:the account owner.
$refnumber:
'#/components/schemas/AETransactionMutabilityCode' BookingDateTimetype: string
$refminLength: '#/components/schemas/BookingDateTime'1
ValueDateTime: maxLength: 35
$ref: '#/components/schemas/ValueDateTime' description: Number assigned by an agent to TransactionInformation:identify its customer.
$refcustomerType:
'#/components/schemas/TransactionInformation' Amounttype: string
$ref enum: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_5'
ChargeAmount: - UAEOF.Delegate
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_6' - UAEOF.Joint
ChargeAmountVat: - UAEOF.Sole
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_8' CurrencyExchangedescription: >
$ref: '#/components/schemas/AECurrencyExchange' Specifies the party type.
BankTransactionCode: Encoded $ref: '#/components/schemas/AEBankTransactionCodeStructure'
with allowable values:
ProprietaryBankTransactionCode: "Delegate" - Used for business $ref: '#/components/schemas/ProprietaryBankTransactionCodeStructure1'
accounts when user has delegated
Balance: authority to access the $ref: '#/components/schemas/AETransactionCashBalance'account ,
MerchantDetails: "Joint" - Customer is a $ref: '#/components/schemas/AEMerchantDetails1'
joint owner of the account
CreditorAgent: $ref:"Sole" >- Customer is the sole owner of the account
#/components/schemas/AEBranchAndFinancialInstitutionIdentification6_1 accountRole:
CreditorAccount: type: string
type: array enum:
items: - UAEOF.Administrator
$ref: '#/components/schemas/AECashAccount6_0' - UAEOF.Beneficiary
DebtorAgent: $ref: >- UAEOF.CustodianForMinor
#/components/schemas/AEBranchAndFinancialInstitutionIdentification6_2
- UAEOF.Granter
DebtorAccount: - UAEOF.LegalGuardian
$ref: '#/components/schemas/AECashAccount6_1' - CardInstrument:UAEOF.OtherParty
$ref: '#/components/schemas/AETransactionCardInstrument'
- UAEOF.PowerOfAttorney
SupplementaryData: - UAEOF.Principal
$ref: '#/components/schemas/AESupplementaryData' BillDetails:- UAEOF.Protector
$ref: '#/components/schemas/BillDetails' - UAEOF.RegisteredShareholderName
GeoLocation: - UAEOF.SecondaryOwner
$ref: '#/components/schemas/AEGeoLocation' PaymentPurposeCode:- UAEOF.SeniorManagingOfficial
$ref: '#/components/schemas/AEPaymentPurposeCode' - UAEOF.Settlor
additionalProperties: false AEAccountId: - UAEOF.SuccessorOnDeath
type: object description: Specifies >-the Party's role with respect to the related account.
Unambiguous identification of the account to which credit andverifiedClaims:
debit entries aretype: made.array
The following fields are optional only for accounts items:
that are switched: $ref: '#/components/schemas/CbuaeVerifiedClaim'
* Data.Currency description: >-
* Data.AccountType Container object containing entries for the trust framework and *the
Data.AccountSubType For all otherevidence accounts,used theto fields must be populated by verify the LFI.claims
propertiesdescription: >
AccountHolderName: Party Identity Assurance (Response) Schema
$ref: '#/components/schemas/AccountHolderName' Based on the [OpenID Connect for AccountHolderShortName:Identity Assurance 1.0
$ref: '#/components/schemas/AccountHolderShortName'Specification](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html)
additionalProperties: Status:false
CbuaeVerifiedClaim:
$ref: '#/components/schemas/AEAccountStatusCode' description: |
StatusUpdateDateTime: Verified Claims :This is Required field for Cbuae
$ref: '#/components/schemas/StatusUpdateDateTime' Container object Currency:containing entries for the trust framework and the evidence used to $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
verify the customer claims
AccountTypetype: "object"
properties:
$ref: '#/components/schemas/AEExternalAccountTypeCode' verification:
AccountSubType: description: |
$ref: '#/components/schemas/AEExternalAccountSubTypeCode' Description:Verification
$ref: '#/components/schemas/Description_0'type: "object"
Nicknameproperties:
$reftrustFramework:
'#/components/schemas/Nickname' OpeningDate: type: "string"
$ref: '#/components/schemas/OpeningDate' MaturityDateenum: [UAEOF.Undefined]
$ref: '#/components/schemas/MaturityDate' description: |
AccountIdentifiers: $ref: '#/components/schemas/AccountIdentifiers'
Servicer: Identifies the trust framework used for customer verification.
$ref: >- assuranceLevel:
#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_0 type: "string"
additionalProperties: false AEAccountArrayId: typedescription: object|
description: >- UnambiguousDetermines identificationthe ofassurance thelevel accountassociated towith whichthe creditcustomer andin debitthe respective VerifiedClaims.
entries are made. The following fields areassuranceProcess:
optional only for accounts that are switchedtype: "object"
* Data.Currency description: |
* Data.AccountType Determines the assurance process that *was Datafollowed.AccountSubType This reflects how the evidence meets the requirements of Forthe allTrustFramework otherand accounts,AssuranceLevel.
the fields must be populated by the LFI. requiredproperties:
- AccountId propertiespolicy:
AccountId: $ref: '#/components/schemas/AccountId'type: "string"
AccountHolderName: description: "Representing $ref: '#/components/schemas/AccountHolderName'
the standard or policy that was followed."
AccountHolderShortName: $ref: '#/components/schemas/AccountHolderShortName'
procedure:
Status: $ref: '#/components/schemas/AEAccountStatusCode'
type: "string"
StatusUpdateDateTime: $ref: '#/components/schemas/StatusUpdateDateTime'
description: "Representing a specific procedure from the policy that was followed."
Currency: $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
assuranceDetails:
AccountType: $reftype: '#/components/schemas/AEExternalAccountTypeCode'"array"
AccountSubType: $refdescription: '#/components/schemas/AEExternalAccountSubTypeCode'
Description:
"Denoting the details about how the evidence complies with the policy"
$ref: '#/components/schemas/Description_0' Nicknameitems:
$ref: '#/components/schemas/Nickname' OpeningDatetype: "object"
$ref: '#/components/schemas/OpeningDate' MaturityDateproperties:
$ref: '#/components/schemas/MaturityDate' AccountIdentifiers: assuranceType:
$ref: '#/components/schemas/AccountIdentifiers' Servicer: description: "String denoting which part $ref:of >-the assurance_process the evidence fulfils"
#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_0 additionalProperties: false AEPatchConsentSigned: type: "string"
allOf: - $ref: '#/components/schemas/Jwt' - typeassuranceClassification:
object properties: messagedescription: "String reflecting how the evidence has been classified or measured as required by $ref: '#/components/schemas/AEPatchConsent'the TrustFramework"
required: type: "string"
- message additionalProperties: false AEPatchConsent: evidenceRef:
description: Patch Account Access Consent type: object properties: description: "Evidence being referred to"
Data: type: object descriptiontype: Primary"array"
data for the resource required: items:
- Status properties: Statustype: "object"
$ref: '#/components/schemas/PatchConsentStatus' RevokedByproperties:
$ref: '#/components/schemas/AERevokedBy' additionalProperties: false txn:
Subscription: $ref: '#/components/schemas/EventNotification' additionalProperties: false description: "Identifier AEReadConsentResponse:referring to the txn used in the description: Account Access ConsentCheckDetails."
type: object required: - Data type: "string"
- Links properties: Data: evidenceMetadata:
type: object description: Primary data for the resource requireddescription: "Object indicating any meta data about the evidence that is required by -the ConsentIdAssuranceProcess in order to demonstrate compliance with the TrustFramework. It has the following sub-elements"
BaseConsentId - CreationDateTime - Status type: "object"
- StatusUpdateDateTime - Permissions properties:
properties: ConsentId: $refevidenceClassification:
'#/components/schemas/AEConsentId' BaseConsentId: $ref: '#/components/schemas/AEBaseConsentId' type: "string"
CreationDateTime: time:
$ref: '#/components/schemas/CreationDateTime' type: "string"
Status: $ref: '#/components/schemas/ConsentStatus'format: "date-time"
StatusUpdateDateTimedescription: |
$ref: '#/components/schemas/StatusUpdateDateTime' Representing the date and time when the identity verification process took Permissions:place. All dates in the JSON payloads are represented in ISO 8601 date-time format. All $ref: '#/components/schemas/AEConsentPermissions'
ExpirationDateTime:date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00
verificationProcess:
description: >- type: "string"
Specified date and time the permissions will expire. description: |
If this isUnique notreference populated,to the permissionsidentity willverification beprocess openas ended.Allperformed by the OP.
evidence:
dates in the JSON payloads are represented in ISO 8601 date-time description: The type of evidence allowed for providing verification.
format. anyOf:
All date-time fields in responses must include the timezone.- An
$ref: '#/components/schemas/AEPartyIdentityEvidenceTypeDocument'
example is- below$ref: '#/components/schemas/AEPartyIdentityEvidenceTypeElectronicRecord'
claims:
2017-04-05T10:43:07+00:00 type: object
typeproperties:
string givenName:
format: date-time type: TransactionFromDateTime:string
description: >-
SpecifiedGiven startname dateof andthe timeParty. forGiven the transaction query period.
name (also called forename) is used
If this isto notdifferentiate populated,from the startsurname dateor willfamily bename.
open ended, and familyName:
data will be returned from the earliest available type: string
transaction.All dates indescription: Surname of the JSONParty
payloads are represented in middleName:
ISO 8601 date-time format. type: string
All date-time fields in responses must include the timezone. Andescription: Middle name of the Party
nickname:
example is below: type: string
2017-04-05T10:43:07+00:00 description: Nickname of the Party
type: string emiratesId:
format: date-time type: string
TransactionToDateTime: description: Emirates ID number of the Party
description: >- emiratesIdExpiryDate:
Specified end date and time for the transaction querytype: period.string
format: date
If this is not populated, the end date will be open ended, and description: Emirates ID card expiry date
data will bebirthDate:
returned to the latest available transaction.All type: string
dates in the JSON payloads are represented in ISOformat: 8601 date-time
description: Date format.of birth of the Party
sourceOfIncome:
All date-time fields in responses must include the timezone. An type: string
example is belowsalary:
2017-04-05T10:43:07+00:00
type: string
typenationality: string
formattype: date-timestring
AccountTyperesidentialAddress:
type$ref: array'#/components/schemas/AEPartyIdentityAddressClaim'
itemsmobileNumber:
$reftype: '#/components/schemas/AEExternalAccountTypeCode'string
AccountSubTypeemail:
type: arraystring
itemsmaritalStatus:
$reftype: '#/components/schemas/AEExternalAccountSubTypeCode'string
OnBehalfOfsalutation:
$reftype: '#/components/schemas/OnBehalfOf'string
Purposelanguage:
type: arraystring
employerName:
items: type: string
$ref: '#/components/schemas/Purpose' employmentSinceDate:
RevokedBy: type: string
$ref: '#/components/schemas/AERevokedBy' additionalPropertiesformat: date
false Subscription: powerofAttorney:
$ref: '#/components/schemas/EventNotification' type: boolean
Links: $refsalaryTransfer:
'#/components/schemas/LinksSelf' Meta: type: boolean
$ref: '#/components/schemas/Meta' additionalPropertiesprofession:
false AEConsentsByBaseConsentIdResponse: type: arraystring
itemsupdatedAt:
$ref: '#/components/schemas/AEReadConsentResponse' AEReadBalancetype: string
description: List of Balances for an Account format: time
type: object requireddescription: >
- Data Standard Claims:
- Links [https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)
- Meta properties: IdentityAssurance Claims:
Data: type: object[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)
descriptionadditionalProperties: Primaryfalse
data
for the resource AEPartyIdentityEvidenceTypeDocument:
type: object
required: properties:
- AccountId type:
type: - Balancestring
propertiesenum:
AccountId:- document
description: The type $ref: '#/components/schemas/AccountId'
of evidence allowed for providing verification.
BalancecheckDetails:
type: array
items:
$ref: '#/components/schemas/AEBalanceAEPartyIdentityCheckDetail'
minItems: 1verifier:
additionalProperties$ref: false'#/components/schemas/DocumentEvidenceVerifier'
Linkstime:
$ref: '#/components/schemas/LinksISODateTime'
MetadocumentDetails:
$ref: '#/components/schemas/MetaTotalPagesDocumentEvidenceDetails'
additionalProperties: false AEBalance:
typeattachments:
object
description: Set of elements used to define the balance details.
required:
- CreditDebitIndicator
- Type
- DateTime
- Amount type: object
properties: CreditDebitIndicatorrequired:
$ref: '#/components/schemas/AECreditDebitCode_2'
- AEPartyIdentityEvidenceAttachments
Type: properties:
$ref: '#/components/schemas/AEBalanceTypeCode' AEPartyIdentityEvidenceAttachments:
DateTime: descriptiontype: >-array
Indicates the dateitems:
(and time) that the account balance was $ref: '#/components/schemas/AEPartyIdentityEvidenceAttachment'
checked.All dates in the JSON payloads are represented in ISO 8601 description: >
date-time format. All date-time fields in responses must includeAttachment
the additionalProperties: false
timezone. An example is belowAEPartyIdentityEvidenceTypeElectronicRecord:
2017-04-05T10:43:07+00:00 type: object
type: string properties:
formattype:
date-time Amounttype: string
type enum:
object - required:electronic_record
description: The -type Amountof evidence allowed for providing verification.
- CurrencycheckDetails:
descriptiontype: Amountarray
of money of the cash balance. items:
properties: $ref: '#/components/schemas/AEPartyIdentityCheckDetail'
Amount: time:
$ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleTypeISODateTime'
Currency:
record:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1ElectronicRecordProperties'
attachments:
additionalProperties: false type: object
CreditLinerequired:
type: array - AEPartyIdentityEvidenceAttachments
itemsproperties:
typeAEPartyIdentityEvidenceAttachments:
object description: Set of elements used to provide details on the credit line.type: array
items:
required$ref: '#/components/schemas/AEPartyIdentityEvidenceAttachment'
- Includeddescription: >
- Type Attachments
description: >
- Amount Electronic Record Evidence
propertiesadditionalProperties: false
AEPartyIdentityCheckDetail:
Includedtype: object
properties:
descriptioncheckMethod:
>- type: string
Boolean flagdescription: to>
Indicate whether or not a credit line is Identifes the method used by PASP for checking the evidence for
included in the balance of the account. Usage: If notverification
present,
String representing the check done, this creditincludes lineprocesses issuch notas
included in the balance amount of the checking the authenticity of the document, or verifying the user's
account. biometric against an identity document.
type: boolean organization:
Typetype: string
description: >
description: >- String denoting the legal entity that performed the check. This
Type of credit line provided to the account. Encoded with SHOULD be included if the OP did not perform the check itself
allowable values oftxn:
Available, Credit, Emergency, Pre-Agreed, type: string
Temporary. Notedescription: LFIs>
support different types of credit lines Identifier referring to the identity verification transaction. The
on accounts, so this list is used to supportOP differentMUST LFIensure that this is present when EvidenceRef element is
systmes in UAE.
used. The OP MUST ensure that the transaction identifier can be
type: string resolved into transaction details during an audit
enumtime:
$ref: '#/components/schemas/ISODateTime'
- UAEOF.Availabledescription: >
Identifes the method used by PASP for checking the evidence -for
UAEOF.Credit verification.
Representing -the UAEOF.Emergencychecks done in relation to the evidence
additionalProperties: false
- UAEOF.Pre-Agreed DocumentEvidenceVerifier:
type: object
properties:
- UAEOF.Temporary organization:
Amounttype: string
description: >-
type: object String denoting the organization which performed the verification on
required: behalf of the OP.
- Amount txn:
type: string
- Currency description: >-
description: Amount of money ofIdentifier thereferring creditto line.the identity verification transaction.
description: >-
properties: Denoting the legal entity that performed the identity verification.
AmountadditionalProperties: false
DocumentEvidenceDetails:
type: object
$refproperties:
'#/components/schemas/AEActiveCurrencyAndAmount_SimpleType' type:
Currencytype: string
enum:
$ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_1' - passport
additionalProperties: false- driving_permit
additionalProperties:- falseidcard
additionalProperties: false AEReadScheduledPayment:- residence_permit
description: List of Scheduled Payments fordescription: an>
Account type: object The type of required:document used for evidence checking
- Data documentNumber:
- Links type: string
- Meta propertiesdescription: The unique id number in the evidence used Data:for verification checking
typepersonalNumber:
object descriptiontype: Primary data for the resourcestring
requireddescription: >
- AccountIdAn identifier that is assigned to the End-User and is not limited to
- ScheduledPayment properties:being used in one document, for example a national identification
AccountId: number, personal identity number, citizen number, $ref: '#/components/schemas/AccountId'social security
ScheduledPayment:number, driver number, account number, customer number, licensee
type: array number, etc
itemsserialNumber:
type: string
$ref: '#/components/schemas/AEScheduledPayment' description: >
additionalProperties: false An identifier/number Links:that identifies the document irrespective of
$ref: '#/components/schemas/Links' any personalization information Meta:(this usually only applies to
$ref: '#/components/schemas/MetaTotalPages' physical artifacts additionalProperties:and falseis present before personalization).
AEScheduledPayment: descriptioncalendarType: Scheduled Payments
for a specific AccountId type: objectstring
required: enum:
- ScheduledPaymentId
- ScheduledPaymentDateTimeIslamicCalendar
- ScheduledType - GregorianCalendar
- InstructedAmount propertiesdescription: >
ScheduledPaymentId: The type of calendar used for $ref: '#/components/schemas/ScheduledPaymentId'
AccountHolderName:the date of issuance and date of expiry in
$ref: '#/components/schemas/AccountHolderName'
the document evidence
AccountHolderShortName: Allowable values:
$ref: '#/components/schemas/AccountHolderShortName' ScheduledType:"Islamic Calendar"
$ref: '#/components/schemas/AEExternalScheduleTypeCode' "Gregorian Calendar"
ScheduledPaymentDateTime: Both calendars must $ref: '#/components/schemas/ScheduledPaymentDateTime'follow YYYY-MM-DD
CreditorReferencedateOfIssuance:
$ref: '#/components/schemas/ReferenceISODateTime'
DebtorReferencedateOfExpiry:
$ref: '#/components/schemas/DebtorReferenceISODateTime'
InstructedAmountissuer:
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_1DocumentEvidenceDetailsIssuer'
CreditorAgentdescription: 'Representing the document used to perform the identity verification. '
$ref: >- additionalProperties: false
#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_1DocumentEvidenceDetailsIssuer:
CreditorAccounttype: object
typeproperties:
array name:
items: type: string
$ref: '#/components/schemas/AECashAccount5_0' additionalPropertiesdescription: false|
TerminalId: description: IDDesignation of the Terminalissuer ifof the transactiondocument.
was initiated from a retail POS address:
type: integer minLength$ref: 8
'#/components/schemas/AEPartyIdentityAddressClaim'
maxLength: 20 BillDetailscountryCode:
description: Bill Details
type: object
properties: required:
BillerId:
description: >- CountryCode
properties:
This should be 'BillerCode' as per SP-SADAD specifications. It is a CountryCode:
unique biller identifier within SADADtype: thatstring
could be used by the end-user to refer to a specific SADAD biller (e.g. STC biller codepattern: ^[A-Z]{2,2}$
description: isNation 001,with waterits servicesown billergovernment, codeoccupying isa 015,particular etcterritory.)
typeadditionalProperties: numberfalse
BillNumberjurisdiction:
descriptiontype: Uniquestring
bill identifier within the account. description: >
type: string String BillPaymentType:containing the name of the
description: > region(s)/state(s)/province(s)/municipality(ies) that issuer has
Indicates whether the bill could be a One-off payment,jurisdiction Recurringover (if this information is not common knowledge or
payment, Postpaid, Pre-paid, etc. Example values: derivable from the address)
description: - "UAEOF.Post-Paid"
Containing information about the issuer of this document.
additionalProperties: -false
"UAEOF.AdvancePaymentForRoaming"
AEPartyIdentityAddressClaim:
type: object
- "UAEOF.Recharge" properties:
- "UAEOF.Renewal"formatted:
type: string
- "UAEOF.RoamingDeposit" description: |
- "UAEOF.One-Off" The address number and street claim that has -been "UAEOFverified.RecurringPayment"
typestreetAddress:
string x-namespaced-enumtype: string
description: -|
UAEOF.Post-Paid The -address UAEOF.AdvancePaymentForRoamingstreet claim that has - UAEOF.Rechargebeen verified.
locality:
- UAEOF.Renewal type: string
- UAEOF.RoamingDeposit description: >
- UAEOF.One-Off The address locality (village, town, city - UAEOF.RecurringPayment
etc) claim that has been
additionalProperties: false ConsentStatus: verified.
description: Specifies the status of consentregion:
resource in code form. type: string
enum: description: |
- Authorized The -address AwaitingAuthorizationregion claim that has been verified.
- Rejected postalCode:
- Revoked type: object
- Expired - Suspendedrequired:
PatchConsentStatus: description: >- PostalCode
The Revoked status mustproperties:
only be set if the current Consent Status is set PostalCode:
to either Authorized or AwaitingAuthorization type: string
enum: - Revoked
AERevokedByminLength: 5
description: | maxLength: Denotes5
the Identifier of the revocation. | Identifier| Description|description: >-
|-----------|------------| Identifier consisting |of LFIa |group Revokedof byletters LFIand/or withoutnumbers Userthat initiation|is
| TPP | Revoked by TPP without User initiation|added to a postal address to assist the sorting |of LFImail.InitiatedByUser
| Initiated by User via the LFI| additionalProperties: false
| TPP.InitiatedByUser | Initiated bycountry:
User via the TPP| type: stringobject
enum: properties:
- UAEOF.LFI - UAEOF.TPPCountryCode:
- UAEOF.LFI.InitiatedByUser type: string
- UAEOF.TPP.InitiatedByUser AERevokedByPatchConsent: descriptionpattern: |^[A-Z]{2,2}$
Denotes the Identifier of the revocation. description: Nation with its own government, occupying a particular |territory.
Identifier| Description| |-----------|------------|
additionalProperties: false
description: |>
TPP | Revoked by TPP without User initiation| Address object as per OpenID Connect Core | TPP.InitiatedByUser | Initiated by User via the TPP|1.0 Address Claim
type: string[https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim](https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim)
enumadditionalProperties: false
AEPartyIdentityEvidenceAttachment:
- UAEOF.TPP type: object
- UAEOF.TPP.InitiatedByUser properties:
AEIsIslamic: typedesc:
boolean description: | type: string
A flag to denote if thedescription: Product>
is an Islamic product default: false Description of the document. AEGeoLocation:This can be the filename or just description:an
>- Estimated latitude and longitudeexplanation coordinates,of inthe degreescontent.
Contains one contentType:
latitude and one longitude subfield. type: string
type: object requireddescription: |
- Latitude Content (MIME) type of the document
- Longitude propertiescontent:
Latitude type: string
description: Latitude in degrees|
Base64 encoded representation of the type:document stringcontent
Longitudetxn:
descriptiontype: Longitudestring
in degrees description: |
type: string additionalProperties: false Identifier referring AEAccountAccessAuthorizationDetail:to the transaction
description: The schemaadditionalProperties: forfalse
account
access object in the authorization_detailsElectronicRecordProperties:
type: object
required:
- typeType
- consentPersonalNumber
properties: - CalendarType
type: - CreatedAt
type: string - DateOfExpiry
description:- TheSource
type of the account access object properties:
enumtype:
type: string
- urn:openfinanceuae:account-access-consent:v1.0-rc1 consentenum:
type: object - bank_account
description: Primary data for the- resourcemortgage_account
required: - loan_account
- ConsentIddescription: >
- PermissionsString denoting the type of electronic record
properties: personalNumber:
ConsentId: type: string
$refdescription: '#/components/schemas/AEConsentId'>
BaseConsentId:String representing an identifier that is assigned to the customer and
$ref: '#/components/schemas/AEBaseConsentId' is not limited to being used Permissions:in one record, for example a national
$ref: '#/components/schemas/AEConsentPermissions' identification number, personal identity number, citizen number,
ExpirationDateTime: social description: >-
security number, driver number, account number, customer
Specifiednumber, datelicensee andnumber, timeetc.
the permissions will expire. calendarType:
type: string
If this is not populated, the permissions will be open ended.Allenum:
- IslamicCalendar
dates in the JSON payloads are represented in ISO 8601 date-time GregorianCalendar
description: >
format. The type of calendar used for the date of issuance Alland date-time of fieldsexpiry in
responses must include the timezone. An the document evidence
example is below: Allowable values:
2017-04-05T10:43:07+00:00
"Islamic Calendar"
type: string"Gregorian Calendar"
Both format: date-time
calendars must follow YYYY-MM-DD
createdAt:
TransactionFromDateTime: $ref: '#/components/schemas/ISODateTime'
description: >- dateOfExpiry:
$ref: '#/components/schemas/ISODateTime'
Specified start date and time for the transactionsource:
query period. $ref: '#/components/schemas/ElectronicRecordSourceProperties'
description: If|
this is not populated, the start date will beRepresenting openthe ended,record andused to perform the identity verification.
additionalProperties: false
data will beElectronicRecordSourceProperties:
returned from the earliest available type: object
properties:
transaction.All dates inname:
the JSON payloads are represented in type: string
ISOdescription: 8601|
date-time format. Designation of the source of the electronic_record
All date-time fields in responses must include theaddress:
timezone. An $ref: '#/components/schemas/AEPartyIdentityAddressClaim'
example is belowcountryCode:
type: object
2017-04-05T10:43:07+00:00 properties:
typeCountryCode:
string type: format: date-timestring
TransactionToDateTime:pattern: ^[A-Z]{2,2}$
description: >-
Nation with its own government, occupying a particular territory.
additionalProperties: false
Specified end date and time for the transactionjurisdiction:
query period. type: string
If this is notdescription: populated,>
the end date will be open ended, and String containing the name of the region(s) / state(s) / province(s)
data will be returned to the latest available transaction.All / municipality(ies) that source has jurisdiction over (if it's not
dates in the JSON payloads are represented in ISOcommon 8601knowledge date-timeor derivable from the address)
description: |
format. Information about the source of this record
additionalProperties: false
All
date-time fields in responses mustISODateTime:
include the timezone. An title: "ISODateTime"
description: "All dates in the JSON examplepayloads isare below:represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone. An example is 2017below:\n2017-04-05T10:43:07+00:00"
type: "string
"
format: "date-time"
ProductIdentifier:
AccountTypetype: object
properties:
type: array id:
itemstype: string
productName:
$ref: '#/components/schemas/AEExternalAccountTypeCode' type: string
AccountSubTypebundleName:
description: Optional field to type:indicate arrayif this account is part of a bundle that is providing additional benefit for to items:the customer
type: string
$ref: '#/components/schemas/AEExternalAccountSubTypeCode' required:
- productName
OnBehalfOf:
CustomerIdentifier:
type: object
$ref: '#/components/schemas/OnBehalfOf' properties:
Purposeid:
type: arraystring
customerName:
items: type: string
$refrequired:
'#/components/schemas/Purpose' - id
additionalProperties: false - customerName
Subscription: #
# Schemas $ref: '#/components/schemas/EventNotification'
related to Balances
#
additionalProperties:
false AEReadConsentSignedBalancesResponse:
allOftype: object
- $ref: '#/components/schemas/Jwt'properties:
- typedata: object
propertiestype: array
messageitems:
$ref: '"#/components/schemas/AEReadConsent'CbuaeBalance"
requiredmeta:
- message
$ref: "#/components/schemas/Meta"
additionalPropertiesCbuaeBalanceType:
false AEReadConsenttype: string
descriptionenum: List of
Standing Orders for an Account - UAEOF.ClosingAvailable
type: object - required:UAEOF.ClosingBooked
- DataUAEOF.ClosingCleared
- LinksUAEOF.Expected
- MetaUAEOF.ForwardAvailable
properties: - UAEOF.Information
Data: - UAEOF.InterimAvailable
type: object- UAEOF.InterimBooked
- description:UAEOF.InterimCleared
Primary data for the resource - UAEOF.OpeningAvailable
required: - UAEOF.OpeningBooked
- AccountIdUAEOF.OpeningCleared
- UAEOF.PreviouslyClosedBooked
- Consent CbuaeBalance:
propertiestype: object
properties:
AccountId: accountId:
$refdescription: '#/components/schemas/AccountId'
Consent:
"A unique and immutable identifier produced by the financial institution to identify the account resource.This identifier has no meaning to the account owner (User 1)."
type: array type: string
itemscreditDebitIndicator:
description: "Indicates whether the balance of the type:account objectis a credit or a debit balance."
additionalPropertiestype: falsestring
enum:
oneOf: - UAEOF.Credit
- $ref: '#/components/schemas/AEAccountAccessAuthorizationDetail' UAEOF.Debit
balanceType:
discriminator:$ref: "#/components/schemas/CbuaeBalanceType"
timestamp:
propertyNamedescription: type"Indicates the date (and time) that the account balance was checked"
additionalProperties: false Linkstype: string
$refformat: '#/components/schemas/Links'"date-time"
Metaamount:
$ref: '"#/components/schemas/MetaTotalPages'OBActiveOrHistoricCurrencyAndAmount_8"
additionalProperties: false creditLines:
AEConsent: descriptiontype: Consentsarray
for a specific AccountId typeitems:
object required: $ref: "#/components/schemas/CbuaeCreditLine"
- ConsentId required:
properties: - accountId
ConsentId: - balanceType
$ref: '#/components/schemas/AEConsentId' - amount
BaseConsentIdCbuaeCreditLine:
description: Set of elements $ref: '#/components/schemas/AEBaseConsentId'
additionalProperties: falseused to provide details on the credit line.
AEConsentIdrequired:
description: > - included
Unique identification assigned- bycreditType
the TPP to identify the consent - amount
resource. properties:
type: string included:
minLength: 1 maxLengthdescription: 128"Boolean flag to Indicate whether or not a example: aac-69255d98-ab0e-4758-92a7-cacbf3073efa
AEBaseConsentId:
credit line is included in the balance of the account."
description: > type: boolean
The original ConsentId assigned by the TPP. creditType:
It is useddescription: by"Type theof TPPcredit forline updating/renewingprovided parametersto associatedthe withaccount."
long-lived consents. type: string
It must be providedenum:
when long-lived consent parameters are updated/renewed for a current consent that has not yet finished.- UAEOF.Available
- UAEOF.Credit
type: string minLength: 1 - UAEOF.Emergency
maxLength: 128 example: abc-19877d98-ab0e-4758-92a7-vvffr1234abv UAEOF.Pre-Agreed
AEPaymentPurposeCode: description: >- UAEOF.Temporary
A Categoryamount:
code, related to the type of services or goods that $ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
#
corresponds to the underlying purpose# ofSchemas therelated Payment.to Transactions
#
* The ISO20022 External code sets
TransactionsResponse:
type: stringobject
minLengthproperties:
1 maxLengthdata:
4 pattern: ^[A-Z]{4}$ type: array
AEDuration: description: | items:
The period of time for which the credit line is available.$ref: "#/components/schemas/CbuaeTransaction"
meta:
Formatted according to ISO 8601 Durations (excludes recurrence syntax)
$ref: "#/components/schemas/PaginatedMeta"
typeCbuaeTransaction: string
minLengthtype: 1object
maxLengthproperties:
40 pattern: ^P(?=\d)(\d+Y)?(\d+M)?(\d+W)?(\d+D)?$accountId:
AECharge:
description: |"A unique and immutable identifier produced by the financial Feesinstitution and charges applicable toto identify the account resource"
type: array type: string
items: transactionId:
type: object requireddescription: "Unique identifier for the transaction within - Name
an servicing institution."
- ChargeTypetype: string
transactionDateTime:
- Amount properties$ref: "#/components/schemas/TransactionDateTime"
localTimeZone:
Name: $ref: "#/components/schemas/LocalTimeZone"
type: string statementReference:
description: | description: "Unique reference for the statement."
Name of the charge type: array
minLengthitems: 1
maxLengthtype: 40string
ChargeTypetransactionReference:
description: "Unique type:reference stringfor the transaction."
descriptiontype: |string
transactionType:
Type of the charge description: "The type of transaction"
minLength: 1 type: string
maxLengthenum:
10 Amount:- UAEOF.POS
$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
- UAEOF.ECommerce
Frequency: - UAEOF.ATM
$ref: '#/components/schemas/AEDuration' - UAEOF.BillPayments
Notes: - UAEOF.LocalBankTransfer
type: string - UAEOF.SameBankTransfer
description: | - UAEOF.InternationalTransfer
Notes providing more information on the- chargeUAEOF.Teller
minLength: 1- UAEOF.Cheque
maxLength: 500- UAEOF.Other
additionalPropertiessubTransactionType:
false
AELendingRate: description: |"The sub-type of a transaction"
Lending rates for this account type: string
type: array itemsenum:
type: object - UAEOF.Purchase
required: - UAEOF.Reversal
- LendingRateType - RateUAEOF.Refund
properties: LendingRateType:- UAEOF.Withdrawal
- type:UAEOF.WithdrawalReversal
string - minLength:UAEOF.Deposit
1 - maxLength:UAEOF.DepositReversal
10 Rate: - UAEOF.MoneyTransfer
$ref: '#/components/schemas/AERate'
- UAEOF.NotApplicable
AmountterminalId:
$ref: '"#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'TerminalId"
CalculationFrequencyflags:
$ref: '#/components/schemas/AEDuration'type: "array"
ApplicationFrequencyitems:
$ref: '"#/components/schemas/AEDuration'CbuaeFlags"
RepaymentTypepaymentModes:
description: "The type:mode stringof payment"
descriptiontype: |string
enum:
Options in place for repayments - UAEOF.Online
minLength: 1 - UAEOF.Offline
maxLength: 40 - UAEOF.Batch
Notes: creditDebitIndicator:
type: string description: "Indicates whether the transaction is a credit or a debit entry."
description: | type: "string"
Notes providing more information on the rate.enum:
minLength: 1- UAEOF.Credit
maxLength: 500- UAEOF.Debit
additionalPropertiesstatus: false
AEDepositRate: description: |"Status of a transaction entry on the books of the Depositaccount servicer."
rates for this account type: arraystring
items: enum:
type: object - UAEOF.Booked
required: - DepositRateTypeUAEOF.Pending
- RateUAEOF.Rejected
propertiestransactionMutability:
DepositRateTypedescription: "Specifies the Mutability of the Transaction record."
type: string
minLengthenum: 1
maxLength: 10- UAEOF.Mutable
Rate: - UAEOF.Immutable
bookingDateTime:
$ref: '#/components/schemas/AERate' description: "Date CalculationFrequency:and time when a transaction entry is posted to an account on the $ref:account '#/components/schemas/AEDuration'servicer's books."
ApplicationFrequencytype: string
$refformat: '#/components/schemas/AEDuration'date-time
RepaymentTypevalueDateTime:
typedescription: string"Date and time at which assets become available to the account owner in description:case |of a credit entry, or cease to be available to the account owner in case Optionsof ina placedebit fortransaction repaymentsentry."
minLengthtype: 1string
format: date-time
maxLength: 40 transactionInformation:
Notes: description: "Further details of the transaction."
type: string type: string
description: | amount:
Notes providing more information on the rate.$ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
chargeAmount:
minLength: 1 $ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_6"
chargeAmountVat:
maxLength: 500 additionalProperties$ref: false"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
AERate: currencyExchange:
description: > $ref: A string representing a percentage (e.g. an interest rate)."#/components/schemas/CurrencyExchange"
bankTransactionCode:
A rate of 100% would be represented by the value 1.0 and a rate of -100%$ref: "#/components/schemas/AEBankTransactionCodeStructure"
proprietoryBankTransactionCode:
$ref: "#/components/schemas/ProprietoryBankTransactionCode"
by -1.0 balance:
- At least 1 and up to atype: totalobject
of 16 significant digits before decimal properties:
point creditDebitIndicator:
- Up to 16 digits following the decimal point description: "Indicates whether the -balance Noof formatting,the egaccount thousandis separatinga commascredit or a debit balance"
type: string minLength: 1 type: string
maxLength: 18 AEErrorCode: typeenum:
string enum: - UAEOF.AccessToken.Unauthorized
Credit
- UAEOF.AccessToken.InvalidScope - UAEOF.Consent.RevokedDebit
- UAEOF.Consent.TransientAccountAccessFailure balanceType:
- UAEOF.Consent.AccountTemporarilyBlocked $ref: "#/components/schemas/CbuaeBalanceType"
- UAEOF.Consent.PermanentAccountAccessFailure - UAEOF.Consent.Invalid amount:
- UAEOF.JWS.InvalidSignature $ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
- UAEOF.JWS.Malformed merchantDetails:
- UAEOF.JWS.InvalidClaim $ref: - UAEOF.JWS.InvalidHeader"#/components/schemas/MerchantDetails"
creditorAgent:
- UAEOF.GenericRecoverableError - UAEOF.GenericError$ref: "#/components/schemas/AEBranchAndFinancialInstitutionIdentification6_1"
creditorAccount:
- UAEOF.JWE.DecryptionError - UAEOF.JWE.InvalidHeadertype: array
- UAEOF.Event.UnexpectedEvent items:
- UAEOF.Body.InvalidFormat $ref: '#/components/schemas/AECashAccount6_0'
- UAEOF.Resource.InvalidResourceId debtorAgent:
- UAEOF.Resource.InvalidFormat $ref: "#/components/schemas/AEBranchAndFinancialInstitutionIdentification6_1"
- UAEOF.Consent.BusinessRuleViolation AEErrorSignedResponsedebtorAccount:
type: object $ref: '#/components/schemas/AECashAccount6_0'
required: cardInstrument:
- iss $ref: "#/components/schemas/AETransactionCardInstrument"
- exp supplementaryData:
- nbf type: object
- message propertiesgeoLocation:
iss $ref: "#/components/schemas/AEGeoLocation"
typebillDetails: string
description$ref: >-"#/components/schemas/BillDetails"
CbuaeFlags:
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
title: "Flags"
expdescription: "The flag of a transaction"
type: number"string"
enum:
description: >- - "UAEOF.Cashback"
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)- "UAEOF.Payroll"
nbf:- "UAEOF.DirectDebit"
- "UAEOF.StandingOrder"
type: number - "UAEOF.Loan"
description: >- - "UAEOF.Dividend"
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)AEBankTransactionCodeStructure:
audtype: object
description: >
type: array BankTransactionCode is mandatory (with code items:specifying the Domain,
Family and type:SubFamily stringas per External Codes ISO20022) when the
description: >- ProprietaryBankTransactionCode is absent.
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)properties:
iatdomain:
typedescription: numberSpecifies the Domain
description: >- type: string
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)domainCode:
messagedescription: Specifies the Domain Code.
$ref: '#/components/schemas/AEErrorResponse' type: string
description: Signed error response payload family:
additionalProperties: false AEExternalAccountRoleCodedescription: Specifies the Family
type: string enumtype: string
- UAEOF.Administrator familyCode:
- UAEOF.Beneficiarydescription: Specifies the Family Code
- UAEOF.CustodianForMinor type: string
- UAEOF.Granter subFamily:
- UAEOF.LegalGuardian description: Specifies the Sub-Family
UAEOF.OtherParty - UAEOF.PowerOfAttorneytype: string
- UAEOF.PrincipalsubFamilyCode:
- UAEOF.Protector description: Specifies the Sub-family Code
- UAEOF.RegisteredShareholderName type: string
- UAEOF.SecondaryOwner additionalProperties: false
- UAEOF.SeniorManagingOfficial
AEBranchAndFinancialInstitutionIdentification6_1:
type: -object
UAEOF.Settlor description: >
- UAEOF.SuccessorOnDeath Financial institution description:servicing Specifiesan theaccount Party'sfor rolethe withcreditor respectin tocase the relatedtransaction account.is a Debit transaction or AEExternalPartyTypeCode:Financial institution servicing an account for the type:Debtor stringin case the transaction is a Credit enum:transaction.
properties:
- UAEOF.Delegate schemeName:
- UAEOF.Joint $ref: >-
- UAEOF.Sole description: > #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
Specifies the party type.identification:
Encoded with allowable values:$ref: '#/components/schemas/Identification_1'
name:
"Delegate" - Used for business accounts when user has delegated$ref: '#/components/schemas/Name_1'
authoritypostalAddress:
to access the account , $ref: '#/components/schemas/AEPostalAddress6'
"Joint" - Party isadditionalProperties: afalse
joint
owner of the account Name_1:
description: >
"Sole" - Party is the sole owner of* theBeneficiary
account
AEPartyCalendarType: Name by which type:an stringagent is known and which is usually enum:used to identify
- IslamicCalendar that agent
- GregorianCalendar * Creditor agent
description: > Name by Thewhich typethe of calendar used forFinancial institution(FI) which is the datecreditor ofis
issuance and date of expiry in known and which is usually used theto documentidentify evidencethat FI.
Allowable values: * DebtorAgent
"Islamic Calendar" Name by which an financial institution of the debtor "Gregorianis Calendar"known and which
Both calendarsis mustusually follow YYYY-MM-DD
AEPartyIdentityAddressClaim:used to identify that financial institution.
type: objectstring
requiredminLength: 1
maxLength: -140
Formatted AEPostalAddress6:
- StreetAddresstype: object
description: >-
Locality Postal -Address specifies RegionInformation that locate and identify a specific
- PostalCode address, as defined by -postal Countryservices.
properties:
FormattedaddressType:
typedescription: stringPostal Address type specifies the the nature of the postal address.
description: | type: string
The address number and street claim thatenum:
has been verified. StreetAddress: - UAEOF.Business
type: string - UAEOF.Correspondence
description: | - UAEOF.DeliveryTo
The address street claim that has been- verifiedUAEOF.MailTo
Locality: - UAEOF.POBox
type: string - UAEOF.Postal
description: > - UAEOF.Residential
The address locality (village, town, city etc) claim that has been- UAEOF.Statement
shortAddress:
verified. description: 8 character Unique alphanumeric Region:Code.
type: string
descriptionminLength: |1
maxLength: 8
The address region claim that hasbuildingNumber:
been verified. PostalCodedescription: Number that identifies the position of a building on a street.
$ref: '#/components/schemas/PostalCode' Countrytype: string
$ref minLength: '#/components/schemas/CountryCode'4
description: > maxLength: 4
Address object as per OpenID Connect Core 1.0 Address Claim unitNumber:
description: [https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim](https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim)
additionalProperties: false
This is the unit number of the business premises or dwelling
AEPartyIdentityAssurance: type: objectstring
required: streetName:
- PartyId description: Name of a street or -thoroughfare.
PartyType - AccountRoletype: string
- VerifiedClaimssecondaryNumber:
properties: description: Secondary Number, if required
PartyId: type: string
minLength: 14
maxLength: 40 4
district:
description: >- Identifies the District of a City
type: string
A unique and immutable identifier used to identify thepostCode:
customer description: >-
resource. This identifier has no meaning to the account owner. Identifier consisting of a group of letters PartyNumber:and/or numbers that is added
type: string to a postal address to assist minLength:the 1sorting of mail.
maxLength: 35 type: string
descriptiontownName:
Number assigned by an agent to identify its customer. description: Identifies the City of a Country
PartyType: $reftype: '#/components/schemas/AEExternalPartyTypeCode'string
AccountRolecountry:
$refdescription: '#/components/schemas/AEExternalAccountRoleCode'
VerifiedClaims:Identifies a county either by full name or country code
type: arraystring
items:pattern: ^[A-Z]{2,2}$
AECashAccount6_0:
$reftype: '#/components/schemas/VerifiedClaim'object
description: >
description: >- Creditor account details available in case the transaction is a Debit
Container object containing entries for the trust frameworktransaction.
and the properties:
evidence usedschemeName:
to verify the claims description$ref: >'#/components/schemas/AEExternalAccountIdentificationCode'
Partyidentification:
Identity Assurance (Response) Schema $ref: '#/components/schemas/Identification_0'
Based on the [OpenID Connect for Identityname:
Assurance 1.0 Specification](https://openid.net/specs/openid-connect-4-identity-assurance-1_0.html)$ref: '#/components/schemas/Name_0'
additionalProperties: false
AEPartyIdentityCheckDetailAETransactionCardInstrument:
type: object
propertiesrequired:
CheckMethod:- cardSchemeName
type: string
- instrumentType
description: >Set of elements to describe the card instrument used in the transaction.
Identifes the method used by PASPproperties:
for checking the evidence for cardSchemeName:
verification description: Name of the card scheme.
String representing the checktype: done,string
this includes processes such as enum:
checking the authenticity of the document, or- verifyingUAEOF.AmericanExpress
the user's - UAEOF.Diners
biometric against an identity document. - Organization:UAEOF.Discover
type: string - UAEOF.GCC
description: > - UAEOF.MasterCard
String denoting the legal entity- thatUAEOF.UPI
performed the check. This - UAEOF.VISA
SHOULD be included if the OP did not perform the check- itselfUAEOF.mada
TxninstrumentType:
typedescription: stringThe card instrument type.
description: > type: string
Identifier referringenum:
to the identity verification transaction. The - UAEOF.ApplePay
OP MUST ensure that this is present when EvidenceRef- elementUAEOF.madaPay
is - usedUAEOF.Contactless
The OP MUST ensure that the transaction identifier can be - UAEOF.MagStripe
resolved into transaction details during- anUAEOF.Chip
audit Time: $ref: '#/components/schemas/ISODateTime'- UAEOF.Other
descriptionname:
> Identifes thedescription: methodName usedof bythe PASPcardholder forusing checking the evidencecard forinstrument.
verification. type: string
Representing the checks done inminLength: relation1
to the evidence maxLength: 70
OpenID Connect for Identity Assurance 1.0: identification:
[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: >-
Identification assigned by an additionalProperties:institution falseto identify the card
AEPartyIdentityEvidenceAttachment: type: object instrument used in the required:transaction. This identification is known by
- Desc the -account ContentTypeowner, and MUST be masked.
- Content type: string
- Txn propertiesminLength: 1
Desc: maxLength: 16
type: string example: 1234********4321
descriptionadditionalProperties: >false
AEGeoLocation:
Descriptiondescription: of>-
the document. This can be the filename or justEstimated anlatitude and longitude coordinates, in degrees. Contains one
explanation of the content.latitude and one longitude subfield.
ContentType: type: object
typerequired:
string - latitude
description: | - longitude
Content (MIME) type of the document properties:
latitude:
description: Latitude in Content:degrees
type: string
descriptionlongitude:
| description: Longitude in Base64degrees
encoded representation of the document content type: string
Txn: additionalProperties: false
typeMerchantDetails:
string type: object
description: | properties:
IdentifiermerchantId:
referring to the transaction additionalPropertiesdescription: falseMerchant Id
AEPartyIdentityEvidenceAttachments: type: objectstring
required: merchantName:
- AEPartyIdentityEvidenceAttachments propertiesdescription: Name by which the merchant is known.
AEPartyIdentityEvidenceAttachments: type: arraystring
itemsmerchantCategoryCode:
description: Category $ref: '#/components/schemas/AEPartyIdentityEvidenceAttachment'
description: >
code values are used to enable the classification of merchants into specific categories based on the type of business, trade or services supplied.
Attachments type: string
[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)ProprietoryBankTransactionCode:
additionalPropertiestype: object
false AEPartyIdentityEvidenceTypeDocumentproperties:
type code:
object properties: description: "Proprietary bank transaction code to Type:identify the underlying transaction."
allOf: type: string
- $refissuer:
'#/components/schemas/DocumentEvidenceType'
description: "Identification of Thethe typeissuer of evidencethe allowedproprietary forbank providingtransaction verificationcode."
CheckDetailstype: string
required:
type: array - code
itemsCurrencyExchange:
type: object
$refproperties:
'#/components/schemas/AEPartyIdentityCheckDetail' VerifiersourceCurrency:
$ref: '"#/components/schemas/DocumentEvidenceVerifier'TCurrency"
TimetargetCurrency:
$ref: '"#/components/schemas/ISODateTime'TCurrency"
DocumentDetailsunitCurrency:
$ref: '"#/components/schemas/DocumentEvidenceDetails'TCurrency"
AttachmentsexchangeRate:
$reftype: '#/components/schemas/AEPartyIdentityEvidenceAttachments'string
description: > contractIdentification:
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)type: string
additionalPropertiesquotationDate: false
AEPartyIdentityEvidenceTypeElectronicRecord: type: objectstring
properties: Typeformat: date-time
allOfinstructedAmount:
- $ref: '"#/components/schemas/ElectronicRecordEvidenceType'OBActiveOrHistoricCurrencyAndAmount_8"
descriptionrequired:
The type of evidence allowed for providing verification. - sourceCurrency
CheckDetails: - exchangeRate
typeOBActiveOrHistoricCurrencyAndAmount_6:
array itemstype: "object"
$ref: '#/components/schemas/AEPartyIdentityCheckDetail'
Time:description: "Transaction charges to be paid by the charge bearer."
$ref: '#/components/schemas/ISODateTime'properties:
Recordamount:
$ref: '"#/components/schemas/ElectronicRecordProperties'OBActiveCurrencyAndAmount_SimpleType"
Attachmentscurrency:
$ref: '"#/components/schemas/AEPartyIdentityEvidenceAttachments'ActiveOrHistoricCurrencyCode_1"
descriptionchargeIncluded:
> Electronic Recorddescription: 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) If true then the additionalProperties:value falsein the Amount has the AEReadParty2:ChargeAmount deducted from it
type: object requiredtype: boolean
OBActiveOrHistoricCurrencyAndAmount_8:
- Data type: "object"
- Links required:
- Meta - "amount"
properties: - "currency"
Data: $ref: '#/components/schemas/AEReadParty2Data'properties:
Linksamount:
$ref: '"#/components/schemas/LinksResource'OBActiveCurrencyAndAmount_SimpleType"
Metacurrency:
$ref: '"#/components/schemas/MetaTotalPages'ActiveOrHistoricCurrencyCode_1"
descriptionActiveOrHistoricCurrencyCode_1:
List of Parties for an Account
additionalProperties description: false"A 3 character alphabetic code AEReadParty2Data:allocated to a currency under an international type:currency object
required:
- AccountId
- Party
properties:
AccountId:
identification scheme, as described in the latest edition of the international standard ISO 4217 'Codes for the representation of currencies and funds'."
$reftype: '#/components/schemas/AccountId'"string"
Partypattern: "^[A-Z]{3,3}$"
example: "SAR"
type: array OBActiveCurrencyAndAmount_SimpleType:
itemsdescription: "A number of monetary units specified in an active currency where the $ref: '#/components/schemas/AEPartyIdentityAssurance'
description: Primary data for the resource
additionalProperties: false
AEReadParty2Signed:unit of currency is explicit and compliant with ISO 4217."
type: "string"
pattern: "^\\d{1,13}$|^\\d{1,13}\\.\\d{1,5}$"
#
type: object # Schemas related to Direct required:Debits
#
- iss DirectDebitsResponse:
type: - expobject
properties:
- nbf data:
- message propertiestype: array
iss: items:
type: string $ref: "#/components/schemas/CbuaeDirectDebit"
description: >- meta:
[https$ref: "#//www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
components/schemas/Meta"
DirectDebitStatusEnum:
exp:
description: "Specifies the status of the direct debit."
type: string
number enum:
description: >- Active
- Inactive
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
CbuaeDirectDebit:
type: object
nbf: properties:
typeaccountId: number
description: >-"A unique and immutable identifier produced by the financial institution to identify [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
aud:the account resource.This identifier has no meaning to the account owner (User 1)."
type: string
array directDebitId:
items: description: "A unique and immutable identifier type:used stringto identify the direct debit resource. This identifier has no meaning description:to >-the account owner."
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)type: string
iatmandateIdentification:
typedescription: "This numberis the unique and immutable reference to the User 1 for description:the >-Direct Debit mandate."
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)type: string
messagedirectDebitStatusCode:
$ref: '"#/components/schemas/AEReadParty2'DirectDebitStatusEnum"
additionalPropertiesname:
false AEReadParty3: description: "This type:is objectthe name of the regulated beneficiary entity required:that initiates the Direct Debit collection."
- Data type: string
- Links frequency:
- Meta propertiesdescription: "Specifies the frequency of the Direct Debit collections to the User 1 Data:account."
$reftype: '#/components/schemas/AEReadParty3Data'string
Linksenum:
$ref: '#/components/schemas/LinksResource' - UAEOF.Annual
Meta: - UAEOF.Daily
$ref: '#/components/schemas/MetaTotalPages' - UAEOF.Fortnightly
description: Current PSU Information additionalProperties: false - UAEOF.HalfYearly
AEReadParty3Data: type: object - UAEOF.Monthly
required: - PartyUAEOF.NotKnown
- UAEOF.Quarterly
properties: Party: - UAEOF.Weekly
typepreviousPaymentDateTime:
array itemstype: string
$refformat: '#/components/schemas/AEPartyIdentityAssurance'date-time
additionalProperties: false previousPaymentAmount:
AEReadParty3Signed: type$ref: object"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
required:
- issaccountId
- expmandateIdentification
- nbfname
#
- message# Schemas related to Scheduled Payments
properties: #
issScheduledPaymentsResponse:
type: string
object
description: >-|
A descriptor for [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)scheduled payments.
This is exp:a composite object that may be expanded in the future to type:support
number additional scheduled payment description:types >-for new API standards and account types.
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)properties:
nbfdata:
type: numberarray
descriptionitems:
>- [https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)$ref: "#/components/schemas/CbuaeScheduledPayment"
meta:
aud$ref: "#/components/schemas/Meta"
CbuaeScheduledPayment:
type: arrayobject
properties:
items: accountId:
type: string
scheduledPaymentId:
description: >- type: string
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)accountHolderShortName:
iat$ref: "#/components/schemas/AccountHolderShortName"
typescheduledType:
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:Specifies the type of scheduled payment date provided under
$ref: '#/components/schemas/AEReadParty3'ScheduledPaymentDateTime.
additionalProperties: false AssuranceDetails: Encoded with allowable values of:
type: object required: "Arrival" - User1 specifies -the AssuranceTypedate for the arrival of funds in the beneficiary -(Creditor) AssuranceClassificationaccount
- EvidenceRef "Execution" - properties:User1 specifies the date which the payment needs to AssuranceType:be executed from the User 1 (Debtor) account.
type: string type: string
description: >- enum:
String denoting which part of the assurance_process the evidence- UAEOF.Arrival
- fulfilsUAEOF.Execution
AssuranceClassificationscheduledPaymentDateTime:
type: string
descriptionformat: >date-time
creditorReference:
String reflecting how the evidencetype: hasstring
been classified or measured debtorReference:
as required by thetype: TrustFrameworkstring
EvidenceRefinstructedAmount:
type$ref: array"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
itemscreditorAgent:
$ref: '"#/components/schemas/EvidenceRef'AEBranchAndFinancialInstitutionIdentification5_1"
descriptioncreditorAccount:
Denoting the details about how the evidence complies with the policy
$ref: "#/components/schemas/AECashAccount5_0"
additionalPropertiesAEBranchAndFinancialInstitutionIdentification5_1:
false AssuranceProcesstype: object
typerequired:
object required:- schemeName
- identification
Policy description: >
- Procedure Creditor Agent refers to the Financial -Institution AssuranceDetailsthat manages the
properties: account on behalf of the Policy:scheduled payment beneficiary party, managing
type: string registration, booking of entries on the account, calculating balances on
description: Representing the standard or policy that was followed.the account and providing information about the account. This Procedure:is the
servicing type:Financial stringInstitution of the Beneficiary account.
descriptionproperties:
Representing a specific procedure from the policy thatschemeName:
was followed. AssuranceDetails$ref: >-
type: array #/components/schemas/AEExternalFinancialInstitutionIdentificationCode
itemsidentification:
$ref: '#/components/schemas/AssuranceDetails'Identification_1'
additionalProperties: false
AECashAccount5_0:
descriptiontype: >object
required:
Determines the assurance process that- wasschemeName
followed. This reflects how - identification
the evidence meets the requirementsdescription: ofProvides the TrustFramework and
details to identify the beneficiary account.
AssuranceLevel.properties:
The factual record of the evidence and the proceduresschemeName:
followed are recorded in the evidence element, this element is used to
$ref: '#/components/schemas/AEExternalAccountIdentificationCode'
identification:
cross reference the evidence to the AssuranceLevel followed$ref: '#/components/schemas/Identification_0'
additionalProperties: false
OpenID Connect#
for Identity Assurance 1.0: # Schemas related to Standing Orders
[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) #
StandingOrdersResponse:
type: object
additionalPropertiesdescription: false|
Claims: A descriptor type: objectfor StandingOrder.
properties:
GivenNamedata:
type: stringarray
descriptionitems:
>- Given name of the Party. Given name (also called forename) is used$ref: "#/components/schemas/CbuaeStandingOrder"
meta:
to differentiate from the surname or family name.
$ref: "#/components/schemas/Meta"
CbuaeStandingOrder:
Surnametype: object
properties:
type: string accountId:
description: Surname of thetype: Partystring
MiddleNamestandingOrderId:
type: string
descriptionaccountHolderShortName: Middle
name of the Party Nickname$ref: "#/components/schemas/AccountHolderShortName"
typestandingOrderType:
string description: NicknameThe type of theStanding Order.
Party EmiratesIdtype: string
type enum:
string description: Emirates ID number of the Party- UAEOF.BetweenMyAccounts
- UAEOF.SameBankTransfer
EmiratesIdExpiryDate: type: string- UAEOF.LocalBankTransfer
format: date - UAEOF.InternationalTransfer
description: Emirates ID card expiry- dateUAEOF.Charity
DateOfBirthfrequency:
type: string
formatcreditorReference: date
descriptiontype: Date of birthstring
of the Party SourceOfIncomepurpose:
type$ref: string"#/components/schemas/PurposeSO"
SalaryfirstPaymentDateTime:
type: string
number Nationalityformat: date-time
nextPaymentDateTime:
type: string ResidentialAddresstype: string
$refformat: '#/components/schemas/AEPartyIdentityAddressClaim'date-time
MobileNumberlastPaymentDateTime:
type: string
Emailformat: date-time
finalPaymentDateTime:
type: string MaritalStatustype: string
type format: stringdate-time
SalutationnumberOfPayments:
type: string
LanguagestandingOrderStatusCode:
typedescription: stringSpecifies the status of the standing order in code EmployerName:form.
type: string
EmploymentSinceDateenum:
type: string - UAEOF.Active
format: date- UAEOF.Inactive
PowerofAttorneyfirstPaymentAmount:
type$ref: boolean"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
SalaryTransfernextPaymentAmount:
type$ref: boolean"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
ProfessionlastPaymentAmount:
type$ref: string"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
UpdatedAtfinalPaymentAmount:
type$ref: string"#/components/schemas/OBActiveOrHistoricCurrencyAndAmount_8"
creditorAgent:
format: time description$ref: >"#/components/schemas/AEBranchAndFinancialInstitutionIdentification5_1"
Standard ClaimscreditorAccount:
[https$ref: "#/components/openid.net/specs/openid-connect-core-1_0.html#StandardClaims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)schemas/AECashAccount5_0"
supplementaryData:
IdentityAssurance Claimstype: object
#
[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)
# Schemas related to Products
additionalProperties: false#
CountryCodeProductsResponse:
type: object
requiredproperties:
-data:
CountryCode propertiestype: array
CountryCode items:
type $ref: string"#/components/schemas/CbuaeProduct"
meta:
pattern: ^[A-Z]{2,2}$ $ref: "#/components/schemas/Meta"
descriptionCbuaeProduct:
Nation with its own government, occupying atype: particularobject
territory. additionalPropertiesdescription: false|
DocumentEvidenceDetails: A descriptor for type:an objectproduct.
properties: This is a composite object that may Type:be expanded in the future to support
$ref: '#/components/schemas/DocumentEvidenceDetailsType' additional account types for new API DocumentNumber:standards and product types.
typeproperties:
string AccountId:
description: The unique id number in the evidence useddescription: for"A verificationunique checkingand immutable identifier produced by the financial institution to PersonalNumber:identify the account resource.This identifier has no meaning to the account owner type: string(User 1)."
descriptiontype: >string
ProductId:
An identifier that is assigned to the End-User and is not limited to
description: "Identifier within the financial institution for the product. Must be unique in the organisation."
being used in one document, for example atype: nationalstring
identification ProductType:
number, personal identity number, citizen number, socialdescription: security"Descriptive code for the product."
number, driver number,type: accountstring
number, customer number, licensee ProductName:
number, etc description: "Descriptive name for the product."
SerialNumber:
type: string
descriptionIsIslamic:
> description: |
An identifier/number that identifies the document irrespective of A flag to denote if the Product is anyan personalizationIslamic informationproduct
(this usually only applies to type: boolean
physical artifacts and is present before personalization).default: false
CalendarTypeCharges:
$ref: '#/components/schemas/AEPartyCalendarTypeAECharge'
DateOfIssuanceLendingRates:
$ref: '#/components/schemas/ISODateTimeAELendingRate'
DateOfExpiryDepositRates:
$ref: '#/components/schemas/ISODateTimeAEDepositRate'
additionalProperties: true
Issuer: AECharge:
$refdescription: '#/components/schemas/DocumentEvidenceDetailsIssuer' |
description: 'RepresentingFees theand documentcharges usedapplicable to perform the identityaccount
verification. ' type: array
additionalProperties: false DocumentEvidenceDetailsIssueritems:
type: object
required:
- Name
- Address - ChargeType
- CountryCode - Amount
- Jurisdiction properties:
properties: Name:
Name: type: string
description: |
DesignationName of the issuer of the document. charge
minLength: 1
maxLength: 40
AddressChargeType:
$ref: '#/components/schemas/AEPartyIdentityAddressClaim' type: string
CountryCode:description: |
allOfType of the charge
minLength: 1
- $refmaxLength: '#/components/schemas/CountryCode'10
descriptionAmount:
> String denoting the country or supranational organization that$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
Frequency:
issued the document as ISO 3166$ref: '#/components/schemas/AEDuration'
Notes:
Jurisdiction: type: string
description: >|
String containing theNotes nameproviding ofmore theinformation on the charge.
region(s)/state(s)/province(s)/municipality(ies) that issuer hasminLength: 1
jurisdiction overmaxLength: (if500
this information is not common knowledge or additionalProperties: false
AELendingRate:
derivable from the address)description: |
description: Containing information aboutLending therates issuer offor this document.account
additionalPropertiestype: falsearray
DocumentEvidenceDetailsTypeitems:
type: object
string enumrequired:
- passportLendingRateType
- driving_permit Rate
properties:
- idcard LendingRateType:
- residence_permit descriptiontype: string
> The type of documentminLength: used1
for evidence checking [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)"
maxLength: 10
DocumentEvidenceType: typeRate:
string enum$ref: '#/components/schemas/AERate'
- Amount:
document DocumentEvidenceVerifier: type$ref: object'#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
required: CalculationFrequency:
- Organization properties$ref: '#/components/schemas/AEDuration'
Organization: ApplicationFrequency:
type: string$ref: '#/components/schemas/AEDuration'
RepaymentType:
description: >- type: string
String denoting the organization which performed the verification on description: |
behalf of the OP. Options in place for repayments
Txn: typeminLength: 1
string descriptionmaxLength: >-40
Notes:
Identifier referring to the identity verification transaction. The type: string
OP MUST ensure that the transactiondescription: identifier|
can be resolved into Notes providing transactionmore detailsinformation duringon anthe auditrate.
description: >- minLength: 1
Denoting the legal entity that performed the identity verification. This maxLength: 500
object SHOULD beadditionalProperties: includedfalse
if
the OP did not performAEActiveOrHistoricCurrencyAndAmount_0:
the identity type: object
verification itself. This object is retainedrequired:
for backward compatibility, - Amount
implementers are recommended to use CheckDetails & Organization- insteadCurrency
additionalPropertiesdescription: false>-
ElectronicRecordEvidenceType: This is the type:value stringof the last direct debit collection from enum:the User 1
- electronic_record account.
ElectronicRecordProperties: properties:
type: object Amount:
required: description: >-
Type - PersonalNumber A number of monetary units specified in -an CalendarTypeactive currency where the
- CreatedAt unit of currency -is DateOfExpiryexplicit and compliant with ISO 4217.
- Source type: properties:string
TypeCurrency:
$ref: '#/components/schemas/ElectronicRecordTypeActiveOrHistoricCurrencyCode_1'
PersonalNumberadditionalProperties: false
AEDepositRate:
type: string description: |
description: >Deposit rates for this account
type: array
String representing an identifier that is assigneditems:
to the PSU1 and type: object
is not limitedrequired:
to being used in one record, for example a national - DepositRateType
identification- number,Rate
personal identity number, citizen number, properties:
social security number,DepositRateType:
driver number, account number, customer type: string
number, licensee number, etc. minLength: 1
CalendarType: $refmaxLength: '#/components/schemas/AEPartyCalendarType' 10
CreatedAtRate:
$ref: '#/components/schemas/ISODateTimeAERate'
DateOfExpiry CalculationFrequency:
$ref: '#/components/schemas/ISODateTimeAEDuration'
Source ApplicationFrequency:
$ref: '#/components/schemas/ElectronicRecordSourcePropertiesAEDuration'
description: | RepaymentType:
Representing the record used to perform the identitytype: verification.string
additionalProperties: false ElectronicRecordSourcePropertiesdescription: |
type: object required: Options in place for repayments
- Name - Address minLength: 1
- CountryCode maxLength: 40
- Jurisdiction propertiesNotes:
Name: type: string
description: |
Designation of theNotes sourceproviding ofmore theinformation electronic_recordon the rate.
Address: minLength: 1
$ref: '#/components/schemas/AEPartyIdentityAddressClaim' CountryCodemaxLength: 500
allOfadditionalProperties: false
AERate:
- $refdescription: '#/components/schemas/CountryCode' >
A string representing a description: >
percentage (e.g. an interest rate).
A Stringrate denotingof the100% countrywould orbe supranationalrepresented organizationby thatthe value 1.0 and a rate of -100%
issued the evidence as ISO 3166by -1.0
Jurisdiction:- At least 1 and up to a total of 16 type:significant stringdigits before decimal
description:point
>
- Up to 16 Stringdigits containingfollowing the namedecimal ofpoint
the
region(s) / state(s) / province(s) - No formatting, eg thousand separating commas
/ municipality(ies) that source hastype: jurisdictionstring
over (if it's not minLength: 1
maxLength: 18
common
knowledge or derivable from theAEDuration:
address) description: |
InformationThe aboutperiod theof sourcetime offor thiswhich recordthe credit line is available.
additionalProperties: false ElectronicRecordType:Formatted according to ISO 8601 Durations (excludes type:recurrence stringsyntax)
enumtype: string
#
- bank_account
# Common types
#
- mortgage_account BeneficiariesResponse:
- loan_accounttype: object
descriptionproperties:
> data:
String denoting the type of electronic record type: array
"[https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)" EvidenceMetadataitems:
type: object $ref: "#/components/schemas/CbuaeBeneficiary"
required: meta:
- EvidenceClassification properties$ref: "#/components/schemas/Meta"
EvidenceClassificationCbuaeBeneficiary:
type: object
type: string properties:
description: >- accountId:
Object indicating any meta data about thetype: evidencestring
that is required by beneficiaryId:
the AssuranceProcess in order to demonstrate compliance withtype: thestring
TrustFramework. It has the following sub-elementsbeneficiaryType:
additionalPropertiesdescription: false>-
EvidenceRef: type:Specifies objectthe Beneficiary Type. Encoded with allowable values requiredof:
- Txn 'Activated' - Beneficiary has been added -to EvidenceMetadatathe beneficiary list using
properties: Txn:
type: stringSCA. 'NotActivated' - Beneficiary has been added to the beneficiary list
description:without IdentifierSCA
referring to the txn used in the CheckDetails. type: string
EvidenceMetadata: enum:
$ref: '#/components/schemas/EvidenceMetadata' description: Evidence being referred to- UAEOF.Activated
additionalProperties: false - UAEOF.NotActivated
EvidenceType: anyOfaccountHolderShortName:
- $ref: '"#/components/schemas/AEPartyIdentityEvidenceTypeDocument'AccountHolderShortName"
- $ref: '#/components/schemas/AEPartyIdentityEvidenceTypeElectronicRecord'reference:
LinksResource: type: objectstring
required: supplementaryData:
- Self type: object
properties: Selfservicer:
$ref: '#/components/schemas/SelfAEBranchAndFinancialInstitutionIdentification6_1'
FirstcreditorAccount:
$reftype: '#/components/schemas/First'array
Previtems:
$ref: '#/components/schemas/PrevAECashAccount5_0'
TCurrency:
Next: type: string
$ref: '#/components/schemas/Next'pattern: "^[A-Z]{3,3}$"
LastAccountHolderName:
$ref: '#/components/schemas/Last'type: "string"
description: Links|
relevant to the resource The Account additionalProperties:Holder falseName is the name or PostalCode:names of the Beneficiary account owner(s) represented type:at objectthe account level, as displayed by the required:Creditor Agent's online channels and as provided by the -Beneficiary PostalCodeto the customer when adding the Beneficiary properties:in the Beneficiary list.
PostalCode: Note, the Account Holder Name is not the type:product stringname or the nickname of the account.d
minLengthAccountHolderShortName: 5
maxLengthtype: 5"string"
description: >-|
The Beneficiary account holder Identifiernick consistingname
of
a group of letters and/orTransactionDateTime:
numbers that is title: "TransactionDateTime"
description: added|
to a postal address to assist the sorting ofThe mail.Date Time of when the transaction occurred.
additionalProperties: false TrustFrameworkCode: All dates in the JSON type:payloads stringare represented in ISO 8601 date-time format.
enum: All date-time UAEOF.Undefinedfields in responses must include the timezone.
description: >- An example Identifiesis the trust framework used for verification. This consists of abelow: 2017-04-05T10:43:07+00:00
type: "string"
set of rules and standards and sets out requirements so thatformat: "date-time"
LocalTimeZone:
title: "LocalTimeZone"
organisations know what ‘good’ identity verificationdescription: looks|
like. The UTC Trustoffset Frameworks:of the local date and time of where [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)
the transaction occurred
VerifiedClaim: type: objectE.g. UTC+03:00
requiredtype: "string"
format: "date-time"
Verification TerminalId:
-description: Claims"ID of the Terminal if the transaction properties:was initiated from a retail POS"
Verification: type: "string"
$refminLength: '#/components/schemas/VerifiedClaimVerification'8
maxLength: 20
Claims: BillDetails:
allOfdescription: "Bill Details"
type: "object"
- $ref: '#/components/schemas/Claims' properties:
descriptionBillerID:
> description: |
Standard Claims: This should be 'BillerCode' as [https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims)
per SP-SADAD specifications. It is a
IdentityAssuranceunique Claims:biller identifier within SADAD that could be used by the
[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: >end-user to refer to a specific SADAD biller (e.g. VerifiedSTC Claimsbiller code
Container object containing entries foris the001, trustwater frameworkservices andbiller thecode is 015, etc.)
evidence used to verify the claimstype: "string"
[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)BillNumber:
additionalPropertiesdescription: false
"Unique bill identifier within the account."
VerifiedClaimVerification: type: object"string"
requiredBillPaymentType:
- TrustFramework description: |
properties: Indicates whether the bill could TrustFramework:be a One-off payment, Recurring
$ref: '#/components/schemas/TrustFrameworkCode' payment, Postpaid, Pre-paid, etc
AssuranceLevel:
type: "string"
descriptionx-namespaced-enum:
> - DeterminesUAEOF.Post-Paid
the assurance level associated with the PSU1 in the - UAEOF.AdvancePaymentForRoaming
respective VerifiedClaims. The value range depends on the respective- UAEOF.Recharge
- TrustFramework valueUAEOF.Renewal
- AssuranceUAEOF.RoamingDeposit
Level: [https://bitbucket.org/openid/ekyc-ida/wiki/identifiers](https://bitbucket.org/openid/ekyc-ida/wiki/identifiers)- UAEOF.One-Off
AssuranceProcess: - UAEOF.RecurringPayment
$refPurposeSO:
'#/components/schemas/AssuranceProcess' Timedescription: |
The allOf:purpose of the Standing Order payment.
- $ref: '#/components/schemas/ISODateTime'
description: >A free format string in the form of transaction categorisation.
Example: "Bills and expenses", "Government payment", "Personal Expenses".
Representing the date and time when the identity verificationtype: "string"
minLength: 1
process tookmaxLength: place.50
All
dates in the JSON payloadsConfirmationRequest:
are represented type: object
inproperties:
ISO 8601 date-time format. All date-time fields in responsesdata:
must type: object
include the timezone. An example is below: 2017-04-05T10:43:07+00:00 VerificationProcessproperties:
type account:
string descriptiontype: object
> Uniqueproperties:
reference to the identity verification process as performed schemeName:
by the OP. Used for identifying and retrieving details in case of type: string
disputes or audits. Presence of this element might be required for enum:
certain trust frameworks. - UAEOF.IBAN
Evidence: allOf: - UAEOF.AccountNumber
- $ref: '#/components/schemas/EvidenceType' descriptionidentification:
> The type: string
of evidence allowed for providing verification. name:
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)oneOf:
- $ref: "#/components/schemas/PersonName"
description: > Verification - [https$ref: "#/components/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)schemas/BusinessName"
PersonName:
additionalPropertiestype: falseobject
parametersproperties:
AuthorizationfirstName:
name: authorization type: string
inlastName:
header requiredtype: truestring
BusinessName:
descriptiontype: object
An authorization Token as per https://tools.ietf.org/html/rfc6750properties:
schemabusinessName:
type: string
x-customer-user-agentMeta:
intype: headerobject
nameproperties:
x-customer-user-agent descriptiontotalPages:
Indicates the user-agent that the User is using. type: number
required: false schemadescription: |
type: string The x-fapi-customer-ip-address:
in: headernumber of expected pages for the query.
nametotalRecords: x-fapi-customer-ip-address
requiredtype: number
false description: The|
User's IP address if the User is currently logged in with the TPP.The total number of records in the schema:full set.
PaginatedMeta:
type: string x-fapi-auth-date:type: object
inproperties:
header namepaginated: x-fapi-auth-date
requiredtype: boolean
false description: >- description: |
The time when the User last logged in`true` withif the TPP.response is
paginated.
All dates in the HTTP headers are`false` representedif asthe RFCresponse 7231returns Fullall Dates.matching Andata elements.
example is below: If not specified, a non-paginated response is Sun,assumed.
10
Sep 2017 19:43:31 UTC totalPages:
schema: type: number
string patterndescription: >-|
^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2} The number of expected pages for the query.
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4} totalRecords:
\d{2}:\d{2}:\d{2} (GMT|UTC)$ x-fapi-interaction-id:type: number
in: header description: |
name: x-fapi-interaction-id required: false The total number of records in description:the Anfull RFC4122set.
UID
used as a correlation id.Error:
schematype: object
properties:
type: string ConsentIderrorCode:
name: ConsentId type: string
in: path description: Error ConsentIdcode identifying the problem occured
required: true errorMessage:
schema: type: string
AccountId: namedescription: AccountIdMessage describing what problem has occured
in: path descriptionpropagateError:
AccountId required: true type: boolean
schema: typedescription: stringoptional field if error want FromBookingDateTimeParam:to propagate
inparameters:
query nameaspspId:
fromBookingDateTime descriptionname: >o3-aspsp-id
in: header
The UTC ISO 8601 Date Time toschema:
filter transactions FROM type: string
NB Time component is optionalrequired: -true
set to 00:00:00 for just Date. deprecated: true
description:
If the Date Time contains a timezone, the LFIIdentifier mustfor ignore the timezonefinancial institution that the request is targetted componentto.
schema: This header is deprecated and will be type:removed stringin a future version of Ozone Connect. Use format: date-time`o3-provider-id` instead.
ToBookingDateTimeParamproviderId:
inname: queryo3-provider-id
namein: toBookingDateTimeheader
descriptionschema:
>- type: Thestring
UTC ISO 8601 Date Time to filterrequired: transactionstrue
TO description: Identifier for the NBfinancial Timeinstitution componentthat isthe optionalrequest -is settargetted to
00:00:00
for just Date. callerOrgId:
If the Date Time contains a timezone, the LFI must ignore the timezone
name: o3-caller-org-id
in: header
schema:
component. schematype: string
typedescription: stringAn identifier for the organization calling the API
format: date-time baseConsentIdcallerClientId:
inname: queryo3-caller-client-id
namein: baseConsentIdheader
requiredschema:
true descriptiontype: |string
description: AAn specificidentifier baseConsentId.for Forthe example:OIDC clientId calling the API
``` callerSoftwareStatementId:
name: baseConsentId=abco3-19877d98caller-ab0esoftware-4758statement-92a7-vvffr1234abvid
in: header
``` schema:
type: string
allowEmptyValuedescription: false
example: abc-19877d98-ab0e-4758-92a7-vvffr1234abv
securitySchemes An identifier for the software statement calling the API
apiUri:
TPPOAuth2Security name: o3-api-uri
typein: oauth2header
descriptionschema:
>- type: TPPstring
confidential client authorization with therequired: LFItrue
to stage a consent. description: The parameterised URL of the **PleaseAPI referbeing tocalled [OpenIDby FAPIthe Securitycaller
Profile
1.0 -Part 2 apiOperation:
Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)name: o3-api-operation
in: header
- 5.2.2 point 14schema:
- shall authenticate the confidential client using one type: string
ofrequired: thetrue
following methods private_key_jwt and [OpenID Connect Coredescription: The API operation carried out by the caller 1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
9. Client Authentication private_key_jwt**(e.g. GET, POST, PUT, DELETE, PATCH)
consentId:
flowsname: o3-consent-id
in: header
clientCredentials: schema:
tokenUrl: https://authserver.example/token type: string
scopesdescription: The consentId for which this call is being made
openid: Activates OpenIDcallerInteractionId:
Connect Support name: o3-caller-interaction-id
accountsin: Abilityheader
to read Accounts Information schema:
UserOAuth2Security: type: oauth2string
description: >-The interaction ID passed in by the caller, if [OAuth2any
PAR
flow](https://datatracker.ietf.org/doc/html/rfc9126), it is ozoneInteractionId:
required when the User needs to perform SCA with the LFI when a TPP
name: o3-ozone-interaction-id
in: header
schema:
wants to access antype: LFIstring
resource owned by the User. **Please referrequired: totrue
description: An [OpenIDinteraction FAPIID Securitygenerated Profileby 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
Ozone if the caller did not send in one. If the callerInteractionId is specified, this takes the same value.
psuIdentifier:
name: o3-psu-identifier
of the following methods private_key_jwt and [OpenID Connect Corein: header
schema:
1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication) type: string
9. Client Authentication private_key_jwt**required: true
flowsdescription: A Base64 encoded representation of the psuIdentifier JSON object.
authorizationCode: transaction-fromBookingDateTime:
authorizationUrlname: https://authserver.example/authorization fromBookingDateTime
in: query
tokenUrl: https://authserver.example/token
description: |
If scopes:specified, the API should only return transactions which have a `bookingDateTime` that occours openid:on Activatesor OpenIDafter Connectthe Supportspecified date-time.
schema:
accounts: >- type: string
format: date
Ability
to read Accounts Information. This is a parameterized transaction-toBookingDateTime:
name: toBookingDateTime
in: query
scope with the ConsentId description: |
LFIWebhookSecurity: type:If httpspecified, the API should only return transactions description:which >-have a `bookingDateTime` that occours on or before the The LFI generates a Self Signed JWT Authorization Token for Clientspecified date-time.
schema:
type: string
Authentication with the TPP. **Please refer to Self-Signed JWTformat: date
securitySchemes:
Authorization TokenbearerAuth:
Specification in the UAE Standard API User Guide**type: http
scheme: bearer
bearerFormat: JWT
|