Assets API v1.5.0
| Version | Date | Description | Author |
|---|---|---|---|
| 1.5.0 | 2026-04-17 | Added Electronics Product By LG | Alexandru Marinica |
| 1.4.0 | 2026-04-16 | Added Tire Fleet Product By Michelin | Alexandru Marinica |
| 1.3.0 | 2025-10-15 | Added ExtendedWarranty | Alexandru Marinica & Catalin Fronea |
| 1.2.0 | 2025-09-19 | Added DigitalProtection & BusinessCyberProtection By LevIns | Alexandru Marinica & Catalin Fronea |
| 1.1.0 | 2025-08-01 | Added Tire Policy Product By Michelin | Alexandru Marinica |
| 1.0.1 | 2025-04-15 | Added House Assistance Product By Pointer | Catalin Fronea |
| 1.0.0 | 2025-03-31 | Added GAP Product By Colonnade | Alexandru Marinica |
| 1.0.0 | 2025-03-31 | Added Solar Panel Product by Colonnade | Alexandru Marinica |
| 1.0.0 | 2025-03-31 | Initial version | Alexandru Marinica |
Table of Contents
1. Introduction
The Assets API service allows the generation of offers, the transformation of offers into policies, and the downloading of corresponding documents. All requests (except for authentication) must include the "Token" header containing the JWT obtained via the authentication endpoints (using credentials provided by Life Is Hard SA as OPERATOR).
Environments:
-
Test/Development:
<https://assets-api-qa.api.lifeishard.ro/> – test environment with the latest changes. -
Production:
<https://assets-api.api.lifeishard.ro/>
Access to both environments is restricted to whitelisted IPs. Please contact the sales team to gain access. Credentials valid in the test environment are not applicable in production.
1.1. Implemented products
Currently, the following insurers and products are implemented:
-
Colonnade: solarPanel, gap
-
Michelin: tire, tireFleet
-
LevIns: digitalProtection, businessCyberProtection
-
Pointer: houseAssistance
-
Allianz: houseAssistance
-
Porsche: extendedWarranty
-
LG: electronics
Important: In the offer request, the
productobject includes both thesolarPanelandgapsub‑objects as examples. A valid request must include only one of these. The system automatically determines the product type: if thesolarPanelkey is present in the request, then the system will process the solarPanel product for Colonnade.
1.2. Workflow
To create a policy, follow these steps:
-
Authentication: Obtain a JWT token using OPERATOR‑provided credentials.
-
Create offer: Submit an offer request. The response includes an
offerIdto be used in subsequent requests. -
Transform offer to policy: Use the
offerIdfrom the offer step to transform the offer into a policy. -
Download documents: Use the
offerIdto download offer documents and thepolicyId(from the transformation step) to download policy documents.
1.3. Response types
Responses consist of either a successful response or an error response:
-
Success Response:
-
status: 200–299 -
data: Object containing the relevant response data. -
Error Response:
-
errors: Array of error messages -
correlation_id: Internal error tracking ID -
status: 400–500 -
data: (Optional) Additional data regarding the error.
Note: Validation messages are in English by default. To change them to Romanian, include the header parameter
Content-Language: ro.
2. Authentication
2.1. Authenticate account
-
Endpoint:
POST /auth -
Description: Authenticates an account using the provided account and password (credentials from the OPERATOR).
-
Success Response: Includes:
-
token: The JWT for subsequent requests. -
expires_at: Expiry date/time in"YYYY-MM-DD HH:MM:SS"format. -
refresh_token: Token used to refresh the JWT.
2.2. Renew token
-
Endpoint:
PATCH /auth -
Description: Renews an authentication token using the provided refresh token.
-
Response: Same structure as the authentication response.
2.3. De-authenticate account
-
Endpoint:
DELETE /auth -
Description: De-authenticates an active JWT token.
3. Create offer
-
Endpoint:
POST /offer -
Description: Obtains a quote from the insurer for the specified product.
3.1. Request
3.1.1. Input parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| provider | object | Yes | Contains insurer information. |
| provider.organization | object | Yes | Insurer's data. |
| provider.organization.businessName | string | Yes | Insurer identifier (for Colonnade, use "colonnade"). |
| provider.authentication | object | Yes | Credentials to access the insurer's web service. |
| provider.authentication.account | string | No | Account (provided by the OPERATOR). |
| provider.authentication.password | string | No | Password. |
| provider.authentication.code | string | No | Optional code. |
| product | object | Yes | Product object. |
Product Object
| Parameter | Type | Required | Description |
|---|---|---|---|
| solarPanel | object | Yes, if you want a quote for solarPanel | SolarPanel Object |
| gap | object | Yes, if you want a quote for GAP | GAP Object |
| electronics | object | Yes, if you want a quote for LG Electronics | Electronics Object |
| policyholder | object | Yes | Person object |
| additionalData | object | Depends on the insurer |
Person object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| businessName | string | Yes if present in the request | Business name (if the person is a legal entity) | |
| companyRegistryNumber | string | Sometimes | Company registry number (if the person is a legal entity) | Mandatory for all products except SolarPanel and GAP |
| caenCode | number | No | CAEN code (if the person is a legal entity) | |
| lastName | string | Yes if businessName is not present | Individual person's last name | |
| firstName | string | Yes if businessName is not present | Individual person's first name | |
| taxId | string | Yes | Personal identification code for natural persons; tax ID for legal persons | Must be a valid Romanian CNP if businessName is not present and isForeignPerson is false (or missing) |
| isForeignPerson | boolean | No | Indicates if person is foreign | |
| nationality | string | Yes if isForeignPerson is true | Nationality | Accepted values: iso2 codes from /nomenclature/country nomenclature. No validation for legal entities. |
| citizenship | string | Yes if isForeignPerson is true | Citizenship | Accepted values: iso2 codes from /nomenclature/country nomenclature. No validation for legal entities. |
| gender | string | Yes if isForeignPerson is true | Gender: m (male), f (female) | Accepted values: m, f. No validation for legal entities. |
| birthdate | string | Yes if isForeignPerson is true | Date of birth | Format: YYYY-MM-DD. Must be in the past. No validation for legal entities. |
| email | string | Yes | Email address | Must be a valid email address. |
| mobileNumber | string | Yes | Mobile phone number | Exactly 10 digits (without prefix). |
| hasDisability | boolean | No | | Cannot be true if isRetired is true or if legal entity. |
| isRetired | boolean | No | | Cannot be true if hasDisability is true or if legal entity. |
| identification | object | Yes if businessName is not present | Information related to the identification document | Required for individuals. |
| identification.idType | string | Yes if identification is present | Type of the identification document | Only accepted value: CI. |
| identification.idNumber | string | Yes if identification is present | Series and number of the identification document | Must be a valid Romanian ID number. |
| identification.issueAuthority | string | No | Issuer of the identification document | |
| identification.issueDate | string | No | Issuing date of the identification document | Format: YYYY-MM-DD. |
| drivingLicense | object | No | | |
| drivingLicense.issueDate | string | Yes, if drivingLicense field is present | Issue date of the driver's license | Format: YYYY-MM-DD. Value cannot be greater than current date. |
| address | object | Yes | Person's home address | |
Address object
| Parameter | Type | Required | Description | Validation rules |
|---|---|---|---|---|
| country | string | No | iso2 country code | Accepted values: iso2 codes from /nomenclature/country nomenclature |
| county | string | Yes | County code | Accepted values: any code from /nomenclature/county nomenclature |
| city | string | Yes | Locality name | Accepted values: any name from /nomenclature/locality/{cod_judet} nomenclature |
| cityCode | number | Yes | Locality code (SIRUTA) | Accepted values: any siruta code from /nomenclature/locality/{cod_judet} nomenclature |
| street | string | Yes | Street | |
| houseNumber | string | Yes | House number | |
| building | string | No | Building | |
| staircase | string | No | Staircase | |
| apartment | string | No | Apartment | |
| floor | string | No | Floor | |
| postcode | string | No | Postcode | |
Vehicle object
The product object must include only one of the following mutually exclusive sub‑objects:
- solarPanel Object
| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | Yes | Effective start date of the policy (format: YYYY-MM-DD). |
| termTime | integer | Yes | Policy validity period in months. |
| solarPanelItems | array | Yes | Array of solar panel items (see table below). |
solarPanelItem Object
| Parameter | Type | Required | Description |
|---|---|---|---|
| category | string | Yes | Category (e.g., Photovoltaic/Solar/Heat Pump). |
| brand | string | Yes | Brand of the solar panel item (e.g., Tier-1 Canadian Solar 405W). |
| power | string | Yes | Power rating (e.g., "3"). |
| type | string | Yes | Type (e.g., Single-phase, Supracharge, Three-phase). |
| count | integer | Yes | Number of items. |
| inverter | object | Yes | Inverter details. |
| smartMeter | object | Yes | Smart meter details. |
| installationDate | string | Yes | Installation date (format: YYYY-MM-DD). |
| address | object | Yes | Address information for installation (see Address section). |
Inverter Object
| Parameter | Type | Required | Description |
|---|---|---|---|
| brand | string | Yes | Ex: Huawei SUN2000-3/5/6/8/10KTL |
smartMeter Object
| Parameter | Type | Required | Description |
|---|---|---|---|
| brand | string | Yes | Ex: Smart meter Huawei |
- GAP Object
| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | Yes | Effective start date (format: YYYY-MM-DD). |
| termTime | integer | Yes | Policy validity period in months. |
| vehicle | object | Yes | Object containing complete vehicle details (see table below). |
Vehicle Object (for GAP)
| Parameter | Type | Required | Description |
|---|---|---|---|
| licensePlate | string | Yes | Vehicle license plate. Format and rules vary depending on registration type. |
| registrationType | string | Yes | Registration type (e.g., registered, recorded, temporaryRegistered, temporaryRecorded). |
| vin | string | Yes | Vehicle Identification Number (5–17 characters; excludes O, I, Q if year > 1981). |
| vehicleType | string | Yes | Vehicle type (e.g., M1, M1G). |
| brand | string | Yes | Vehicle brand (e.g., Suzuki). |
| model | string | Yes | Vehicle model (e.g., Vitara). |
| yearOfConstruction | integer | Yes | Production year of the vehicle. |
| totalWeight | integer | Yes | Gross vehicle weight. |
| seats | integer | Yes | Number of seats. |
| usageType | string | Yes | Only vehicle usage type accepted is "personal" as of 30.05.2025. |
| address | object | Yes | Address information for the vehicle (see Address section). |
- HouseAssistance Object
| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | Yes | Effective start date (format: YYYY-MM-DD). |
| termTime | integer | Yes | Policy validity period in months. |
| builtArea | integer | Yes | Total constructed area of the property, including walls, balconies (m²). |
| usableArea | integer | Yes | Net usable area of the property, excluding walls and common areas (m²). |
| address | object | Yes | Address information for the house (see Address section). |
- Tire Object
| Parameter | Type | Required | Description | Validation |
|---|---|---|---|---|
| startDate | string | Yes | Effective start date of the Tire cover. | Format YYYY-MM-DD. Must be ≥ today ≤ 60 days in the future. |
| termTime | integer | Yes | Policy validity period in months. | Must be 12 or 24. |
| purchaseDate | string | Yes | Date the tires were purchased. | Format YYYY-MM-DD. Must be ≤ today and ≥ 30 days ago. |
| purchasePrice | number | Yes | Purchase price of the set of tires, in RON. | Numeric > 0 and ≤ 8000. |
| vehicleBrand | string | Yes | Vehicle brand on which the tires are mounted. | Name value from Nomenclature: /nomenclature/vehicle-brand |
| vehicleModel | string | Yes | Vehicle model on which the tires are mounted. | Name value from Nomenclature: /nomenclature/vehicle-model/{vehicleBrandId} |
| tireMake | string | Yes | Manufacturer of the tires. | Code value from Nomenclature: /nomenclature/tire-brand. As of 01.08.2025 only "michelin" is accepted. |
| tireModel | string | Yes | Model name of the tire. | Name value from Nomenclature: /nomenclature/vehicle-model/{tireMakeCode} |
| tireWidth | integer | Yes | Wheel rim diameter in inches. | Size value from Nomenclature: /nomenclature/tire-size |
| dot | string | Yes | DOT (Department of Transportation) code of the tire. | Exactly 4 digits, representing week and year (e.g., 3719). |
- DigitalProtection Object
| Parameter | Type | Required | Description | Validation |
|---|---|---|---|---|
| startDate | string | Yes | Effective start date of the Digital protection cover. | Format YYYY-MM-DD. Min: tomorrow. Max: today + 60 days. |
| termTime | integer | Yes | Policy validity period in months. | Must be 12. |
- BusinessCyberProtection Object
| Parameter | Type | Required | Description | Validation |
|---|---|---|---|---|
| startDate | string | Yes | Effective start date. | Format YYYY-MM-DD. Min: tomorrow. Max: today + 60 days. |
| termTime | integer | Yes | Policy validity period in months. | Must be 12. |
| installmentCount | integer | No | Number of payment installments. | Must be between 1 and 4. |
| website | string | Yes | Business website URL. | Must be a valid URL. |
| turnover | string | Yes | Annual business turnover. | Enum: "less_than_100k", "less_than_500k", "less_than_1m". |
| numberOfEmployees | integer | Yes | Number of employees. | Min: 1, Max: 100. |
| numberOfComputers | integer | Yes | Total computers in business. | Min: 1, Max: 25. |
| numberOfInsuredComputers | integer | Yes | Number of computers to insure. | Min: 1, Max: 25. |
| numberOfServers | integer | Yes | Total servers in business. | Min: 0, Max: 100. |
| numberOfInsuredServers | integer | Yes | Number of servers to insure. | Min: 0, Max: 100. |
| hasFirewall | boolean | Yes | Business has a firewall. | |
| hasAntivirus | boolean | Yes | Business has antivirus software. | |
| wantsEndpointSoftware | boolean | Yes | Wants endpoint protection software. | |
| wantsEdrForComputers | boolean | Yes | Wants EDR for computers. | |
| wantsEdrForServers | boolean | Yes | Wants EDR for servers. | |
| insuredAmount | integer | Yes | Amount to insure in EURO. | Min: 5000, Max: 100000. |
- ExtendedWarranty Object
| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | Yes | Effective start date (format: YYYY-MM-DD). |
| termTime | integer | Yes | Policy validity period in months. |
| vehicle | object | Yes | Object containing complete vehicle details (see table below). |
Vehicle Object (for ExtendedWarranty)
| Parameter | Type | Required | Description |
|---|---|---|---|
| licensePlate | string | Yes | Vehicle license plate. |
| registrationType | string | Yes | Registration type (only registered). |
| vin | string | Yes | Vehicle Identification Number. |
| vehicleType | string | Yes | Vehicle type (only M1). |
| brand | string | Yes | Vehicle brand (only VAG: Volkswagen, Audi, Seat, Skoda, Cupra, Bentley, Lamborghini, Bugatti, Porsche). |
| model | string | Yes | Vehicle model (e.g., Golf). |
| enginePower | integer | Yes | Vehicle engine power. |
| currentMileage | integer | Yes | Vehicle current mileage. |
| usageType | string | Yes | Only vehicle usage type accepted is "personal". |
| isFirstOwner | boolean | Yes | Whether it is the first owner of the vehicle. |
| yearOfConstruction | string | Yes | Production year of the vehicle. |
| firstRegistration | string | Yes | Vehicle first registration date. |
| deliveryDate | string | No | Vehicle delivery date. |
- Electronics Object (LG)
| Parameter | Type | Required | Description | Validation |
|---|---|---|---|---|
| purchaseDate | string | Yes | Date the device was purchased. | Format YYYY-MM-DD. Must be ≤ today and ≥ 15 days ago. |
| purchasePrice | number | Yes | Purchase price of the device, in RON. | Numeric > 0. |
| productCategory | string | Yes | Device category. | Accepted values: audio_video, televizor, frigider, masina_spalat, monitor, aer_conditionat. See /nomenclature/electronics-product-category. |
| productBrand | string | No | Device brand (e.g., lg). | |
| productModel | string | No | Device model name (e.g., OLED65C3). | |
| invoiceNumber | string | Yes | Invoice/fiscal document number. | |
Note: Only one sub-object (either
solarPanelorgapfor Colonnade,houseAssistancefor Pointer,tire/tireFleetfor Michelin,digitalProtectionorbusinessCyberProtectionfor LevIns,extendedWarrantyfor Porsche,electronicsfor LG) should be included in a valid offer request. The system automatically determines the product type based on which key is present in the JSON payload.
3.1.2. Validation rules
Refer to the JSON schema for detailed validation rules (e.g., date formats, acceptable values for registration types, etc.).
Note: Validation messages are in English by default. To change them to Romanian, include the header parameter Content-Language: ro.
3.2. Response
A successful response returns an Offer object in the data field with the following key properties:
| Parameter | Type | Description |
|---|---|---|
| offerId | number | Unique identifier of the offer (used for policy transformation). |
| providerOfferCode | string | Unique identifier generated by the insurer. |
| premiumAmount | number | Premium amount (gross). |
| premiumAmountNet | number | Premium net amount. |
| currency | string | Currency of the offer. |
| startDate | string | Policy start date. |
| endDate | string | Policy end date. |
| referenceRate | number | Offer reference rate. |
| bonusMalusClass | string | Bonus‑malus class used for premium calculation. |
| commissionValue | number | Commission value for the broker. |
| commissionPercent | number | Commission percentage. |
| greenCardExclusions | string | List of countries where the policy will not be applied. |
| notes | string | Additional notes. |
| offerExpiryDate | string | Expiry date of the offer (format: Y-m-d). |
| directCompensation | object | If applicable, details for direct compensation. |
| installments | object | Payment installment details (if applicable). |
| pid | string | PID file URL (if configured). |
| toc | string | Terms and Conditions file URL (if configured). |
4. Transform offer to policy
-
Endpoint:
POST /policy -
Description: Transforms an offer into a policy using the provided offer identifier.
4.1. Request
| Parameter | Type | Required | Description |
|---|---|---|---|
| offerId | number | Yes | Unique identifier of the offer (obtained from the offer response). |
| payment | object | Yes | Payment details (see Payment object table below). |
| additionalData | object | No | Additional data as required by the product. |
Payment object:
| Parameter | Type | Required | Description |
|---|---|---|---|
| method | string | Yes | Payment method. Accepted values: pos, receipt, broker receipt, broker payment order. |
| currency | string | Yes | Payment currency (only RON is accepted at the moment). |
| amount | number | Yes | Payment amount in RON. |
| date | string | Yes | Payment date (format: YYYY-MM-DD). |
| documentNumber | string | Yes | Payment proof document details. |
4.2. Response
The response returns a Policy object in the data field with the following key properties:
| Parameter | Type | Description |
|---|---|---|
| policies | array | Array of Policy objects. |
Each Policy object includes:
| Parameter | Type | Description |
|---|---|---|
| policyId | number | Unique identifier of the issued policy. |
| series | string | Policy series. |
| number | number | Policy number. |
| payment | object | Payment details (see ResponsePayment object). |
| startDate | string | Policy start date. |
| endDate | string | Policy end date. |
| premiumAmount | number | Value of the policy. |
| currency | string | Policy currency. |
| installments | object | Installment details (if applicable). |
ResponsePayment object:
| Parameter | Type | Description |
|---|---|---|
| method | string | Payment method as sent to the insurer. |
| currency | string | Currency used for payment. |
| amount | number | Amount paid. |
| date | string | Payment date. |
| documentNumber | string | Payment proof document details. |
5. Documents
5.1. Offer
-
Endpoint:
GET /offer/\{offerId\} -
Description: Downloads the offer in PDF format.
-
Note: The downloaded PDFs will include the following documents:
-
offer
-
dnt
-
pre‑contract
-
gdpr
-
terms‑and‑conditions
5.2.1 Policy
-
Endpoint:
GET /policy/\{policyId\} -
Description: Downloads the policy in PDF format.
5.2.2 By policy series and number
-
Endpoint:
GET /policy?series=\{series\}&number=\{number\} -
You will need to provide the
seriesandnumberreceived in the response of transform offer into policy call to access the download feature.
6. Product-specific parameters
For the Assets API, additional product‑specific parameters are required for the insurers Colonnade, Pointer, Michelin, LevIns, Porsche and LG.
6.1. Colonnade
SolarPanel Validations:
| Parameter | Type | Required | Description |
|---|---|---|---|
| product.solarPanel.solarPanelItems.*.installationDate | string | Yes | Max 2 years in the past. |
| product.solarPanel.termTime | number | Yes | Depending on installationDate: - if = 2 years → 1‑4 years (12‑48 months)- if = 1 year → 1‑5 years (12‑60 months)- if < 1 year → 1‑6 years (12‑72 months). Value must be sent in months. |
GAP Validations:
| Parameter | Type | Required | Description |
|---|---|---|---|
| product.gap.termTime | number | Yes | Must be 12. |
AdditionalData for Colonnade – SolarPanel:
| Parameter | Type | Required | Description |
|---|---|---|---|
| purchasePrice | number | Yes | Purchase price in RON. Must not exceed 150000. |
AdditionalData for Colonnade – General:
| Parameter | Type | Required | Description |
|---|---|---|---|
| agreements | object | Yes | Object containing mandatory agreement flags. |
agreements Object Structure:
| Parameter | Type | Required | Description |
|---|---|---|---|
| gdpr | boolean | Yes | Must be true. |
| consultation | boolean | Yes | Must be true. |
| dnt | boolean | Yes | Must be true. |
If the policyholder is a legal entity, the following field is also mandatory:
| Parameter | Type | Required | Description |
|---|---|---|---|
| policyholder.hasRelationsWithRussiaOrBelarus | boolean | Yes, if policyholder is a legal entity | Must be false. Indicates that the policyholder has NO relations with Russia or Belarus. |
6.2. Pointer
For the houseAssistance product, the following additional data is mandatory:
AdditionalData for Pointer – HouseAssistance:
| Parameter | Type | Required | Description |
|---|---|---|---|
| packageCodes | array | No | A list of selected package codes for which offers will be generated. |
6.3. Michelin
6.3.1. Michelin - Tire
For the tire product, the following additional data is mandatory:
AdditionalData for Michelin – Tire:
| Parameter | Type | Required | Description |
|---|---|---|---|
| agreements | object | Yes | Object containing mandatory agreement flags. |
agreements Object Structure:
| Parameter | Type | Required | Description |
|---|---|---|---|
| purchased4Tires | boolean | Yes | Must be true. |
| michelinDataAgreement | boolean | No | |
| customerAgreement | boolean | Yes | Must be true. |
| marketingConsent | boolean | No | |
6.3.2. Michelin - Tire Fleet
The Tire Fleet product allows fleet operators to insure multiple vehicles' tyres under a single policy. The quotation always returns 4 offers (2 packages × 2 durations: 12 and 24 months) computed locally — no external insurer call is made during the quotation step.
Packages & Pricing:
| Package Code | Package Name | 12 months (per vehicle) | 24 months (per vehicle) |
|---|---|---|---|
| var_1 | Varianta 1 | 80 RON | 125 RON |
| var_2 | Varianta 2 | 90 RON | 145 RON |
Final premium = unit price × number of vehicles (VAT 21% included). Commission: 30%.
The providerOfferCode in the response encodes the selected package and duration as \{packageCode\}:\{termTime\}:\{uuid\} (e.g., var_1:12:550e8400-e29b-41d4-a716-446655440000). This allows the policy issuance step to reconstruct the offer without additional lookups.
product.tireFleet Object:
| Parameter | Type | Required | Description |
|---|---|---|---|
| startDate | string | Yes | Policy start date. Format: YYYY-MM-DD. Must be today or in the future. |
| vehicles | array<Vehicle> | Yes | Array of Vehicle objects. Minimum 1 vehicle required. |
Vehicle Object (within tireFleet.vehicles):
| Parameter | Type | Required | Description |
|---|---|---|---|
| vehicleBrand | string | Yes | Vehicle brand name (e.g., SUZUKI, DACIA). |
| vehicleModel | string | Yes | Vehicle model name (e.g., Vitara, Logan). |
| purchaseDate | string | Yes | Tyre purchase date. Format: YYYY-MM-DD. |
| purchasePrice | number | Yes | Total purchase price for the set of 4 tyres (RON). Minimum 1. |
| tireMake | string | Yes | Tyre brand (e.g., michelin). |
| tireModel | string | Yes | Tyre model (e.g., ALPIN 6, PRIMACY 4). |
| tireWidth | integer | Yes | Tyre width in inches. Minimum 1. |
| dot | string | Yes | DOT code of the tyre. Exactly 4 characters (e.g., 3719). |
additionalData for Michelin - Tire Fleet:
| Parameter | Type | Required | Description |
|---|---|---|---|
| agreements | object | Yes | Object containing mandatory agreement flags. |
| notes | string | No | Optional notes attached to the policy. |
agreements Object Structure (for Tire Fleet):
| Parameter | Type | Required | Description |
|---|---|---|---|
| purchased4Tires | boolean | Yes | Must be true. Confirms 4 tyres were purchased per vehicle. |
| customerAgreement | boolean | Yes | Must be true. Customer consent agreement. |
| michelinDataAgreement | boolean | No | Michelin data processing agreement. |
| marketingConsent | boolean | No | Marketing communications consent. |
Documents:
| Document Type | Endpoint | Source |
|---|---|---|
| Offer PDF (PID + T&C) | GET /offer/{offerId} | Local files stored in the application (no Atlas call). |
| Policy PDF | GET /policy/{policyId} | Downloaded from the Atlas document service using the policy code. |
Example Offer Request (Tire Fleet):
jsonwide760
Example Offer Response (4 offers returned for 2 vehicles):
wide760
6.4. LevIns
6.4.1. LevIns - DigitalProtection
This product is strictly for individual customers only; the policyholder must be an individual person.
6.4.2. LevIns - BusinessCyberProtection
This product is strictly for business customers only; the policyholder must be a business.
6.5. Porsche
The Extended Warranty product offers additional protection for vehicles beyond the standard manufacturer warranty. Eligible vehicles must be registered, have a maximum mileage (180,000 km), and meet specific criteria such as brand (Volkswagen, Audi, Seat, Skoda, Cupra, Bentley, Lamborghini, Bugatti, Porsche), usage type (personal), and a maximum age (year of construction within the last 7 years).
6.6. LG
6.6.1. LG - Electronics
The Electronics product provides two types of insurance coverage for consumer electronics devices purchased within the last 15 days:
-
ADT (Accident Damage and Theft) — accidental damage & theft cover. Available for 12, 24 or 36 months. Coverage starts today (date of offer).
-
EW (Extended Warranty) — extended warranty cover. Available for 12 or 24 months. Coverage starts after the manufacturer warranty expires:
-
Individual policyholder (PF):
purchaseDate + 2 years -
Legal entity policyholder (PJ):
purchaseDate + 1 year
The quotation always returns 5 offers computed locally — no external insurer call is made during the quotation step:
-
ADT 12 months
-
ADT 24 months
-
ADT 36 months
-
GE 12 months
-
GE 24 months
Pricing:
Premium = purchasePrice × percentage / 100. The percentage depends on the product category and the package/duration chosen. Commission: 30%.
| ADT 36m | GE 12m | GE 24m | |||
|---|---|---|---|---|---|
| audio_video | 5.0% | 8.5% | 12.0% | 5.0% | 9.5% |
| tv | 5.0% | 8.5% | 12.0% | 5.0% | 9.5% |
| refrigerator | 3.0% | 5.5% | 8.0% | 5.0% | 9.5% |
| washing_machine | 3.0% | 5.5% | 8.0% | 5.0% | 9.5% |
| monitor | 4.0% | 7.0% | 10.0% | 5.0% | 9.5% |
| air_conditioning | 3.0% | 5.5% | 8.0% | 5.0% | 9.5% |
The providerOfferCode encodes the package and duration as \{packageCode\}:\{termTime\}:\{uuid\} (e.g., daf:12:550e8400-e29b-41d4-a716-446655440000).
Nomenclature:
Product categories can be retrieved from: GET /nomenclature/electronics-product-category
product.electronics Object:
| Parameter | Type | Required | Description | Validation |
|---|---|---|---|---|
| purchaseDate | string | Yes | Date the device was purchased. | Format YYYY-MM-DD. Must be ≤ today and ≥ 15 days ago. |
| purchasePrice | number | Yes | Purchase price in RON. | Numeric > 0. |
| productCategory | string | Yes | Device category. | See /nomenclature/electronics-product-category for accepted values. |
| productBrand | string | No | Device brand (e.g., lg). | |
| productModel | string | No | Device model (e.g., OLED65C3). | |
| invoiceNumber | string | Yes | Invoice / fiscal document number. | |
additionalData for LG - Electronics:
| Parameter | Type | Required | Description |
|---|---|---|---|
| agreements | object | Yes | Object containing mandatory agreement flags. |
agreements Object Structure:
| Parameter | Type | Required | Description |
|---|---|---|---|
| termsAndConditions | boolean | Yes | Must be true. Customer accepts terms and conditions. |
| dataPrivacy | boolean | Yes | Must be true. Customer accepts data privacy policy. |
| marketingConsent | boolean | No | Marketing communications consent. |
Example Offer Request (LG Electronics):
jsonwide760
Example Offer Response (5 offers returned for televizor, purchasePrice = 5000 RON):
jsonwide760
Note: For DAF offers,
startDateis always the current date (date of quotation). For GE offers,startDateispurchaseDate + 2 yearsfor individual policyholders (PF) andpurchaseDate + 1 yearfor legal entity policyholders (PJ).
Documents:
| Document Type | Endpoint | Source |
|---|---|---|
| Offer PDF | GET /offer/{offerId} | Local files stored in the application (no Atlas call). |
| Policy PDF | GET /policy/{policyId} | Local files stored in the application (no Atlas call). |