Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Expand
titleMENU
Table of Contents
stylenone

1. Specification

Awesome api app render macro
authHeaderName
linksColor#0052cc
showInfotrue
allowSpecUrlLoadfalse
primaryColor#0052CC
schemaStyletable
methodGetColor#0065FF
authHeaderValue
methodPutColor#6554c0
generalThemeconfluence_light
allowTryfalse
layoutHeight800
allowAdvancedSearchtrue
codeBg#F4F5F7
methodHeadColor#ffab00
navHoverTextColor
showComponentstrue
allowServerSelectiontrue
methodPatchColor#ffab00
textColor#172B4D
methodPatchColor#ffab00
navBgColor#FAFBFC
codeFg#172B4D
navTextColor#172B4D
fontSizedefault
sortEndpointsBymethod
usePathInNavBarfalse
navAccentColor#6554C0
methodDeleteColor#ff5630
allowAuthenticationfalse
headerColor#fff
allowAuthenticationfalse
bgColor#fff
allowSearchtrue
sortTagstrue
methodPostColor#36b37e
themelight
methodPostColor#36b37e
authTypeNone
inlineCodeFg#6554C0
resourceContentTypejson
showHeaderfalse
allowSpecFileLoadfalse
inlineCodeBg#F4F5F7
renderStyleread
layoutcolumn
headingText
navItemSpacingdefault
infoDescriptionHeadingsInNavbartrue
specUrl
navHoverBgColor
resourceTypeCONTENT
openapi: 3.0.1
info:
  title: Ozone Connect - Insurance APIs

  contact:
    name: Ozone Financial Technology Limited

  description: |
    This document provides the OAS3 specification for Insurance APIs for Ozone Connect.

    These APIs should be implemented by a Financial Institution so that Ozone
    can expose these end-points to TPPs.

    version: 1.0.2#### Changes in Release 2024.34
    Marked o3-caller-org-id, o3-caller-client-id, o3-caller-software-statement-id, o3-consent-id, o3-caller-interaction-id and o3-psu-identifier headers mandatory.

  version: Release 2024.34

tags:
  - name: Insurance Policies
    description: |
      APIs that should be implemented by Financial Institutions to expose `Insurance` information to TPPs.

servers:
  - url: https://<your-ozone-connect-server>


paths:
  /insurance-policies:
    get:
      tags:
        - Insurance Policies
      operationId: InsurancePolicies_list
      summary: Get insurance policies
      description: |
        This operation retrieves a list of insurance policies for a given consent
      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"

      responses:  # Query params
        - $ref: "#/components/parameters/page"
        - $ref: "#/components/parameters/page-size"

      responses:
        '200':
          $ref: "#/components/responses/InsurancePoliciesGetResponse"
        '400':
          description: |
            The operation __must__ be failed with a status of `400` under the following error conditions:
            The `o3-aspsp-id` header is missing or has an unexpected value
            The operation __should__ be failed with a status of `400` under the following error conditions:
            The ASPSP should fail the call if the `o3-psu-identifier` header is not specified.
            The operation __may__ be failed with a status of `400` under the following error conditions:
            One or more of the mandatory header parameters is not specified or has an unexpected value
              - `o3-api-uri`,
              - `o3-api-operation`,
              - `o3-ozone-interaction-id`
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '401':
          description: |
            The operation __must__ be failed with a status of `401` under the following error conditions:
            The API consumer is not authorised.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"

  /insurance-policies/{InsurancePolicyId}:
    get:
      tags:
        - Insurance Policies
      operationId: InsurancePoliciesById_read
      summary: Get insurance policy
      description: |
        This operation retrieves a single insurance policy for a given consent
      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"
        - $ref: '#/components/parameters/InsurancePolicyId'

      responses:
        '200':
          $ref: "#/components/responses/InsurancePolicyGetResponse"
        '400':
          description: |
            The operation __must__ be failed with a status of `400` under the following error conditions:
            The `o3-aspsp-id` header is missing or has an unexpected value
            The operation __should__ be failed with a status of `400` under the following error conditions:
            The ASPSP should fail the call if the `o3-psu-identifier` header is not specified.
            The operation __may__ be failed with a status of `400` under the following error conditions:
            One or more of the mandatory header parameters is not specified or has an unexpected value
              - `o3-api-uri`,
              - `o3-api-operation`,
              - `o3-ozone-interaction-id`
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        '401':
          description: |
            The operation __must__ be failed with a status of `401` under the following error conditions:
            The API consumer is not authorised.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"

components:
  schemas:

    InsurancePolicyGetResponseBody:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/AEInsurancePolicyTypes'
        meta:
          $ref: "#/components/schemas/Meta"

    InsurancePoliciesGetResponseBody:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/AEInsurancePolicyTypes'
        meta:
          $ref: "#/components/schemas/Meta"

    AEInsurancePolicyTypes:
      $ref: '#/components/schemas/AEMotorInsurancePolicy'

    AEMotorInsurancePolicy:
      type: object
      required:
        - InsurancePolicyId
        - PolicyType
        - Customer
      properties:
        InsurancePolicyId:
          allOf:
            - $ref: '#/components/schemas/uuid'
          description: Unique identifier for a given insurance policy
        PolicyType:
          type: string
          enum:
            - Motor
        Customer:
          $ref: '#/components/schemas/AEMotorInsuranceCustomer'
        Product:
          $ref: '#/components/schemas/AEMotorInsuranceProduct'
        Transactions:
          $ref: '#/components/schemas/AEMotorInsuranceTransactions'
      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

    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

    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

    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

    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

    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

    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

    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

    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

    AEInsuranceCountryCode:
      type: string
      pattern: '[A-Z]{2}'

    AEInsuranceEmirate:
      type: string
      enum:
        - AbuDhabi
        - Ajman
        - Dubai
        - Fujairah
        - RasAlKhaimah
        - Sharjah
        - UmmAlQuwain

    VehicleHistory:
      allOftype: string
       - $refenum:
'#/components/schemas/VehicleHistory'       description: Indicator- ofImported
vehicle history      PolicyReference: - Modified
    type: string   - DeclaredTotalLoss
  description: Insurance policy identifier issued by the- insurerOther

    AEMotorInsurancePreviousPolicyPolicyReference:
      type: objectstring
      description: Insurance policy identifier issued by the insurer

    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

    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

    AEInsuranceCommunicationPreferences:
      type: object
      required:
        - Type
        - PhoneNumber
      properties:
        Type:
          $ref: '#/components/schemas/AEInsuranceCommunicationPreferenceTypes'
        PhoneNumber:
          $ref: '#/components/schemas/AEInsuranceMobileNumber'
      additionalProperties: false

    AEInsuranceCommunicationPreferenceTypes:
      type: string
      enum:
        - Home
        - Mobile
        - Other
      description: Phone communication preference types

    AEInsuranceMobileNumber:
      type: string


    AEInsuranceAddressLine:
      type: string
      minLength: 1
      maxLength: 70

    AECustomerPrimaryLanguage:
      type: string
      enum:
        - English
        - Arabic
        - Other
      description: Primary language spoken by the insurance policy customer

    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

    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

    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

    AEInsuranceEducationBackground:
      type: string
      enum:
        - HighSchool
        - Undergraduate
        - Postgraduate
        - Doctorate
        - Other

    AEInsuranceReligion:
      type: string
      enum:
        - Christian
        - Muslim
        - Jewish
        - Hindu
        - Buddhist
        - Other

    AEInsuranceSalutation:
      type: string
      enum:
        - Mr
        - Mrs
        - Ms
        - Miss
        - Dr
        - Prof
        - Other

    AEInsuranceEmploymentStatus:
      type: string
      enum:
        - Employed
        - SelfEmployed
        - Unemployed
        - Retired
        - Other

    Amount:
      type: number

    CurrencyCode:
      type: string
      pattern: ^[A-Z]{3}$

    AEInsuranceClaimStatus:
      type: string
      enum:
        - Submitted
        - Authorized
        - Rejected
        - Pending
        - Completed

    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

    AEInsuranceGender:
      type: string
      enum:
        - Male
        - Female
        - Other

    AEInsuranceMartitalStatus:
      type: string
      enum:
        - Single
        - Married
        - Divorced
        - Widowed
        - Separated
        - Other

    uuid:
      type: string
      minLength: 1
      maxLength: 128

    Meta:
      type: object
      required:
        - totalPages
      properties:
        totalPages:
          type: integer
          description: Total number of pages where a result set is paginated
          example: 1
      additionalProperties: false

    Error:
      type: object
      properties:
        errorCode:
          type: string
          description: Error code identifying the problem occured
        errorMessage:
          type: string
          description: Message describing what problem has occured
        propagateError:
          type: boolean
          description: optional field if error want to propagate

  parameters:
    providerId:
      name: o3-provider-id
      in: header
      schema:
        type: string
      required: true
      description: Identifier for the ASPSP that the request is targetted to

    callerOrgId:
      name: o3-caller-org-id
      in: header
      schema:
        type: string
      required: true
      description: An identifier for the organization calling the API

    callerClientId:
      name: o3-caller-client-id
      in: header
      schema:
        type: string
      required: true
      description: An identifier for the OIDC clientId calling the API

    callerSoftwareStatementId:
      name: o3-caller-software-statement-id
      in: header
      schema:
        type: string
      required: true
      description: An identifier for the software statement calling the API

    apiUri:
      name: o3-api-uri
      in: header
      schema:
        type: string
      required: true
      description: The parameterised URL of the API being called by the caller

    apiOperation:
      name: o3-api-operation
      in: header
      schema:
        type: string
      required: true
      description: The API operation carried out by the caller (e.g. GET, POST, PUT, DELETE, PATCH)

    consentId:
      name: o3-consent-id
      in: header
      schema:
        type: string
      required: true
      description: The consentId for which this call is being made

    callerInteractionId:
      name: o3-caller-interaction-id
      in: header
      schema:
        type: string
      required: true
      description: The interaction ID passed in by the caller, if any

    ozoneInteractionId:
      name: o3-ozone-interaction-id
      in: header
      schema:
        type: string
      required: true
      description: An interaction ID generated by Ozone if the caller did not send in one. If the callerInteractionId is specified, this takes the same value.

    psuIdentifier:
      name: o3-psu-identifier
      in: header
      schema:
        type: string
      required: true
      description: A Base64 encoded representation of the psuIdentifier JSON object.

    aspspId:
      name: o3-aspsp-id
      in: header
      schema:
        type: string
      required: true
      deprecated: true
      description:
        Identifier for the financial institution that the request is targetted to.
        This header is deprecated and will be removed in a future version of Ozone Connect. Use `o3-provider-id` instead.

    page:
      name: page
      in: query
      description: Page of results to request (standard pagination)
      required: false
      schema:
        default: 1
        type: integer
      style: form

    page-size:
      name: page-size
      in: query
      description: Page size to request. Default is 25 (standard pagination)
      required: false
      schema:
        default: 25
        type: integer
      style: form

    InsurancePolicyId:
      name: InsurancePolicyId
      in: path
      required: true
      description: Unique identifier for a given insurance policy
      schema:
        $ref: '#/components/schemas/uuid'

  responses:

    InsurancePoliciesGetResponse:
      description: The request has succeeded.
      headers:
        x-fapi-interaction-id:
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/InsurancePoliciesGetResponseBody"

    InsurancePolicyGetResponse:
      description: The request has succeeded.
      headers:
        x-fapi-interaction-id:
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/InsurancePolicyGetResponseBody"

2. Attachments

View file
namecbuae-insurance-api-spec.yaml

...