# Authenticatie, invoer en resultaat

### Endpoint <a href="#endpoint" id="endpoint"></a>

<mark style="color:$success;">**`POST`**</mark>   `https://api.altum.ai/subsidy`

**Request headers**

| Header         | Verplicht | Waarde                  |
| -------------- | --------- | ----------------------- |
| `x-api-key`    | Ja        | Je Altum AI API-sleutel |
| `Content-Type` | Ja        | `application/json`      |

De snelste manier om de API werkend te zien, is door één veld te sturen, `postcode`, en het antwoord te bekijken.

De snelste manier om de API werkend te zien, is door één veld te sturen, `postcode`, en het antwoord te bekijken.

```bash
curl -X POST https://api.altum.ai/subsidy \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "postcode": "3511 AA"
  }'
```

Dit geeft alle beschikbare subsidies voor de postcode terug (gemeentelijk, provinciaal en landelijk), met `Loans.eligible_programs` leeg en zonder `isde_2026`-blok.

Vanaf hier zijn er drie gebruiksflows die het verzoek uitbreiden:

| Flow                                 | Toevoegen aan verzoek    | Geeft terug                                  |
| ------------------------------------ | ------------------------ | -------------------------------------------- |
| **Subsidies ophalen**                | `level`, `limit`, `tags` | Alleen gefilterde subsidies                  |
| **Leningseligibiliteit controleren** | `applicant`-object       | Passende leningsprogramma's met berekeningen |
| **ISDE-subsidie schatten**           | `isde`-object            | `isde_2026`-berekeningsblok                  |

Je kunt alle drie combineren in één verzoek.

Geeft subsidies, leningseligibiliteit en ISDE 2026-schattingen terug voor een opgegeven postcode. De objecten `applicant` en `isde` zijn optioneel. Het antwoord heeft altijd dezelfde structuur op het hoogste niveau; secties die je niet hebt opgevraagd worden teruggegeven als lege arrays of weggelaten.

#### Request body - hoogste niveau

| Veld        | Type              | Verplicht | Beschrijving                                                                                                                                                         |
| ----------- | ----------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `postcode`  | string            | Ja        | Nederlandse postcode in het formaat `1234 AB` (met spatie).                                                                                                          |
| `level`     | array van strings | Nee       | Filter subsidies op niveau. Eén of meer van `municipality`, `province`, `national`. Standaard alle drie.                                                             |
| `limit`     | integer           | Nee       | Maximaal aantal subsidies per niveau.                                                                                                                                |
| `tags`      | array van strings | Nee       | Filter subsidies op onderwerp. Zie [Tags-referentie](https://claude.ai/chat/f1e3fc54-fd83-4af5-af86-6ce39794e55a#tags-referentie).                                   |
| `applicant` | object            | Nee       | Persoonlijke en financiële gegevens voor leningseligibiliteit. Zie [Applicant-object](https://claude.ai/chat/f1e3fc54-fd83-4af5-af86-6ce39794e55a#applicant-object). |
| `isde`      | object            | Nee       | Projectgegevens voor de ISDE 2026-berekening. Zie [ISDE-object](https://claude.ai/chat/f1e3fc54-fd83-4af5-af86-6ce39794e55a#isde-object).                            |

**Volledig verzoekvoorbeeld**

```json
{
  "postcode": "3511 AA",
  "level": ["municipality", "national"],
  "limit": 5,
  "tags": ["Isolatie", "Warmtepompen"],
  "applicant": {
    "age": 45,
    "is_homeowner": true,
    "is_occupant": true,
    "residence_country": "Netherlands",
    "property_use_residential_percent": 100,
    "credit_approved": true,
    "previously_rejected_nwf1": false,
    "rejection_reason": null,
    "requested_amount": 15000,
    "existing_nwf_loan_balance": 0,
    "specific_target_group": false,
    "collective_neighborhood": false,
    "has_mortgage_security": false,
    "business_part_connected": null,
    "gross_household_income": 55000,
    "desired_loan_period_years": 10
  },
  "isde": {
    "prior_isde": "1",
    "prior_heat_pump": "none",
    "insulation": {
      "roof": { "selected": true, "area_m2": 45.0, "date_bucket": "2025_2026", "biobased": false },
      "floor": { "selected": true, "area_m2": 30.0, "date_bucket": "2024_24m", "biobased": true }
    },
    "glazing": {
      "hrpp": { "selected": true, "area_2024": 10.0, "area_2025_2026": 5.0 }
    },
    "ventilation": {
      "selected": true,
      "within_24_months_of_insulation": true,
      "install_year": 2026
    },
    "heat_pump_primary": {
      "selected": true,
      "pump_type": "Lucht-water ≥ 1 kW en ≤ 70 kW",
      "energy_class": "A++",
      "power_kw": 6.0,
      "install_year": 2026,
      "purchase_year": 2025,
      "role": "primary"
    },
    "heat_pump_extra": null,
    "solar_boiler": { "selected": false },
    "district_heating": { "selected": false },
    "electric_cooking": { "selected": false }
  }
}
```

### Gebruiksflows

#### <mark style="color:$primary;">Flow 1 - Alleen subsidies ophalen</mark>

Stuur `postcode` met optioneel `level`, `limit` en `tags`. Het antwoord geeft subsidies terug, gegroepeerd per niveau. `Loans.eligible_programs` is leeg en het `isde_2026`-blok ontbreekt.

**Request**

```json
{
  "postcode": "3511 AA",
  "level": ["municipality", "province", "national"],
  "limit": 5,
  "tags": ["Isolatie", "Warmtepompen"]
}
```

**Response (ingekort)**

```json
{
  "postal_code": "3511 AA",
  "municipality": "Utrecht",
  "province": "Utrecht",
  "disclaimer": "These subsidies were available at the moment of scraping and may have closed since. Please verify on official websites.",
  "Loans": { "eligible_programs": [] },
  "subsidies": {
    "municipality_subsidies": [
      {
        "location_name": "Utrecht",
        "name": "Vraag subsidie isoleren kleine vve",
        "description": "Deze subsidie van de gemeente Utrecht is bedoeld voor kleine Verenigingen van Eigenaren (VvE's)...",
        "eligibility": "Eigenaar zijn van een woning in een kleine VvE...",
        "application_deadlines": "until:31 december 2026",
        "subsidy_amounts": "min:€8.000 max:€8.000",
        "budget_ceilings": null,
        "application_process": "Maak eventueel een afspraak voor hulp bij de aanvraag...",
        "url": "https://loket.digitaal.utrecht.nl/nl/producten/kleine-vve-isoleren-extra-subsidie-aanvragen",
        "contact_info": "subsidie@utrecht.nl, 030 – 286 33 36",
        "level": "municipality"
      }
    ],
    "province_subsidies": [
      {
        "location_name": "Utrecht",
        "name": "Subsidieregeling Bereikbaarheid",
        "description": "De Subsidieregeling Bereikbaarheid van de provincie Utrecht...",
        "eligibility": "Fiets: Wegbeheerders binnen de provincie Utrecht...",
        "application_deadlines": "from:7 januari 2026 to:30 september 2026",
        "subsidy_amounts": null,
        "budget_ceilings": null,
        "application_process": "Dien een projectplanning in met duidelijke mijlpalen...",
        "url": "https://www.provincie-utrecht.nl/loket/subsidies/subsidieregeling-bereikbaarheid",
        "contact_info": "Voor algemene vragen: subsidies@provincie-utrecht.nl...",
        "level": "province"
      }
    ],
    "national_subsidies": [
      {
        "location_name": "Netherlands",
        "name": "ISDE: Warmtepomp woningeigenaren",
        "description": "Met de Investeringssubsidie duurzame energie en energiebesparing (ISDE)...",
        "eligibility": "U laat de warmtepomp eerst installeren, daarna vraagt u de subsidie aan...",
        "application_deadlines": "Aanvragen tot en met 31 december 2030.",
        "subsidy_amounts": null,
        "budget_ceilings": null,
        "application_process": "Voor uw aanvraag heeft u de DigiD-app nodig...",
        "url": "https://www.rvo.nl/subsidies-financiering/isde/woningeigenaren/warmtepomp",
        "contact_info": "Ministerie van Economische Zaken en Klimaat",
        "level": "national"
      }
    ]
  }
}
```

**Velden van een subsidie-item**

| Veld                    | Type           | Beschrijving                                                                                                               |
| ----------------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `location_name`         | string         | Naam van gemeente, provincie of land.                                                                                      |
| `name`                  | string         | Naam van het programma (Nederlands).                                                                                       |
| `description`           | string         | Beschrijving van het programma (Nederlands).                                                                               |
| `eligibility`           | string \| null | Voorwaarden gescheiden door puntkomma's (Nederlands).                                                                      |
| `application_deadlines` | string \| null | Deadlinestring. Formaten: `until:<datum>` of `from:<datum> to:<datum>`. Datums in het Nederlands (bv. `31 december 2026`). |
| `subsidy_amounts`       | string \| null | Bedragenrange als string. Formaat: `min:€<bedrag> max:€<bedrag>`.                                                          |
| `budget_ceilings`       | string \| null | Totaal budgetplafond voor het programma, indien opgegeven.                                                                 |
| `application_process`   | string \| null | Hoe aan te vragen (Nederlands).                                                                                            |
| `url`                   | string         | Officiële programmapagina.                                                                                                 |
| `contact_info`          | string \| null | Contactgegevens van de uitgevende instantie.                                                                               |
| `level`                 | string         | Eén van `municipality`, `province`, `national`.                                                                            |

#### <mark style="color:$primary;">Flow 2 - Leningseligibiliteit</mark>

Voeg het `applicant`-object toe aan het verzoek. Het antwoord geeft passende leningsprogramma's terug met berekeningen toegespitst op de aanvrager (rentepercentage, maandlast, totale kosten).

**Request**

```json
{
  "postcode": "3511 AA",
  "applicant": {
    "age": 45,
    "is_homeowner": true,
    "is_occupant": true,
    "residence_country": "Netherlands",
    "property_use_residential_percent": 100,
    "credit_approved": true,
    "previously_rejected_nwf1": false,
    "rejection_reason": null,
    "requested_amount": 15000,
    "existing_nwf_loan_balance": 0,
    "specific_target_group": false,
    "collective_neighborhood": false,
    "has_mortgage_security": false,
    "business_part_connected": null,
    "gross_household_income": 55000,
    "desired_loan_period_years": 10
  }
}
```

**Response**

```json
{
  "postal_code": "3511 AA",
  "municipality": "Utrecht",
  "province": "Utrecht",
  "disclaimer": "These subsidies were available at the moment of scraping and may have closed since. Please verify on official websites.",
  "Loans": {
    "eligible_programs": [
      {
        "program_name": "Energy Savings Loan (NWF 1)",
        "description": "Standard loan for homeowners (≤75 years old) to finance energy-saving home improvements.",
        "min_max_loan_amount": [1000, 28000],
        "max_loan_period_years": 20,
        "interest_type": "Income-based: 0% if household income ≤€60,000, otherwise 3.61% fixed",
        "repayment": "Monthly annuity (up to 20 years; 15 years for heat pumps/batteries if >33% of loan)",
        "key_features": [
          "Requires professional contractor installation",
          "Applies to 18 defined energy-saving measures",
          "Early repayment allowed without penalty (min €250)",
          "No mortgage required; construction deposit used"
        ],
        "loan_amount": 15000,
        "loan_period_years": 10,
        "applied_interest_rate_percent": 0,
        "total_interest": 0,
        "total_cost": 15000,
        "monthly_payment": 125
      },
      {
        "program_name": "Sustainability Loan (Duurzaamheidslening)",
        "description": "A low-interest loan offered through municipalities in collaboration with SVn...",
        "min_max_loan_amount": [2500, 25000],
        "max_loan_period_years": 15,
        "interest_type": "Fixed rate: typically 1.7% for 10 years (loans ≤€7,500) or 15 years (loans >€7,500)",
        "repayment": "Monthly annuity payments; early repayment allowed without penalty.",
        "key_features": [
          "Available only in participating municipalities",
          "Loan amount depends on local program limits",
          "Funds are managed through an SVn building depot for direct payment to contractors",
          "Fixed interest rate for the entire loan term",
          "Requires prior approval (Toewijzingsbrief) from the municipality before applying at SVn",
          "Intended for sustainability measures improving energy efficiency"
        ],
        "applied_interest_rate_percent": 1.7,
        "loan_amount": 15000,
        "loan_period_years": 10,
        "total_interest": 1321.7,
        "total_cost": 16321.7,
        "monthly_payment": 136.01
      }
    ]
  },
  "subsidies": {
    "municipality_subsidies": [],
    "province_subsidies": [],
    "national_subsidies": []
  }
}
```

**Velden van een passend programma**

| Veld                            | Type               | Beschrijving                                                                                  |
| ------------------------------- | ------------------ | --------------------------------------------------------------------------------------------- |
| `program_name`                  | string             | Naam van het leningsproduct.                                                                  |
| `description`                   | string             | Korte samenvatting van het leningsproduct.                                                    |
| `min_max_loan_amount`           | array `[min, max]` | Toegestane leningrange in euro.                                                               |
| `max_loan_period_years`         | integer            | Maximale looptijd in jaren.                                                                   |
| `interest_type`                 | string             | Tekstuele beschrijving van hoe de rente wordt bepaald.                                        |
| `repayment`                     | string             | Tekstuele beschrijving van de aflossingsvoorwaarden.                                          |
| `key_features`                  | array van strings  | Bullets met kenmerken van het programma.                                                      |
| `loan_amount`                   | number             | Bedrag dat is gebruikt in deze berekening (echo van `applicant.requested_amount`).            |
| `loan_period_years`             | integer            | Looptijd die is gebruikt in deze berekening (echo van `applicant.desired_loan_period_years`). |
| `applied_interest_rate_percent` | number             | Rentepercentage dat voor deze specifieke aanvrager is toegepast.                              |
| `total_interest`                | number             | Totale rente over de looptijd (€).                                                            |
| `total_cost`                    | number             | Hoofdsom + totale rente (€).                                                                  |
| `monthly_payment`               | number             | Maandelijkse annuïteit (€), afgerond op twee decimalen.                                       |

#### <mark style="color:$primary;">Flow 3 - ISDE 2026-berekening</mark>

Voeg het `isde`-object toe aan het verzoek. Het antwoord geeft een `isde_2026`-blok terug met de totale subsidieschatting, een uitsplitsing per categorie en eventuele waarschuwingen.

**Request**

```json
{
  "postcode": "3511 AA",
  "isde": {
    "prior_isde": "1",
    "prior_heat_pump": "none",
    "insulation": {
      "roof":   { "selected": true, "area_m2": 38.0, "date_bucket": "2025_2026", "biobased": false },
      "attic":  { "selected": true, "area_m2": 12.0, "date_bucket": "2025_2026", "biobased": false },
      "facade": { "selected": true, "area_m2": 24.0, "date_bucket": "2025_2026", "biobased": false },
      "cavity": { "selected": true, "area_m2": 32.0, "date_bucket": "2025_2026", "biobased": false },
      "floor":  { "selected": true, "area_m2": 28.0, "date_bucket": "2024_24m",  "biobased": true  },
      "bottom": { "selected": true, "area_m2": 14.0, "date_bucket": "2024_24m",  "biobased": false }
    },
    "glazing": {
      "hrpp":    { "selected": true, "area_2024": 6.0, "area_2025_2026": 3.5 },
      "triple":  { "selected": true, "area_2024": 2.5, "area_2025_2026": 2.0 },
      "panel12": { "selected": true, "area_2024": 1.5, "area_2025_2026": 1.0 },
      "panel07": { "selected": true, "area_2024": 1.0, "area_2025_2026": 0.0 },
      "door15":  { "selected": true, "area_2024": 1.8, "area_2025_2026": 0.0 },
      "door10":  { "selected": true, "area_2024": 1.2, "area_2025_2026": 0.0 }
    },
    "ventilation": {
      "selected": true,
      "within_24_months_of_insulation": true,
      "install_year": 2026
    },
    "heat_pump_primary": {
      "selected": true,
      "pump_type": "Lucht-water ≥ 1 kW en ≤ 70 kW",
      "energy_class": "A++",
      "power_kw": 5.0,
      "install_year": 2026,
      "purchase_year": 2025,
      "role": "primary"
    },
    "heat_pump_extra": {
      "selected": true,
      "pump_type": "Lucht-water ≥ 1 kW en ≤ 70 kW",
      "energy_class": "A+",
      "power_kw": 3.0,
      "install_year": 2026,
      "purchase_year": 2025,
      "role": "extra"
    },
    "solar_boiler": {
      "selected": true,
      "boiler_type": "Zonneboiler",
      "size_bucket": "<=5",
      "install_year": 2024
    },
    "district_heating": {
      "selected": true,
      "year_bucket": "2024_24m"
    },
    "electric_cooking": {
      "selected": true,
      "on_warmtenet": true,
      "district_heating_subsidy_received": false,
      "gas_disconnected_and_within_24_months": true
    }
  }
}
```

**Response**

```json
{
  "postal_code": "3511 AA",
  "municipality": "Utrecht",
  "province": "Utrecht",
  "disclaimer": "These subsidies were available at the moment of scraping and may have closed since. Please verify on official websites.",
  "Loans": { "eligible_programs": [] },
  "subsidies": {
    "municipality_subsidies": [],
    "province_subsidies": [],
    "national_subsidies": []
  },
  "isde_2026": {
    "total_subsidy_euro": 12764.5,
    "category_count": 8,
    "eligibility": {
      "prior_recent": false,
      "roof_attic": true,
      "facade": true,
      "cavity": true,
      "floor_bottom": true,
      "glazing": true,
      "heat_pump": true,
      "solar_boiler": true,
      "district_heating": true
    },
    "prior_isde_warning": "",
    "skip_primary_heat_pump": false,
    "breakdown": {
      "insulation": {
        "amount": 3087,
        "warning": "",
        "details": { "...": "see Insulation breakdown details" }
      },
      "glazing": {
        "amount": 1602.5,
        "warning": "",
        "details": { "...": "see Glazing breakdown details" }
      },
      "ventilation": { "amount": 400, "warning": "", "details": {} },
      "heat_pump_primary": {
        "amount": 2150,
        "warning": "",
        "details": { "...": "see Heat pump breakdown details" }
      },
      "heat_pump_extra": {
        "amount": 0,
        "warning": "Energie-efficiency klasse voor dit type warmtepomp moet minimaal A++ zijn bij installatie vanaf 1 januari 2024.",
        "details": {}
      },
      "solar_boiler": {
        "amount": 1750,
        "warning": "Dit subsidiebedrag is indicatief, raadpleeg de ISDE-apparatenlijst zonneboilers voor het exacte bedrag.",
        "details": {}
      },
      "district_heating": {
        "amount": 3775,
        "warning": "Dit subsidiebedrag is inclusief een bijdrage voor een elektrische kookvoorziening.",
        "details": {}
      },
      "electric_cooking": {
        "amount": 0,
        "warning": "U komt niet in aanmerking voor een aparte subsidie voor de elektrische kookvoorziening, omdat deze al bij de aansluiting op een warmtenet is inbegrepen.",
        "details": {}
      }
    }
  }
}
```

**Velden op het hoogste niveau van `isde_2026`**

| Veld                     | Type    | Beschrijving                                                                                                  |
| ------------------------ | ------- | ------------------------------------------------------------------------------------------------------------- |
| `total_subsidy_euro`     | number  | Som van alle categoriebedragen (€).                                                                           |
| `category_count`         | integer | Aantal categorieën dat een bedrag > 0 oplevert.                                                               |
| `eligibility`            | object  | Booleaanse map van eligibiliteitschecks per categoriegroep.                                                   |
| `prior_isde_warning`     | string  | Waarschuwing over eerdere ISDE-aanvragen, in het Nederlands. Lege string als er geen is.                      |
| `skip_primary_heat_pump` | boolean | Geeft aan of de primaire warmtepomp is overgeslagen (bv. omdat een extra warmtepomp de plek heeft ingenomen). |
| `breakdown`              | object  | Uitsplitsing per categorie. Zie hieronder.                                                                    |

**Velden per categorie binnen `breakdown`**

Elke categorie (`insulation`, `glazing`, `ventilation`, `heat_pump_primary`, `heat_pump_extra`, `solar_boiler`, `district_heating`, `electric_cooking`) heeft dezelfde structuur:

| Veld      | Type   | Beschrijving                                                                      |
| --------- | ------ | --------------------------------------------------------------------------------- |
| `amount`  | number | Berekende subsidie voor deze categorie (€).                                       |
| `warning` | string | Nederlandse waarschuwingstekst, of een lege string.                               |
| `details` | object | Categorie-specifieke berekeningsdetails. Leeg object voor eenvoudige categorieën. |

#### <mark style="color:$primary;">Flow 4 - Gecombineerd</mark>

Stuur `postcode`, `applicant` en `isde` in één verzoek om subsidies, leningen en de ISDE-berekening tegelijk in één antwoord te ontvangen. De structuur op het hoogste niveau van het antwoord is dezelfde als in het volledige verzoekvoorbeeld.

### Schema-referentie voor verzoeken

#### <mark style="color:yellow;">Applicant-object</mark>

Alle velden zijn verplicht wanneer `applicant` is opgegeven, tenzij anders aangegeven.

| Veld                               | Type            | Beschrijving                                                                                             |
| ---------------------------------- | --------------- | -------------------------------------------------------------------------------------------------------- |
| `age`                              | integer         | Leeftijd van de aanvrager in jaren. Sommige programma's (bv. NWF 1) hanteren een leeftijdsgrens.         |
| `is_homeowner`                     | boolean         | Of de aanvrager eigenaar is van de woning.                                                               |
| `is_occupant`                      | boolean         | Of de aanvrager in de woning woont.                                                                      |
| `residence_country`                | string          | Land van verblijf. De meeste programma's vereisen `Netherlands`.                                         |
| `property_use_residential_percent` | integer         | Percentage van de woning dat residentieel wordt gebruikt (0-100).                                        |
| `credit_approved`                  | boolean         | Of de aanvrager een kredietcheck heeft doorstaan.                                                        |
| `previously_rejected_nwf1`         | boolean         | Of de aanvrager eerder is afgewezen voor een NWF 1-lening.                                               |
| `rejection_reason`                 | string \| null  | Reden van eerdere afwijzing, indien van toepassing.                                                      |
| `requested_amount`                 | number          | Gevraagd leningbedrag in euro.                                                                           |
| `existing_nwf_loan_balance`        | number          | Huidige openstaande saldo op bestaande NWF-leningen (€).                                                 |
| `specific_target_group`            | boolean         | Of de aanvrager tot een specifieke doelgroep behoort die in aanmerking komt voor bijzondere voorwaarden. |
| `collective_neighborhood`          | boolean         | Of de aanvraag onderdeel is van een collectief buurtproject.                                             |
| `has_mortgage_security`            | boolean         | Of er een hypothecaire zekerheid is.                                                                     |
| `business_part_connected`          | boolean \| null | Geeft een verbinding aan met een zakelijk deel van het pand.                                             |
| `gross_household_income`           | number          | Bruto jaarinkomen van het huishouden in euro. Wordt gebruikt voor inkomensafhankelijke renteklassen.     |
| `desired_loan_period_years`        | integer         | Gewenste looptijd in jaren.                                                                              |

#### <mark style="color:yellow;">ISDE-object</mark>

Het `isde`-object schakelt de ISDE 2026-subsidieberekening in. Alle subvelden zijn optioneel - vul alleen de maatregelen in die van toepassing zijn.

**Velden op het hoogste niveau**

| Veld                | Type           | Beschrijving                           |
| ------------------- | -------------- | -------------------------------------- |
| `prior_isde`        | string         | Aantal eerdere ISDE-aanvragen.         |
| `prior_heat_pump`   | string         | Status van een eerdere warmtepomp.     |
| `insulation`        | object         | Isolatiemaatregelen. Zie hieronder.    |
| `glazing`           | object         | Beglazingmaatregelen. Zie hieronder.   |
| `ventilation`       | object         | Mechanische ventilatie. Zie hieronder. |
| `heat_pump_primary` | object         | Primaire warmtepomp. Zie hieronder.    |
| `heat_pump_extra`   | object \| null | Extra warmtepomp, indien aanwezig.     |
| `solar_boiler`      | object         | Zonneboiler.                           |
| `district_heating`  | object         | Aansluiting op warmtenet.              |
| `electric_cooking`  | object         | Elektrische kookvoorziening.           |

**Mogelijke waarden voor `prior_isde` en `prior_heat_pump`**

`prior_isde`: "1" = nooit, "2" = ja, langer dan 24 maanden geleden, "3" = ja, binnen de laatste 24 maanden

`prior_heat_pump`: "none" / "1" = geen eerdere warmtepompsubsidie, "2" = LW warmtepomp 1-70 kW, met bonus, "3" = LW warmtepomp 1-70 kW, zonder bonus, "4" = LW warmtepomp 71-400 kW

<mark style="color:cyan;">**Insulation**</mark>

Een dictionary van isolatiemaatregelen. Ondersteunde sleutels: `roof`, `attic`, `facade`, `cavity`, `floor`, `bottom`. Elk item heeft de volgende structuur:

| Veld          | Type    | Beschrijving                                                                   |
| ------------- | ------- | ------------------------------------------------------------------------------ |
| `selected`    | boolean | Of deze maatregel is opgenomen.                                                |
| `area_m2`     | number  | Geïsoleerd oppervlak in m².                                                    |
| `date_bucket` | string  | Installatieperiode.                                                            |
| `biobased`    | boolean | Of er biobased materialen zijn gebruikt. Triggert de MKI-bonus wanneer `true`. |

<mark style="color:cyan;">**Glazing**</mark>

Een dictionary van beglazingmaatregelen. Ondersteunde sleutels: `hrpp`, `triple`, `panel12`, `panel07`, `door15`, `door10`. Elk item heeft de volgende structuur:

| Veld             | Type    | Beschrijving                               |
| ---------------- | ------- | ------------------------------------------ |
| `selected`       | boolean | Of deze maatregel is opgenomen.            |
| `area_2024`      | number  | Oppervlak in m² geplaatst in 2024.         |
| `area_2025_2026` | number  | Oppervlak in m² geplaatst in 2025 of 2026. |

<mark style="color:cyan;">**Ventilation**</mark>

| Veld                             | Type    | Beschrijving                                                                                       |
| -------------------------------- | ------- | -------------------------------------------------------------------------------------------------- |
| `selected`                       | boolean | Of ventilatie is opgenomen.                                                                        |
| `within_24_months_of_insulation` | boolean | Of ventilatie binnen 24 maanden na een isolatiemaatregel is geplaatst. Vereist voor eligibiliteit. |
| `install_year`                   | integer | Jaar van installatie.                                                                              |

<mark style="color:cyan;">**Heat pump (primary en extra)**</mark>

`heat_pump_primary` en `heat_pump_extra` hebben dezelfde structuur:

| Veld            | Type    | Beschrijving                                        |
| --------------- | ------- | --------------------------------------------------- |
| `selected`      | boolean | Of deze warmtepomp is opgenomen.                    |
| `pump_type`     | string  | Categorie van de warmtepomp. Zie de enum hieronder. |
| `energy_class`  | string  | Energie-efficiëntieklasse (bv. `A++`, `A+++`).      |
| `power_kw`      | number  | Nominaal thermisch vermogen in kW.                  |
| `install_year`  | integer | Jaar van installatie.                               |
| `purchase_year` | integer | Jaar van aankoop.                                   |
| `role`          | string  | `primary` of `extra`.                               |

**Ondersteunde `pump_type`-waarden:**

* Lucht-water ≥ 1 kW en ≤ 70 kW (meest voorkomend)
* Grond-water ≥ 1 kW en < 10 kW
* Water-water ≥ 1 kW en < 10 kW
* Lucht-water ≥ 1 kW en < 13 kW (compact/split)
* Lucht-lucht warmtepomp

<mark style="color:cyan;">**Solar boiler**</mark>

| Veld           | Type    | Beschrijving                        |
| -------------- | ------- | ----------------------------------- |
| `selected`     | boolean | Of er een zonneboiler is opgenomen. |
| `boiler_type`  | string  | Type zonneboiler.                   |
| `size_bucket`  | string  | Maatcategorie.                      |
| `install_year` | integer | Jaar van installatie.               |

<mark style="color:cyan;">**District heating**</mark>

| Veld          | Type    | Beschrijving                                         |
| ------------- | ------- | ---------------------------------------------------- |
| `selected`    | boolean | Of er een aansluiting op een warmtenet is opgenomen. |
| `year_bucket` | string  | Installatieperiode.                                  |

<mark style="color:cyan;">**Electric cooking**</mark>

| Veld                                    | Type    | Beschrijving                                                     |
| --------------------------------------- | ------- | ---------------------------------------------------------------- |
| `selected`                              | boolean | Of elektrisch koken is opgenomen.                                |
| `on_warmtenet`                          | boolean | Of de woning is aangesloten op een warmtenet.                    |
| `district_heating_subsidy_received`     | boolean | Of er al een warmtenetsubsidie is ontvangen.                     |
| `gas_disconnected_and_within_24_months` | boolean | Of de gasaansluiting binnen de laatste 24 maanden is verwijderd. |

### Tags-referentie

Het `tags`-veld filtert subsidies op onderwerp. Geef één of meer waarden op, exacte hoofdlettergevoelige overeenkomst, alleen in het Nederlands.

**Duurzaamheid (algemeen)** Duurzaamheid, Duurzaamheid en samenleving, Duurzaam ondernemen, Duurzaam bouwen en verbouwen, Duurzaam en slim rijden, Duurzaam financieren, Duurzaam produceren, Duurzaam voedsel, Verduurzamen

**Klimaat en emissies** Klimaatadaptatie, Klimaatakkoord, Klimaatbeleid, Klimaatneutraal, Klimaatverandering, CO2, CO2-neutraal, CO2-opslag, CO2-reductie, Emissiereductie, Emissie, Emissiehandel, Niet-CO2-broeikasgassen

**Luchtkwaliteit** Fijn stof, Luchtkwaliteit, NOx-beperkende technieken, Stikstof

**Hernieuwbare energie** Hernieuwbare energie, Duurzame energie, Duurzame energievoorziening, Duurzame elektriciteit, Zonnepanelen, Zon-PV-installaties, Zonneboilers, Wind, Wind op land, Wind op zee, Windmolens, Windturbines, Waterstof, Waterstofcellen, Biomassaketels, Groen gas, Aardgasvrij, Energie uit water, Bodemenergie

**Energiebesparing en gebouwen** Energiebesparing, Energieopslag, Opslag van elektriciteit, Netcongestie, Isolatie, Isoleren, Warmtepompen, Warmte Koude Opslag, Duurzame warmte en koude, Ledverlichting, Ventilatie en binnenmilieu, Gebouwde omgeving

**Circulaire economie en materialen** Circulair ondernemen, Biobased economy, Biobased materialen, Afval, Grondstoffen, Valorisatie

**Natuur en milieu** Natuur, Natuurbeheer, Natuurterreinen, Bodem, Oppervlaktewater, Grondwater, Verontreiniging, Lucht, Milieu, Milieuzorg, Eco-activiteiten

**Mobiliteit en innovatie** Duurzame mobiliteit, Duurzame ontwikkeling, Duurzame technologie, Duurzame innovatie, Elektrisch rijden, Mobiliteit en ruimte

**SDG's van de VN** SDG7 Betaalbare en duurzame energie, SDG11 Duurzame steden en gemeenschappen, SDG12 Verantwoorde consumptie en productie, SDG13 Klimaatactie, SDG14 Leven in het water, SDG15 Leven op het land

{% tabs %}
{% tab title="200: OK Standard response" %}

```
Successful response.
```

{% endtab %}

{% tab title="400: Bad Request Unsuccessful response" %}

```
{
// Fout bij validatie van de aanvrager:
{
  "detail": "De aanvrager moet een kredietwaardig, eigenaar-bewoner zijn van een bestaande woning in Nederland met ≥75% woonbestemming."
}

// Ongeldige leenperiode:
{
  "detail": "De gewenste leenperiode moet tussen 1 en 20 jaar liggen."
}

// Geen toepasselijke leenprogramma’s:
{
  "detail": "Er is geen toepasselijk leenprogramma gevonden voor deze aanvrager. Controleer de criteria op www.warmtefonds.nl of neem contact op met uw gemeente voor de beschikbaarheid van de Duurzaamheidslening."
}

}

```

{% endtab %}

{% tab title="404 Not Found" %}

```
{
  "detail": "Kon de postcode niet koppelen aan een gemeente."
}

```

{% endtab %}

{% tab title="500: Internal Server Error Service is not available and/or down" %}

```
{
  "detail": "Er is een onverwachte fout opgetreden bij het verwerken van de postcode."
}

```

{% endtab %}
{% endtabs %}


---

# 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/verduurzamen/duurzaamheid-subsidies-api/authentication-input-and-response.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.
