API reference¶
Base URL: http://localhost:8080/api/v1
All responses are JSON. All endpoints are read-only — ignis does not modify the database.
Health check¶
Returns 200 OK when the server is running. Does not check the database connection.
Response
List variants¶
Returns all available building variant codes for a country.
Path parameters
| Parameter | Description | Example |
|---|---|---|
country_iso2 |
ISO 3166-1 alpha-2 country code | DE |
Response
Match variants¶
Returns all refurbishment levels for a specific building type and construction period, ordered from existing state to most-refurbished.
Path parameters
| Parameter | Description | Example |
|---|---|---|
country_iso2 |
ISO 3166-1 alpha-2 country code | DE |
Query parameters
| Parameter | Description | Example |
|---|---|---|
type |
Building type code | SFH, MFH, TH, AB |
period |
Construction period code | 01, 02, 03 |
Response
{
"country": "germany",
"prefix": "DE.N.SFH.01",
"data": [
{ "code": "DE.N.SFH.01.Gen", "label": "Existing state" },
{ "code": "DE.N.SFH.01.ReEx", "label": "Medium refurbishment" },
{ "code": "DE.N.SFH.01.ReAd", "label": "Advanced refurbishment" }
]
}
Get variant data¶
Returns the raw TABULA parameters for a building variant. Used by client applications to populate their own forms or models.
Path parameters
| Parameter | Description | Example |
|---|---|---|
code |
TABULA variant code | DE.N.SFH.01.Gen |
Response
{
"country": "germany",
"variant_code": "DE.N.SFH.01.Gen",
"tabula_data": { ... },
"expected_q_h_nd": 123.45
}
Note
tabula_data contains the full set of ~200 TABULA parameters. expected_q_h_nd is the reference value from the workbook, used for validation.
List field metadata¶
Returns a static description of every TABULA input field used by ignis's clients: where to find it in a GET /api/v1/data/:code response (path), its unit, a short label, and two descriptions — a plain-language one for non-experts and a technical one. This list is identical for every country, since the underlying database schema is uniform across all 20 TABULA countries.
Response
{
"data": [
{
"key": "HeatingDays",
"group": "ClimateConditions",
"path": "AdvancedParameters.ClimateConditions.HeatingDays",
"unit": "days/year",
"label": "Heating days",
"simple_description": "How many days a year the building typically needs heating, based on local climate.",
"expert_description": "Number of heating days per year."
}
]
}
Note
This endpoint is intended to power a future interactive building-description questionnaire in client applications: simple_description becomes the question text, and the field's own value from the matched TABULA variant (via /api/v1/data/:code) becomes the suggested default a user can accept if they don't know the answer.
Calculate heat demand¶
Runs the 17-level ISO 13790 pipeline for the specified building variant and returns the annual heating energy demand.
Path parameters
| Parameter | Description | Example |
|---|---|---|
code |
TABULA variant code | DE.N.SFH.01.Gen |
Request body (optional)
A_ref overrides the reference floor area stored in the TABULA record. Omit the body to use the TABULA default.
Response
Error responses
| Status | Condition |
|---|---|
400 |
Invalid variant code format, unknown country, invalid A_ref |
404 |
Variant code not found in database |
500 |
Pipeline execution failed or returned a non-finite result |