Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
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
textColor#172B4D
methodPatchColor#ffab00
navBgColor#FAFBFC
codeFg#172B4D
navTextColor#172B4D
fontSizedefault
sortEndpointsBymethod
usePathInNavBarfalse
navAccentColor#6554C0
methodDeleteColor#ff5630
headerColor#fff
allowAuthenticationfalse
bgColor#fff
allowSearchtrue
sortTagstrue
themelight
methodPostColor#36b37e
authTypeNone
inlineCodeFg#6554C0
resourceContentTypejson
showHeaderfalse
allowSpecFileLoadfalse
inlineCodeBg#F4F5F7
renderStyleread
layoutcolumn
headingText
navItemSpacingdefault
infoDescriptionHeadingsInNavbartrue
specUrl
navHoverBgColor
resourceTypeCONTENT
openapi: 3.0.0
info:
  title: UAE Product API
  description: UAE Open Finance Product API Specification
  version: v1.2-draft1
  contact:
    email: contactus@cbuaeopenfinance@cbuae.gov.ae
tags:
  - name: Products
    description: Product resource
  - name: Leads
    description: ProductLead resourcesresource
paths:
  /products:
    get:
      tags:
        - ProductProducts
      operationId: GetProducts
      summary: Retrieve Products
      description: Retrieve all Products
      parameters:
        - $ref: '#/components/parameters/Authorization'
        - name: ProductCategory
          in: query
          description: Filter by product category
          required: false
          schema:
            type: string
            enum: [SavingsSavingsAccount, CurrentAccount, CreditCard, Loan, Mortgage]
        - name: ShariaCompliantIsShariaCompliant
          in: query
          description: Filter by Sharia compliance
          required: false
          schema:
            type: boolean
        - name: LastUpdatedDateTime
          in: query
          description: Filter by last updated date time
          required: false
          schema:
            type: string
            format: date-time
        - name: PageNumber
          in: query
          description: Page number to retrieve (starts from 1)
          required: false
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: PageSize
          in: query
          description: Number of records per page
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25100
        - name: SortOrder
          in: query
          description: Order of sorting the results
          required: false
          schema:
            type: string
            enum: [ASCasc, DESCdesc]
            default: ASCasc
        - name: SortField
          in: query
          description: Field to sort the results by
          required: false
          schema:
            type: string
            enum: [LastUpdatedDateTime, ProductId]
            default: LastUpdatedDateTime
      responses:
        '200':
          description: The request has succeeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductResponse'
        "400":
          $ref: "#/components/responses/400Error"
        "401":
          $ref: "#/components/responses/401Error"
        "403":
          $ref: "#/components/responses/403Error"
        "405":
          $ref: "#/components/responses/405Error"
        "406":
          $ref: "#/components/responses/406Error"
        "415":
          $ref: "#/components/responses/415Error"
        "429":
          $ref: "#/components/responses/429Error"
        "500":
          $ref: "#/components/responses/500Error"
      security:
        - TPPOAuth2Security:
            - products
  /leads:
    post:
      tags:
        - Leads
      summary: "Create a Lead"
      description: |
        Create a Lead
      operationId: "CreateLead"
      parameters:
        - $ref: '#/components/parameters/Authorization'
      requestBody:
        description: |
          Request Body
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/LeadRequest"
      responses:
        "201":
          $ref: "#/components/responses/201LeadResponse"
        "400":
          $ref: "#/components/responses/400Error"
        "401":
          $ref: "#/components/responses/401Error"
        "403":
          $ref: "#/components/responses/403Error"
        "405":
          $ref: "#/components/responses/405Error"
        "406":
          $ref: "#/components/responses/406Error"
        "415":
          $ref: "#/components/responses/415Error"
        "429":
          $ref: "#/components/responses/429Error"
        "500":
          $ref: "#/components/responses/500Error"
      security:
        - TPPOAuth2Security:
            - products
components:
  schemas:
    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:
        - GenericError
    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
    ProductResponse:
      type: object
      requireddescription: |
       - Product DataResponse
      propertiesrequired:
        - Data:
      properties:
   type:   object  Data:
        required:  description: |
         - LFIId  Products response
         - LFIBrandIdtype: array
          items:
- Product           propertiestype: object
            LFIIdrequired:
              type: string- LFIId
              - LFIBrandId:
              type:- stringProduct
            Productsproperties:
              typeLFIId:
array                itemstype: string
                $ref: '#/components/schemas/Product'
    Product:description: The unique identifier for the LFI within the CBUAE ecosystem
      type: object       requiredLFIBrandId:
        - ProductId       type: string
- ProductName         - ProductCategory     description: The properties:unique identifier for the LFI Brand within the CBUAE ProductId:ecosystem
          type: string   Products:
     ProductName:           type: stringarray
          example: "Savings Account"    description: The Product array  ProductCategory:
     can contain one or more products associated to a single LFI
    type: string           enumitems:
[Savings, CurrentAccount, CreditCard, Loan, Mortgage]         Description:     $ref: '#/components/schemas/Product'
    typeProduct:
string      type: object
 EffectiveFromDateTime:     description: The Product information
  type: string   required:
       format: date-time ProductId
       EffectiveToDateTime: - ProductName
        type:- stringProductCategory
          format: date-timeproperties:
        LastUpdatedDateTimeProductId:
          type: string
          formatdescription: date-time
        ShariaCompliant:
          type: booleanA data holder specific unique identifier for this product. This identifier must be unique to a product but does not otherwise need to adhere to ID permanence guidelines.
        ShariaInformationProductName:
          type: "array"string
          itemsdescription: The display name of the product.
      type: object   example: "Savings Account"
       properties ProductCategory:
          type: string
  Type:        description: The type of Banking product
        type: string enum: [SavingsAccount, CurrentAccount, CreditCard, Loan, Mortgage]
        Description:
          description: A human-readable description of the product type: string
        IsSalaryTransferRequired:that can be displayed to the User for marketing and information purposes.
          type: booleanstring
        LinksEffectiveFromDateTime:
          $refdescription: '#/components/schemas/Links'
        Eligibility:
          $ref: '#/components/schemas/Eligibility'
        Documentation: The date and time from which this product is effective (i.e. is available for origination). Used to enable the articulation of products to the regime before they are available for customers to originate.
          type: arraystring
          itemsformat: date-time
        EffectiveToDateTime:
  $ref: '#/components/schemas/Document'       description: The Channels:date and time at which this product will be retired and type:will arrayno longer be offered. Used to enable the managed deprecation of items:products.
          type: string
$ref: '#/components/schemas/Channel'         Featuresformat: date-time
         typeLastUpdatedDateTime:
array           itemsdescription: The last date and time that the information for this product  $ref: '#/components/schemas/Feature'
        Limits:was changed (or the creation date for the product if it has never been altered).
          type: arraystring
          itemsformat: date-time
        IsShariaCompliant:
   $ref: '#/components/schemas/Limit'       type: boolean
          Fees:
 description: Indicates whether the product is Sharia-compliant.
        typeShariaInformation:
array          type: string
   items:       description: The description of the Sharia $ref: '#/components/schemas/Fee'compliance information.
        BenefitsIsSalaryTransferRequired:
          type: arrayboolean
          items:
            $ref: '#/components/schemas/Benefit'description: Does the Consumer need to pay their salary into a current account provided by the LFI to be able to open this product.
        ProductLinks:
          $ref: '#/components/schemas/ProductDetailsLinks'
    Links:    Eligibility:
  type: object       properties$ref: '#/components/schemas/Eligibility'
       ApplicationUri Channels:
          type: stringarray
          formatitems:
 uri           KfsUri$ref: '#/components/schemas/Channel'
        Product:
type:  string        $ref: '#/components/schemas/ProductDetails'
 format: uri  Links:
      OverviewUridescription: Links to the Product details
      type: stringobject
      properties:
   format: uri    ApplicationUri:
    TermsUri:      description: A link to apply for type:the stringproduct.
          formattype: string
 uri         FeesAndPricingUriformat: uri
         typeKfsUri:
string           formatdescription: uriA link to the Key Facts Statement for the ScheduleOfChargesUri:product
          type: string
          format: uri
        EligibilityUriOverviewUri:
          typedescription: stringA link to a general overview of the   product. format:
uri         CardImageUri:           type: string
          format: uri
    Eligibility:    TermsUri:
  type: object       propertiesdescription: A link to the Terms and conditions  ResidenceStatus:for the product.
          type: arraystring
          itemsformat: uri
        FeesAndPricingUri:
  type: object       description: A link to the Fees properties:and Pricing for the product.
          Typetype: string
          format: uri
   type: string    ScheduleOfChargesUri:
            enumdescription: [UaeResident, ExpatriatesResident, NonUaeResident]
        A link to the Schedule of Charges for the product.
     Description:     type: string
          typeformat: stringuri
        EmploymentStatusEligibilityUri:
          typedescription: arrayA link to the Eligibility for the product.
   items:       type: string
      type: object   format: uri
        propertiesCardImageUri:
          description: A link to Type:the Card Image for the product.
           type: string
          format: uri
    enumEligibility:
[Salaried, NonSalaried, EligibleEmployer, SelfEmployed, Unemployed, MinimumSalary] type: object
      description: |
    Description:    The eligibility criteria for the product.
       typeproperties:
string        ResidenceStatus:
CustomerType:           typedescription: array|
          items:  The residence statuses of the User - that are eligible for type:the objectproduct.
            propertiestype: "array"
             Typeitems:
                type: stringobject
            properties:
    enum: [Retail, SME, Corporate]       Type:
       Description:         type: string
      type: string         AccountOwnershipdescription: |
         type: array        The type of items:residence status eligible for the product.
       type: object        enum: [UaeResident, ExpatriatesResident,   properties:GCCNational, NonUaeResident]
              TypeDescription:
                type: string
                enumdescription: [Individual, Joint, Multi]|
                 Description: The description of the residence status eligible for the product.
      type: string   example: [
    Age:        {
  type: array           itemsType: "UaeResident",
           type   Description: object"A person who is a resident of the United Arab Emirates."
  properties:          }
    Type:      ]
          typeEmploymentStatus:
string          description:    |
  enum: [MinimumAge, MaximumAge]         The employment statuses of the User Description:- that are eligible for the product.
          type: stringarray
          items:
   Value:         type: object
      type: number     properties:
   AdditionalEligibility:           typeType:
array           items:     type: string
      type: object         description: |
  properties:               Type: The type of employment status eligible for the product.
       type: string        enum: [Salaried, NonSalaried, EligibleEmployer, SelfEmployed, Unemployed, MinimumSalary]
 Description:             Description:
   type: string     Document:       type: string
object       properties:         Typedescription: |
         type:  string       The description of the enum: [Passport, IDCard, UtilityBill, BankStatement, Other]employment status eligible for the product.
        DescriptionCustomerType:
          typedescription: string|
    Channel:       type: objectThe customer types of the User - properties:that are eligible for the product.
   Type:
          type: stringarray
          enumitems:
[Phone, Internet, Mobile, Branch, ATM, RelationshipManager]         Descriptiontype: object
         type: string  properties:
  Feature:       type: object    Type:
  properties:         Type:     type: string
    type: string           enumdescription: [Feature1, Feature2, Feature3]|
           Description:       The type of customer type: stringeligible for the product.
 Limit:       type: object       propertiesenum: [Retail, SME, Corporate, New, Existing]
   Type:           typeDescription:
string           enum: [Limit1, Limit2, Limit3]  type: string
     Description:           typedescription: string|
        Value:          The type:description numberof the customer type eligible Fee:for the product.
    type: object    AccountOwnership:
  properties:         Typedescription: |
         type: string  The account ownership types of the User - that  enum: [Monetary, Percentage]are eligible for the product.
          Nametype: array
          typeitems:
string         Description:   type: object
      type: string     properties:
   Unit:           typeType:
string            enum: [Amount, Percentage]  type: string
     Amount:           typedescription: number|
        Percentage:          The type: number
    of account ownership eligible for the product.
      nullable: true         UnitValueenum: [Individual, Joint, Multi]
        type:  number    Description:
      nullable: true         MaximumUnitValuetype: string
         type: number      description: |
   nullable:   true         Currency:   The description of the account ownership eligible for type:the stringproduct.
    Benefit:    Age:
  type: object       propertiesdescription: |
       Type:     The age of the User - type:that stringare eligible for the product.
      enum: [Cashback, RewardPoints, TravelBenefits, LifeStyleBenefits, WelcomeGifts, Discounts, Protection]type: array
          Nameitems:
            type: object
  string          Descriptionproperties:
          type: string   Type:
     Value:           type: numberstring
    ProductDetails:       type: object    description: The type properties:of age eligibility criteria.
     CurrentAccount:           $refenum: '#/components/schemas/CurrentAccountDetails'
[MinimumAge, MaximumAge]
       Savings:       Description:
   $ref: '#/components/schemas/SavingsDetails'         CreditCard:   type: string
      $ref: '#/components/schemas/CreditCardDetails'         PersonalLoandescription: The description of the age eligibility criteria.
   $ref: '#/components/schemas/PersonalLoanDetails'           MortgageValue:
           $ref: '#/components/schemas/MortgageDetails'     type: number
     ProfitSharingRate:           $refdescription: '#/components/schemas/ProfitSharingRateDetails'
    The value of the age eligibility criteria.
    FinanceProfitRate:    AdditionalEligibility:
      $ref: '#/components/schemas/FinanceProfitRateDetails'    description: |
    CurrentAccountDetails:       type: objectAdditional eligibility criteria for the product.
 properties:         Typetype: array
         type items:
 string           enumtype: [Basic, Premium, Advanced]object
            OverdraftAvailableproperties:
          type: boolean   Type:
     AdditionalInformation:           type: arraystring
          items:      enum: [Student, UaeArmedForces, TimeInCountry, Other]
  type: object             propertiesdescription: The type of eligibility criteria.
           Type   Description:
                type: string
                enumdescription: [Additional1, Additional2]
   The description of the eligibility criteria.
    Channel:
      Decriptiontype: object
      description: |
       type: stringThe channels through which the SavingsDetails:User can use the product.
  type: object       properties:
        Type:
          type: string
          enumdescription: |
[Savings1, Savings2]         Description:  The type of channel through which the User can type:use stringthe product.
       MinimumBalance:   enum: [Phone, Internet, MobileApp, Branch,    $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'RelationshipManager, Other]
         AnnualReturnDescription:
          type: string
 number         Featuresdescription: |
         type: array  The description of the channel through which the User items:can use the product.
    ProductDetails:
      type: object
      description: |
    properties:    The product type specific details for the product.
   Description:   properties:
        CurrentAccount:
    type: string     CreditCardDetails$ref: '#/components/schemas/CurrentAccountDetails'
     type: object  SavingsAccount:
    properties:         Type$ref: '#/components/schemas/SavingsDetails'
         typeCreditCard: string
          enum: [Credit1, Credit2]$ref: '#/components/schemas/CreditCardDetails'
        DescriptionPersonalLoan:
          type$ref: string'#/components/schemas/PersonalLoanDetails'
        RateMortgage:
          type$ref: number
'#/components/schemas/MortgageDetails'
       Features ProfitSharingRate:
          type$ref: array'#/components/schemas/ProfitSharingRateDetails'
          itemsFinanceProfitRate:
            type$ref: object'#/components/schemas/FinanceProfitRateDetails'
    CurrentAccountDetails:
       propertiestype: object
             Typedescription: |
        The details specific to a current account type:product. stringWhen ProductCategory is "CurrentAccount" the CurrentAccount object must also be returned
      enumproperties:
[Insurance,  FlexiblePaymentTerm, BalanceTransfer, CashBack]    Type:
          Descriptiondescription: |
              The type: stringof current account product.
           Valuetype: string
          enum: [Basic, Premium,   type: numberAdvanced, Other]
         FeesDescription:
          type: arraystring
          itemsdescription: |
           type: objectThe description of the current account product.
      properties:  OverdraftAvailable:
            Typetype: boolean
          description: |
   type: string        Indicates whether the current account product has  Name:an overdraft facility.
        Documentation:
          type: stringarray
          description: |
  Description:          A list of documents that are required type:by stringthe LFI when applying for the current account product.
      Value:    items:
            type: numberobject
        Benefits:    description: |
     type: array        A document that items:is required by the LFI when applying for the current    type: objectaccount product.
             properties:
              Type:
                type: string
                enumdescription: [Cashback, RewardPoints, TravelBenefits, LifeStyleBenefits, WelcomeGifts, Discounts, Protection]|
                  The type of Name:document required by the LFI when applying for the current account product.
      type: string         enum: [ApplicationForm,IDCard, Passport, ResidenceVisa, ProofofAddress, UtilityBill, Description:SalaryCertificate, SalarySlip, TradeLicence, BusinessOwnership, Other]
            type: string Description:  
           Value:     type: string
          type: number     PersonalLoanDetailsdescription: |
     type: object       properties:     The description of the Type:document required by the LFI when applying for the current account type:product.
string         DescriptionFeatures:
          type: stringarray
          MaximumLoanAmountdescription: |
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
        Tenure: A list of features of the current account product.
          typeitems:
object            propertiestype: object
           MinimumLoanTenure description: |
             type: stringA feature of the current account product.
      MaximumLoanTenure:      properties:
        type: string     Type:
   CalculationMethod:             typedescription: string|
        Rate:          The type: objectof additional current account feature.
      properties:          type: string
 Type:               typeenum: string
            Description:
    [IslamicBanking, IslamicFinance, DebitCard, MultipleCurrencies, DigitalWallet, ChequeBook, Cashback, ATMTransfers, FreeCashWithdrawal, FreeInternationalPayments, Contactless, CardlessATMWithdrawal, TellerTransactions, SMSNotifications, BillPayments, FundsTransfer, SalaryAdvance, WorldWideSupport, Other]
          type    Description:
string                ReviewFrequencydescription: |
             type: string    The description of the additional current account feature.
 IndicativeRate:               type: objectstring
        Fees:
     properties:     type: array
          Fromdescription: |
            A list of fees associated type:with stringthe current account product.
             Toitems:
            type: object
    type: string       description: |
    ProfitRate:          A fee associated with the type:current objectaccount product.
             properties:
                FromType:

                 type: string
                Todescription: |
                  The type: stringof fee.
       AnnualPercentageRateRange:         enum:  type: object
          properties:[MonthlyFees, AnnualFees, BalanceFallBelow, Overdraft, DomesticTransaction, ForeignTransaction, ATMWithdrawal, ChequeBook, ReplacementChequeBook, ReturnCheque, CardReplacement, AccountStatement, LetterIssued, Other]
              FromPeriod:
                type: string
            To:    description: |
         type: string        The FixedRatePeriod:period of the  fee.
      type: string         DebtBurdenRatioenum: [Daily, Monthly, Yearly, OneOff, Other]
     type: string         Name:
     Features:           type: string
array            items:    description: |
       type:  object         The name of the properties:fee.
              TypeDescription:
                type: string
              Description  description: |
               type:  string The description of the fee.
   AdditionalInformation:           typeUnit:
    array            itemstype: string
           type: object    description: |
       properties:           The unit of the Type:fee.
                typeenum: string[Amount, Percentage]
              DescriptionAmount:
                type$ref: string'#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
       MortgageDetails:       typePercentage:
object       properties:         Typetype: number
         type: string      description: |
 Description:           type: string     The percentage of the PlanName:fee.
          type: string   UnitValue:
     CalculationMethod:           type: number
string         Structure:       description: |
  type: string         Rate:      The value of the fee type:in objectthe unit of the fee.
      properties:        MaximumUnitValue:
    Type:            type: number
 type: string               enumdescription: [Fixed,|
Variable, Hybrid]             Description:    The maximum value of the fee in the unit of the type:fee.
string        Limits:
    ReviewFrequency:      type: array
       type: string  description: |
         IndicativeRate:   A list of limits associated with the current account product.
  type: object       items:
       properties:     type: object
          From:  description: |
              A type:limit stringof the current account product.
            Toproperties:
              Type:
   type: string             ProfitRatetype:    string
          type: object     description: |
        properties:          The type of limit.
   From:             enum: [MinimumDeposit, MinimumBalance, MaximiumWithdrawal, MaximumCashATMWithdrawal, MaximumInternationalATMWithdrawal, type: string
 RetailDomesticPurchase, RetailInternationalPurchase, TellerTransactions, Other]
              ToDescription:
                  type: string
        IndicativeAPR:        description: |
 type: object           properties:     The description of the limit.
   From:           Value:
   type: string             Totype: number
             type: string  description: |
     FixedRatePeriod:           type: string The value of the limit.
   MaximumLoanAmount:     Benefits:
     $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'    type: array
   MaximumLTV:       description: |
  type: string         DownPayment:A list of benefits associated with the current account product.
  $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'       items:
 Tenure:           type: object
          properties:  description: |
         MinimumLoanTenure:     A benefit associated with the current account product.
  type: string         properties:
   MaximumLoanTenure:           Type:
   type: string     ProfitSharingRateDetails:       type: objectstring
       properties:         Typedescription: |
         type: string        The Description:type of   benefit.
      type: string         Nameenum: [Cashback, RewardPoints, AirMiles, AirportLounge, RoadSideAssistance, Parking, WelcomeGifts, Discounts, InsuranceProtection, PurchaseProtection, Dining, type: string
Cinema, Golf, Other]
       MinimumDepositAmount:       Name:
   $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'         AnnualReturn:   type: string
      type: number         AnnualReturnOptionsdescription: |
         type: array        The name of items:the benefit.
           type: object  Description:
          properties:      type: string
       Type:         description: |
      type: string           The description of the Description:benefit.
              Value:
 type: string         InvestmentPeriod:     type: number
    type: object           propertiesdescription: |
            Type:      The value of the benefit.
    typeSavingsDetails:
string      type: object
      Descriptiondescription: |
        The details specific to a type:savings stringaccount product. When ProductCategory is "SavingsAccount" the SavingsAccount object AdditionalInformation:must also be returned
       typeproperties:
array           itemsType:
            typedescription: object|
            properties:The type of savings account product.
         Type type: string
               typeenum: string[Savings, OnlineSaver, TermDeposit, Notice,  Other]
         Description:
          description: |
    type: string     FinanceProfitRateDetails:  The description of the savings type:account objectproduct.
      properties:         Typetype: string
         typeMinimumBalance:
string           enum: [ProfitSharingRate, FinanceProfitRate]$ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
         DescriptionAnnualReturn:
          typedescription: string|
        CalculationMethod:    The annual return of the savings account type:product stringexpressed as a percentage.
       enum: [FlatRate, ReducingRate, Profit, Lease]type: number
        RateDocumentation:
          type: numberarray
        Frequency:  description: |
       type: string    A list of documents that Tiers:are required by the LFI when applying for the savings account type:product.
array           items:
            $reftype: '#/components/schemas/RateTier'object
        AdditionalInformation:    description: |
     type: array        A document that items:is required by the LFI when applying for the savings account product.
 type: object             properties:
              Type:
                type: string
              Description:  description: |
             type: string    The RateTier:type of document required by the LFI type:when objectapplying for the savings account product.
 properties:         Type:      enum: [ApplicationForm,IDCard, Passport, ResidenceVisa, ProofofAddress, type: string
   UtilityBill, SalaryCertificate, SalarySlip, TradeLicence, BusinessOwnership, Other]
    Description:           typeDescription: string
  
     Name:           type: string
        Unit:        description: |
 type: string           enum: [Balance, LTV, TimePeriod]  The description of the document required by MinimumTierValue:the LFI when applying for the product.
    $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'   Features:
     MaximumTierValue:     type: array
    $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'     description: |
  MinimumTierRate:          A type:list stringof features of the savings account product.
  MaximumTierRate:        items:
  type: string         Conditiontype: object
         type: string     AEActiveOrHistoricCurrencyAndAmount_0description: |
     type: object       required: A feature of the savings account product.
 - Amount         - Currencyproperties:
      description: >-       Type:
 This is the value of the amount in the currency       propertiestype: string
       Amount:           $refdescription: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'|
        Currency:          The $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
type of feature.
     additionalProperties: false     AEActiveCurrencyAndAmount_SimpleType:       descriptionenum: >-
        A number of monetary units specified in an active currency where the[IslamicBanking, IslamicFinance, DebitCard, MultipleCurrencies, ATMCard, FreeATMAccess, ChequeBook, CardlessChequeDeposit, CounterTransactions, MoneyTransfer, NoLockIn, SMSNotifications, Other]
              Description:
unit of currency is explicit and compliant with ISO 4217.       type: string
      pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
    ActiveOrHistoricCurrencyCode_0:       description: >-|
        Identification of the currency in which the account is held. AThe codedescription of the feature.
     allocated to a currencyFees:
under an international currency identification      type: array
 scheme, as described in the latest edition of the internationaldescription: standard|
        ISO 4217 'Codes for theA representationlist of currenciesfees andassociated funds'.with the savings account product.
  type: string       patternitems:
^[A-Z]{3,3}$       example: AED     LeadRequest:type: object
            typedescription: "object" |
         additionalProperties: false    A fee associated required:with the savings account product.
    - "Data"       properties:
        Data:      Type:
    type: "object"           additionalPropertiestype: falsestring
           required:     description: |
      - Name           The type -of Emailfee.
          properties:      enum: [MonthlyFees, AnnualFees, BalanceFallBelow, DomesticTransaction, ForeignTransaction, ATMWithdrawal, Email:ChequeBook, ReplacementChequeBook, ReturnCheque, CardReplacement, AccountStatement, LetterIssued, AccountClosure, Other]
        type: string     Period:
         format: email      type: string
       description: Email address of the account holder   description: |
        PhoneNumber:          The period of the fee.
type: string               patternenum: ^\+[1-9]\d{1,14}$
   [Daily, Monthly, Yearly, OneOff, Other]
          description: Phone number in E.164Name:
format             Name:   type: string
          $ref: '#/components/schemas/AEUserName'     description: |
      EmiratesId:            The name of type:the stringfee.
              descriptionDescription:
Emirates  ID number of the Party          type: string
 Nationality:               typedescription: string|
            ResidentialAddress:      The description of the fee.
    $ref: '#/components/schemas/AEPartyIdentityAddressClaim'          Unit:
  LeadInformation:               type: string
            ProductCategories:    description: |
         type: array        The unit of the fee.
  items:              enum: [Amount, Percentage]
  type: object           Amount:
     properties:           $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
      Type:        Percentage:
            type: string   type: number
                enumdescription: [Savings,|
CurrentAccount, CreditCard, Loan, Mortgage]           description: Properties to request aThe thepercentage Confirmation of Payeethe fee.
   LeadResponse:       type    UnitValue:
"object"        additionalProperties: false       requiredtype: number
        - "Data"       propertiesdescription: |
       Data:           type: "object"
          additionalProperties: falseThe value of the fee in the unit of the fee.
              requiredMaximumUnitValue:
            - LeadId   type: number
        -  Name      description: |
     - Email           properties: The maximum value of the fee in the unit of the fee.
LeadId:        Limits:
      type: string   type: array
          description: Unique|
identifier for the lead         A list of limits Email:associated with the savings account product.
         type: string
  items:
            type: object
            formatdescription: email|
              description:A Emaillimit address of the savings account holderproduct.
            PhoneNumberproperties:
              typeType:
string                patterntype: ^\+[1-9]\d{1,14}$string
                description: Phone number in E.164 format |
                  The type of limit.
 Name:               $ref: '#/components/schemas/AEUserName'enum: [MinimumOpeningBalance, MaximumBalance, MaximiumWithdrawal, MaximumCashATMWithdrawal, MaximumInternationalATMWithdrawal, MaximumTellerTransactions, Other]
              EmiratesIdDescription:
                type: string
                description: Emirates|
ID number of the Party             Nationality: The description of the limit.
         type: string    Value:
        ResidentialAddress:        type: number
     $ref: '#/components/schemas/AEPartyIdentityAddressClaim'             LeadInformationdescription: |
             type: string    The value of the limit.
    ProductCategories:    Benefits:
          type: array
          description: |
     items:       A list of benefits associated with the savings account product.
type: object         items:
       properties:     type: object
            Typedescription: |
              A benefit associated with the type:savings stringaccount product.
            properties:
      enum: [Savings, CurrentAccount, CreditCard, Loan, Mortgage]   Type:
       description: Properties to request a the Confirmation of Payee type: string
  AEUserName:       oneOf:       description: |
- $ref: '#/components/schemas/AEPersonalAccountName'         - $ref: '#/components/schemas/AEBusinessAccountName'     AEPersonalAccountName:The type of benefit.
   type: object       required:     enum: [Cashback, DiscountOffers, RewardPoints, -InsuranceProtection, GivenNameLoyaltyMembership, ComplementaryServices, Other]
      - LastName       propertiesName:
        GivenName:
          type: string
          minLength: 1     description: |
    maxLength: 70           description: >- The name of the benefit.
       The given or first name of the accountDescription:
holder, as understood by the            type: Debtorstring
        LastName:        description: |
 type: string           minLength: 1    The description of the benefit.
  maxLength: 70           descriptionValue:
>-             The family or surnametype: ofnumber
the account holder, as understood by the          description:  |
Debtor       description: The properties required to verify a personal account    The value of additionalProperties:the falsebenefit.
    AEBusinessAccountNameCreditCardDetails:
      type: object
      requireddescription: |
       - BusinessNameThe details specific to a credit card properties:product. When ProductCategory is "CreditCard" the CreditCard object must BusinessName:also be returned
        typeproperties:
string           minLengthType:
1          description: maxLength:|
140           description: The businesstype name of the accountcredit holder,card asproduct.
understood by the Debtor       descriptionenum: The properties required to verify a business account [Visa, Mastercard, AmericanExpress, Diners, Other]
          additionalPropertiestype: falsestring
    AEPartyIdentityAddressClaim:    Description:
  type: object       requireddescription: |
       - Formatted    The description of the credit -card StreetAddressproduct.
        - Locality type: string
      - Region Rate:
       - PostalCode  description: |
     - Country      The properties:Annual Percentage Rate (APR) that is displayed as the main Formatted:rate.
          type: stringnumber
        Documentation:
 description: |        type: array
   The address number and street claim that hasdescription: been|
verified.         StreetAddress:   A list of documents that are required by type:the stringLFI when applying for the credit card product.
   description: |      items:
      The address street claim that has beentype: verified.object
        Locality:    description: |
     type: string        A document that description:is >required by the LFI when applying for the credit card product.
  The address locality (village, town, city etc) claim that has been properties:
           verified.   Type:
     Region:           type: string
          description: |     description: |
      The address region claim that has been verified.     The type of document PostalCode:required by the LFI when applying for the product.
                enum: [ApplicationForm, IDCard, Passport, ResidenceVisa, ProofofAddress, UtilityBill, BankStatement, SalaryCertificate, SalarySlip, TradeLicence, UndatedSecurityCheque, BusinessOwnership, Other]
              Description:  
                type: string
                description: |
                  The description of the document required by the LFI when applying for the product.
        Features:
          type: array
          description: |
            A list of features of the credit card product.
          items:
            type: object
            description: |
              A feature of the credit card product.
            properties:
              Type:
                type: string
                description: |
                  The type of feature.
                enum: [IslamicBanking, IslamicFinance, AdditionalCards, CoBrandedCard, BalanceTransfer, CashWithdrawal, InternationalPayments, FlexiblePaymentTerm, InstalmentPaymentPlans, InsuranceProtection, CreditShield, CardControl, PersonalisedCardDesign, Other]
              Description:
                type: string
                description: |
                  The description of the feature.
        Fees:
          type: array
          description: |
            A list of fees associated with the credit card product.
          items:
            type: object
            description: |
              A fee associated with the credit card product.
            properties:
              Type:
                type: string
                description: |
                  The type of fee.
                enum: [AnnualFee, CashAdvance, LatePayment, BalanceTransfer, ForeignTransaction, OverLimit, CardReplacement, CardStatement, SalesVoucherCopy, LetterIssued, Other]
              Period:
                type: string
                description: |
                  The period of the fee.
                enum: [Daily, Monthly, Yearly, OneOff, Other]
              Name:
                type: string
                description: |
                  The name of the fee.
              Description:
                type: string
                description: |
                  The description of the fee.
              Unit:
                type: string
                description: |
                  The unit of the fee.
                enum: [Amount, Percentage]
              Amount:
                $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
              Percentage:
                type: number
                description: |
                  The percentage of the fee.
              UnitValue:
                type: number
                description: |
                  The value of the fee in the unit of the fee.
              MaximumUnitValue:
                type: number
                description: |
                  The maximum value of the fee in the unit of the fee.
        Limits:
          type: array
          description: |
            A list of limits associated with the credit card product.
          items:
            type: object
            description: |
              A limit of the credit card product.
            properties:
              Type:
                type: string
                description: |
                  The type of limit.
                enum: [MinimumCreditLimit, MaximumCreditLimit, MinimumRequiredCreditScore, MinimumSpend, MaximumCashATMWithdrawal, MaximumInternationalATMWithdrawal, Other]
              Description:
                type: string
                description: |
                  The description of the limit.
              Value:
                type: number
                description: |
                  The value of the limit.
        Benefits:
          type: array
          description: |
            A list of benefits associated with the credit card product.
          items:
            type: object
            description: |
              A benefit associated with the credit card product.
            properties:
              Type:
                type: string
                description: |
                  The type of benefit.
                enum: [Cashback, RewardPoints, AirMiles, AirportLounge, AirportPickUps, RoadSideAssistance, WelcomeGifts, ShoppingDiscounts, DiningDiscounts, LoyaltyMembership, InsuranceProtection, PurchaseProtection, ConciergeServices, ValetParking, Cinema, Golf, Gym, Spa, BeachPoolAccess, Other]
              Name:
                type: string
                description: |
                  The name of the benefit.
              Description:
                type: string
                description: |
                  The description of the benefit.
              Value:
                type: number
                description: |
                  The value of the benefit.
    PersonalLoanDetails:
      type: object
      properties:
        Type:
          description: |
            The type of the personal loan product. When ProductCategory is "PersonalLoan" the PersonalLoan object must also be returned
          type: string
          enum: [PersonalFinance, DebtSettlement, EducationFinance, TravelFinance, BoatFinance, Other]
        Description:
          description: |
            The description of the personal loan product.
          type: string
        MinimumLoanAmount:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
        MaximumLoanAmount:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
        Tenure:
          type: object
          description: |
            The tenure of the personal loan product.
          properties:
            MinimumLoanTenure:
              description: |
                The minimum loan tenure in months.
              type: number
            MaximumLoanTenure:
              description: |
                The maximum loan tenure in months.
              type: number
        CalculationMethod:
          type: string
          enum: [FlatRate, ReducingRate, Profit, Lease]
          description: |
            For conventional home loans confirmation of the method to calculate payments and how interest is charged.  The options are:
            FlatRate - Interest is calculated on the full principal amount for the entire loan tenure. 
            ReducingRate - Interest is calculated only on the outstanding principal balance after each repayment.
            For Shariah compliant home loans confirmation of the method to calculate payments.  The options are:
            Profit 
            Lease 
        Rate:
          type: object
          description: |
            Confirmation of the rates range that will be applied to the home finance.
          properties:
            Type:
              type: string
              enum: [Fixed, Variable, Hybrid]
              description: |
                Confirmation whether the rate is a Fixed rate, Variable rate or a Hybrid rate that is fixed for initial years and variable thereafter.
            Description:
              type: string
              description: |
                The description of the rate.
            ReviewFrequency:
              type: string
              description: |
                When the rate is Variable the frequency the rate is reviewed against base index.
            IndicativeRate:
              type: object
              description: |
                For conventional personal loans confirmation of the indicative rate covering the minimum (From) and maximum (To) rate range.
              properties:
                From:
                  type: number
                  description: |
                    The minimum rate.
                To:
                  type: number
                  description: |
                    The maximum rate.
            ProfitRate:
              type: object
              description: |
                the Profit Rate covering the starting rate from up to the maximum Profit Rate that could apply depending upon the Product type, the type of the property and the amount of Finance availed in relation to the market price of the property.
              properties:
                From:
                  type: number
                  description: |
                    The minimum rate.
                To:
                  type: number
                  description: |
                    The maximum rate.
        AnnualPercentageRateRange:
          type: object
          description: |
            Annual Percentage Rate (APR) covering the minimum and maximum APR range. The indicative APR range includes applicable interest, fees and charges of the product, expressed as an annualised rate.
          properties:
            From:
              type: number
              description: |
                The minimum APR.
            To:
              type: number
              description: |
                The maximum APR.
        FixedRatePeriod:
          description: Must be populated when the Rate Type is Fixed to confirm the period the rate will be fixed for.
          type: string
        DebtBurdenRatio:
          type: string
          description: |
            If applicable, the maximum percentage DBR value based on the total debt / total income calculation.
            DBR is the ratio of the Customer’s total monthly outgoing payments (including instalments towards their loans and credit cards), to their total income.
        Documentation:
          type: array
          description: |
            A list of documents that are required by the LFI when applying for the personal loan product.
          items:
            type: object
            description: |
              A document that is required by the LFI when applying for the personal loan product.
            properties:
              Type:
                type: string
                description: |
                  The type of document required by the LFI when applying for the product.
                enum: [ApplicationForm, IDCard, Passport, ResidenceVisa, ProofofAddress, UtilityBill, BankStatement, SalaryCertificate, SalarySlip, UndatedSecurityCheque, ProofofBusinessOwnership, TradeLicence, MemorandumofAssociation, BusinessOwnership, Other]
              Description:  
                type: string
                description: |
                  The description of the document required by the LFI when applying for the product.
        Features:
          type: array
          description: |
            A list of features of the personal loan product.
          items:
            type: object
            description: |
              A feature of the personal loan product.
            properties:
              Type:
                type: string
                description: |
                  The type of feature.
                enum: [IslamicBanking, IslamicFinance, QuickApproval, FreeDebitCard, FreeCreditCard, FlexibleRepaymentPeriods, BuyOut, TransferPersonalLoan, LoanConsolidation, LoanTopUp, RevolvingOverdraft, DefermentFacility, LifeInsurance, Guarantor, Other]
              Description:
                type: string
                description: |
                  The description of the feature.
        Limits:
          type: array
          description: |
            A list of limits associated with the personal loan product.
          items:
            type: object
            description: |
              A limit of the personal loan product.
            properties:
              Type:
                type: string
                description: |
                  The type of limit.
                enum: [MinimumRequiredCreditScore, MaximumOverpayment, Other]
              Description:
                type: string
                description: |
                  The description of the limit.
              Value:
                type: number
                description: |
                  The value of the limit.
        Fees:
          type: array
          description: |
            A list of fees associated with the personal loan product.
          items:
            type: object
            description: |
              A fee associated with the personal loan product.
            properties:
              Type:
                type: string
                description: |
                  The type of fee.
                enum: [Processing, LoanCancellation, PartialPayment, LatePayment, EarlySettlement, FinalSettlement, Other]
              Period:
                type: string
                description: |
                  The period of the fee.
                enum: [Daily, Monthly, Yearly, OneOff, Other]
              Name:
                type: string
                description: |
                  The name of the fee.
              Description:
                type: string
                description: |
                  The description of the fee.
              Unit:
                type: string
                description: |
                  The unit of the fee.
                enum: [Amount, Percentage]
              Amount:
                $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
              Percentage:
                type: number
                description: |
                  The percentage of the fee.
              UnitValue:
                type: number
                description: |
                  The value of the fee in the unit of the fee.
              MaximumUnitValue:
                type: number
                description: |
                  The maximum value of the fee in the unit of the fee.
        Benefits:
          type: array
          description: |
            A list of benefits associated with the personal loan product.
          items:
            type: object
            description: |
              A benefit associated with the personal loan product.
            properties:
              Type:
                type: string
                description: |
                  The type of benefit.
                enum: [Other]
              Name:
                type: string
                description: |
                  The name of the benefit.
              Description:
                type: string
                description: |
                  The description of the benefit.
              Value:
                type: number
                description: |
                  The value of the benefit.
        AdditionalInformation:
          type: array
          description: |
            A list of additional information about the personal loan product.
          items:
            type: object
            properties:
              Type:
                type: string
                enum: [Other]
                description: |
                  The type of personal loan additional information.
              Description:
                type: string
                description: |
                  The description of the personal loan additional information.
    MortgageDetails:
      type: object
      description: |
        The details specific to a mortgage product. When ProductCategory is "Mortgage" the Mortgage object must also be returned
      properties:
        Type:
          type: string
          enum: [FixedRate, VariableRate, HybridRate, IslamicHomeLoan, Offset, Other]
          description: |
            The type of mortgage product.
        Description:
          type: string
          description: |
            The description of the mortgage product.
        CalculationMethod:
          type: string
          enum: [FlatRate, ReducingRate, Profit, Lease]
          description: |
            For conventional home loans confirmation of the method to calculate payments and how interest is charged.  The options are:
            FlatRate - Interest is calculated on the full principal amount for the entire loan tenure. 
            ReducingRate - Interest is calculated only on the outstanding principal balance after each repayment.
            For Shariah compliant home loans confirmation of the method to calculate payments.  The options are:
            Profit 
            Lease 
        Structure:
          type: string
          description: |
            When the home loan is Shariah compliant, confirmation of the Islamic finance model that is used for the housing finance.
        Rate:
          type: object
          description: |
            Rate information for the mortgage product.
          properties:
            Type:
              type: string
              enum: [Fixed, Variable, Hybrid]
              description: |
                Confirmation whether the rate is a Fixed rate, Variable rate or a Hybrid rate that is fixed for initial years and variable thereafter.
            Description:
              type: string
              description: |
                The description of the rate.
            ReviewFrequency:
              description: When the rate is Variable the frequency the rate is reviewed against base index.
              type: string
            IndicativeRate:
              type: object
              description: The indicative rate covering the minimum (From) and maximum (To) rate range.
              properties:
                From:
                  description: The minimum rate.  
                  type: number
                To:
                  description: The maximum rate.
                  type: number
            ProfitRate:
              type: object
              description: |
                the Profit Rate covering the starting rate from up to the maximum Profit Rate that could apply depending upon the Product type, the type of the property and the amount of Finance availed in relation to the market price of the property.
              properties:
                From:
                  type: number
                  description: |
                    The minimum rate.
                To:
                  type: number
                  description: |
                    The maximum rate.
        IndicativeAPR:
          type: object
          description: |
            The indicative APR covering the minimum (From) and maximum (To) rate range.
          properties:
            From:
              type: number
              description: |
                The minimum rate.
            To:
              type: number
              description: |
                The maximum rate.
        FixedRatePeriod:
          type: string
          description: |
            Must be populated when the Rate Type is Fixed to confirm the period the rate will be fixed for.
        MinimumLoanAmount:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
        MaximumLoanAmount:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
        MaximumLTV:
          type: number
          description: The maximum Loan-to-Value (LTV) allowed.  Where a different LTV applies for each residency type the individual value must be provided.
        DownPayment:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
        RepaymentTenure:
          type: object
          description: |
            The maximum repayment tenure for the mortgage product.
          properties:
            MinimumLoanTenure:
              type: number
              description: |
                The minimum loan tenure in months.
            MaximumLoanTenure:
              type: number
              description: |
                The maximum loan tenure in months.
        Documentation:
          type: array
          description: |
            A list of documents that are required by the LFI when applying for the mortgage product.
          items:
            type: object
            description: |
              A document that is required by the LFI when applying for the mortgage product.
            properties:
              Type:
                type: string
                description: |
                  The type of document required by the LFI when applying for the product.
                enum: [ApplicationForm, IDCard, Passport, ResidenceVisa, EmploymentProof, ProofofAddress, UtilityBill, BankStatement, SalaryCertificate, SalarySlip, TradeLicence, BusinessOwnership, PropertyOwnership, SalesandPurchaseAgreement, DeveloperLicense, TitleDeed, NoObjectionCertificate, ValuationReport, MortgageStatement, Other]
              Description:  
                type: string
                description: |
                  The description of the document required by the LFI when applying for the product.
        Features:
          type: array 
          description: |
            A list of features of the mortgage product.
          items:
            type: object
            description: |
              A feature of the mortgage product.
            properties:
              Type:
                type: string
                description: |
                  The type of feature.
                enum: [IslamicBanking, IslamicFinance, OnlineApplication, PreApproval, LifeInsurance, PropertyInsurance, GracePeriod, Overpayments, Redraw, FreeCreditCard, FreePropertyValuation, BuyOut, TopUp, InstalmentDeferment, EquityRelease, NoDeveloperRestriction, Guarantor, Other]
              Description:
                type: string
                description: |
                  The description of the feature.
        Fees:
          type: array
          description: |
            A list of fees associated with the mortgage product.
          items:
            type: object
            description: |
              A fee associated with the mortgage product.
            properties:
              Type:
                type: string
                description: |
                  The type of fee.
                enum: [Processing, LatePayment, EarlySettlement, FinalSettlement, LetterIssued, Other]
              Period:
                type: string
                description: |
                  The period of the fee.
                enum: [Daily, Monthly, Yearly, OneOff, Other]
              Name:
                type: string
                description: |
                  The name of the fee.
              Description:
                type: string
                description: |
                  The description of the fee.
              Unit:
                type: string
                description: |
                  The unit of the fee.
                enum: [Amount, Percentage]
              Amount:
                $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
              Percentage:
                type: number
                description: |
                  The percentage of the fee.
              UnitValue:
                type: number
                description: |
                  The value of the fee in the unit of the fee.
              MaximumUnitValue:
                type: number
                description: |
                  The maximum value of the fee in the unit of the fee.
        Limits:
          type: array
          description: |
            A list of limits associated with the mortgage product.
          items:
            type: object
            description: |
              A limit associated with the mortgage product.
            properties:
              Type:
                type: string
                description: |
                  The type of limit.
                enum: [MinimumRequiredCreditScore, MaximumOverpayment, Other]
              Description:
                type: string
                description: |
                  The description of the limit.
              Value:
                type: number
                description: |
                  The value of the limit.
        Benefits:
          type: array
          description: |
            A list of benefits associated with the mortgage product.
          items:
            type: object
            description: |
              A benefit associated with the mortgage product.
            properties:
              Type:
                type: string
                description: |
                  The type of benefit.
                enum: [Other]
              Name:
                type: string
                description: |
                  The name of the benefit.
              Description:
                type: string
                description: |
                  The description of the benefit.
              Value:
                type: number
                description: |
                  The value of the benefit.
    ProfitSharingRateDetails:
      type: object
      properties:
        Name: 
          type: string
          description: |
            The name of the profit sharing rate.
        Description:
          type: string
          description: |
            The description of the profit sharing rate.
        MinimumDepositAmount:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
        AnnualReturn:
          type: number
          description: |
            The annual return of the profit sharing rate.
        AnnualReturnOptions:
          type: array
          description: |
            The annual return options of the profit sharing rate.
          items:
            type: object
            properties:
              Name:
                type: string
                description: |
                  The name of the annual return option.
              Description:
                type: string
                description: |
                  The description of the annual return option.
        InvestmentPeriod:
          type: object
          description: |
            The investment period of the profit sharing rate.
          properties:
            Name:
              type: string
              description: |
                The type of investment period.
            Description:
              type: string
              description: |
                The description of the investment period.
        AdditionalInformation:
          type: array
          description: |
            The additional information of the profit sharing rate.
          items:
            type: object
            properties:
              Type:
                type: string
                enum: [Other]
                description: |
                  The type of additional information.
              Description:
                type: string
                description: |
                  The description of the additional information.
    FinanceProfitRateDetails:
      type: object
      description: |
        The details specific to a finance profit rate.
      properties:
        Name:
          type: string
          description: |
            The name of the finance profit rate.
        Description:
          type: string
          description: |
            The description of the finance profit rate.
        CalculationMethod:
          type: string
          enum: [FlatRate, ReducingRate, Profit, Lease]
          description: |
            For conventional home loans confirmation of the method to calculate payments and how interest is charged.  The options are:
            FlatRate - Interest is calculated on the full principal amount for the entire loan tenure. 
            ReducingRate - Interest is calculated only on the outstanding principal balance after each repayment.
            For Shariah compliant home loans confirmation of the method to calculate payments.  The options are:
            Profit 
            Lease 
        Rate:
          type: number
          description: |
            The rate of the finance profit rate product.
        Frequency:
          type: string
          description: |
            The frequency of the finance profit rate product.
        Tiers:
          type: array
          description: |
            The tiers of the finance profit rate product.
          items:
            $ref: '#/components/schemas/RateTier'
        AdditionalInformation:
          type: array
          description: |
            The additional information of the finance profit rate product.
          items:
            type: object
            properties:
              Type:
                type: string
                enum: [Other]
                description: |
                  The type of additional information.
              Description:
                type: string
                description: |
                  The description of the additional information.
    RateTier:
      type: object
      description: |
        The tier of the finance profit rate product.
      properties:
        Type:
          description: |
            The type of the tier.
          type: string
        Description:
          type: string
          description: |
            The description of the tier.
        Name:
          type: string
          description: |
            The name of the tier.
        Unit:
          type: string
          enum: [Balance, LTV, TimePeriod]
          description: |
            The unit of the tier.
        MinimumTierValue:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
        MaximumTierValue:
          $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0'
        MinimumTierRate:
          type: number
          description: |
            The minimum rate of the tier.
        MaximumTierRate:
          type: number
          description: |
            The maximum rate of the tier.
        Condition:
          type: string
          description: |
            The conditions of the tier.
    AEActiveOrHistoricCurrencyAndAmount_0:
      type: object
      required:
        - Amount
        - Currency
      description: >-
        This is the value of the amount in the currency
      properties:
        Amount:
          $ref: '#/components/schemas/AEActiveCurrencyAndAmount_SimpleType'
        Currency:
          $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode_0'
      additionalProperties: false
    AEActiveCurrencyAndAmount_SimpleType:
      description: >-
        A number of monetary units specified in an active currency where the
        unit of currency is explicit and compliant with ISO 4217.
      type: string
      pattern: ^\d{1,13}$|^\d{1,13}\.\d{1,5}$
    ActiveOrHistoricCurrencyCode_0:
      description: >-
        Identification of the currency in which the account is held. A code
        allocated to a currency under an international currency identification
        scheme, as described in the latest edition of the international standard
        ISO 4217 'Codes for the representation of currencies and funds'.
      type: string
      pattern: ^[A-Z]{3,3}$
      example: AED
    LeadRequest:
      type: "object"
      additionalProperties: false
      description: |
        The request to create a lead.
      required:
        - "Data"
      properties:
        Data:
          type: "object"
          additionalProperties: false
          description: |
            The data for the lead request.
          required:
            - Name
            - Email
          properties:
            Email:
              type: string
              format: email
              description: Email address of the account holder
            PhoneNumber:
              type: string
              pattern: ^\+[1-9]\d{1,14}$
              description: Phone number in E.164 format
            Name:
              $ref: '#/components/schemas/AEUserName'
            EmiratesId:
              type: string
              description: Emirates ID number of the Party
            Nationality:
              type: string
              description: Nationality of the Party
            ResidentialAddress:
              $ref: '#/components/schemas/AEPartyIdentityAddressClaim'
            LeadInformation:
              type: string
            ProductCategories:
              type: array
              items:
                type: object
                properties:
                  Type:
                    type: string
                    enum: [SavingsAccount, CurrentAccount, CreditCard, Loan, Mortgage]
    LeadResponse:
      type: "object"
      additionalProperties: false
      required:
        - "Data"
      properties:
        Data:
          type: "object"
          description: |
            The data for the lead response.
          additionalProperties: false
          required:
            - LeadId
            - Name
            - Email
          properties:
            LeadId:
              type: string
              description: Unique identifier for the lead
            Email:
              type: string
              format: email
              description: Email address of the account holder
            PhoneNumber:
              type: string
              pattern: ^\+[1-9]\d{1,14}$
              description: Phone number in E.164 format
            Name:
              $ref: '#/components/schemas/AEUserName'
            EmiratesId:
              type: string
              description: Emirates ID number of the Party
            Nationality:
              type: string
            ResidentialAddress:
              $ref: '#/components/schemas/AEPartyIdentityAddressClaim'
            LeadInformation:
              type: string
            ProductCategories:
              type: array
              items:
                type: object
                properties:
                  Type:
                    type: string
                    enum: [SavingsAccount, CurrentAccount, CreditCard, Loan, Mortgage]
    AEUserName:
      oneOf:
        - $ref: '#/components/schemas/AEPersonalAccountName'
        - $ref: '#/components/schemas/AEPersonalAccountFullName'
        - $ref: '#/components/schemas/AEBusinessAccountName'
      description: |
        The name of the account holder.
    AEPersonalAccountName:
      type: object
      required:
        - GivenName
        - LastName
      properties:
        GivenName:
          type: string
          minLength: 1
          maxLength: 70
          description: >-
            The given or first name of the lead
        LastName:
          type: string
          minLength: 1
          maxLength: 70
          description: >-
            The family or surname of the lead
      description: The name of a personal account
      additionalProperties: false
    AEPersonalAccountFullName:
      type: object
      required:
        - FullName
      properties:
        FullName:
          type: string
          minLength: 1
          maxLength: 140
          description: >-
            The full name of the lead
      description: The full name of a personal account
      additionalProperties: false
    AEBusinessAccountName:
      type: object
      required:
        - BusinessName
      properties:
        BusinessName:
          type: string
          minLength: 1
          maxLength: 140
          description: The business name of the lead
      description: The name of a business account
      additionalProperties: false
    AEPartyIdentityAddressClaim:
      type: object
      properties:
        AddressLine:
          type: array
          items:
            description: >-
              Information that locates and identifies a specific address, as
              defined by postal services, presented in free format text.
              This may be duplicated in other fields in the address object.
            type: string
            minLength: 1
            maxLength: 70
          minItems: 0
          maxItems: 7
        Locality:
          type: string
          description: >
            The address locality (village, town, city etc) claim that has been
            verified.
        Region:
          type: string
          description: |
            The address region claim that has been verified.
        PostalCode:
          $ref: '#/components/schemas/PostalCode'
        Country:
          $ref: '#/components/schemas/CountryCode'
      description: >
        Address object as per OpenID Connect Core 1.0 Address Claim

        [https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim](https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim)
      additionalProperties: false
    CountryCode:
      type: object
      required:
        - CountryCode
      properties:
        $refCountryCode: '#/components/schemas/PostalCode'
          Countrytype: string
          $ref: '#/components/schemas/CountryCode'pattern: ^[A-Z]{2,2}$
          description: >Nation with its own government, occupying a particular territory.
Address object as per OpenID Connect Core 1.0 Address ClaimadditionalProperties: false
    PostalCode:
      [https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim](https://openid.net/specs/openid-connect-core-1_0.html#AddressClaim)type: object
      required:
        - PostalCode
      properties:
      additionalProperties: false PostalCode:
   CountryCode:       type: objectstring
        required:  minLength: 5
     - CountryCode    maxLength: 5
 properties:         CountryCodedescription: >-
         type: string  Identifier consisting of a group of letters and/or  pattern: ^[A-Z]{2,2}$numbers that is
            added description:to Nationa withpostal itsaddress ownto government,assist occupyingthe asorting particularof territorymail.
  responses:
    additionalProperties201LeadResponse:
false      PostalCodedescription: "Lead Response"
      typecontent:
object        required:application/json:
          schema:
   -  PostalCode       properties:$ref: "#/components/schemas/LeadResponse"
    403Error:
   PostalCode:   description: Forbidden
      typeheaders:
string        x-fapi-interaction-id:
    minLength:  5    description: An RFC4122 UID used as a maxLength:correlation 5id.
          descriptionrequired: >-true
          schema:
 Identifier consisting of a group of letters and/or numbers that is type: string
      content:
   added to a postal address to assist the sorting of mail.application/json; charset=utf-8:
      responses:     201LeadResponseschema:
      description: "Lead Response"    $ref: '#/components/schemas/AEErrorResponse'
 content:         application/json:
          schema:
            $ref: "'#/components/schemas/LeadResponse"AEErrorResponse'
    403Error405Error:
      description: Method ForbiddenNot Allowed
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    406Error:
 content     description: Not Acceptable
      application/json; charset=utf-8:headers:
        x-fapi-interaction-id:
      schema:    description: An RFC4122 UID used as a correlation id.
$ref: '#/components/schemas/AEErrorResponse'         application/jsonrequired: true
          schema:
            $ref: '#/components/schemas/AEErrorResponse'type: string
    405Error415Error:
      description: MethodUnsupported NotMedia AllowedType
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    406Error429Error:
      description: Too NotMany AcceptableRequests
      headers:
        Retry-After:
          description: Number in seconds to wait
          schema:
            type: integer
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    415Error500Error:
      description: UnsupportedInternal MediaServer TypeError
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
         429Error:application/json; charset=utf-8:
          schema:
          description: Too Many Requests  $ref: '#/components/schemas/AEErrorResponse'
         headers:application/json:
          Retry-Afterschema:
          description: Number in seconds to wait$ref: '#/components/schemas/AEErrorResponse'
    401Error:
       schemadescription: Unauthorized
           type: integerheaders:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
    500Error400Error:
      description: InternalBad Server Errorrequest
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.
          required: true
          schema:
            type: string
      content:
        application/json; charset=utf-8:
          schema:
            $ref: '#/components/schemas/AEErrorResponse'
        application/json:
          schema:
        
   $ref: '#/components/schemas/AEErrorResponse'
    401Error:
      description: Unauthorized
      headers:
        x-fapi-interaction-id:
          description: An RFC4122 UID used as a correlation id.           required$ref: true'#/components/schemas/AEErrorResponse'
  parameters:
    Authorization:
   schema:   name: authorization
      in: header
type: string     400Errorrequired: true
      description: Bad request An authorization Token as per https://tools.ietf.org/html/rfc6750
      headersschema:
        x-fapi-interaction-idtype: string
  securitySchemes:
    TPPOAuth2Security:
 description: An RFC4122 UID used astype: aoauth2
correlation id.     description: >-
    required: true   TPP confidential client authorization with the LFI to schema:stage a consent.
        **Please refer type:to string[OpenID FAPI Security Profile 1.0 -Part 2
content:         application/json; charset=utf-8:Advanced](https://openid.net/specs/openid-financial-api-part-2-1_0.html#authorization-server)
        -  schema:
        5.2.2 point 14 - shall authenticate the confidential client using one
   $ref: '#/components/schemas/AEErrorResponse'    of the following methods  application/json:
 private_key_jwt and [OpenID Connect Core
        schema:1.0](https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication)
        9. Client Authentication  $ref: '#/components/schemas/AEErrorResponse'private_key_jwt**
    parameters:  flows:
  Authorization:       nameclientCredentials:
authorization       in: header    tokenUrl: https://authserver.example/token
  required: true       descriptionscopes:
An authorization Token as per https://tools.ietf.org/html/rfc6750       schemaproducts: Right to access leads and products   type: string
resources
servers:
  - url: /open-finance/product/v1.2-draft1

Attachments

The Product Data OpenAPI description is attached, together with a spreadsheet that lists all properties by operation.

...