OpenAPI specificaties
GET verzoek voor het opvragen van de OpenAPI specificaties voor elke API door het toevoegen van "/openai" aan elke endpoint. Geen authenticatie vereist.
Voorbeeld GET verzoek voor de Verduurzaming API
GET verzoek voor OpenAPI specifications
GET
https://api.altum.ai/sustainability/openapi
{
"openapi": "3.0.2",
"info": {
"title": "Sustainability API",
"description": "Check savings for object",
"version": "0.1.0"
},
"paths": {
"/sustainability": {
"post": {
"summary": "Savings From Address",
"description": "endpoint to collect data from ES/AVM, RVO/SUSTEEN API and eco delta API, apply business logic and serialize it",
"operationId": "savings_from_address_sustainability_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Body_savings_from_address_sustainability_post"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OutputSavings"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/sustainability_bagid": {
"get": {
"summary": "Savings From Bagid",
"operationId": "savings_from_bagid_sustainability_bagid_get",
"parameters": [
{
"required": true,
"schema": {
"title": "Bag Id",
"maxLength": 16,
"minLength": 14,
"type": "string"
},
"name": "bag_id",
"in": "query"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AardgasKeuzeEn": {
"title": "AardgasKeuzeEn",
"enum": [
0,
1,
2
],
"type": "integer",
"description": "An enumeration."
},
"Address": {
"title": "Address",
"required": [
"house_number",
"post_code"
],
"type": "object",
"properties": {
"house_number": {
"title": "House Number",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"post_code": {
"title": "Post Code",
"pattern": "^(?!1000|1001|1002|1003|1004|1005|1006|1007|1008|1009|1010)[1-9][0-9]{3}[A-Z]{2}$",
"type": "string",
"example": "1234AB"
},
"addition": {
"title": "Addition",
"type": "string",
"default": ""
},
"street": {
"title": "Street",
"type": "string"
},
"city": {
"title": "City",
"type": "string"
},
"location": {
"$ref": "#/components/schemas/LatLon"
}
}
},
"BENG2": {
"title": "BENG2",
"type": "object",
"properties": {
"current": {
"title": "Current",
"type": "integer"
},
"potential": {
"title": "Potential",
"type": "integer"
}
}
},
"Body_savings_from_address_sustainability_post": {
"title": "Body_savings_from_address_sustainability_post",
"required": [
"data"
],
"type": "object",
"properties": {
"data": {
"$ref": "#/components/schemas/InputSavings"
}
}
},
"Building": {
"title": "Building",
"type": "object",
"properties": {
"build_year": {
"title": "Build Year",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"inner_surface": {
"title": "Inner Surface",
"exclusiveMinimum": 0.0,
"type": "number"
},
"type": {
"$ref": "#/components/schemas/ESBuildingType"
}
}
},
"CO2": {
"title": "CO2",
"type": "object",
"properties": {
"current": {
"title": "Current",
"type": "integer"
},
"potential": {
"title": "Potential",
"type": "integer"
}
}
},
"ComfortScore": {
"title": "ComfortScore",
"type": "object",
"properties": {
"current": {
"title": "Current",
"type": "integer"
},
"potential": {
"title": "Potential",
"type": "integer"
}
}
},
"CriteriumEn": {
"title": "CriteriumEn",
"enum": [
0,
1,
2,
3,
4
],
"type": "integer",
"description": "An enumeration."
},
"CustomCost": {
"title": "CustomCost",
"required": [
"code"
],
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/KengetalEn"
},
"value": {
"title": "Value",
"exclusiveMinimum": 0.0,
"type": "number"
}
}
},
"DakIsolatieEn": {
"title": "DakIsolatieEn",
"enum": [
0,
1,
2,
3,
4
],
"type": "integer",
"description": "An enumeration."
},
"DoucheWtwEn": {
"title": "DoucheWtwEn",
"enum": [
0,
1
],
"type": "integer",
"description": "An enumeration."
},
"ELG": {
"title": "ELG",
"type": "object",
"properties": {
"current": {
"title": "Current",
"type": "number"
},
"potential": {
"title": "Potential",
"type": "number"
}
}
},
"ESBuildingType": {
"title": "ESBuildingType",
"enum": [
"2 onder 1 kap",
"hoekwoning",
"tussenwoning",
"appartement",
"vrijstaand"
],
"description": "ES holds strings which are translated/unified within this class.\n\n> Hoekwoning\nHoekwoning is a the corner house of a rijwoning, Hoek meaning corner.\nSo where rijwoning tussen are the middle houses in a houseblock, hoekwoningen are the corners of these\n\n> Do we distinguish `vrijstaand groot` from `vrijstaand klein`.\nNo."
},
"EnergyCalculations": {
"title": "EnergyCalculations",
"type": "object",
"properties": {
"variable_gas_price": {
"title": "Variable Gas Price",
"type": "number"
},
"variable_electricity_price": {
"title": "Variable Electricity Price",
"type": "number"
},
"solarpanel_watt_peak_per_m2": {
"title": "Solarpanel Watt Peak Per M2",
"type": "integer"
}
}
},
"EnergyIndex": {
"title": "EnergyIndex",
"type": "object",
"properties": {
"current": {
"title": "Current",
"type": "number"
},
"potential": {
"title": "Potential",
"type": "number"
}
}
},
"Financial": {
"title": "Financial",
"type": "object",
"properties": {
"total_investment": {
"title": "Total Investment",
"minimum": 0.0,
"type": "number"
},
"total_saving": {
"title": "Total Saving",
"type": "number"
},
"months_to_pay_off": {
"title": "Months To Pay Off",
"type": "integer"
},
"eco_value": {
"title": "Eco Value",
"minimum": 0.0,
"type": "number"
},
"savings_monthly": {
"title": "Savings Monthly",
"type": "integer"
},
"energy_cost_monthly": {
"title": "Energy Cost Monthly",
"type": "integer"
},
"loan": {
"$ref": "#/components/schemas/Loan"
}
}
},
"GevelIsolatieEn": {
"title": "GevelIsolatieEn",
"enum": [
0,
1,
2,
3
],
"type": "integer",
"description": "An enumeration."
},
"GlasLeefEn": {
"title": "GlasLeefEn",
"enum": [
0,
1,
2,
3
],
"type": "integer",
"description": "An enumeration."
},
"GlasSlaapEn": {
"title": "GlasSlaapEn",
"enum": [
0,
1,
2,
3
],
"type": "integer",
"description": "An enumeration."
},
"HTTPValidationError": {
"title": "HTTPValidationError",
"type": "object",
"properties": {
"detail": {
"title": "Detail",
"type": "array",
"items": {
"$ref": "#/components/schemas/ValidationError"
}
}
}
},
"ImprovementCost": {
"title": "ImprovementCost",
"required": [
"code"
],
"type": "object",
"properties": {
"code": {
"$ref": "#/components/schemas/VerbeterKosten"
},
"material": {
"title": "Material",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"work": {
"title": "Work",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"saving_material": {
"title": "Saving Material",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"saving_work": {
"title": "Saving Work",
"exclusiveMinimum": 0.0,
"type": "integer"
}
},
"description": "Optional inputs to set personal costs for material and work"
},
"InputSavings": {
"title": "InputSavings",
"required": [
"post_code",
"house_number"
],
"type": "object",
"properties": {
"post_code": {
"title": "Post Code",
"pattern": "^(?!1000|1001|1002|1003|1004|1005|1006|1007|1008|1009|1010)[1-9][0-9]{3}[A-Z]{2}$",
"type": "string",
"example": "1234AB"
},
"house_number": {
"title": "House Number",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"house_addition": {
"title": "House Addition",
"type": "string"
},
"lock_measures": {
"$ref": "#/components/schemas/LockMeasures"
},
"eco_delta": {
"title": "Eco Delta",
"type": "boolean",
"default": 1
},
"max_investment": {
"title": "Max Investment",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"target_label": {
"title": "Target Label",
"maxLength": 5,
"minLength": 1,
"pattern": "^A\\+\\+\\+\\+$|^A\\+\\+\\+$|^A\\+\\+$|^A\\+$|^A$|^B$|^C$|^D$|^E$|^F$|^G$",
"type": "string"
},
"gas_usage": {
"title": "Gas Usage",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"heat_usage": {
"title": "Heat Usage",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"electricity_usage": {
"title": "Electricity Usage",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"inner_surface_area": {
"title": "Inner Surface Area",
"exclusiveMinimum": 0.0,
"type": "integer"
},
"inhabitants": {
"title": "Inhabitants",
"maximum": 15.0,
"minimum": 1.0,
"type": "integer"
},
"build_year": {
"title": "Build Year",
"maximum": 2030.0,
"minimum": 1000.0,
"type": "integer"
},
"search_criteria": {
"$ref": "#/components/schemas/CriteriumEn"
},
"heat_pump_allowed": {
"title": "Heat Pump Allowed",
"type": "boolean"
},
"replace_boiler": {
"title": "Replace Boiler",
"type": "boolean"
},
"natural_gas": {
"$ref": "#/components/schemas/AardgasKeuzeEn"
},
"solar_panels_surface": {
"$ref": "#/components/schemas/PVOptieEn"
},
"solar_panels": {
"title": "Solar Panels",
"minimum": 1.0,
"type": "integer"
},
"wall_insulation": {
"$ref": "#/components/schemas/GevelIsolatieEn"
},
"roof_insulation": {
"$ref": "#/components/schemas/DakIsolatieEn"
},
"floor_insulation": {
"$ref": "#/components/schemas/VloerIsolatieEn"
},
"living_room_windows": {
"$ref": "#/components/schemas/GlasLeefEn"
},
"bedroom_windows": {
"$ref": "#/components/schemas/GlasSlaapEn"
},
"installation": {
"$ref": "#/components/schemas/InstallatieEn"
},
"shower": {
"$ref": "#/components/schemas/DoucheWtwEn"
},
"ventilation": {
"$ref": "#/components/schemas/VentilatieEn"
},
"house_type": {
"title": "House Type",
"exclusiveMaximum": 6.0,
"exclusiveMinimum": 0.0,
"type": "integer"
},
"api_debug": {
"title": "Api Debug",
"type": "integer"
},
"custom_costs": {
"title": "Custom Costs",
"type": "array",
"items": {
"$ref": "#/components/schemas/CustomCost"
},
"default": []
},
"improvement_costs": {
"title": "Improvement Costs",
"type": "array",
"items": {
"$ref": "#/components/schemas/ImprovementCost"
},
"default": []
},
"energylabel_strict": {
"title": "Energylabel Strict",
"maximum": 1.0,
"minimum": 0.0,
"type": "integer"
},
"fetch_definitive_label": {
"title": "Fetch Definitive Label",
"maximum": 1.0,
"minimum": 0.0,
"type": "integer",
"default": 0
},
"heatpump_insulation_req": {
"title": "Heatpump Insulation Req",
"maximum": 3.0,
"minimum": 0.0,
"type": "integer"
},
"exclude_measure": {
"title": "Exclude Measure",
"type": "array",
"items": {},
"default": []
},
"minimum_solar_panels": {
"title": "Minimum Solar Panels",
"type": "integer"
},
"solarpanel_watt_peak": {
"title": "Solarpanel Watt Peak",
"minimum": 1.0,
"type": "integer"
}
},
"description": "All possible input parameters\n:param post_code: format 1234AB\n:param house_number:\n:param addition: House number addition ex. A, B, A02\n:param lock_measures: disable some measures\n:param max_investment: max amount of money we want to invest\n:param target_label: DoelLabel"
},
"InstallatieEn": {
"title": "InstallatieEn",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
29,
30,
31,
32,
33
],
"type": "integer",
"description": "An enumeration."
},
"KengetalEn": {
"title": "KengetalEn",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
21,
22,
23
],
"type": "integer",
"description": "An enumeration."
},
"Label": {
"title": "Label",
"type": "object",
"properties": {
"current": {
"title": "Current",
"type": "string"
},
"potential": {
"title": "Potential",
"type": "string"
}
}
},
"LatLon": {
"title": "LatLon",
"type": "object",
"properties": {
"lat": {
"title": "Lat",
"type": "number"
},
"lon": {
"title": "Lon",
"type": "number"
}
}
},
"Loan": {
"title": "Loan",
"type": "object",
"properties": {
"monthly_payment": {
"title": "Monthly Payment",
"minimum": 0.0,
"type": "number"
}
}
},
"LockMeasures": {
"title": "LockMeasures",
"required": [
"lock"
],
"type": "object",
"properties": {
"lock": {
"title": "Lock",
"type": "array",
"items": {
"type": "string"
}
}
}
},
"Measure": {
"title": "Measure",
"required": [
"investment",
"saving",
"gas_savings"
],
"type": "object",
"properties": {
"before": {
"$ref": "#/components/schemas/MeasureItem"
},
"after": {
"$ref": "#/components/schemas/MeasureItem"
},
"investment": {
"title": "Investment",
"minimum": 0.0,
"type": "number"
},
"saving": {
"title": "Saving",
"type": "integer"
},
"co2_reduce": {
"title": "Co2 Reduce",
"type": "integer"
},
"BENG2": {
"title": "Beng2",
"type": "string"
},
"gas_savings": {
"title": "Gas Savings",
"type": "integer"
}
}
},
"MeasureItem": {
"title": "MeasureItem",
"type": "object",
"properties": {
"desc": {
"title": "Desc",
"type": "string"
},
"value": {
"title": "Value",
"type": "integer"
}
}
},
"Meta": {
"title": "Meta",
"required": [
"notes",
"created",
"internal"
],
"type": "object",
"properties": {
"notes": {
"title": "Notes",
"type": "array",
"items": {
"type": "object"
}
},
"created": {
"title": "Created",
"type": "string",
"format": "date"
},
"internal": {
"title": "Internal",
"type": "object"
}
},
"description": "Meta information about the response.\nNot sensitive but useful to API authors mainly.\nSome available only if INTERNAL_LOGS is set."
},
"OutputSavings": {
"title": "OutputSavings",
"required": [
"address"
],
"type": "object",
"properties": {
"address": {
"$ref": "#/components/schemas/Address"
},
"building": {
"$ref": "#/components/schemas/Building"
},
"label": {
"$ref": "#/components/schemas/Label"
},
"provided_label": {
"$ref": "#/components/schemas/ProvidedLabel"
},
"BENG2": {
"$ref": "#/components/schemas/BENG2"
},
"meta": {
"$ref": "#/components/schemas/Meta"
},
"energyindex": {
"$ref": "#/components/schemas/EnergyIndex"
},
"ELG": {
"$ref": "#/components/schemas/ELG"
},
"comfortscore": {
"$ref": "#/components/schemas/ComfortScore"
},
"CO2": {
"$ref": "#/components/schemas/CO2"
},
"financial": {
"$ref": "#/components/schemas/Financial"
},
"usage": {
"$ref": "#/components/schemas/Usage"
},
"usage_potential": {
"$ref": "#/components/schemas/UsagePotential"
},
"energy_prices": {
"$ref": "#/components/schemas/EnergyCalculations"
},
"measures": {
"title": "Measures",
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/Measure"
}
},
"response_meta": {
"title": "Response Meta",
"type": "object"
}
}
},
"PVOptieEn": {
"title": "PVOptieEn",
"enum": [
0,
1,
2
],
"type": "integer",
"description": "An enumeration."
},
"ProvidedLabel": {
"title": "ProvidedLabel",
"type": "object",
"properties": {
"temporary": {
"title": "Temporary",
"type": "string"
},
"definitive": {
"title": "Definitive",
"type": "string"
},
"definitive_type": {
"title": "Definitive Type",
"type": "string"
},
"definitive_validity": {
"title": "Definitive Validity",
"type": "string"
}
}
},
"Usage": {
"title": "Usage",
"type": "object",
"properties": {
"gas": {
"title": "Gas",
"type": "integer"
},
"energy": {
"title": "Energy",
"type": "integer"
}
}
},
"UsagePotential": {
"title": "UsagePotential",
"type": "object",
"properties": {
"gas": {
"title": "Gas",
"type": "integer"
},
"energy": {
"title": "Energy",
"type": "integer"
}
}
},
"ValidationError": {
"title": "ValidationError",
"required": [
"loc",
"msg",
"type"
],
"type": "object",
"properties": {
"loc": {
"title": "Location",
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
}
},
"msg": {
"title": "Message",
"type": "string"
},
"type": {
"title": "Error Type",
"type": "string"
}
}
},
"VentilatieEn": {
"title": "VentilatieEn",
"enum": [
0,
1,
2,
3,
4
],
"type": "integer",
"description": "An enumeration."
},
"VerbeterKosten": {
"title": "VerbeterKosten",
"enum": [
10001,
10002,
10003,
20002,
20003,
30002,
30003,
40002,
40003,
50001,
50002,
50003,
50102,
50103,
50203,
60001,
60002,
60003,
60004,
80004,
80104,
80204,
80305,
80406,
80506,
80006,
80106,
80306,
80007,
80107,
80407,
80008,
80108,
80408,
80009,
80109,
80209,
80029,
80129,
80529,
80030,
80130,
80430,
80031,
80131,
80431,
80010,
70000,
94001
],
"type": "integer",
"description": "Codes of improvement types. Obtained from RVO with the method OphalenKengetallen (Professionel = 1)\n "
},
"VloerIsolatieEn": {
"title": "VloerIsolatieEn",
"enum": [
0,
1,
2,
3,
4
],
"type": "integer",
"description": "An enumeration."
}
}
}
}
Last updated