Release candidate

v2.2-rc2 is not ratified and MUST NOT be used for production. Current: v2.1. Changelog

This is v2.2-rc2 — a release candidate for the v2.2 standards, published for review and not yet ratified. It MUST NOT be used as the basis for a production implementation. For the current standards, switch to v2.1 using the version selector. See the v2.1 → v2.2-rc2 changelog for every change in this version.

Validate · Enforce · Trust

Products & Leads — Requirements v2.2-rc26 min read

The rules your Ozone Connect GET /products and POST /leads endpoints must follow. Read alongside the TPP Products and Leads requirements, which describe how TPPs call the API and present your products.

Products & Leads is not consent-based: a TPP holding the BDSP role calls it with a client_credentials token, and only while a customer is in a live session with the TPP. The API Hub validates the TPP's token, role, and request against the OpenAPI schema before it calls your Ozone Connect endpoints, so you do not re-validate them. The rules below cover what your endpoints must return.

01 Endpoint

Retrieve Products

GET/products

The API Hub calls your Ozone Connect GET /products endpoint on behalf of a TPP to retrieve your product catalogue.

#
Field
Rule
1
Query filters
Apply the optional filters when present: ProductCategory returns only products of that category; IsShariaCompliant returns only products whose IsShariaCompliant matches; LastUpdatedDateTime returns only products updated after that date and time.
2
Sorting
Order the results by SortField (LastUpdatedDateTime or ProductId; default LastUpdatedDateTime) in SortOrder (asc or desc; default asc).
3
Pagination
The API Hub sends page and page-size on every request. Return only the requested page, and populate meta.totalPages and meta.totalRecords for the full filtered result set.
4
data
Each entry in data MUST include LFIId, LFIBrandId, and Products — the products offered under that brand.
5
Required product fields
Every product MUST include ProductId, ProductName, and ProductCategory. ProductId MUST be unique to the product within your catalogue.
6
Category details
The product-type object under Product MUST be returned for the product's ProductCategory: CurrentAccount → Product.CurrentAccount; SavingsAccount → Product.SavingsAccount; CreditCard → Product.CreditCard; Finance → Product.Finance; Mortgage → Product.Mortgage.
7
Application fields
Every product MUST include at least one of Links.ApplicationUri, Links.ApplicationPhoneNumber, Links.ApplicationEmail, or Links.ApplicationDescription, so the TPP always has a way for the customer to apply. Where more than one is populated, TPPs treat ApplicationUri as the preferred channel.
8
LastUpdatedDateTime
Populate with the date and time the product's information last changed, or the date it was created if it has never changed. The LastUpdatedDateTime filter and the default sort both depend on it.
9
Sharia-compliant products
Set IsShariaCompliant on every product so the IsShariaCompliant filter is accurate. Where a product has been confirmed as Sharia-compliant, populate ShariaStructure with its Islamic finance contract type, and AlternativeBrandName and ShariaInformation where held.
10
Data completeness
All fields that exist or are derivable from your systems SHOULD be populated, including the rates, charges, eligibility, and links for each product, so that TPPs can present and compare it accurately.
11
Date and time format
EffectiveFromDateTime, EffectiveToDateTime, and LastUpdatedDateTime MUST carry an explicit offset (e.g. 2027-07-22T00:00:00Z). You SHOULD emit UTC; the offset -00:00 MUST NOT be used. Apply the offset on the LastUpdatedDateTime query parameter — two encodings of the same instant MUST filter identically.

Sharia-compliant product data. v2.2 adds a Sharia-compliant counterpart to each interest-based rate structure. Every field below is optional: an LFI with no Islamic products sends nothing new. Where you offer Islamic products, describe them with these fields rather than approximating them in the interest-based ones. See changelog §19.

#
Field
Rule
12
Product.ExpectedProfitRates
Deposit rates for Sharia-compliant products. Each entry MUST include RateType (FixedProfit or VariableProfit), DepositRateType, and RateDetails, and MAY include ProfitSharingRatio, ProfitDistributionMethod, ProfitDistributionFrequency, and Description.
13
DepositRateType
Use ExpectedProfitRate for your projected return on a profit-sharing deposit, and IndicativeProfitRate where the rate is illustrative only. The two are not comparable, and TPPs rely on this field to tell them apart.
14
Product.ShariaFinanceRates
Finance rates for Sharia-compliant products, one entry per rate, discriminated on RateType: FixedProfit, VariableProfit, or HybridProfit. ProfitCalculationMethod takes PrincipalBalance, OutstandingBalance, InitialDrawdownAmount, UnusedCreditLine, or UtilizedLimit.
15
Charge calculation method
On charge components, InterestCalculationMethod now describes interest only. Where a charge uses an Islamic calculation method, populate ProfitCalculationMethod instead.
16
Product.TakafulRequired, Product.TakafulDescription
Where a product requires Takaful cover, set TakafulRequired to true and describe the type and purpose of the cover in TakafulDescription (1–500 characters).
02 Endpoint

Create a Lead

POST/leads

When a customer asks to be contacted about your products, the TPP submits a lead and the API Hub forwards it to your Ozone Connect POST /leads endpoint. The API Hub does not retain the lead: once you have responded, your systems hold the only copy.

#
Field
Rule
1
Request
The request has already been validated by the API Hub against the POST /leads schema. Name, Email, EmiratesId, MarketingOptOut, and ProductCategories are always present; PhoneNumber, Nationality, ResidentialAddress, and LeadInformation are present when the customer provided them.
2
Response
Record the lead and respond 201. The response data MUST include LeadId, Name, Email, EmiratesId, and MarketingOptOut.
3
LeadId
A unique identifier you assign to the lead. It is returned to the TPP.
4
ProductCategories
The product categories the customer is interested in. Follow up on those categories.
5
Follow-up
The LFI is expected to follow up with the customer within 30 days of receiving the lead.
6
MarketingOptOut
Reflects the customer's marketing preference. Where it is true, use the lead's details only to follow up on this request, not for marketing communications.
7
Personal data constraints
v2.2 constrains the personal data a lead carries, and the API Hub rejects non-conforming requests before they reach you. EmiratesId matches ^784-?[0-9]{4}-?[0-9]{7}-?[0-9]{1}$ — the hyphens are optional, so the same ID can arrive in either form. GivenName, LastName, and FullName contain Latin letters, space, apostrophe, period, and hyphen only; BusinessName also allows digits, ampersand, comma, parentheses, and forward slash. AddressLine uses the ISO 20022 PostalAddress27 character set.
8
EmiratesId in the response
The response EmiratesId MUST match the same pattern. Return the value as received.
03 Section

Error Responses

The API Hub maps your error responses to the TPP standard. Error bodies MUST carry an errorCode and an errorMessage.

Status
When
errorCode
400
A request parameter cannot be processed.
A prescribed code such as Resource.InvalidFormat or Body.InvalidFormat, or a namespaced code.
500
An internal error prevented the request from completing.
GenericRecoverableError where a retry may succeed; otherwise GenericError.