Innboforsikring (Contents Insurance)
Work in Progress
This documentation is under development and may be updated.
API Documentation for Contents Insurance integration with the Consumer Council's insurance service.
Request from Consumer Council
When the Consumer Council sends a request to the insurance company, it will be in JSON format. This request contains information about the person to be insured, as well as details about the specific contents insurance offer that has been requested.
Example Request
{
"id": "string",
"person": {
"pid": "string",
"firstName": "string",
"lastName": "string",
"addresses": [
{
"source": "string",
"streetName": "string",
"postalCode": "string",
"postalLocation": "string"
}
],
"memberships": [
{
"membershipId": "string",
"membershipName": "string"
}
]
},
"offerRequest": [
{
"id": "678aufj",
"type": "innbo",
"data": {
"coverage": "standard",
"addons": ["sykkeldekning", "tilleggsdekning"],
"currentAccidents": 0,
"lastAccidentDate": "string",
"residence": {
"type": "string",
"constructionYear": 1990,
"constructionType": "string",
"rented": false,
"rentedBTA": 0,
"rentedBRA": 0,
"roomsBelowGround": false,
"intruderAlarm": {
"present": false,
"approved": false
},
"fireAlarm": {
"present": false,
"emergencyResponse": false
},
"waterAlarm": {
"present": false,
"emergencyResponse": false,
"approvedStopper": false,
"automaticStopper": false
},
"insuredAmount": "string"
}
}
}
],
"requestAt": "2024-10-16T12:06:00Z"
}
Request Field Descriptions
Root Level Fields
| Field | Type | Description |
|---|---|---|
id | string | The unique ID for the request |
requestAt | string | The date and time when the request was sent |
Person Object
| Field | Type | Description |
|---|---|---|
pid | string | The personal identification number of the person to be insured. Example: "01019612345" |
firstName | string | The first name of the person to be insured. Example: "Ole" |
lastName | string | The last name of the person to be insured. Example: "Nordmann" |
addresses | array | Information about the address of the person to be insured |
memberships | array | Information about various memberships of the person to be insured |
Address Object
| Field | Type | Description |
|---|---|---|
source | string | Source of the address. Example: "National Registry" |
streetName | string | Street name of the address. Example: "Ole Nordmanns Gate 1" |
postalCode | string | Postal code of the address. Example: "0123" |
postalLocation | string | Postal location of the address. Example: "OSLO" |
Membership Object
| Field | Type | Description |
|---|---|---|
membershipId | string | The ID of the membership. Example: "MEMB-001" |
membershipName | string | The name of the membership. Example: "Tekna" |
Offer Request Object
| Field | Type | Description |
|---|---|---|
id | string | The unique ID for the offer request. Example: "678aufj" |
type | string | Type of product. Value: "innbo" |
data | object | Data for the offer |
Offer Data Object
| Field | Type | Description |
|---|---|---|
coverage | string | Coverage for the insurance. Values: "standard", "utvidet" |
addons | array | Additional services. Example: ["sykkeldekning", "tilleggsdekning"] |
currentAccidents | number | Number of accidents. Example: 0 |
lastAccidentDate | string | Date of the last accident. Example: "2023-05-15" |
residence | object | Information about the residence |
Residence Object
| Field | Type | Description |
|---|---|---|
type | string | Type of residence. Values: "Enebolig", "Vertikaldelt tomannsbolig", "Horisontaldelt tomannsbolig", "Rekkehus", "Leilighet" |
constructionYear | number | Year the building was constructed. Example: 1990 |
constructionType | string | Type of construction. Values: "Tre", "Mur", "Betong" |
rented | boolean | Whether the residence is rented. Example: false |
rentedBTA | number | Rented gross area (BTA). Example: 0 |
rentedBRA | number | Rented usable area (BRA). Example: 0 |
roomsBelowGround | boolean | Whether there are rooms below ground level. Example: false |
insuredAmount | string | Insured amount. Example: "1000000" |
Intruder Alarm Object
| Field | Type | Description |
|---|---|---|
present | boolean | Whether an intruder alarm is present. Example: false |
approved | boolean | Whether the alarm is approved. Example: false |
Fire Alarm Object
| Field | Type | Description |
|---|---|---|
present | boolean | Whether a fire alarm is present. Example: false |
emergencyResponse | boolean | Whether connected to emergency response. Example: false |
Water Alarm Object
| Field | Type | Description |
|---|---|---|
present | boolean | Whether a water alarm is present. Example: false |
emergencyResponse | boolean | Whether connected to emergency response. Example: false |
approvedStopper | boolean | Whether there is an approved water stopper. Example: false |
automaticStopper | boolean | Whether the stopper is automatic. Example: false |
Response from Insurance Company
This is a description of how the response from the insurance company should be structured.
Example Response
{
"id": "string",
"company": "string",
"totalPrice": 0,
"totalDiscount": 0,
"totalOriginalPrice": 0,
"discountDescription": "string",
"products": [
{
"id": "string",
"type": "innbo",
"productName": "string",
"prices": {
"price": 0,
"discount": 0,
"originalPrice": 0,
"tfa": 0.0
},
"productDetails": {
"coverage": "string",
"ipidUrls": [
{
"description": "string",
"url": "string"
}
],
"termsUrls": [
{
"description": "string",
"url": "string"
}
]
},
"offer": {
"insuredAmount": "string",
"deductible": 0
}
}
],
"purchaseUrl": "string",
"receivedAt": "string",
"responseAt": "string"
}
Response Field Descriptions
Root Level Fields
| Field | Type | Description |
|---|---|---|
id | string | The unique ID for the request |
company | string | The name of the insurance company. Example: "Forsikringsselskap" |
totalPrice | number | Total price for all products after discount. Example: 3600 |
totalDiscount | number | Total discount for all products. Example: 400 |
totalOriginalPrice | number | Total original price for all products before discount. Example: 4000 |
discountDescription | string | Description of the discount. Example: "Medlemsrabatt Tekna" |
Products Array
| Field | Type | Description |
|---|---|---|
id | string | The unique ID for the product. Example: "I-123456789" |
type | string | Type of product. Value: "innbo" |
productName | string | The name of the product. Example: "Innboforsikring Utvidet" |
Prices Object
| Field | Type | Description |
|---|---|---|
price | number | Price for the product after discount. Example: 3600 |
discount | number | Discount for the product. Example: 400 |
originalPrice | number | Original price for the product before discount. Example: 4000 |
tfa | number | TFA fee for the product. Example: 0.0 |
Product Details Object
| Field | Type | Description |
|---|---|---|
coverage | string | Coverage for the product. Example: "utvidet" |
ipidUrls | array | List of URLs to IPID documents |
termsUrls | array | List of URLs to terms and conditions |
IPID/Terms URL Object
| Field | Type | Description |
|---|---|---|
description | string | Description of the document. Example: "Produktinformasjon innboforsikring" |
url | string | URL to the document. Example: "https://example.com/ipid-innbo.pdf" |
Offer Object
| Field | Type | Description |
|---|---|---|
insuredAmount | string | Insured amount for the product. Example: "1000000" |
deductible | number | Deductible for the product. Example: 4000 |
Additional Response Fields
| Field | Type | Description |
|---|---|---|
purchaseUrl | string | URL for purchasing the products. Example: "https://example.com/purchase/innbo" |
receivedAt | string | Time when the request was received. Example: "2024-10-16 12:06:00" |
responseAt | string | Time when the response was sent. Example: "2024-10-16T12:06:05Z" |
Error Handling
In case of errors, the company should respond with an appropriate HTTP status code and the following body:
{
"error": {
"code": "string",
"message": "string"
}
}
See Car Insurance Error Handling for the list of error codes.