Files
online-energieausweis/openapi.json
2025-01-24 14:04:58 +07:00

1522 lines
47 KiB
JSON

{
"openapi": "3.0.3",
"info": { "title": "Title", "version": "1.0.0", "description": "" },
"paths": {
"/klimafaktoren": {
"get": {
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"plz": {
"type": "string",
"minLength": 4,
"maxLength": 5
},
"startdatum": {
"type": "string",
"format": "date-time"
},
"enddatum": {
"type": "string",
"format": "date-time"
},
"genauigkeit": {
"type": "string",
"enum": ["months", "years"]
}
},
"required": [
"plz",
"startdatum",
"enddatum",
"genauigkeit"
],
"additionalProperties": false
}
}
}
},
"parameters": [],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"month": { "type": "number" },
"year": { "type": "number" },
"klimafaktor": { "type": "number" }
},
"required": [
"month",
"year",
"klimafaktor"
],
"additionalProperties": false
}
}
}
}
}
}
}
},
"/postleitzahlen": {
"get": {
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"plz": {
"type": "string",
"minLength": 1,
"maxLength": 5
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"default": 10
}
},
"required": ["plz"],
"additionalProperties": false
}
}
}
},
"parameters": [],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"properties": {
"plz": {
"type": "string",
"minLength": 4,
"maxLength": 5
},
"stadt": { "type": "string" },
"bundesland": { "type": "string" },
"landkreis": { "type": "string" },
"lat": { "type": "number" },
"lon": { "type": "number" }
},
"required": [
"plz",
"stadt",
"bundesland",
"landkreis",
"lat",
"lon"
],
"additionalProperties": false
}
}
}
}
}
}
}
},
"/verbrauchsausweis-wohnen/": {
"patch": {
"parameters": [],
"responses": {
"200": {
"description": "Successful response",
"content": { "application/json": { "schema": {} } }
}
}
}
},
"/verbrauchsausweis-wohnen/{uid}": {
"patch": {
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ausstellgrund": {
"type": "string",
"enum": [
"Neubau",
"Vermietung",
"Verkauf",
"Modernisierung",
"Sonstiges"
],
"description": "Ausstellgrund wie z.B. Vermietung oder Verkauf",
"nullable": true
},
"registriernummer": {
"type": "string",
"nullable": true,
"description": "Die Registriernummer des Ausweises"
},
"zusaetzliche_heizquelle": {
"type": "boolean",
"nullable": true,
"description": "Falls eine sekundäre Heizquelle existiert, sollte dieser Wert auf true stehen"
},
"einheit_1": {
"type": "string",
"nullable": true,
"description": "Einheit des Energieträgers der primären Heizquelle"
},
"einheit_2": {
"type": "string",
"nullable": true,
"description": "Einheit des Energieträgers der sekundären Heizquelle"
},
"startdatum": {
"type": "string",
"format": "date-time",
"nullable": true
},
"verbrauch_1": {
"type": "integer",
"description": "Energieverbrauch der primären Heizquelle im ersten der drei Verbrauchsjahre",
"nullable": true
},
"verbrauch_2": {
"type": "integer",
"description": "Energieverbrauch der primären Heizquelle im zweiten der drei Verbrauchsjahre",
"nullable": true
},
"verbrauch_3": {
"type": "integer",
"description": "Energieverbrauch der primären Heizquelle im letzten der drei Verbrauchsjahre",
"nullable": true
},
"verbrauch_4": {
"type": "integer",
"description": "Energieverbrauch der sekund̈́ären Heizquelle im ersten der drei Verbrauchsjahre",
"nullable": true
},
"verbrauch_5": {
"type": "integer",
"description": "Energieverbrauch der sekund̈́ären Heizquelle im zweiten der drei Verbrauchsjahre",
"nullable": true
},
"verbrauch_6": {
"type": "integer",
"description": "Energieverbrauch der sekund̈́ären Heizquelle im letzten der drei Verbrauchsjahre",
"nullable": true
},
"warmwasser_enthalten": {
"type": "boolean",
"nullable": true,
"description": "Falls Warmwasser im Verbrauchswert enthalten ist, sollte dieser Wert auf true stehen"
},
"warmwasser_anteil_bekannt": {
"type": "boolean",
"nullable": true,
"description": "Falls der Warmwasser Anteil am Verbrauch bekannt ist, sollte dieser Wert auf true stehen"
},
"wird_gekuehlt": {
"type": "boolean",
"nullable": true,
"description": "Falls Kühlung im Verbrauch enthalten ist, sollte dieser Wert auf true stehen"
},
"keller_beheizt": {
"type": "boolean",
"nullable": true,
"description": "Falls der Keller des Gebäudes beheizt wird, sollte dieser Wert auf true stehen"
},
"faktorKeller": {
"type": "number",
"nullable": true,
"description": "Der Faktor mit dem die Wohnfläche erhöht wird wenn die beheizte Gesamtfläche (energetische Nutzfläche) unbekannt ist."
},
"alternative_heizung": {
"type": "boolean",
"nullable": true,
"description": "Falls der Heizungsverbrauch alternative Energieversorgungssysteme beinhaltet, sollte dieser Wert auf true stehen."
},
"alternative_warmwasser": {
"type": "boolean",
"nullable": true,
"description": "Falls der Warmwasserverbrauch alternative Energieversorgungssysteme (z.B. Solarsystem, Wärmepumpe, etc.) beinhaltet, sollte dieser Wert auf true stehen."
},
"alternative_lueftung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Lüftung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen."
},
"alternative_kuehlung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen."
},
"anteil_warmwasser_1": {
"type": "number",
"nullable": true,
"description": "Anteil des Warmwassers am Gesamtverbrauch der primären Energiequelle in Prozent"
},
"anteil_warmwasser_2": {
"type": "number",
"nullable": true,
"description": "Anteil des Warmwassers am Gesamtverbrauch der sekundären Energiequelle in Prozent"
}
},
"additionalProperties": false
}
}
}
},
"parameters": [
{
"name": "uid",
"in": "path",
"required": true,
"schema": { "type": "string" }
},
{
"name": "Authorization",
"schema": { "type": "string" },
"required": true,
"in": "header"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": { "application/json": { "schema": {} } }
}
}
}
},
"/aufnahme/": {
"put": {
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"aufnahme": {
"type": "object",
"properties": {
"ausweisart": {
"type": "string",
"enum": [
"VerbrauchsausweisWohnen",
"VerbrauchsausweisGewerbe",
"BedarfsausweisWohnen",
"BedarfsausweisGewerbe"
],
"description": "Art des korrespondierenden Ausweises, wie z.B. VerbrauchsausweisWohnen",
"nullable": true
},
"gebaeudetyp": {
"type": "string",
"nullable": true,
"description": "Art des Gebäudes und seiner primären Nutzungsart"
},
"gebaeudeteil": {
"type": "string",
"nullable": true,
"description": "Betrachteter Teil des Gebäudes, z.B. Gesamtgebäude, Wohnteil, Gewerbeteil"
},
"baujahr_gebaeude": {
"type": "array",
"items": { "type": "integer" },
"description": "Alle Jahre in denen das Gebäude konstruiert oder grundlegend verändert wurde"
},
"baujahr_heizung": {
"type": "array",
"items": { "type": "integer" },
"description": "Alle Jahre in denen die Heizung eingebaut oder grundlegend verändert wurde"
},
"baujahr_klima": {
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": true,
"minimum": 0
},
"nullable": true
},
"einheiten": {
"type": "integer",
"description": "Anzahl der (Wohn)Einheiten im Gebäude",
"nullable": true
},
"flaeche": {
"type": "integer",
"description": "Wohnfläche bei Wohngebäuden, Nutzfläche bei Gewerbegebäuden",
"nullable": true
},
"nutzflaeche": {
"type": "integer",
"description": "(energetische) Nutzfläche des Gebäudes. Bei Gewerbegebäuden entspricht Sie der Nutzfläche",
"nullable": true
},
"saniert": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude energetisch saniert ist, sollte dieser Wert auf true stehen"
},
"keller": {
"type": "string",
"enum": [
"BEHEIZT",
"UNBEHEIZT",
"NICHT_VORHANDEN"
],
"description": "Ob ein Keller vorhanden, beheizt oder unbeheizt ist",
"nullable": true
},
"dachgeschoss": {
"type": "string",
"enum": [
"BEHEIZT",
"UNBEHEIZT",
"NICHT_VORHANDEN"
],
"description": "Ob ein Dachgeschoss vorhanden, beheizt oder unbeheizt ist",
"nullable": true
},
"lueftung": {
"type": "string",
"enum": [
"Fensterlueftung",
"Schachtlueftung",
"LueftungsanlageMitWaermerueckgewinnung",
"LueftungsanlageOhneWaermerueckgewinnung"
],
"description": "Art der Gebäudelüftung",
"nullable": true
},
"kuehlung": {
"type": "string",
"nullable": true,
"description": "Art der Gebäudekühlung"
},
"leerstand": {
"type": "integer",
"description": "Prozentualer Leerstand des Gebäudes in einem durchschnittlichen Jahr",
"nullable": true
},
"alternative_heizung": {
"type": "boolean",
"nullable": true,
"description": "Falls der Heizungsverbrauch alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen"
},
"alternative_warmwasser": {
"type": "boolean",
"nullable": true,
"description": "Falls der Warmwasserverbrauch alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen"
},
"alternative_lueftung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Lüftung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen"
},
"alternative_kuehlung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen"
},
"brennstoff_1": {
"type": "string",
"nullable": true,
"description": "Genutzer Brennstoff der primären Energiequelle"
},
"brennstoff_2": {
"type": "string",
"nullable": true,
"description": "Genutzer Brennstoff der sekundären Energiequelle"
},
"storniert": {
"type": "boolean",
"nullable": true,
"description": "Falls der Ausweis storniert wurde, sollte dieser Wert auf true stehen"
},
"erledigt": {
"type": "boolean",
"nullable": true,
"description": "Falls der Ausweis erledigt ist, sollte dieser Wert auf true stehen"
},
"bestellt": {
"type": "boolean",
"nullable": true,
"description": "Falls der Ausweis bestellt wurde, sollte dieser Wert auf true stehen"
},
"zurueckgestellt": {
"type": "boolean",
"nullable": true,
"description": "Falls der Ausweis vom Aussteller zurückgestellt wurde, sollte dieser Wert auf true stehen"
},
"prueftext": {
"type": "string",
"nullable": true,
"description": "Durch den Kunden hinzugefügte Anmerkung zur Vorabprüfung"
},
"boxpruefung": {
"type": "boolean",
"nullable": true
},
"energieeffizienzklasse": {
"type": "string",
"nullable": true,
"description": "Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes"
},
"erstellungsdatum": {
"type": "string",
"format": "date-time",
"description": "Datum an dem der Kunde den Ausweis erstellt hat",
"nullable": true
},
"ausstellungsdatum": {
"type": "string",
"format": "date-time",
"description": "Datum an dem der Aussteller den Ausweis ausgestellt hat",
"nullable": true
},
"zentralheizung": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über eine Zentralbeheizung verfügt, sollte dieser Wert auf true stehen"
},
"solarsystem_warmwasser": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über ein Solarsystem für Warmwasser verfügt, sollte dieser Wert auf true stehen"
},
"warmwasser_rohre_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Warmwasserrohre des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen"
},
"niedertemperatur_kessel": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über einen Niedertemperaturkessel verfügt, sollte dieser Wert auf true stehen"
},
"brennwert_kessel": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über einen Brennwertkessel verfügt, sollte dieser Wert auf true stehen"
},
"heizungsrohre_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Heizungsrohre des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen"
},
"standard_kessel": {
"type": "boolean",
"nullable": true
},
"waermepumpe": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über eine Wärmepumpe verfügt, sollte dieser Wert auf true stehen"
},
"raum_temperatur_regler": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über einen Raumtemperaturregler verfügt, sollte dieser Wert auf true stehen"
},
"photovoltaik": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über eine Photovoltaikanlage verfügt, sollte dieser Wert auf true stehen"
},
"durchlauf_erhitzer": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über einen Durchlauferhitzer verfügt, sollte dieser Wert auf true stehen"
},
"einzelofen": {
"type": "boolean",
"nullable": true
},
"zirkulation": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über eine Zirkulationspumpe verfügt, sollte dieser Wert auf true stehen"
},
"einfach_verglasung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes einfach gedämmt sind, sollte dieser Wert auf true stehen"
},
"dreifach_verglasung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes dreifach gedämmt sind, sollte dieser Wert auf true stehen"
},
"fenster_teilweise_undicht": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes teilweise undicht sind, sollte dieser Wert auf true stehen"
},
"doppel_verglasung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes doppelt gedämmt sind, sollte dieser Wert auf true stehen"
},
"fenster_dicht": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes dicht sind, sollte dieser Wert auf true stehen"
},
"rolllaeden_kaesten_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über gedämmte Rolllädenkästen verfügt, sollte dieser Wert auf true stehen"
},
"isolier_verglasung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes isolier Verglasung haben, sollte dieser Wert auf true stehen"
},
"tueren_undicht": {
"type": "boolean",
"nullable": true,
"description": "Falls die Türen des Gebäudes undicht sind, sollte dieser Wert auf true stehen"
},
"tueren_dicht": {
"type": "boolean",
"nullable": true,
"description": "Falls die Türen des Gebäudes dicht sind, sollte dieser Wert auf true stehen"
},
"dachgeschoss_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls das Dachgeschoss des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen"
},
"keller_decke_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Kellerdecke des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen"
},
"keller_wand_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Kellerwände des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen"
},
"aussenwand_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Außenwände des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen"
},
"oberste_geschossdecke_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die oberste Geschossdecke des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen"
},
"aussenwand_min_12cm_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Außenwände des Gebäudes mindestens 12cm gedämmt sind, sollte dieser Wert auf true stehen"
},
"dachgeschoss_min_12cm_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls das Dachgeschoss des Gebäudes mindestens 12cm gedämmt ist, sollte dieser Wert auf true stehen"
},
"oberste_geschossdecke_min_12cm_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die oberste Geschossdecke des Gebäudes mindestens 12cm gedämmt ist, sollte dieser Wert auf true stehen"
}
},
"required": [
"baujahr_gebaeude",
"baujahr_heizung"
],
"additionalProperties": false
},
"uid_objekt": { "type": "string" }
},
"required": ["aufnahme", "uid_objekt"],
"additionalProperties": false
}
}
}
},
"parameters": [],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"uid": { "type": "string" }
},
"required": ["uid"],
"additionalProperties": false
}
}
}
}
}
}
},
"/aufnahme/{uid}": {
"patch": {
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"ausweisart": {
"type": "string",
"enum": [
"VerbrauchsausweisWohnen",
"VerbrauchsausweisGewerbe",
"BedarfsausweisWohnen",
"BedarfsausweisGewerbe"
],
"description": "Art des korrespondierenden Ausweises, wie z.B. VerbrauchsausweisWohnen",
"nullable": true
},
"gebaeudetyp": {
"type": "string",
"nullable": true,
"description": "Art des Gebäudes und seiner primären Nutzungsart"
},
"gebaeudeteil": {
"type": "string",
"nullable": true,
"description": "Betrachteter Teil des Gebäudes, z.B. Gesamtgebäude, Wohnteil, Gewerbeteil"
},
"baujahr_gebaeude": {
"type": "array",
"items": { "type": "integer" },
"description": "Alle Jahre in denen das Gebäude konstruiert oder grundlegend verändert wurde"
},
"baujahr_heizung": {
"type": "array",
"items": { "type": "integer" },
"description": "Alle Jahre in denen die Heizung eingebaut oder grundlegend verändert wurde"
},
"baujahr_klima": {
"type": "array",
"items": { "type": "integer" },
"description": "Alle Jahre in denen die Klimaanlage eingebaut oder grundlegend verändert wurde"
},
"einheiten": {
"type": "integer",
"description": "Anzahl der (Wohn)Einheiten im Gebäude",
"nullable": true
},
"flaeche": {
"type": "integer",
"description": "Wohnfläche bei Wohngebäuden, Nutzfläche bei Gewerbegebäuden",
"nullable": true
},
"nutzflaeche": {
"type": "integer",
"description": "(energetische) Nutzfläche des Gebäudes. Bei Gewerbegebäuden entspricht Sie der Nutzfläche",
"nullable": true
},
"saniert": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude energetisch saniert ist, sollte dieser Wert auf true stehen"
},
"keller": {
"type": "string",
"enum": [
"BEHEIZT",
"UNBEHEIZT",
"NICHT_VORHANDEN"
],
"description": "Ob ein Keller vorhanden, beheizt oder unbeheizt ist",
"nullable": true
},
"dachgeschoss": {
"type": "string",
"enum": [
"BEHEIZT",
"UNBEHEIZT",
"NICHT_VORHANDEN"
],
"description": "Ob ein Dachgeschoss vorhanden, beheizt oder unbeheizt ist",
"nullable": true
},
"lueftung": {
"type": "string",
"enum": [
"Fensterlueftung",
"Schachtlueftung",
"LueftungsanlageMitWaermerueckgewinnung",
"LueftungsanlageOhneWaermerueckgewinnung"
],
"description": "Art der Gebäudelüftung",
"nullable": true
},
"kuehlung": {
"type": "string",
"nullable": true,
"description": "Art der Gebäudekühlung"
},
"leerstand": {
"type": "integer",
"description": "Prozentualer Leerstand des Gebäudes in einem durchschnittlichen Jahr",
"nullable": true
},
"alternative_heizung": {
"type": "boolean",
"nullable": true,
"description": "Falls der Heizungsverbrauch alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen"
},
"alternative_warmwasser": {
"type": "boolean",
"nullable": true,
"description": "Falls der Warmwasserverbrauch alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen"
},
"alternative_lueftung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Lüftung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen"
},
"alternative_kuehlung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Kühlung alternative Energieversorgungssysteme beinhaltet sollte dieser Wert auf true stehen"
},
"brennstoff_1": {
"type": "string",
"nullable": true,
"description": "Genutzer Brennstoff der primären Energiequelle"
},
"brennstoff_2": {
"type": "string",
"nullable": true,
"description": "Genutzer Brennstoff der sekundären Energiequelle"
},
"storniert": {
"type": "boolean",
"nullable": true,
"description": "Falls der Ausweis storniert wurde, sollte dieser Wert auf true stehen"
},
"erledigt": {
"type": "boolean",
"nullable": true,
"description": "Falls der Ausweis erledigt ist, sollte dieser Wert auf true stehen"
},
"bestellt": {
"type": "boolean",
"nullable": true,
"description": "Falls der Ausweis bestellt wurde, sollte dieser Wert auf true stehen"
},
"zurueckgestellt": {
"type": "boolean",
"nullable": true,
"description": "Falls der Ausweis vom Aussteller zurückgestellt wurde, sollte dieser Wert auf true stehen"
},
"prueftext": {
"type": "string",
"nullable": true,
"description": "Durch den Kunden hinzugefügte Anmerkung zur Vorabprüfung"
},
"boxpruefung": {
"type": "boolean",
"nullable": true
},
"energieeffizienzklasse": {
"type": "string",
"nullable": true,
"description": "Die aus der Berechnung hervorgehende Energieeffizienzklasse des Gebäudes"
},
"erstellungsdatum": {
"type": "string",
"format": "date-time",
"description": "Datum an dem der Kunde den Ausweis erstellt hat",
"nullable": true
},
"ausstellungsdatum": {
"type": "string",
"format": "date-time",
"description": "Datum an dem der Aussteller den Ausweis ausgestellt hat",
"nullable": true
},
"zentralheizung": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über eine Zentralbeheizung verfügt, sollte dieser Wert auf true stehen"
},
"solarsystem_warmwasser": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über ein Solarsystem für Warmwasser verfügt, sollte dieser Wert auf true stehen"
},
"warmwasser_rohre_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Warmwasserrohre des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen"
},
"niedertemperatur_kessel": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über einen Niedertemperaturkessel verfügt, sollte dieser Wert auf true stehen"
},
"brennwert_kessel": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über einen Brennwertkessel verfügt, sollte dieser Wert auf true stehen"
},
"heizungsrohre_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Heizungsrohre des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen"
},
"standard_kessel": {
"type": "boolean",
"nullable": true
},
"waermepumpe": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über eine Wärmepumpe verfügt, sollte dieser Wert auf true stehen"
},
"raum_temperatur_regler": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über einen Raumtemperaturregler verfügt, sollte dieser Wert auf true stehen"
},
"photovoltaik": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über eine Photovoltaikanlage verfügt, sollte dieser Wert auf true stehen"
},
"durchlauf_erhitzer": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über einen Durchlauferhitzer verfügt, sollte dieser Wert auf true stehen"
},
"einzelofen": {
"type": "boolean",
"nullable": true
},
"zirkulation": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über eine Zirkulationspumpe verfügt, sollte dieser Wert auf true stehen"
},
"einfach_verglasung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes einfach gedämmt sind, sollte dieser Wert auf true stehen"
},
"dreifach_verglasung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes dreifach gedämmt sind, sollte dieser Wert auf true stehen"
},
"fenster_teilweise_undicht": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes teilweise undicht sind, sollte dieser Wert auf true stehen"
},
"doppel_verglasung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes doppelt gedämmt sind, sollte dieser Wert auf true stehen"
},
"fenster_dicht": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes dicht sind, sollte dieser Wert auf true stehen"
},
"rolllaeden_kaesten_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls das Gebäude über gedämmte Rolllädenkästen verfügt, sollte dieser Wert auf true stehen"
},
"isolier_verglasung": {
"type": "boolean",
"nullable": true,
"description": "Falls die Fenster des Gebäudes isolier Verglasung haben, sollte dieser Wert auf true stehen"
},
"tueren_undicht": {
"type": "boolean",
"nullable": true,
"description": "Falls die Türen des Gebäudes undicht sind, sollte dieser Wert auf true stehen"
},
"tueren_dicht": {
"type": "boolean",
"nullable": true,
"description": "Falls die Türen des Gebäudes dicht sind, sollte dieser Wert auf true stehen"
},
"dachgeschoss_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls das Dachgeschoss des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen"
},
"keller_decke_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Kellerdecke des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen"
},
"keller_wand_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Kellerwände des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen"
},
"aussenwand_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Außenwände des Gebäudes gedämmt sind, sollte dieser Wert auf true stehen"
},
"oberste_geschossdecke_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die oberste Geschossdecke des Gebäudes gedämmt ist, sollte dieser Wert auf true stehen"
},
"aussenwand_min_12cm_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die Außenwände des Gebäudes mindestens 12cm gedämmt sind, sollte dieser Wert auf true stehen"
},
"dachgeschoss_min_12cm_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls das Dachgeschoss des Gebäudes mindestens 12cm gedämmt ist, sollte dieser Wert auf true stehen"
},
"oberste_geschossdecke_min_12cm_gedaemmt": {
"type": "boolean",
"nullable": true,
"description": "Falls die oberste Geschossdecke des Gebäudes mindestens 12cm gedämmt ist, sollte dieser Wert auf true stehen"
}
},
"required": [
"baujahr_gebaeude",
"baujahr_heizung",
"baujahr_klima"
],
"additionalProperties": false
}
}
}
},
"parameters": [
{
"name": "uid",
"in": "path",
"required": true,
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "Successful response",
"content": { "application/json": { "schema": {} } }
}
}
}
},
"/ticket": {
"put": {
"description": "Erstellt ein neues Support Ticket und weist den Ersteller diesem zu, falls ein Authorization Header mitgegeben wurde.",
"tags": ["Tickets"],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"titel": { "type": "string" },
"beschreibung": { "type": "string" },
"metadata": {
"anyOf": [
{
"anyOf": [
{ "type": "string" },
{ "type": "number" },
{ "type": "boolean" }
]
},
{
"type": "array",
"items": {
"$ref": "#/properties/metadata"
}
},
{
"type": "object",
"additionalProperties": {
"$ref": "#/properties/metadata"
}
}
]
},
"email": { "type": "string" }
},
"required": [
"titel",
"beschreibung",
"metadata",
"email"
],
"additionalProperties": false
}
}
}
},
"parameters": [],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"uid": { "type": "string" }
},
"required": ["uid"],
"additionalProperties": false
}
}
}
}
}
}
},
"/auth/access-token": {
"get": {
"description": "Erstellt, basierend auf einem existierenden und gültigen Refresh Tokens, einen neuen Access Token, welcher zur Authentifizierung genutzt werden kann. Der resultierende Access Token ist nur 2 Tage gültig und muss danach neu generiert werden. Diese Funktion gibt ebenfalls einen neuen Refresh Token zurück, der alte wird dadurch invalidiert.",
"tags": ["Benutzer"],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"refreshToken": { "type": "string" }
},
"required": ["refreshToken"],
"additionalProperties": false
}
}
}
},
"parameters": [],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"accessToken": { "type": "string" },
"accessTokenExpiry": {
"type": "number"
},
"refreshToken": { "type": "string" },
"refreshTokenExpiry": {
"type": "number"
}
},
"required": [
"accessToken",
"accessTokenExpiry",
"refreshToken",
"refreshTokenExpiry"
],
"additionalProperties": false
}
}
}
}
}
}
},
"/auth/refresh-token": {
"get": {
"description": "Erstellt sowohl einen neuen Refresh Token als auch einen Access Token für den gegebenen Benutzer. Der Refresh Token kann später für die Erstellung neuer Access Token genutzt werden.",
"tags": ["Benutzer"],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"passwort": {
"type": "string",
"minLength": 8,
"maxLength": 100
}
},
"required": ["email", "passwort"],
"additionalProperties": false
}
}
}
},
"parameters": [],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"uid": { "type": "string" },
"accessToken": { "type": "string" },
"refreshToken": { "type": "string" },
"refreshTokenBase64": {
"type": "string"
},
"accessTokenBase64": {
"type": "string"
},
"exp": { "type": "number" }
},
"required": [
"uid",
"accessToken",
"refreshToken",
"refreshTokenBase64",
"accessTokenBase64",
"exp"
],
"additionalProperties": false
}
}
}
}
}
}
},
"/user/self": {
"get": {
"description": "Gibt die Daten des momentan eingeloggten Benutzers zurück. Falls der Authorization Key invalid ist wird stattdessen null zurückgegeben.",
"tags": ["Benutzer"],
"requestBody": {
"required": true,
"content": { "application/json": { "schema": {} } }
},
"parameters": [],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"type": "object",
"properties": {
"uid": { "type": "string" },
"name": {
"type": "string",
"nullable": true
},
"vorname": {
"type": "string",
"nullable": true
},
"email": { "type": "string" },
"profilbild": {
"type": "string",
"nullable": true
},
"plz": {
"type": "string",
"nullable": true
},
"ort": {
"type": "string",
"nullable": true
},
"adresse": {
"type": "string",
"nullable": true
},
"telefon": {
"type": "string",
"nullable": true
},
"anrede": {
"type": "string",
"nullable": true
},
"rolle": {
"type": "string",
"enum": ["USER", "ADMIN"]
}
},
"required": [
"uid",
"email",
"rolle"
],
"additionalProperties": false
},
{ "enum": ["null"], "nullable": true }
]
}
}
}
}
}
}
},
"/user/": {
"put": {
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email"
},
"passwort": {
"type": "string",
"minLength": 6
},
"vorname": { "type": "string" },
"name": { "type": "string" }
},
"required": [
"email",
"passwort",
"vorname",
"name"
],
"additionalProperties": false
}
}
}
},
"parameters": [],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"uid": { "type": "string" }
},
"required": ["uid"],
"additionalProperties": false
}
}
}
}
}
}
},
"/objekt/{uid}/bilder": {
"put": {
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"kategorie": {
"type": "string",
"enum": [
"Heizung",
"Fenster",
"Gebaeude",
"Daemmung"
]
},
"base64": { "type": "string" }
},
"required": ["kategorie", "base64"],
"additionalProperties": false
}
}
}
},
"parameters": [
{
"name": "uid",
"in": "path",
"required": true,
"schema": { "type": "string" }
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"uid": {
"type": "string",
"description": "Die UID des Bildes."
}
},
"required": ["uid"],
"additionalProperties": false
}
}
}
}
}
}
},
"/objekt/{uid}/": {
"patch": {
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"latitude": {
"type": "number",
"nullable": true
},
"longitude": {
"type": "number",
"nullable": true
},
"plz": {
"type": "string",
"nullable": true,
"description": "Postleitzahl des Gebäudes"
},
"ort": {
"type": "string",
"nullable": true,
"description": "Ort des Gebäudes"
},
"adresse": {
"type": "string",
"nullable": true,
"description": "Adresse (Straße und Hausnummer) des Gebäudes"
}
},
"additionalProperties": false
}
}
}
},
"parameters": [
{
"name": "uid",
"in": "path",
"required": true,
"schema": { "type": "string" }
},
{
"name": "Authorization",
"schema": { "type": "string" },
"required": true,
"in": "header"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": { "application/json": { "schema": {} } }
}
}
}
},
"/objekt/": {
"put": {
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"latitude": {
"type": "number",
"nullable": true
},
"longitude": {
"type": "number",
"nullable": true
},
"plz": {
"type": "string",
"nullable": true,
"description": "Postleitzahl des Gebäudes"
},
"ort": {
"type": "string",
"nullable": true,
"description": "Ort des Gebäudes"
},
"adresse": {
"type": "string",
"nullable": true,
"description": "Adresse (Straße und Hausnummer) des Gebäudes"
}
},
"additionalProperties": false
}
}
}
},
"parameters": [],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"uid": { "type": "string" }
},
"required": ["uid"],
"additionalProperties": false
}
}
}
}
}
}
}
},
"servers": [{ "url": "awd" }]
}