# Specifications for independent home version 01-01-2026

### 1. Independent Homes (Type A)

**Endpoint:** <mark style="color:green;">`POST`</mark> `https://api.altum.ai/wws/01012026`

{% hint style="info" %}
&#x20;<mark style="color:orange;">\*</mark> <mark style="color:$info;">:</mark>  means this feature is mandatory; otherwise, it is optional.
{% endhint %}

#### 1.1 Root Object Parameters

<table><thead><tr><th>Parameter</th><th width="105.39996337890625">Type</th><th>Description</th><th>Allowed Values</th></tr></thead><tbody><tr><td><code>house_type</code> <mark style="color:orange;">*</mark></td><td>String</td><td>Type of the dwelling.</td><td><code>Eengezinswoning</code>, <code>Meergezinswoning</code>, <code>Duplexwoning</code></td></tr><tr><td><code>build_year</code> <mark style="color:orange;">*</mark></td><td>Integer</td><td>Year of construction.</td><td>e.g., <code>1995</code>, <code>2022</code></td></tr><tr><td><code>woz_valuation_year</code> <mark style="color:orange;">*</mark></td><td>Integer</td><td>Reference year for WOZ value.</td><td><code>2024</code>, <code>2025</code>, <code>2026</code></td></tr><tr><td><code>corop_area_amsterdam_or_utrecth</code> <mark style="color:orange;">*</mark></td><td>Boolean</td><td>Is the property in Amsterdam/Utrecht COROP region?</td><td><code>true</code>, <code>false</code></td></tr><tr><td><code>woz_value</code></td><td>Float</td><td>The determined WOZ value (€).</td><td>≥ 0</td></tr><tr><td><code>usable_surface_area</code></td><td>Float</td><td>Total usable surface area (m²).</td><td>≥ 0</td></tr><tr><td><code>contract_start_date</code></td><td>String</td><td>Lease start date (ISO 8601). Affects monument point calculation (pre/post July 2024).</td><td><code>YYYY-MM-DD</code></td></tr><tr><td><code>energy_label</code></td><td>String</td><td>Official energy label.</td><td><code>A++++</code>, <code>A+++</code>, <code>A++</code>, <code>A+</code>, <code>A</code>, <code>B</code>, <code>C</code>, <code>D</code>, <code>E</code>, <code>F</code>, <code>G</code>, <code>""</code></td></tr><tr><td><code>energy_index_existence</code></td><td>Boolean</td><td>Whether an energy index value is provided.</td><td><code>true</code>, <code>false</code></td></tr><tr><td><code>energy_index</code></td><td>Float</td><td>Energy index value (used if no label available).</td><td>≥ 0</td></tr><tr><td><code>energy_performance_compensation</code></td><td>Boolean</td><td>EPV (Energieprestatievergoeding) applies. Overrides label/index points.</td><td><code>true</code>, <code>false</code></td></tr><tr><td><code>monument</code></td><td>String</td><td>Monument status.</td><td><code>national</code>, <code>municipal</code>, <code>provincial</code>, <code>""</code></td></tr><tr><td><code>care_home</code></td><td>Boolean</td><td>Is it a designated care home (Zorgwoning)? Adds 35% uplift.</td><td><code>true</code>, <code>false</code></td></tr><tr><td><code>doorbell</code></td><td>Boolean</td><td>Presence of a video doorbell (+0.25 pts).</td><td><code>true</code>, <code>false</code></td></tr><tr><td><code>disability_costs</code></td><td>Float</td><td>Net investment costs for disability adaptations (€). 1 pt per €332.</td><td>≥ 0</td></tr><tr><td><code>rooms</code></td><td>List</td><td>List of Room objects. See §1.2 Rooms.</td><td>—</td></tr><tr><td><code>kitchen</code></td><td>List</td><td>List of Kitchen objects. See §1.2 Kitchen.</td><td>—</td></tr><tr><td><code>sanitary</code></td><td>List</td><td>List of Sanitary objects. See §1.2 Sanitary.</td><td>—</td></tr><tr><td><code>toilet</code></td><td>List</td><td>List of Toilet objects. See §1.2 Toilet.</td><td>—</td></tr><tr><td><code>outdoor</code></td><td>List</td><td>List of Outdoor objects. See §1.2 Outdoor. No entry = -5 pts penalty.</td><td>—</td></tr><tr><td><code>parking</code></td><td>List</td><td>List of Parking objects. See §1.2 Parking.</td><td>—</td></tr><tr><td><code>disabled_people</code></td><td>Integer</td><td>Number of disabled occupants.</td><td>≥ 0</td></tr></tbody></table>

#### 1.2 Nested Objects

**`rooms` (List)**

*Living rooms, bedrooms, hallways, storage spaces, attics, etc.*

<table><thead><tr><th width="284.20001220703125">Field</th><th width="137.79998779296875">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>type_of_room</code> <mark style="color:orange;">*</mark></td><td>String</td><td><code>room</code> (living/bedroom counts as vertrek) or <code>other</code> (storage/hall counts as overige ruimte)</td></tr><tr><td><code>surface_area</code> </td><td>Float</td><td>Area in m²</td></tr><tr><td><code>shared_addresses</code> </td><td>Integer</td><td>Number of dwellings sharing this space</td></tr><tr><td><code>heated</code></td><td>Boolean</td><td>Is the room heated? (+2 pts for vertrek, +1 pt for overige ruimte)</td></tr><tr><td><code>cooled</code></td><td>Boolean</td><td>Is the room cooled? (+1 pt, only for vertrekken, capped at 2 pts total)</td></tr><tr><td><code>attic_without_fixed_staircase</code></td><td>Boolean</td><td>Attic accessible by ladder only — applies a 5 pt deduction on that space</td></tr></tbody></table>

**Example 1: A standard heated living room**

```
{
  "type_of_room": "room",
  "surface_area": 35.5,
  "heated": true,
  "cooled": false
}
```

**Example 2: An unheated storage attic**

```
{
  "type_of_room": "other",
  "surface_area": 12.0,
  "heated": false,
  "cooled": false,
  "attic_without_fixed_staircase": true
}
```

**`kitchen` (List)**

*Kitchen spaces. Points based on countertop length + features.*

<table><thead><tr><th>Field</th><th width="163.4000244140625">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>type_of_room</code> <mark style="color:orange;">*</mark></td><td>String</td><td><code>room</code> or <code>other</code></td></tr><tr><td><code>surface_area</code></td><td>Float</td><td>Area in m²</td></tr><tr><td><code>countertop_length</code> <mark style="color:orange;">*</mark></td><td>Float</td><td>Countertop length in meters. <code>&#x3C; 1m</code> = 0 pts, <code>≥ 1m</code> = 4 pts, <code>≥ 2m</code> = 7 pts</td></tr><tr><td><code>shared_addresses</code></td><td>Integer</td><td>Number of dwellings sharing this kitchen</td></tr><tr><td><code>open_kitchen</code></td><td>Boolean</td><td>Kitchen is in open connection (>50% wall) with adjacent room</td></tr><tr><td><code>heated</code></td><td>Boolean</td><td>Is the kitchen heated?</td></tr><tr><td><code>cooled</code></td><td>Boolean</td><td>Is the kitchen cooled?</td></tr><tr><td><code>kitchen_features</code> <mark style="color:orange;">*</mark></td><td>Object</td><td>Kitchen feature counts. See table below.</td></tr></tbody></table>

**Kitchen Features Object (Type A)** *All values are Integers (0 = absent, 1 = present, or specific count).* *Extra feature points are capped at the base countertop points.*

| Feature                                        |   Type  |
| ---------------------------------------------- | :-----: |
| `extractor_system`                             | Integer |
| `induction_hob`                                | Integer |
| `ceramic_hob`                                  | Integer |
| `gas_hob`                                      | Integer |
| `refrigerator`                                 | Integer |
| `freezer`                                      | Integer |
| `oven_electric`                                | Integer |
| `oven_gas`                                     | Integer |
| `microwave`                                    | Integer |
| `dishwasher`                                   | Integer |
| `extra_cupboard_space_per_60cm`                | Integer |
| `one_hand_mixer_tap`                           | Integer |
| `one_hand_mixer_tap_with_boiling_function`     | Integer |
| `thermostatic_mixer_tap`                       | Integer |
| `thermostatic_mixer_tap_with_boiling_function` | Integer |

**Example 1: Basic Kitchen (Short counter, gas hob)**

```
{
  "type_of_room": "room",
  "surface_area": 8.0,
  "countertop_length": 1.8,
  "kitchen_features": {
    "gas_hob": 1,
    "extractor_system": 1,
    "dishwasher": 0,
    "refrigerator": 0
  }
}
```

**Example 2: Luxury Kitchen (Long counter, Quooker, Induction)**

```
{
  "type_of_room": "room",
  "surface_area": 15.0,
  "countertop_length": 3.5,
  "kitchen_features": {
    "induction_hob": 1,
    "dishwasher": 1,
    "refrigerator": 1,
    "one_hand_mixer_tap_with_boiling_function": 1,
    "extra_cupboard_space_per_60cm": 2
  }
}
```

**`sanitary` (List)**

*Bathrooms. Updated for 2026 rules — toilet location is now specified explicitly.*

| Field                                                     | Type    | Description                                                            |
| --------------------------------------------------------- | ------- | ---------------------------------------------------------------------- |
| `type_of_room` <mark style="color:orange;">\*</mark>      | String  | `room` or `other`                                                      |
| `surface_area`                                            | Float   | Area in m²                                                             |
| `shared_addresses`                                        | Integer | Number of dwellings sharing this bathroom                              |
| `heated`                                                  | Boolean | Is the bathroom heated?                                                |
| `cooled`                                                  | Boolean | Is the bathroom cooled?                                                |
| `shower_facility` <mark style="color:orange;">\*</mark>   | String  | Type of wash facility.                                                 |
| `toilet_in_bathroom`                                      | Boolean | Standard toilet located inside the bathroom (+2.0 pts)                 |
| `wall_hung_toilet_in_bathroom`                            | Boolean | Wall-hung toilet inside the bathroom (+2.75 pts)                       |
| `toilet_in_separate_room`                                 | Boolean | Standard toilet in a separate room within the sanitary area (+3.0 pts) |
| `wall_hung_toilet_in_separate_room`                       | Boolean | Wall-hung toilet in a separate room (+3.75 pts)                        |
| `is_bathroom`                                             | Boolean | Whether this space is a bathroom. Affects washbasin point caps.        |
| `sanitary_features` <mark style="color:orange;">\*</mark> | Object  | Sanitary feature counts. See table below.                              |

**Sanitary Features Object (Type A)** *All values are Integers.* *Extra feature points are capped at the shower/bath base points.*

| Feature                         |      Type     |
| ------------------------------- | :-----------: |
| `washbasin`                     |    Integer    |
| `multi_person_washbasin`        |    Integer    |
| `cupboard_space`                | Boolean (0/1) |
| `power_outlet`                  |    Integer    |
| `build_in_cupboard`             |    Integer    |
| `complete_separation_of_shower` |    Integer    |
| `bath_with_bubble_function`     |    Integer    |
| `one_hand_mixer_tap`            |    Integer    |
| `thermostatic_mixer_tap`        |    Integer    |
| `towel_radiator`                |    Integer    |

**Example 1: Standard Bathroom (Shower + Sink)**

```
{
  "type_of_room": "other",
  "surface_area": 4.5,
  "shower_facility": "shower",
  "toilet": 0,
  "sanitary_features": {
    "washbasin": 1,
    "thermostatic_mixer_tap": 1,
    "towel_radiator": 0
  }
}
```

**Example 2: Full Bathroom (Bath, Toilet, Double Sink)**

```
{
  "type_of_room": "other",
  "surface_area": 9.0,
  "shower_facility": "bath",
  "toilet": 1,
  "sanitary_features": {
    "wall_hung_toilet": 1,
    "multi_person_washbasin": 1,
    "towel_radiator": 1,
    "bath_with_bubble_function": 1
  }
}
```

**`toilet` (List)**

*Separate toilet rooms (standalone, not inside a bathroom).*

<table><thead><tr><th width="149">Field</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>type_of_room</code> <mark style="color:orange;">*</mark></td><td>String</td><td><code>room</code> or <code>other</code></td></tr><tr><td><code>surface_area</code></td><td>Float</td><td>Area in m²</td></tr><tr><td><code>shared_addresses</code></td><td>Integer</td><td>Number of dwellings sharing this toilet</td></tr><tr><td><code>heated</code></td><td>Boolean</td><td>Is the room heated?</td></tr><tr><td><code>cooled</code></td><td>Boolean</td><td>Is the room cooled?</td></tr><tr><td><code>wall_hung_toilet</code></td><td>Boolean</td><td>Wall-hung toilet (+3.75 pts) vs standard (+3.0 pts)</td></tr><tr><td><code>washbasin</code></td><td>Integer</td><td>Count of washbasins (+1.0 pt each)</td></tr></tbody></table>

**Example 1: Standard Toilet**

```
{
  "type_of_room": "other",
  "surface_area": 1.2,
  "wall_hung_toilet": false,
  "washbasin": 0
}
```

**Example 2: Modern Toilet with Fountain**

```
{
  "type_of_room": "other",
  "surface_area": 1.5,
  "wall_hung_toilet": true,
  "washbasin": 1
}
```

**`outdoor` (List)**

*Gardens, balconies, terraces. No outdoor space = -5 pts penalty.*

<table><thead><tr><th width="209.800048828125">Field</th><th width="145.79998779296875">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>surface_area</code></td><td>Float</td><td>Area in m²</td></tr><tr><td><code>shared_addresses</code></td><td>Integer</td><td>Number of dwellings sharing this outdoor space</td></tr></tbody></table>

**Example 1: Small Balcony**

```
{
  "surface_area": 6.5
}
```

**Example 2: Large Garden**

```
{
  "surface_area": 45.0
}
```

**`parking` (List)**

*Shared or private parking spaces.*

| Field              | Type    | Description                                                                    |
| ------------------ | ------- | ------------------------------------------------------------------------------ |
| `parking_type`     | Integer | `1` = Garage/Indoor (9 pts), `2` = Carport/Covered (6 pts), `3` = Open (4 pts) |
| `surface_area`     | Float   | Area in m²                                                                     |
| `shared_addresses` | Integer | Number of dwellings sharing this parking space                                 |
| `charging_station` | Boolean | Has EV charging point (+2 pts)                                                 |

**Example 1: Private Garage with Charger**

```
{
  "parking_type": 1,
  "charging_station": true
}
```

**Example 2: Carport**

```
{
  "parking_type": 2,
  "charging_station": false
}
```

#### 1.3 Example JSON (Type A)

```json
{
  "house_type": "Meergezinswoning",
  "build_year": 2005,
  "woz_valuation_year": 2024,
  "woz_value": 250000,
  "energy_label": "B",
  "energy_index_existence": false,
  "energy_index": 0,
  "energy_performance_compensation": false,
  "corop_area_amsterdam_or_utrecth": false,
  "usable_surface_area": 75.0,
  "contract_start_date": "2024-01-15",
  "monument": "",
  "care_home": false,
  "doorbell": true,
  "disability_costs": 0,
  "disabled_people": 0,
  "rooms": [
    {
      "type_of_room": "room",
      "surface_area": 20.5,
      "shared_addresses": 1,
      "heated": true,
      "cooled": false,
      "attic_without_fixed_staircase": false
    },
    {
      "type_of_room": "other",
      "surface_area": 8.0,
      "shared_addresses": 1,
      "heated": false,
      "cooled": false,
      "attic_without_fixed_staircase": false
    }
  ],
  "kitchen": [
    {
      "type_of_room": "room",
      "open_kitchen": false,
      "surface_area": 12.0,
      "countertop_length": 2.5,
      "shared_addresses": 1,
      "heated": true,
      "cooled": false,
      "kitchen_features": {
        "extractor_system": 1,
        "induction_hob": 1,
        "ceramic_hob": 0,
        "gas_hob": 0,
        "refrigerator": 1,
        "freezer": 0,
        "oven_electric": 1,
        "oven_gas": 0,
        "microwave": 1,
        "dishwasher": 1,
        "extra_cupboard_space_per_60cm": 2,
        "one_hand_mixer_tap": 0,
        "one_hand_mixer_tap_with_boiling_function": 1,
        "thermostatic_mixer_tap": 0,
        "thermostatic_mixer_tap_with_boiling_function": 0
      }
    }
  ],
  "sanitary": [
    {
      "type_of_room": "other",
      "surface_area": 5.0,
      "heated": false,
      "cooled": false,
      "shower_facility": "shower",
      "toilet_in_bathroom": true,
      "wall_hung_toilet_in_bathroom": false,
      "toilet_in_separate_room": false,
      "wall_hung_toilet_in_separate_room": false,
      "is_bathroom": true,
      "shared_addresses": 1,
      "sanitary_features": {
        "washbasin": 1,
        "multi_person_washbasin": 0,
        "cupboard_space": 0,
        "power_outlet": 1,
        "build_in_cupboard": 0,
        "complete_separation_of_shower": 0,
        "bath_with_bubble_function": 0,
        "one_hand_mixer_tap": 1,
        "thermostatic_mixer_tap": 0,
        "towel_radiator": 0
      }
    }
  ],
  "toilet": [
    {
      "type_of_room": "other",
      "surface_area": 2.0,
      "heated": false,
      "cooled": false,
      "wall_hung_toilet": true,
      "washbasin": 1,
      "shared_addresses": 1
    }
  ],
  "outdoor": [
    {
      "surface_area": 20.0,
      "shared_addresses": 1
    }
  ],
  "parking": [
    {
      "parking_type": 2,
      "surface_area": 15.0,
      "shared_addresses": 1,
      "charging_station": true
    }
  ]
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.altum.ai/english/financing/wws-points-api/specifications-for-independent-home-version-01-01-2026.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
