Skip to main content
Version: 1.0.1

Husforsikring (Home Insurance)

Work in Progress

This documentation is under development and may be updated.

API Documentation for Home 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 home to be insured.

Example Request

{
"id": "f7a28936-8a58-49a5-a989-76c8a752dbdf",
"person": {
"pid": "01019612345",
"firstName": "Ole",
"lastName": "Nordmann",
"addresses": [
{
"source": "National Registry",
"streetName": "Ole Nordmanns Gate 1",
"postalCode": "0123",
"postalLocation": "OSLO"
}
],
"memberships": [
{
"membershipId": "MEMB-001",
"membershipName": "Tekna"
}
]
},
"offerRequest": [
{
"id": "haus-123456",
"type": "hus",
"data": {
"id": "hus-tjorvagen-12",
"coverage": "standard",
"addons": ["vannstopper", "sopp_og_råte", "naturskade"],
"residence": [
{
"address": {
"source": "National Registry",
"streetName": "Tjorvågen 12",
"postalCode": "4352",
"postalLocation": "KLEPPE"
},
"bathroom": {
"totalBathrooms": "2",
"oldestLastRenovated": "2019",
"olderThanFiftyYears": false
},
"basement": {
"present": true,
"arealLiving": "45",
"totalRooms": "2"
},
"fireAlarm": {
"present": true,
"fgApproved": true
},
"water": {
"waterAlarm": {
"present": true,
"fgApproved": true,
"automaticResponseAlarm": false
},
"stopper": {
"present": true,
"automatic": true,
"fgApproved": true
},
"waterCheckLastFiveYears": true,
"checkValve": true,
"pipeInPipe": true,
"pipesLastRenovated": "2019"
},
"burglarAlarm": {
"present": true,
"fgApproved": true
},
"electric": {
"passedInspection": true,
"inspectedWithThermography": true,
"lastInspected": "2022",
"lastRenovated": "2019",
"automaticCircuitBreaker": true
},
"renovation": {
"renovated": true,
"roofAngle": "38",
"roofCondition": true,
"oldestRoofSection": "2015",
"buildingStandard": "god",
"buildingCondition": "meget_god",
"needsRehab": false
},
"damages": {
"totalLastThreeYears": "0",
"pest": "0",
"otherDamages": "0",
"deductibleFromDamage": "0",
"waterDamage": "0",
"buildingMoistureProblem": false
},
"type": "enebolig",
"inhabited": true,
"inhabitedByOwner": true,
"pant": true,
"fullValue": "4500000",
"constructionYear": "1995",
"listed": false,
"buildingMaterial": "tre",
"totalUnits": "1",
"rentingStatus": false,
"partiallyRented": false,
"totalRentedUnits": "0",
"rentedToFamily": false,
"rentedToBusiness": false,
"Areal": "180",
"usedAreal": "180",
"livedSpacedAreal": "135",
"notLivedSpacesAreal": "45",
"moreThan50PercentEmpty": false,
"stoveGuard": true,
"totalResidents": "4"
}
]
}
}
],
"requestAt": "2024-10-16T12:06:00Z"
}

Request Field Descriptions

Root Level Fields

FieldTypeDescription
idstringThe unique ID for the request
requestAtstringThe date and time when the request was sent

Person Object

FieldTypeDescription
pidstringThe personal identification number of the person to be insured. Example: "01019612345"
firstNamestringThe first name of the person to be insured. Example: "Ole"
lastNamestringThe last name of the person to be insured. Example: "Nordmann"
addressesarrayInformation about the address of the person to be insured
membershipsarrayInformation about various memberships of the person to be insured

Address Object

FieldTypeDescription
sourcestringSource of the address. Example: "National Registry"
streetNamestringStreet name of the address. Example: "Ole Nordmanns Gate 1"
postalCodestringPostal code of the address. Example: "0123"
postalLocationstringPostal location of the address. Example: "OSLO"

Membership Object

FieldTypeDescription
membershipIdstringThe ID of the membership. Example: "MEMB-001"
membershipNamestringThe name of the membership. Example: "Tekna"

Offer Request Object

FieldTypeDescription
idstringThe unique ID for the offer request. Example: "haus-123456"
typestringType of product. Value: "hus"
dataobjectData for the offer

Offer Data Object

FieldTypeDescription
idstringUnique identifier for the home. Example: "hus-tjorvagen-12"
coveragestringCoverage level for the insurance. Values: "standard", "pluss", "ekstra"
addonsarrayAdditional services. Example: ["vannstopper", "sopp_og_råte", "naturskade"]
residencearrayArray of residence information objects

Residence Object

The residence object contains detailed information about the property to be insured.

Property Address

FieldTypeDescription
address.sourcestringSource of the address. Example: "National Registry"
address.streetNamestringStreet name. Example: "Tjorvågen 12"
address.postalCodestringPostal code. Example: "4352"
address.postalLocationstringPostal location. Example: "KLEPPE"

Basic Property Information

FieldTypeDescription
typestringType of housing. Example: "enebolig"
inhabitedbooleanWhether the home is inhabited
inhabitedByOwnerbooleanWhether the home is inhabited by the owner
pantbooleanWhether there is a mortgage on the property
fullValuestringFull value of the property in NOK. Example: "4500000"
constructionYearstringYear the building was constructed. Example: "1995"
listedbooleanWhether the building is listed/heritage protected
buildingMaterialstringMain building material. Values: "tre", "mur", "betong"
totalUnitsstringTotal number of units in the building. Example: "1"
totalResidentsstringTotal number of residents. Example: "4"
stoveGuardbooleanWhether a stove guard is installed

Area Information

FieldTypeDescription
ArealstringTotal area in square meters. Example: "180"
usedArealstringUsable area in square meters. Example: "180"
livedSpacedArealstringLiving space area in square meters. Example: "135"
notLivedSpacesArealstringNon-living space area in square meters. Example: "45"
moreThan50PercentEmptybooleanWhether more than 50% of the property is empty

Rental Information

FieldTypeDescription
rentingStatusbooleanWhether the property is being rented out
partiallyRentedbooleanWhether the property is partially rented
totalRentedUnitsstringNumber of rented units. Example: "0"
rentedToFamilybooleanWhether rented to family members
rentedToBusinessbooleanWhether rented for business purposes

Bathroom Object

FieldTypeDescription
totalBathroomsstringTotal number of bathrooms. Example: "2"
oldestLastRenovatedstringYear the oldest bathroom was last renovated. Example: "2019"
olderThanFiftyYearsbooleanWhether any bathroom is older than 50 years

Basement Object

FieldTypeDescription
presentbooleanWhether the building has a basement
arealLivingstringLiving area in basement in square meters. Example: "45"
totalRoomsstringTotal number of rooms in basement. Example: "2"

Fire Alarm Object

FieldTypeDescription
presentbooleanWhether a fire alarm is installed
fgApprovedbooleanWhether the fire alarm is FG-approved

Water Object

The water object contains information about water-related safety measures.

Water Alarm

FieldTypeDescription
waterAlarm.presentbooleanWhether a water alarm is installed
waterAlarm.fgApprovedbooleanWhether the water alarm is FG-approved
waterAlarm.automaticResponseAlarmbooleanWhether the alarm has automatic emergency response

Water Stopper

FieldTypeDescription
stopper.presentbooleanWhether a water stopper is installed
stopper.automaticbooleanWhether the stopper automatically shuts off water
stopper.fgApprovedbooleanWhether the stopper is FG-approved

Pipes and Plumbing

FieldTypeDescription
waterCheckLastFiveYearsbooleanWhether a water check was performed in the last 5 years
checkValvebooleanWhether a check valve/backflow preventer is installed
pipeInPipebooleanWhether pipe-in-pipe system is installed
pipesLastRenovatedstringYear the pipes were last renovated. Example: "2019"

Burglar Alarm Object

FieldTypeDescription
presentbooleanWhether a burglar alarm is installed
fgApprovedbooleanWhether the burglar alarm is FG-approved

Electric Object

FieldTypeDescription
passedInspectionbooleanWhether the electrical system passed inspection
inspectedWithThermographybooleanWhether inspected with thermography
lastInspectedstringYear of last inspection. Example: "2022"
lastRenovatedstringYear of last electrical renovation. Example: "2019"
automaticCircuitBreakerbooleanWhether automatic circuit breaker is installed

Renovation Object

FieldTypeDescription
renovatedbooleanWhether the home has been renovated
roofAnglestringRoof angle in degrees. Example: "38"
roofConditionbooleanWhether the roof is in good condition
oldestRoofSectionstringYear of oldest roof section. Example: "2015"
buildingStandardstringBuilding standard. Values: "lav", "god", "høy"
buildingConditionstringBuilding condition. Values: "dårlig", "god", "meget_god"
needsRehabbooleanWhether the building needs rehabilitation

Damages Object

FieldTypeDescription
totalLastThreeYearsstringTotal damages in the last 3 years. Example: "0"
peststringNumber of pest damages. Example: "0"
otherDamagesstringNumber of other damages. Example: "0"
deductibleFromDamagestringDeductible from damage. Example: "0"
waterDamagestringNumber of water damages. Example: "0"
buildingMoistureProblembooleanWhether there are moisture problems in the building

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": "hus",
"productName": "string",
"prices": {
"price": 0,
"discount": 0,
"originalPrice": 0,
"tfa": 0.0
},
"productDetails": {
"coverage": "string",
"ipidUrls": [
{
"url": "string"
}
],
"termsUrls": [
{
"url": "string"
}
]
},
"offer": {
"fullValue": "string",
"deductible": 0,
"additionalCoverage": ["string"]
}
}
],
"purchaseUrl": "string",
"receivedAt": "string",
"responseAt": "string"
}

Response Field Descriptions

Root Level Fields

FieldTypeDescription
idstringThe unique ID for the request
companystringThe name of the insurance company. Example: "Forsikringsselskap"
totalPricenumberTotal price for all products after discount. Example: 5200
totalDiscountnumberTotal discount for all products. Example: 350
totalOriginalPricenumberTotal original price for all products before discount. Example: 5550
discountDescriptionstringDescription of the discount. Example: "Medlemsrabatt og boligrabatt"

Products Array

FieldTypeDescription
idstringThe unique ID for the product. Example: "hus-123456"
typestringType of product. Value: "hus"
productNamestringThe name of the product. Example: "Husforsikring Standard"

Prices Object

FieldTypeDescription
pricenumberPrice for the product after discount. Example: 5200
discountnumberDiscount for the product. Example: 350
originalPricenumberOriginal price for the product before discount. Example: 5550
tfanumberTFA fee for the product. Example: 0.0

Product Details Object

FieldTypeDescription
coveragestringCoverage for the product. Example: "standard"
ipidUrlsarrayList of URLs to IPID documents
termsUrlsarrayList of URLs to terms and conditions

IPID/Terms URL Object

FieldTypeDescription
urlstringURL to the document. Example: "https://example.com/ipid-hus.pdf"

Offer Object

FieldTypeDescription
fullValuestringFull value for the home. Example: "4500000"
deductiblenumberDeductible for the product. Example: 8000
additionalCoveragearrayExtra coverage included. Example: ["vannstopper", "sopp_og_råte", "naturskade"]

Additional Response Fields

FieldTypeDescription
purchaseUrlstringURL for purchasing the products. Example: "https://example.com/purchase/hus"
receivedAtstringTime when the request was received. Example: "2024-10-16 12:06:00"
responseAtstringTime when the response was sent. Example: "2024-10-16T12:06:30Z"

Allowed Values

Coverage Levels

ValueDescription
standardStandard coverage
plussPlus coverage
ekstraExtra coverage

Building Types

ValueDescription
eneboligDetached house
tomannsboligDuplex
rekkehusTownhouse
leilighetApartment

Building Materials

ValueDescription
treWood
murBrick
betongConcrete

Building Standard

ValueDescription
lavLow standard
godGood standard
høyHigh standard

Building Condition

ValueDescription
dårligPoor condition
godGood condition
meget_godVery good condition

Available Addons

ValueDescription
vannstopperWater stopper coverage
sopp_og_råteMold and rot coverage
naturskadeNatural disaster coverage

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.