openapi: 3.0.0
info:
title: UAE Insurance API
description: '## UAE Open Finance Insurance API Specification'
version: v1.1
tags:
- name: Insurance Consents
description: Consents operations for insurance policies
- name: Motor Insurance Policies
description: Motor insurance policy operations and resources
- name: Insurance Customer Payment Details
description: Retrieve customer payment details for insurance policies
paths:
/insurance-consents:
get:
tags:
- Insurance Consents
operationId: InsuranceConsents_list
summary: Retrieve Insurance Consents by BaseConsentId
description: Retrieve all Insurance Consents that are linked to a given BaseConsentId.
This operation is supported across all insurance types, and therefore does not
implement a specific operation per industry.
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/BaseConsentId'
responses:
'200':
description: The request has succeeded.
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEReadInsuranceConsents1'
application/json:
schema:
$ref: '#/components/schemas/AEReadInsuranceConsents1'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadInsuranceConsents1Signed'
'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'
'401':
description: Access is unauthorized.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorResponse'
'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'
'404':
description: The server cannot find the requested resource.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
'405':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/MethodNotAllowedErrorResponse'
'406':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotAcceptableErrorResponse'
'415':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnsupportedMediaTypeErrorResponse'
'429':
description: Client error
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
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsErrorResponse'
'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'
security:
- TPPOAuth2Security:
- openid
- insurance
/insurance-consents/{ConsentId}:
get:
tags:
- Insurance Consents
operationId: InsuranceConsentsByConsentId_read
summary: Retrieve an Insurance Consent
description: Retrieve an Insurance Consent for a given consent identifier value.
This operation is supported across all insurance types, and therefore does not
implement a specific operation per industry.
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/ConsentId'
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/AEReadInsuranceConsent1'
application/json:
schema:
$ref: '#/components/schemas/AEReadInsuranceConsent1'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadInsuranceConsent1Signed'
'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'
'401':
description: Access is unauthorized.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorResponse'
'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'
'404':
description: The server cannot find the requested resource.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
'405':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/MethodNotAllowedErrorResponse'
'406':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotAcceptableErrorResponse'
'415':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnsupportedMediaTypeErrorResponse'
'429':
description: Client error
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
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsErrorResponse'
'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'
security:
- TPPOAuth2Security:
- openid
- insurance
patch:
tags:
- Insurance Consents
operationId: >-
InsuranceConsentsByConsentId_unsignedRequestBodyUpdate_InsuranceConsentsByConsentId_signedRequestBodyUpdate
summary: Modify an Insurance Consent
description: Modify an Insurance Consent for a given consent identifier value
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/ConsentId'
responses:
'204':
description: No content
headers:
x-fapi-interaction-id:
required: false
description: An RFC4122 UID used as a correlation id.
schema:
type: string
'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'
'401':
description: Access is unauthorized.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorResponse'
'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'
'404':
description: The server cannot find the requested resource.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
'405':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/MethodNotAllowedErrorResponse'
'406':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotAcceptableErrorResponse'
'415':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnsupportedMediaTypeErrorResponse'
'429':
description: Client error
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
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsErrorResponse'
'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'
requestBody:
content:
application/json; charset=utf-8:
schema:
$ref: '#/components/schemas/AEUpdateConsent1Update'
application/json:
schema:
$ref: '#/components/schemas/AEUpdateConsent1Update'
application/jwt:
schema:
$ref: '#/components/schemas/AEUpdateConsent1SignedUpdate'
security:
- TPPOAuth2Security:
- openid
- insurance
/motor-insurance-policies:
get:
tags:
- Motor Insurance Policies
operationId: MotorInsurancePolicies_list
summary: Retrieve motor insurance policies
description: Retrieve all motor insurance policies to which access has been granted.
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/AEReadMotorInsurancePolicies1'
application/json:
schema:
$ref: '#/components/schemas/AEReadMotorInsurancePolicies1'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadMotorInsurancePolicies1Signed'
'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'
'401':
description: Access is unauthorized.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorResponse'
'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'
'404':
description: The server cannot find the requested resource.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
'405':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/MethodNotAllowedErrorResponse'
'406':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotAcceptableErrorResponse'
'415':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnsupportedMediaTypeErrorResponse'
'429':
description: Client error
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
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsErrorResponse'
'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'
security:
- UserOAuth2Security:
- openid
- insurance
/motor-insurance-policies/{InsurancePolicyId}:
get:
tags:
- Motor Insurance Policies
operationId: MotorInsurancePoliciesById_read
summary: Retrieve a motor insurance policy
description: Retrieve a motor insurance policy for a given insurance policy identifier
value, based on data clusters granted by the customer.
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/InsurancePolicyId'
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/AEReadMotorInsurancePolicy1'
application/json:
schema:
$ref: '#/components/schemas/AEReadMotorInsurancePolicy1'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadInsurancePolicy1Signed'
'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'
'401':
description: Access is unauthorized.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorResponse'
'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'
'404':
description: The server cannot find the requested resource.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
'405':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/MethodNotAllowedErrorResponse'
'406':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotAcceptableErrorResponse'
'415':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnsupportedMediaTypeErrorResponse'
'429':
description: Client error
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
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsErrorResponse'
'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'
security:
- UserOAuth2Security:
- openid
- insurance
/motor-insurance-policies/{InsurancePolicyId}/customer-payment-details:
get:
tags:
- Insurance Customer Payment Details
operationId: MotorInsurancePolicyByIdBankAccountDetails_read
summary: Retrieve motor insurance customer payment details
description: Retrieve motor insurance customer payment details for a given insurance policy, based on
data clusters granted by the customer.
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/InsurancePolicyId'
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/AEReadCustomerPaymentDetails1'
application/json:
schema:
$ref: '#/components/schemas/AEReadCustomerPaymentDetails1'
application/jwt:
schema:
$ref: '#/components/schemas/AEReadCustomerPaymentDetails1Signed'
'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'
'401':
description: Access is unauthorized.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnauthorizedErrorResponse'
'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'
'404':
description: The server cannot find the requested resource.
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundErrorResponse'
'405':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/MethodNotAllowedErrorResponse'
'406':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/NotAcceptableErrorResponse'
'415':
description: Client error
headers:
x-fapi-interaction-id:
required: true
description: An RFC4122 UID used as a correlation id.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/UnsupportedMediaTypeErrorResponse'
'429':
description: Client error
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
content:
application/json:
schema:
$ref: '#/components/schemas/TooManyRequestsErrorResponse'
'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'
security:
- UserOAuth2Security:
- openid
- insurance
components:
parameters:
Authorization:
name: authorization
in: header
required: true
description: An authorization Token as per https://tools.ietf.org/html/rfc6750
schema:
type: string
BaseConsentId:
name: BaseConsentId
in: query
required: true
description: A base consent identifier that links to other consent resources
schema:
$ref: '#/components/schemas/uuid'
ConsentId:
name: ConsentId
in: path
required: true
description: Unique identifier for a given consent resource
schema:
$ref: '#/components/schemas/uuid'
InsurancePolicyId:
name: InsurancePolicyId
in: path
required: true
description: Unique identifier for a given insurance policy
schema:
$ref: '#/components/schemas/uuid'
x-customer-user-agent:
name: x-customer-user-agent
in: header
required: false
description: Indicates the user-agent that the User is using.
schema:
type: string
x-fapi-auth-date:
name: x-fapi-auth-date
in: header
required: false
description: >-
The time when the User last logged in with the TPP.
All dates in the HTTP headers are represented as RFC 7231 Full Dates. An
example is below:
Sun, 10 Sep 2017 19:43:31 UTC
schema:
type: string
pattern: >-
^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
\d{2}:\d{2}:\d{2} (GMT|UTC)$
x-fapi-customer-ip-address:
name: x-fapi-customer-ip-address
in: header
required: false
description: The User's IP address if the User is currently logged in with the TPP.
schema:
type: string
x-fapi-interaction-id:
name: x-fapi-interaction-id
in: header
required: false
description: An RFC4122 UID used as a correlation id.
schema:
type: string
schemas:
AEAmountAndCurrency:
type: object
required:
- Currency
- Amount
properties:
Currency:
$ref: '#/components/schemas/CurrencyCode'
Amount:
$ref: '#/components/schemas/Amount'
description: >-
The Currency and Amount relating to the Payment, Refund or Request to
Pay
additionalProperties: false
AEConsentPermissions:
type: string
enum:
- ReadMotorInsurancePolicies
- ReadMotorInsuranceCustomerBasic
- ReadMotorInsuranceCustomerDetail
- ReadMotorInsuranceProduct
- ReadMotorInsuranceTransactions
- ReadInsuranceCustomerPaymentDetails
description: >-
Specifies the permitted insurance policy data types.
This is a list of the data groups being consented by the User, and
requested for authorization with the LFI.
Motor Insurance provides the following data clusters:
* ReadMotorInsurancePolices: Provide policy identifiers to facilitate
retrieval of other policy details. No other policy data is provided
unless explicitly requested.
* ReadMotorInsuranceCustomerBasic: Provides basic customer information,
including full name and short name.
* ReadMotorInsuranceCustomerDetail: Provides full customer details,
including address, employment information, and emergency contact
details.
* ReadMotorInsuranceCustomerPaymentDetails: Provides customer bank
account information.
* ReadMotorInsuranceProduct: Provides all policy data including policy
number and vehicle information.
* ReadMotorInsuranceTransactions: Provides premium and claim
information.
AEConsentStatusCode:
type: string
enum:
- Authorized
- AwaitingAuthorization
- Rejected
- Revoked
- Expired
- Suspended
AECustomerPrimaryLanguage:
type: string
enum:
- English
- Arabic
- Other
description: Primary language spoken by the insurance policy customer
AEError:
type: object
required:
- Code
- Message
properties:
Code:
allOf:
- $ref: '#/components/schemas/AEErrorCode'
description: Low level textual error code, e.g., Field.Missing
Message:
type: string
minLength: 1
maxLength: 500
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
Path:
type: string
minLength: 1
maxLength: 500
description: >-
Recommended but optional reference to the JSON Path of the field
with error, e.g., Data.Initiation.InstructedAmount.Currency
Url:
type: string
description: >-
URL to help remediate the problem, or provide more information, or
to API Reference, or help etc
description: Error
additionalProperties: false
AEErrorCode:
type: string
enum:
- AccessToken.Unauthorized
- AccessToken.InvalidScope
- Consent.Revoked
- Consent.TransientAccountAccessFailure
- Consent.AccountTemporarilyBlocked
- Consent.PermanentAccountAccessFailure
- Consent.Invalid
- JWS.InvalidSignature
- JWS.Malformed
- JWS.InvalidClaim
- JWS.InvalidHeader
- GenericRecoverableError
- GenericError
- JWE.DecryptionError
- JWE.InvalidHeader
- Event.UnexpectedEvent
- Body.InvalidFormat
- Resource.InvalidResourceId
- Resource.InvalidFormat
- Consent.BusinessRuleViolation
AEErrorResponse:
type: object
required:
- Errors
properties:
Errors:
type: array
items:
$ref: '#/components/schemas/AEError'
minItems: 1
description: >-
An array of detail error codes, and messages, and URLs to documentation
to help remediation.
additionalProperties: false
AEInsuranceAccountSchemeName:
type: string
enum:
- AccountNumber
- IBAN
- Other
description: Bank account scheme name
AEInsuranceAddress:
type: object
required:
- AddressLine
- PostCode
- TownName
- CountrySubDivision
- Country
properties:
AddressLine:
type: array
items:
$ref: '#/components/schemas/AEInsuranceAddressLine'
minItems: 1
maxItems: 3
description: Address line in free format text
PostCode:
type: string
minLength: 1
maxLength: 16
description: Postal code
TownName:
type: string
minLength: 1
maxLength: 140
description: Name of a built-up area, such as a town or city
CountrySubDivision:
type: string
minLength: 1
maxLength: 35
description: Country subdivision, such as state or province
Country:
type: string
pattern: '[A-Z]{2}'
description: Country based on ISO 3166-1 alpha-2 code
description: Address information based on ISO 20022
additionalProperties: false
AEInsuranceAddressLine:
type: string
minLength: 1
maxLength: 70
AEInsuranceClaimDetails:
type: object
required:
- ClaimDate
- Description
- Status
- ClaimAmount
properties:
ClaimDate:
type: string
format: date
description: Date on which claim submitted
Description:
type: string
minLength: 1
maxLength: 140
description: Claim description
Status:
allOf:
- $ref: '#/components/schemas/AEInsuranceClaimStatus'
description: Claim status
ClaimAmount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Claim amount and currency
DeductibleAmount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Deductible amount and currency
description: Individual claim detail
additionalProperties: false
AEInsuranceClaimStatus:
type: string
enum:
- Submitted
- Authorized
- Rejected
- Pending
- Completed
AEInsuranceClaimSummary:
type: object
required:
- NumberClaims
properties:
NumberClaims:
type: integer
format: int64
description: Number of claims in period
NumberApprovedClaims:
type: integer
format: int64
description: Number of approved claims in period
TotalClaimsAmount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Total amount of claims in period
TotalApprovedClaimsAmount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Total amount of approved claims in period
additionalProperties: false
AEInsuranceCommunicationPreferenceTypes:
type: string
enum:
- Home
- Mobile
- Other
description: Phone communication preference types
AEInsuranceCommunicationPreferences:
type: object
required:
- Type
- PhoneNumber
properties:
Type:
$ref: '#/components/schemas/AEInsuranceCommunicationPreferenceTypes'
PhoneNumber:
$ref: '#/components/schemas/AEInsuranceMobileNumber'
additionalProperties: false
AEInsuranceCountryCode:
type: string
pattern: '[A-Z]{2}'
AEInsuranceCustomerBackgroundInformation:
type: object
required:
- Gender
- DateOfBirth
- MaritalStatus
- Nationality
- Salutation
properties:
Gender:
allOf:
- $ref: '#/components/schemas/AEInsuranceGender'
description: Gender
DateOfBirth:
type: string
format: date
description: Date of birth
MaritalStatus:
allOf:
- $ref: '#/components/schemas/AEInsuranceMartitalStatus'
description: Martial status
EducationBackground:
allOf:
- $ref: '#/components/schemas/AEInsuranceEducationBackground'
description: Education background
Nationality:
allOf:
- $ref: '#/components/schemas/AEInsuranceCountryCode'
description: Nationality, based on ISO 3166-1 alpha-2 code
SecondNationality:
allOf:
- $ref: '#/components/schemas/AEInsuranceCountryCode'
description: >-
Second nationality, based on ISO 3166-1 alpha-2 code. Presence of
second nationality indicates customer is dual national
Salutation:
allOf:
- $ref: '#/components/schemas/AEInsuranceSalutation'
description: Customer salutation
CountryOfBirth:
allOf:
- $ref: '#/components/schemas/AEInsuranceCountryCode'
description: Country of birth
PlaceOfBirth:
type: string
minLength: 1
maxLength: 140
description: Place of birth
Religion:
allOf:
- $ref: '#/components/schemas/AEInsuranceReligion'
description: Religion
MotherMaidenName:
type: string
minLength: 1
maxLength: 140
description: Mother's maiden name
SpouseName:
type: string
minLength: 1
maxLength: 140
description: Spouse name
SpouseDateOfBirth:
type: string
format: date
description: Spouse date of birth
SpouseEmploymentDetails:
allOf:
- $ref: '#/components/schemas/AEInsuranceEmploymentStatus'
description: Spouse employment details
SpousePhoneNumber:
allOf:
- $ref: '#/components/schemas/AEInsuranceMobileNumber'
description: Spouse phone number
NumberOfDependents:
type: integer
format: int64
description: Number of dependents
additionalProperties: false
AEInsuranceCustomerEmploymentDetails:
type: object
properties:
Profession:
type: string
minLength: 1
maxLength: 70
description: Profession
ProfessionDescription:
type: string
minLength: 1
maxLength: 140
description: Profession description
EmployerName:
type: string
minLength: 1
maxLength: 70
description: Employer name
EmployerAddress:
allOf:
- $ref: '#/components/schemas/AEInsuranceAddress'
description: Employer address
EmploymentStatus:
allOf:
- $ref: '#/components/schemas/AEInsuranceEmploymentStatus'
description: Employment status
EmploymentStartDate:
type: string
format: date
description: Employment start date
EmploymentLocation:
type: string
minLength: 1
maxLength: 70
description: Employment location
NatureOfEmployerBusiness:
type: string
minLength: 1
maxLength: 140
description: Nature of employer business
Designation:
type: string
SourceOfIncome:
type: string
minLength: 1
maxLength: 70
description: Source of income as a free form description
IncomeCurrency:
type: string
pattern: '[A-Z]{3}'
description: Income currency
MonthlyIncome:
type: number
format: decimal
description: Monthly income in AED
AnnualIncome:
type: number
format: decimal
description: Annual income in AED
additionalProperties: false
AEInsuranceCustomerPaymentDetails:
type: object
required:
- SchemeName
- Identification
- Name
properties:
SchemeName:
$ref: '#/components/schemas/AEInsuranceAccountSchemeName'
Identification:
type: string
minLength: 1
maxLength: 34
description: Account identification
Name:
type: string
minLength: 1
maxLength: 140
description: Account Name
Bic:
type: string
pattern: '[A-Z0-9]{4}[A-Z0-9]{2}[A-Z0-9]{2}([A-Z0-9]{3}){0,1}'
description: >-
Bank Identification Code (BIC), when recorded with bank account
information
BankName:
type: string
minLength: 1
maxLength: 140
description: Bank Name
BranchName:
type: string
minLength: 1
maxLength: 140
description: Branch Name
AccountType:
type: string
minLength: 1
maxLength: 35
description: Account Type
additionalProperties: false
AEInsuranceEducationBackground:
type: string
enum:
- HighSchool
- Undergraduate
- Postgraduate
- Doctorate
- Other
AEInsuranceEmirate:
type: string
enum:
- AbuDhabi
- Ajman
- Dubai
- Fujairah
- RasAlKhaimah
- Sharjah
- UmmAlQuwain
AEInsuranceEmploymentStatus:
type: string
enum:
- Employed
- SelfEmployed
- Unemployed
- Retired
- Other
AEInsuranceGender:
type: string
enum:
- Male
- Female
- Other
AEInsuranceIdentificationDetails:
type: object
properties:
EidNumber:
type: string
pattern: ^784-?[0-9]{4}-?[0-9]{7}-?[0-9]{1}$
description: Emirates identification number
EidExpiryDate:
type: string
format: date
description: Emirates ID expiry date
PassportIssueCountry:
allOf:
- $ref: '#/components/schemas/AEInsuranceCountryCode'
pattern: ^[A-Z]{2,2}$
description: Passport issuing country code
PassportNumber:
type: string
pattern: ^[A-Z0-9]+$
description: Passport number
PassportIssueDate:
type: string
format: date
description: Passport issue date
PassportExpiryDate:
type: string
format: date
description: Passport expiry date
VisaNumber:
type: string
pattern: ^[0-9]+$
description: Visa number
VisaIssueCountry:
allOf:
- $ref: '#/components/schemas/AEInsuranceCountryCode'
pattern: ^[A-Z]{2,2}$
description: Visa issuing country code
VisaIssueDate:
type: string
format: date
description: Visa issue date
VisaExpiryDate:
type: string
format: date
description: Visa expiry date
UaeDrivingLicenseNumber:
type: string
description: UAE driving license number
UaeDrivingLicenseIssueDate:
type: string
format: date
description: UAE driving license issue date
UAEDrivingLicenseIssuingEmirate:
allOf:
- $ref: '#/components/schemas/AEInsuranceEmirate'
description: Emirate where driving license was issued
MulkiyaCard:
type: string
format: base64
description: Mulkiya card as a Base64-encoded PDF document
HomeCountryDrivingLicenseNumber:
type: string
minLength: 1
maxLength: 70
description: Home driving license number
additionalProperties: false
AEInsuranceMartitalStatus:
type: string
enum:
- Single
- Married
- Divorced
- Widowed
- Separated
- Other
AEInsuranceMobileNumber:
type: string
AEInsuranceReligion:
type: string
enum:
- Christian
- Muslim
- Jewish
- Hindu
- Buddhist
- Other
AEInsuranceSalutation:
type: string
enum:
- Mr
- Mrs
- Ms
- Miss
- Dr
- Prof
- Other
AEMotorInsuranceBenefitPayout:
type: object
required:
- Amount
- Date
properties:
Amount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Benefit payout amount and currency
Date:
type: string
format: date
description: Benefit payout date
description: Benefit payout
additionalProperties: false
AEMotorInsuranceCustomer:
type: object
required:
- CustomerId
- FullName
- PrimaryLanguage
properties:
CustomerId:
type: string
description: >-
Identifier that uniquely and consistently identifies the insurance
policy customer
FullName:
type: string
description: Full name of the insurance policy customer
ShortName:
type: string
description: Short name of the insurance policy customer
CategorySegment:
type: string
description: Customer category or segment, as defined by the insurance company
LocalBranch:
type: string
description: Local branch, as defined by the insurance company
PrimaryLanguage:
$ref: '#/components/schemas/AECustomerPrimaryLanguage'
BillingAddress:
allOf:
- $ref: '#/components/schemas/AEInsuranceAddress'
description: Customer billing address
PermanentAddress:
allOf:
- $ref: '#/components/schemas/AEInsuranceAddress'
description: Customer permanent address
ResidentialAddress:
allOf:
- $ref: '#/components/schemas/AEInsuranceAddress'
description: Customer residential address
CommunicationPreferences:
type: array
items:
$ref: '#/components/schemas/AEInsuranceCommunicationPreferences'
minItems: 1
maxItems: 3
description: Customer phone communication preferences, in prefer order
BackgroundInformation:
allOf:
- $ref: '#/components/schemas/AEInsuranceCustomerBackgroundInformation'
description: Customer background information
EmploymentInformation:
allOf:
- $ref: '#/components/schemas/AEInsuranceCustomerEmploymentDetails'
description: Customer employment details
IdentityInformation:
allOf:
- $ref: '#/components/schemas/AEInsuranceIdentificationDetails'
description: Customer identification information
EmergencyContacts:
type: array
items:
type: string
description: Customer emergency contacts, in prefer order
additionalProperties: false
AEMotorInsuranceLoanDetails:
type: object
required:
- LoanAmount
- LoanStartDate
- LoanInterestRate
- RepaymentSchedule
- OutstandingLoanBalance
properties:
LoanAmount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Loan amount and currency
LoanStartDate:
type: string
format: date
description: Loan start date
LoanInterestRate:
type: number
description: Loan interest rate
RepaymentSchedule:
type: string
minLength: 1
maxLength: 16
description: Repayment frequency
OutstandingLoanBalance:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Outstanding loan balance
description: Loan details
additionalProperties: false
AEMotorInsurancePolicy:
type: object
required:
- InsurancePolicyId
- Customer
properties:
InsurancePolicyId:
allOf:
- $ref: '#/components/schemas/uuid'
description: Unique identifier for a given insurance policy
Customer:
$ref: '#/components/schemas/AEMotorInsuranceCustomer'
Product:
$ref: '#/components/schemas/AEMotorInsuranceProduct'
Transactions:
$ref: '#/components/schemas/AEMotorInsuranceTransactions'
additionalProperties: false
AEMotorInsurancePolicyAdjustments:
type: object
required:
- Date
properties:
Date:
type: string
format: date
description: Date of adjustment
PremiumAdjustment:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Premium adjustment amount and currency
CoverageAdjustment:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Coverage adjustment amount and currency
Reason:
type: string
minLength: 1
maxLength: 140
description: Reason for adjustment
description: Policy adjustments
additionalProperties: false
AEMotorInsurancePolicyProperties:
type: object
required:
- PolicyReference
- IssueDateTime
- ExpiryDateTime
- CoverageType
- PolicyLimits
- PolicyExclusions
- CoverageAmount
- CoverageStartDate
- CoverageEndDate
properties:
PolicyReference:
$ref: '#/components/schemas/PolicyReference'
IssueDateTime:
type: string
format: date
description: Date when the policy was issued
ExpiryDateTime:
type: string
format: date
description: Date when the policy expires
CoverageType:
type: string
minLength: 1
maxLength: 170
description: Freeform text that describes coverage as specified by the insurer
PolicyLimits:
type: string
minLength: 1
maxLength: 350
description: Policy limits as free form text
PolicyExclusions:
type: string
minLength: 1
maxLength: 350
description: Policy exclusions as free form text
CoverageAmount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Coverage amount and currency
CoverageStartDate:
type: string
format: date
description: Date when the coverage starts
CoverageEndDate:
type: string
format: date
description: Date when the coverage ends
PreviousPolicyInformation:
allOf:
- $ref: '#/components/schemas/AEMotorInsurancePreviousPolicy'
description: Details of previous policy held by the insurer
DriversPersonalAccidentIncluded:
type: boolean
description: >-
Indicates whether the policy includes personal accident coverage for
the driver
PassengersPersonalAccidentIncluded:
type: boolean
description: >-
Indicates whether the policy includes personal accident coverage for
the passengers
additionalProperties: false
AEMotorInsurancePreviousPolicy:
type: object
required:
- Insurer
- PolicyStartDate
- PolicyExpiryDate
properties:
Insurer:
type: string
description: Previous issuer
PolicyStartDate:
type: string
format: date
description: Previous policy start date
PolicyExpiryDate:
type: string
format: date
description: Previous policy expiry date
PreviousClaims:
type: array
items:
$ref: '#/components/schemas/PreviousClaims'
description: >-
Claims on previous policy. If there are no claims on the policy then
this property is not required
additionalProperties: false
AEMotorInsurancePreviousPolicyDetails:
type: object
required:
- InsuranceCompanyName
- PolicyReference
- PurchaseDate
- minItems
- maxItems
- CoverageType
properties:
InsuranceCompanyName:
type: string
minLength: 1
maxLength: 140
description: Previous insurer
PolicyReference:
type: string
minLength: 1
maxLength: 70
description: Previous policy reference
PurchaseDate:
type: string
format: date
description: Previous policy start date
minItems:
type: number
enum:
- 1
description: Previous policy renewal dates, up to two renewals
maxItems:
type: number
enum:
- 2
RenewalDate:
type: array
items:
type: string
format: date
DeductibleAmount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Deductible amount and currency
CoverageType:
type: string
minLength: 1
maxLength: 35
description: Policy coverage type
Adjustments:
type: array
items:
$ref: '#/components/schemas/AEMotorInsurancePolicyAdjustments'
minItems: 1
maxItems: 2
description: >-
Policy adjustments recorded on the policy. Omit if no adjustments
made
Loan:
allOf:
- $ref: '#/components/schemas/AEMotorInsuranceLoanDetails'
description: Loan details
BenefitPayouts:
type: array
items:
$ref: '#/components/schemas/AEMotorInsuranceBenefitPayout'
description: Benefit payout details
TerminationDate:
type: string
format: date
description: Policy termination date
ReasonforCancellation:
type: string
minLength: 1
maxLength: 140
description: Reason for policy termination
RefundAmount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Refund amount and currency
SurrenderDate:
type: string
format: date
description: Surrender date
SurrenderAmount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Surrender amount and currency
ReasonforSurrender:
type: string
description: Reason for surrender
CashValueofPolicyPaidtoPolicyholder:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Cash value of policy paid to policyholder
description: Previous policy details
additionalProperties: false
AEMotorInsuranceProduct:
type: object
required:
- InsuredVehicle
- Policy
properties:
InsuredVehicle:
$ref: '#/components/schemas/AEMotorInsuranceVehicle'
Policy:
$ref: '#/components/schemas/AEMotorInsurancePolicyProperties'
additionalProperties: false
AEMotorInsuranceTransactions:
type: object
required:
- PolicyPremiumValue
- PolicyPremiumPaymentPeriod
- OutstandingPremiumBalance
properties:
PolicyPremiumValue:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Policy premium value
PolicyPremiumPaymentPeriod:
type: string
minLength: 1
maxLength: 35
description: Policy premium payment period as defined by the insurer
OutstandingPremiumBalance:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Outstanding premium balance
TwelveMonthClaimSummary:
allOf:
- $ref: '#/components/schemas/AEInsuranceClaimSummary'
description: Summary of claims in last twelve months
ThirtySixMonthClaimSummary:
allOf:
- $ref: '#/components/schemas/AEInsuranceClaimSummary'
description: Summary of claims in last thirty-six months
Loan:
allOf:
- $ref: '#/components/schemas/AEMotorInsuranceLoanDetails'
description: Loan details
BenefitPayouts:
type: array
items:
$ref: '#/components/schemas/AEMotorInsuranceBenefitPayout'
description: Benefit payout details
Claims:
type: array
items:
$ref: '#/components/schemas/AEInsuranceClaimDetails'
minItems: 1
maxItems: 3
description: >-
Indivdual claim details, maximim of three claims returned in
response. Omit if no claims made
PreviousPolicies:
type: array
items:
$ref: '#/components/schemas/AEMotorInsurancePreviousPolicyDetails'
minItems: 1
maxItems: 2
description: Previous policy details
description: Insurance transaction information
additionalProperties: false
AEMotorInsuranceVehicle:
type: object
properties:
Make:
type: string
minLength: 1
maxLength: 70
description: Vehicle make
Model:
type: string
minLength: 1
maxLength: 140
description: Vehicle model
ModelYear:
type: string
pattern: ^[0-9]{4}$
description: Vehicle model year
PurchaseDate:
type: string
format: date
description: Vehicle purchase date
Specification:
type: string
minLength: 1
maxLength: 140
description: Vehicle specification
EstimatedValue:
type: integer
format: int32
description: Vehicle estimated value
RegistrationDate:
type: string
format: date
description: Vehicle registration date
VehicleIdentificationNumber:
type: string
minLength: 1
maxLength: 35
description: Vehicle Identification Number (VIN or chassis number)
EngineNumber:
type: string
description: Vehicle engine number
CountryofOrigin:
allOf:
- $ref: '#/components/schemas/AEInsuranceCountryCode'
description: Vehicle registration country based on ISO 3166-1 alpha-2 code
Color:
type: string
description: Vehicle color
PlateNumber:
type: string
minLength: 1
maxLength: 16
description: Vehicle plate number
PlateCode:
type: string
minLength: 1
maxLength: 16
description: Vehicle plate code
VehicleMileage:
type: integer
format: int64
description: Vehicle mileage to nearest kilometer
VehicleWeight:
type: integer
format: int64
description: Vehicle weight to nearest kilograms
TrafficCodeIssuingEmirate:
allOf:
- $ref: '#/components/schemas/AEInsuranceEmirate'
description: Emirate that issued the traffic code for the vehicle
TrafficIdentificationNumber:
type: string
minLength: 1
maxLength: 35
description: Traffic identification number
VehicleHistory:
allOf:
- $ref: '#/components/schemas/VehicleHistory'
description: Indicator of vehicle history
FirstTimeRegistration:
type: boolean
description: First time vehicle was registered
VehicleFinance:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Vehicle finance amount and currency
additionalProperties: false
AEOnBehalfOf:
type: object
properties:
TradingName:
type: string
description: Trading Name
LegalName:
type: string
description: Legal Name
IdentifierType:
allOf:
- $ref: '#/components/schemas/AEOnBehalfOfIdentifierType'
description: Identifier Type
Identifier:
type: string
description: Identifier
additionalProperties: false
AEOnBehalfOfIdentifierType:
type: string
enum:
- Other
AEPatchConsentStatus1:
type: string
enum:
- Revoked
AEPatchConsentUpdate:
type: object
properties:
Status:
allOf:
- $ref: '#/components/schemas/AEPatchConsentStatus1'
description: >-
The Revoked status must only be set if the current Consent Status is
set to either Authorized or AwaitingAuthorization
RevokedBy:
allOf:
- $ref: '#/components/schemas/AERevokedByCode'
description: Denotes the Identifier of the revocation.
additionalProperties: false
AEReadCustomerPaymentDetails1:
type: object
required:
- Data
- Links
- Meta
properties:
Data:
$ref: '#/components/schemas/AEInsuranceCustomerPaymentDetails'
Links:
$ref: '#/components/schemas/LinksSelf'
Meta:
$ref: '#/components/schemas/Meta'
additionalProperties: false
AEReadCustomerPaymentDetails1Signed:
type: object
required:
- iss
- exp
- nbf
- message
properties:
iss:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
exp:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
nbf:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
aud:
type: array
items:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
iat:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
message:
$ref: '#/components/schemas/AEReadCustomerPaymentDetails1'
additionalProperties: false
AEReadInsuranceConsent1:
type: object
required:
- Data
- Links
- Meta
properties:
Data:
$ref: '#/components/schemas/AEReadInsuranceConsent1Properties'
Subscription:
$ref: '#/components/schemas/EventNotification'
Links:
$ref: '#/components/schemas/LinksSelf'
Meta:
$ref: '#/components/schemas/Meta'
additionalProperties: false
AEReadInsuranceConsent1Properties:
type: object
required:
- ConsentId
- Permissions
- ExpirationDateTime
- CreationDateTime
- Status
- StatusUpdateDateTime
- OpenFinanceBilling
properties:
ConsentId:
$ref: '#/components/schemas/uuid'
BaseConsentId:
$ref: '#/components/schemas/uuid'
Permissions:
type: array
items:
$ref: '#/components/schemas/AEConsentPermissions'
minItems: 1
ExpirationDateTime:
type: string
format: date-time
description: >-
Specified date and time the permissions will expire.
All date-time fields in responses must include the timezone. An
example is below:
2017-04-05T10:43:07+00:00
OnBehalfOf:
$ref: '#/components/schemas/AEOnBehalfOf'
OpenFinanceBilling:
$ref: '#/components/schemas/AEInsuranceOpenFinanceBilling'
CreationDateTime:
type: string
format: date-time
description: >-
Date and time at which the resource was created. All dates in the
JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone, as
shown in this example: 2017-04-05T10:43:07+00:00
Status:
allOf:
- $ref: '#/components/schemas/AEConsentStatusCode'
description: Specifies the status of consent resource in code form.
StatusUpdateDateTime:
type: string
format: date-time
description: >-
Date and time at which the account resource status was updated. All
dates in the JSON payloads are represented in ISO 8601 date-time
format.
All date-time fields in responses must include the timezone, as
shown in this example: 2017-04-05T10:43:07+00:00
RevokedBy:
allOf:
- $ref: '#/components/schemas/AERevokedByCode'
description: Denotes the Identifier of the revocation.
additionalProperties: false
AEReadInsuranceConsent1Signed:
type: object
required:
- iss
- exp
- nbf
- message
properties:
iss:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
exp:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
nbf:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
aud:
type: array
items:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
iat:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
message:
$ref: '#/components/schemas/AEReadInsuranceConsent1'
additionalProperties: false
AEReadInsuranceConsents1:
type: object
required:
- Data
- Links
properties:
Data:
type: array
items:
$ref: '#/components/schemas/AEReadInsuranceConsent1Properties'
Links:
$ref: '#/components/schemas/LinksResource'
additionalProperties: false
AEReadInsuranceConsents1Signed:
type: object
required:
- iss
- exp
- nbf
- message
properties:
iss:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
exp:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
nbf:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
aud:
type: array
items:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
iat:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
message:
$ref: '#/components/schemas/AEReadInsuranceConsents1'
additionalProperties: false
AEReadMotorInsurancePolicies1:
type: object
required:
- Data
- Links
- Meta
properties:
Data:
type: array
items:
$ref: '#/components/schemas/AEMotorInsurancePolicy'
Links:
$ref: '#/components/schemas/LinksResource'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEReadMotorInsurancePolicies1Signed:
type: object
required:
- iss
- exp
- nbf
- message
properties:
iss:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
exp:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
nbf:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
aud:
type: array
items:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
iat:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
message:
$ref: '#/components/schemas/AEReadMotorInsurancePolicies1'
additionalProperties: false
AEReadMotorInsurancePolicy1:
type: object
required:
- Data
- Links
- Meta
properties:
Data:
$ref: '#/components/schemas/AEMotorInsurancePolicy'
Links:
$ref: '#/components/schemas/LinksSelf'
Meta:
$ref: '#/components/schemas/MetaTotalPages'
additionalProperties: false
AEReadInsurancePolicy1Signed:
type: object
required:
- iss
- exp
- nbf
- message
properties:
iss:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
exp:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
nbf:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
aud:
type: array
items:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
iat:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
message:
$ref: '#/components/schemas/AEReadMotorInsurancePolicy1'
additionalProperties: false
AERevokedByCode:
type: string
enum:
- LFI
- TPP
- LFI.InitiatedByUser
- TPP.InitiatedByUser
AEUpdateConsent1SignedUpdate:
type: object
properties:
iss:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.1)
exp:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.4)
nbf:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.5)
aud:
type: array
items:
type: string
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.3)
iat:
type: number
description: >-
[https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6](https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6)
message:
$ref: '#/components/schemas/AEUpdateConsent1Update'
additionalProperties: false
AEUpdateConsent1Update:
type: object
properties:
Data:
$ref: '#/components/schemas/AEPatchConsentUpdate'
Subscription:
$ref: '#/components/schemas/EventNotificationUpdate'
description: Patch Account Access Consent
additionalProperties: false
AEWebhook:
type: object
required:
- Url
- IsActive
properties:
Url:
type: string
description: The TPP Callback URL being registered with the LFI
IsActive:
type: boolean
description: >-
The TPP specifying whether the LFI should send (IsActive true) or
not send (IsActive false) Webhook Notifications to the TPP's Webhook
URL
description: A Webhook Subscription Schema
additionalProperties: false
AEWebhookUpdate:
type: object
properties:
Url:
type: string
description: The TPP Callback URL being registered with the LFI
IsActive:
type: boolean
description: >-
The TPP specifying whether the LFI should send (IsActive true) or
not send (IsActive false) Webhook Notifications to the TPP's Webhook
URL
description: A Webhook Subscription Schema
additionalProperties: false
Amount:
type: number
CurrencyCode:
type: string
pattern: ^[A-Z]{3}$
ErrorTemplate:
type: object
additionalProperties: false
EventNotification:
type: object
required:
- Webhook
properties:
Webhook:
$ref: '#/components/schemas/AEWebhook'
additionalProperties: false
EventNotificationUpdate:
type: object
properties:
Webhook:
$ref: '#/components/schemas/AEWebhookUpdate'
additionalProperties: false
First:
type: string
format: uri
description: A link to the first page in a paginated result set
Last:
type: string
format: uri
description: A link to the last page in a paginated result set
LinksResource:
type: object
required:
- Self
properties:
Self:
$ref: '#/components/schemas/Self'
First:
$ref: '#/components/schemas/First'
Prev:
$ref: '#/components/schemas/Prev'
Next:
$ref: '#/components/schemas/Next'
Last:
$ref: '#/components/schemas/Last'
description: Links relevant to the resource
additionalProperties: false
LinksSelf:
type: object
required:
- Self
properties:
Self:
$ref: '#/components/schemas/Self'
description: Links relevant to the resource
additionalProperties: false
Meta:
type: object
description: Metadata relevant to the resource
additionalProperties: false
MetaTotalPages:
type: object
required:
- TotalPages
properties:
TotalPages:
$ref: '#/components/schemas/TotalPages'
additionalProperties: false
MethodNotAllowedErrorResponse:
type: object
allOf:
- $ref: '#/components/schemas/ErrorTemplate'
description: Method Not Allowed
additionalProperties: false
Next:
type: string
format: uri
description: A link to the next page in a paginated result set
NotAcceptableErrorResponse:
type: object
allOf:
- $ref: '#/components/schemas/ErrorTemplate'
description: Not Acceptable
additionalProperties: false
NotFoundErrorResponse:
type: object
allOf:
- $ref: '#/components/schemas/ErrorTemplate'
description: Not found
additionalProperties: false
PolicyReference:
type: string
description: Insurance policy identifier issued by the insurer
Prev:
type: string
format: uri
description: A link to the previous page in a paginated result set
PreviousClaims:
type: object
required:
- ClaimDescription
properties:
ClaimAmount:
allOf:
- $ref: '#/components/schemas/AEAmountAndCurrency'
description: Claim amount and currency
ClaimDescription:
type: string
minLength: 1
maxLength: 140
description: Description of claim using free form text
additionalProperties: false
Self:
type: string
format: uri
description: A link to the current resource
TooManyRequestsErrorResponse:
type: object
allOf:
- $ref: '#/components/schemas/ErrorTemplate'
description: Too Many Requests
additionalProperties: false
TotalPages:
type: integer
format: int32
minimum: 0
description: Total number of pages where a result set is paginated
UnauthorizedErrorResponse:
type: object
allOf:
- $ref: '#/components/schemas/ErrorTemplate'
description: Unauthorized
additionalProperties: false
UnsupportedMediaTypeErrorResponse:
type: object
allOf:
- $ref: '#/components/schemas/ErrorTemplate'
description: Unsupported Media Type
additionalProperties: false
VehicleHistory:
type: string
enum:
- Imported
- Modified
- DeclaredTotalLoss
- Other
uuid:
type: string
minLength: 1
maxLength: 128
AEInsuranceOpenFinanceBilling:
type: object
required:
- Purpose
properties:
IsLargeCorporate:
type: "boolean"
description: Customer has more than 100 million AED turnover
Purpose:
description: Purpose of data sharing request
type: string
enum:
- AccountAggregation
- RiskAssessment
- PremiumHistory
- ClaimHistory
- Onboarding
- Verification
- QuoteComparison
- FinancialAdvice
description: Billing parameters specified by the TPP
additionalProperties: false
securitySchemes:
TPPOAuth2Security:
type: oauth2
description: >-
TPP confidential client authorization with the LFI to stage a consent.
**Please refer to [OpenID FAPI Security Profile 1.0 -Part 2
Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)
- 5.2.2 point 14 - shall authenticate the confidential client using one
of the following methods private_key_jwt and [OpenID Connect Core
1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
9. Client Authentication private_key_jwt**
flows:
clientCredentials:
tokenUrl: https://authserver.example/token
scopes:
openid: Activates OpenID Connect Support
confirmation-of-payee: Right to invoke a Confirmation of Payee operation
accounts: Ability to read Accounts Information
insurance: Right to read insurance policies
UserOAuth2Security:
type: oauth2
description: >-
[OAuth2 PAR flow](https://datatracker.ietf.org/doc/html/rfc9126), it is
required when the User needs to perform SCA with the LFI when a TPP
wants to access an LFI resource owned by the User. **Please refer to
[OpenID FAPI Security Profile 1.0 -Part 2
Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)
- 5.2.2 point 14 - shall authenticate the confidential client using one
of the following methods private_key_jwt and [OpenID Connect Core
1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
9. Client Authentication private_key_jwt**
flows:
authorizationCode:
authorizationUrl: https://authserver.example/authorization
tokenUrl: https://authserver.example/token
scopes:
openid: Activates OpenID Connect Support
accounts: >-
Ability to read Accounts Information. This is a parameterized
scope with the ConsentId
insurance: >-
Right to read insurance policies based on authorization by the End
User
LFIWebhookSecurity:
type: http
description: >-
The LFI generates a Self Signed JWT Authorization Token for Client
Authentication with the TPP. **Please refer to Self-Signed JWT
Authorization Token Specification in the UAE Standard API User Guide**
scheme: bearer
bearerFormat: JWT
servers:
- url: /open-finance/insurance/v1.1
|