...
Awesome api app render macro | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
openapi: 3.0.1 info: title: Ozone Connect - Products Data contact: name: Ozone Financial Technology Limited description: | This document provides an API description in [OpenAPI](https://spec.openapis.org/oas/v3.0.1.html) for Bank Product Data APIs for Ozone Connect. These APIs should be implemented by an financial institution so that Ozone can expose the API operations to TPPs. #### Test Case References This description contains a number of references in the form `XXX-999-999`. These are references to test case numbers in the Ozone Connect Test Harness that financial institutions may use to test their Ozone Connect implementations. Please note that these errors are intended for pre-production testing by the financial institution and are therefore not mandated for implementation. #### Implementer Notes Implementers should note that this API prescribes a positive response for correctly executed operations including those where no data is returned. This is consistent with the general principles of REST. ### Changes in Version 2024.48.1 * Initial revision of Bank Product Data API version: 2024.48.1 servers: - url: https://<your-ozone-connect-server> tags: - name: Products description: Product resource - name: Leads description: Lead resource security: - {} - OzoneConnectApiKey: [] - OzoneConnectClientCredentials: [ "placeholder" ] - OzoneConnectJwtAuth: []Please refer paths:to the API /products:Hub documentation for details of get:test cases that are tags: available for this API using the Ozone -Connect Productstest suite. operationId:### GetProductsChanges in Version 2025.06.0 summary: Retrieve Products* Removed test case guidance and references description:from Retrievethe allAPI Productsdescription as now parameters: maintained on a API Hub documentation -page. name: ProductCategory * Removed duplicate query parameters PageNumber and in:PageSize query ### Changes in Version 2024.48.1 description: Filter by product category* Initial revision of Bank Product Data API requiredversion: false2025.06.0 servers: - url: https://<your-ozone-connect-server> tags: - schemaname: Products description: Product resource - name: Leads typedescription: stringLead resource security: - {} - enumOzoneConnectApiKey: [SavingsAccount,] CurrentAccount, CreditCard, Loan, Mortgage] - OzoneConnectClientCredentials: [ "placeholder" ] - nameOzoneConnectJwtAuth: IsShariaCompliant[] paths: /products: inget: query tags: description: Filter by Sharia compliance- Products operationId: GetProducts required: false summary: Retrieve Products schema: description: Retrieve all Products typeparameters: boolean - name: LastUpdatedDateTimeProductCategory in: query description: Filter by last updated date timeproduct category required: false schema: type: string format: date-timeenum: [SavingsAccount, CurrentAccount, CreditCard, Loan, Mortgage] - name: PageNumberIsShariaCompliant in: query description: PageFilter numberby toSharia retrievecompliance (starts from 1) required: false schema: type: integer minimum: 1 default: 1boolean - name: PageSizeLastUpdatedDateTime in: query description: Filter Numberby oflast recordsupdated perdate pagetime required: false schema: type: integerstring minimum: 1 maximum: 100 default: 100format: date-time - name: SortOrder in: query description: Order of sorting the results required: false schema: type: string enum: [asc, desc] default: asc - name: SortField in: query description: Field to sort the results by required: false schema: type: string enum: [LastUpdatedDateTime, ProductId] default: LastUpdatedDateTime # Standard Ozone Connect Parameters - $ref: "#/components/parameters/providerId" - $ref: "#/components/parameters/callerOrgId" - $ref: "#/components/parameters/callerClientId" - $ref: "#/components/parameters/callerSoftwareStatementId" - $ref: "#/components/parameters/apiUri" - $ref: "#/components/parameters/apiOperation" - $ref: "#/components/parameters/callerInteractionId" - $ref: "#/components/parameters/ozoneInteractionId" - $ref: "#/components/parameters/page" - $ref: "#/components/parameters/page-size" responses: '200': description: The request has succeeded. content: application/json: schema: $ref: '#/components/schemas/ProductResponse' "400": $ref: "#/components/responses/BadRequestResponse" "401": $ref: "#/components/responses/NotAuthorizedResponse" default: $ref: "#/components/responses/DefaultErrorResponse" /leads: post: tags: - Leads summary: "Create a Lead" description: | Create a Lead operationId: "CreateLead" parameters: # Standard Ozone Connect Parameters - $ref: "#/components/parameters/providerId" - $ref: "#/components/parameters/callerOrgId" - $ref: "#/components/parameters/callerClientId" - $ref: "#/components/parameters/callerSoftwareStatementId" - $ref: "#/components/parameters/apiUri" - $ref: "#/components/parameters/apiOperation" - $ref: "#/components/parameters/callerInteractionId" - $ref: "#/components/parameters/ozoneInteractionId" requestBody: description: | Request Body content: application/json: schema: $ref: "#/components/schemas/LeadRequest" responses: "201": $ref: "#/components/responses/201LeadResponse" "400": $ref: "#/components/responses/BadRequestResponse" "401": $ref: "#/components/responses/NotAuthorizedResponse" default: $ref: "#/components/responses/DefaultErrorResponse" components: schemas: ProductResponse: type: object description: | Product Response required: - Data properties: Data: description: | Products response type: array items: type: object required: - LFIId - LFIBrandId - Products properties: LFIId: type: string description: The unique identifier for the LFI within the CBUAE ecosystem LFIBrandId: type: string description: The unique identifier for the LFI Brand within the CBUAE ecosystem Products: type: array description: The Product array can contain one or more products associated to a single LFI items: $ref: '#/components/schemas/Product' Product: type: object description: The Product information required: - ProductId - ProductName - ProductCategory properties: ProductId: type: string description: A 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. ProductName: type: string description: The display name of the product. example: "Savings Account" ProductCategory: type: string description: The type of Banking product enum: [SavingsAccount, CurrentAccount, CreditCard, Loan, Mortgage] Description: description: A human-readable description of the product that can be displayed to the User for marketing and information purposes. type: string EffectiveFromDateTime: description: 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: string format: date-time EffectiveToDateTime: description: The date and time at which this product will be retired and will no longer be offered. Used to enable the managed deprecation of products. type: string format: date-time LastUpdatedDateTime: description: The last date and time that the information for this product was changed (or the creation date for the product if it has never been altered). type: string format: date-time IsShariaCompliant: type: boolean description: Indicates whether the product is Sharia-compliant. ShariaInformation: type: string description: The description of the Sharia compliance information. IsSalaryTransferRequired: type: boolean description: Does the Consumer need to pay their salary into a current account provided by the LFI to be able to open this product. Links: $ref: '#/components/schemas/Links' Eligibility: $ref: '#/components/schemas/Eligibility' Channels: type: array items: $ref: '#/components/schemas/Channel' Product: $ref: '#/components/schemas/ProductDetails' Links: description: Links to the Product details type: object properties: ApplicationUri: description: A link to apply for the product. type: string format: uri KfsUri: description: A link to the Key Facts Statement for the product type: string format: uri OverviewUri: description: A link to a general overview of the product. type: string format: uri TermsUri: description: A link to the Terms and conditions for the product. type: string format: uri FeesAndPricingUri: description: A link to the Fees and Pricing for the product. type: string format: uri ScheduleOfChargesUri: description: A link to the Schedule of Charges for the product. type: string format: uri EligibilityUri: description: A link to the Eligibility for the product. type: string format: uri CardImageUri: description: A link to the Card Image for the product. type: string format: uri Eligibility: type: object description: | The eligibility criteria for the product. properties: ResidenceStatus: description: | The residence statuses of the User - that are eligible for the product. type: "array" items: type: object properties: Type: type: string description: | The type of residence status eligible for the product. enum: [UaeResident, ExpatriatesResident, GCCNational, NonUaeResident] Description: type: string description: | The description of the residence status eligible for the product. example: [ { Type: "UaeResident", Description: "A person who is a resident of the United Arab Emirates." } ] EmploymentStatus: description: | The employment statuses of the User - that are eligible for the product. type: array items: type: object properties: Type: type: string description: | The type of employment status eligible for the product. enum: [Salaried, NonSalaried, EligibleEmployer, SelfEmployed, Unemployed, MinimumSalary] Description: type: string description: | The description of the employment status eligible for the product. CustomerType: description: | The customer types of the User - that are eligible for the product. type: array items: type: object properties: Type: type: string description: | The type of customer type eligible for the product. enum: [Retail, SME, Corporate, New, Existing] Description: type: string description: | The description of the customer type eligible for the product. AccountOwnership: description: | The account ownership types of the User - that are eligible for the product. type: array items: type: object properties: Type: type: string description: | The type of account ownership eligible for the product. enum: [Individual, Joint, Multi] Description: type: string description: | The description of the account ownership eligible for the product. Age: description: | The age of the User - that are eligible for the product. type: array items: type: object properties: Type: type: string description: The type of age eligibility criteria. enum: [MinimumAge, MaximumAge] Description: type: string description: The description of the age eligibility criteria. Value: type: number description: The value of the age eligibility criteria. AdditionalEligibility: description: | Additional eligibility criteria for the product. type: array items: type: object properties: Type: type: string enum: [Student, UaeArmedForces, TimeInCountry, Other] description: The type of eligibility criteria. Description: type: string description: The description of the eligibility criteria. Channel: type: object description: | The channels through which the User can use the product. properties: Type: type: string description: | The type of channel through which the User can use the product. enum: [Phone, Internet, MobileApp, Branch, RelationshipManager, Other] Description: type: string description: | The description of the channel through which the User can use the product. ProductDetails: type: object description: | The product type specific details for the product. properties: CurrentAccount: $ref: '#/components/schemas/CurrentAccountDetails' SavingsAccount: $ref: '#/components/schemas/SavingsDetails' CreditCard: $ref: '#/components/schemas/CreditCardDetails' PersonalLoan: $ref: '#/components/schemas/PersonalLoanDetails' Mortgage: $ref: '#/components/schemas/MortgageDetails' ProfitSharingRate: $ref: '#/components/schemas/ProfitSharingRateDetails' FinanceProfitRate: $ref: '#/components/schemas/FinanceProfitRateDetails' CurrentAccountDetails: type: object description: | The details specific to a current account product. When ProductCategory is "CurrentAccount" the CurrentAccount object must also be returned properties: Type: description: | The type of current account product. type: string enum: [Basic, Premium, Advanced, Other] Description: type: string description: | The description of the current account product. IsOverdraftAvailable: type: boolean description: | Indicates whether the current account product has an overdraft facility. Documentation: type: array description: | A list of documents that are required by the LFI when applying for the current account product. items: type: object description: | A document that is required by the LFI when applying for the current account product. properties: Type: type: string description: | The type of document required by the LFI when applying for the current account product. enum: [ApplicationForm,IDCard, Passport, ResidenceVisa, ProofofAddress, UtilityBill, SalaryCertificate, SalarySlip, TradeLicence, BusinessOwnership, Other] Description: type: string description: | The description of the document required by the LFI when applying for the current account product. Features: type: array description: | A list of features of the current account product. items: type: object description: | A feature of the current account product. properties: Type: description: | The type of additional current account feature. type: string enum: [IslamicBanking, IslamicFinance, DebitCard, MultipleCurrencies, DigitalWallet, ChequeBook, Cashback, ATMTransfers, FreeCashWithdrawal, FreeInternationalPayments, Contactless, CardlessATMWithdrawal, TellerTransactions, SMSNotifications, BillPayments, FundsTransfer, SalaryAdvance, WorldWideSupport, Other] Description: description: | The description of the additional current account feature. type: string Fees: type: array description: | A list of fees associated with the current account product. items: type: object description: | A fee associated with the current account product. properties: Type: type: string description: | The type of fee. enum: [MonthlyFees, AnnualFees, BalanceFallBelow, Overdraft, DomesticTransaction, ForeignTransaction, ATMWithdrawal, ChequeBook, ReplacementChequeBook, ReturnCheque, CardReplacement, AccountStatement, 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 current account product. items: type: object description: | A limit of the current account product. properties: Type: type: string description: | The type of limit. enum: [MinimumDeposit, MinimumBalance, MaximiumWithdrawal, MaximumCashATMWithdrawal, MaximumInternationalATMWithdrawal, RetailDomesticPurchase, RetailInternationalPurchase, TellerTransactions, 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 current account product. items: type: object description: | A benefit associated with the current account product. properties: Type: type: string description: | The type of benefit. enum: [Cashback, RewardPoints, AirMiles, AirportLounge, RoadSideAssistance, Parking, WelcomeGifts, Discounts, InsuranceProtection, PurchaseProtection, Dining, Cinema, Golf, 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. SavingsDetails: type: object description: | The details specific to a savings account product. When ProductCategory is "SavingsAccount" the SavingsAccount object must also be returned properties: Type: description: | The type of savings account product. type: string enum: [Savings, OnlineSaver, TermDeposit, Notice, Other] Description: description: | The description of the savings account product. type: string MinimumBalance: $ref: '#/components/schemas/AEActiveOrHistoricCurrencyAndAmount_0' AnnualReturn: description: | The annual return of the savings account product expressed as a percentage. type: number Documentation: type: array description: | A list of documents that are required by the LFI when applying for the savings account product. items: type: object description: | A document that is required by the LFI when applying for the savings account product. properties: Type: type: string description: | The type of document required by the LFI when applying for the savings account product. enum: [ApplicationForm,IDCard, Passport, ResidenceVisa, ProofofAddress, UtilityBill, SalaryCertificate, SalarySlip, TradeLicence, 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 savings account product. items: type: object description: | A feature of the savings account product. properties: Type: type: string description: | The type of feature. enum: [IslamicBanking, IslamicFinance, DebitCard, MultipleCurrencies, ATMCard, FreeATMAccess, ChequeBook, CardlessChequeDeposit, CounterTransactions, MoneyTransfer, NoLockIn, SMSNotifications, Other] Description: type: string description: | The description of the feature. Fees: type: array description: | A list of fees associated with the savings account product. items: type: object description: | A fee associated with the savings account product. properties: Type: type: string description: | The type of fee. enum: [MonthlyFees, AnnualFees, BalanceFallBelow, DomesticTransaction, ForeignTransaction, ATMWithdrawal, ChequeBook, ReplacementChequeBook, ReturnCheque, CardReplacement, AccountStatement, LetterIssued, AccountClosure, 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 savings account product. items: type: object description: | A limit of the savings account product. properties: Type: type: string description: | The type of limit. enum: [MinimumOpeningBalance, MaximumBalance, MaximiumWithdrawal, MaximumCashATMWithdrawal, MaximumInternationalATMWithdrawal, MaximumTellerTransactions, 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 savings account product. items: type: object description: | A benefit associated with the savings account product. properties: Type: type: string description: | The type of benefit. enum: [Cashback, DiscountOffers, RewardPoints, InsuranceProtection, LoyaltyMembership, ComplementaryServices, 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. CreditCardDetails: type: object description: | The details specific to a credit card product. When ProductCategory is "CreditCard" the CreditCard object must also be returned properties: Type: description: | The type of the credit card product. enum: [Visa, Mastercard, AmericanExpress, Diners, Other] type: string Description: description: | The description of the credit card product. type: string Rate: description: | The Annual Percentage Rate (APR) that is displayed as the main rate. type: number Documentation: type: array description: | A list of documents that are required by the LFI when applying for the credit card product. items: type: object description: | A document that is required by the LFI when applying for the credit card 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, 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: CountryCode: type: string pattern: ^[A-Z]{2,2}$ description: Nation with its own government, occupying a particular territory. additionalProperties: false PostalCode: type: object required: - PostalCode properties: PostalCode: type: string minLength: 5 maxLength: 5 description: >- Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. Error: description: Default error response payload structure for Ozone Connect type: object properties: errorCode: type: string description: Error code identifying the problem that occurred errorMessage: type: string description: Message describing what problem has occurred responses: 201LeadResponse: description: "Lead Response" content: application/json: schema: $ref: "#/components/schemas/LeadResponse" BadRequestResponse: description: The operation failed due to an invalid request parameter content: application/json: schema: $ref: "#/components/schemas/Error" NotAuthorizedResponse: description: The operation failed due to an invalid credential being presented content: application/json: schema: $ref: "#/components/schemas/Error" DefaultErrorResponse: description: The operation failed due to an invalid request parameter content: application/json: schema: $ref: "#/components/schemas/Error" parameters: providerId: name: o3-provider-id in: header schema: type: string required: true description: Identifier for the financial institution that the request is targeted 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) 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. page: name: page in: query description: Page of results to request (standard pagination) required: true 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: true schema: default: 100 type: integer style: form securitySchemes: OzoneConnectApiKey: description: Communications between the API Hub and the LFI Ozone Connect implementation are secured using an API Key, which is a secret shared between the API Hub and the LFI. type: apiKey in: header name: Authorization OzoneConnectClientCredentials: type: oauth2 description: | Communications between the API Hub and the LFI Ozone Connect implementation are secured using a Client Credentials grant type. LFIs must host an OAuth 2.0 Authorization Server to utilise this security pattern. Scope values are set during the onboarding process, and represented by a placeholder in this API description. flows: clientCredentials: tokenUrl: "https://example.lfi.ae/token" scopes: placeholder: Placeholder for scopes, which are set by the LFI during onboarding OzoneConnectJwtAuth: description: | Communications between the API Hub and the LFI Ozone Connect implementation are secured using the "JWT Auth" mechanism, where the Client presents a signed JSON Web Token as a credential. The Server MUST verify the signature in order to authenticate the Client. Please note that the value of the `scheme` parameter is not a registered HTTP Authentication Scheme, to indicate it is specific to Ozone Connect. Please refer to API Hub documentation for further details. type: http scheme: Ozone-Connect-JWT-Auth |
...