{ "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" }] }