openapi: 3.1.0 info: title: Insights API version: 3.4.1 contact: name: Insights Team email: support_b2b@eliq.com description: "# API Reference\n\nThe Eliq insights API is organized around [REST](https://en.wikipedia.org/wiki/REST).\n\ API has predictable resource oriented URLs, accepts [JSON-encoded](https://www.json.org/json-en.html) request bodies,\ \ returns JSON-encoded responses, and uses standard HTTP response codes and verbs.\nInsights API contains endpoints for\ \ two entities: Users and Locations.\n\n# Date and Time\n\nDates and Datetimes follow [ISO 8601](https://en.m.wikipedia.org/wiki/ISO_8601)\ \ format.\nAll dates and times are in `local time zone` - no UTC or other timezone specification is allowed for the queries\ \ and will result in error. Local timezone was chosen to make the data ready for presentation.\n\n# Responses and Errors\n\ \nEliq insights API uses standard HTTP response codes to indicate success or failure of a request:\n- 2xx indicate success\n\ - 4xx indicate error due to invalid input\n- 5xx indicates an internal error of Eliq Insights API\n\n## Status codes\n\ \n*Status code* | *Description*\n--- | ---\n200 - OK | Everything worked as expected.\n201 - Created | Resource created.\n\ 204 - No Content | Successful request. Used in successful delete requests\n302 - Found | Resource requested has been temporarily\ \ moved to the URL given by the Location header.\n400 - Bad Request | Request input data is invalid. \n401 - Unauthorized\ \ | Access token invalid for the given request. E.g. access token expired.\n404 - Not Found | Requested resource not found.\n\ 500, 502, 503, 504 | Something wrong with the Insights API.\n\n## Error body\n\nEliq Insights API returns an error response\ \ body on failures to provide additional information on the error.\n\nSome fields have been deprecated. Deprecated fields\ \ will continue to be used in existing endpoints, but will not show up in any new additions.\n\n| *Field* | *Type* | *Deprecated*\ \ | *Description* |\n| --- | --- | --- | --- |\n| type | String | Yes | Type of error. One of `third_party_error`, `internal_error`,\ \ `client_error` and `end_user_error`. |\n| category | String | Yes | Category of the error. E.g. `invalid_parameter`.\ \ Used to guide developers. |\n| code | String | | Error code specific to each issue. |\n| description | String | |\ \ A description of the error for more context and easier debugging.|\n| message | String | Yes | A message related to\ \ the error which can be shown to end users. |\n| transaction_id | String | | Transaction identifier with which request\ \ is associated. Pass this when contacting support |\n\nExample:\n\n```json\n { \n \"type\":\"client_error\",\n \ \ \"category\":\"invalid_parameter\",\n \"code\":\"MISSING_TO\",\n \"description\":\"Invalid parameter 'to'. Cannot\ \ be null\",\n \"message\":\"Something went wrong, please try again later. If problem remains, please contact support\ \ (error: 1ad3a534117d4).\",\n \"transaction_id\":\"1ad3a534117d4\",\n }\n```" servers: - url: https://eliq.insights-api.eliq.com description: 'Production (tenant-prefixed host; your own base URL is issued by Eliq — form: https://{tenant}.insights-api.eliq.com)' paths: /v3/users/{userId}: parameters: - schema: type: integer name: userId in: path required: true description: Eliq internal id of user get: summary: Get user by Eliq internal ID tags: - Users responses: '200': description: User Found content: application/json: schema: $ref: '#/components/schemas/User' examples: John Doe: value: id: 1234 ext_ref: aec78361-f5b6-44cc-b9e6-935bd5053592 name: John phone: '+46731234123' email: john.doe@email.com language_code: en-GB '404': description: 'User Not Found This error is thrown if no user with the given id could not be found' content: application/json: schema: $ref: '#/components/schemas/Error' examples: User not found: value: type: client_error category: invalid_parameter code: USER_NOT_FOUND description: Could not find user with Id '123' message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 operationId: get-v3-users-userId description: Retrieve the information of the user with the matching user ID. /v3/users/{userId}/consents: parameters: - schema: type: integer name: userId in: path required: true description: Eliq internal id of user get: summary: Get User Consents tags: - Users responses: '200': description: Get list of user consents content: application/json: schema: x-examples: example-1: - version_id: 2f321e42-c1fe-4abf-8f16-44dcce756943 name: privacy_policy given_consent: true language_code: en-GB type: array items: $ref: '#/components/schemas/Consent' examples: List of consents: value: - version_id: f5bba2be-cf4f-4f7e-8237-7476025da0ff name: terms_and_conditions given_consent: false is_updated: true is_mandatory: true timestamp: '2022-06-28T13:54:43.369558Z' language_code: en-GB data: url: https://your-website-url.com/terms-and-conditions - version_id: 43cceb46-e598-43c1-8f25-d6d30b765d9a name: privacy_policy given_consent: true is_updated: false is_mandatory: true timestamp: '2022-06-25T10:11:30.2211223Z' language_code: en-GB data: url: https://your-website-url.com/privacy_policy '404': description: 'User Not Found This error is thrown if no user with the given id could not be found' content: application/json: schema: $ref: '#/components/schemas/Error' examples: User not found: value: type: client_error category: invalid_parameter code: USER_NOT_FOUND description: Could not find user with Id '123' message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 operationId: get-v3-users-userId-consents description: Retrieve the list of the user consents. put: summary: Update User Consents operationId: put-v3-users-userId-consents responses: '200': description: OK description: Update single or multiple consents for a user. requestBody: content: application/json: schema: type: array x-examples: example-1: - version_id: 2f321e42-c1fe-4abf-8f16-44dcce756943 name: privacy_policy given_consent: true language_code: en-GB items: type: object properties: version_id: type: string name: type: string given_consent: type: boolean language_code: type: string required: - version_id - name - given_consent - language_code tags: - Users /v3/users: parameters: [] get: summary: Get user by Eliq external reference tags: - Users responses: '200': description: User Found content: application/json: schema: $ref: '#/components/schemas/User' examples: John Doe: value: id: 1234 ext_ref: aec78361-f5b6-44cc-b9e6-935bd5053592 name: John phone: '+46731234123' email: john.doe@email.com language_code: en-GB '404': description: 'User Not Found This error is thrown if no user with the given extref could not be found' content: application/json: schema: $ref: '#/components/schemas/Error' examples: User not found: value: type: client_error category: user_not_found code: USER_NOT_FOUND description: Could not find user with Id '123' message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 operationId: get-v3-users-userExtref description: Retrieve the information of the user with the matching user external reference (client's id). This request should be used to query the API using the ID sent in through Eliq data management API parameters: - schema: type: string example: aec78361-f5b6-44cc-b9e6-935bd5053592 in: query name: extref description: User external reference required: true /v3/Users/{userId}/locations: get: tags: - Users summary: Get user locations description: Retrieve locations attached to the user with the matching user ID. operationId: get--v3-users-userId-locations parameters: - name: userId in: path description: User's id required: true schema: type: integer format: int32 responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/Location' examples: User locations response: value: - id: 1233 name: Stora Badhusgatan 17-20 ext_ref: '4537899' timezone: Europe/Berlin address: street_address: Stora Badhusgatan 17-20 postal_code: '41120' city: Göteborg country_code: SE lon: 22.12 lat: 56.32 fuels: elec: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok export: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok consumption: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data production: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: ok gas: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: waiting_for_data meters: - id: e7c8938fe06a44a7923ed89da281705e model: Standard Energy V1 user_setup_completed: true name_user: Main house meter fuel_type: elec direction: import is_sub_meter: false category_user: other supply_start_date: '2026-01-01T00:00:00' supply_end_date: '2026-12-31T00:00:00' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: User not found: value: type: client_error category: user_not_found code: USER_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find user with Id '1234567' User's Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Internal server error, please try again later. If problem remains, please contact support. /v3/locations/{locationId}: get: tags: - Locations summary: Get location by internal id description: "Get location by Eliq internal ID\r\n \r\nRetrieve the information of the location with the\ \ matching location ID." operationId: get-v3-locations-locationId parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Location' examples: Sample Location (with two meters): value: id: 1233 name: Stora Badhusgatan 17-20 ext_ref: '4537899' timezone: Europe/Berlin address: street_address: Stora Badhusgatan 17-20 postal_code: '41120' city: Göteborg country_code: SE lon: 22.12 lat: 56.32 fuels: elec: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok export: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok consumption: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data production: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data gas: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok meters: - id: e01dbb49507f447fa8518249cd7620dd model: Standard Energy V1 user_setup_completed: true name_user: Gas Energy Meter fuel_type: gas direction: import is_sub_meter: false category_user: washing supply_start_date: '2026-01-01T00:00:00' supply_end_date: '2026-12-31T00:00:00' - id: e4c8938fe06a44a7923ed89da281705e model: Standard Energy V1 user_setup_completed: false name_suggested: Standard Energy V-2 fuel_type: elec direction: import is_sub_meter: true category_suggested: washing supply_start_date: '2026-01-01T00:00:00' supply_end_date: '2026-12-31T00:00:00' Location with meter setup: value: id: 1233 name: Stora Badhusgatan 17-20 ext_ref: '4537899' timezone: Europe/Berlin address: street_address: Stora Badhusgatan 17-20 postal_code: '41120' city: Göteborg country_code: SE lon: 22.12 lat: 56.32 fuels: elec: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok export: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok consumption: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data production: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data gas: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok meters: - id: e7c8938fe06a44a7923ed89da281705e model: Standard Energy V1 user_setup_completed: true name_user: Main house meter fuel_type: elec direction: import is_sub_meter: false category_user: other supply_start_date: '2026-01-01T00:00:00' supply_end_date: '2026-12-31T00:00:00' Location without meter setup: value: id: 1233 name: Stora Badhusgatan 17-20 ext_ref: '4537899' timezone: Europe/Berlin address: street_address: Stora Badhusgatan 17-20 postal_code: '41120' city: Göteborg country_code: SE lon: 22.12 lat: 56.32 fuels: elec: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok export: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok consumption: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data production: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data gas: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok meters: - id: e7c8938fe06a44a7923ed89da281705e model: Standard Energy V1 user_setup_completed: false name_suggested: Standard Energy V1 fuel_type: elec direction: import is_sub_meter: false category_suggested: other '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Internal server error, please try again later. If problem remains, please contact support. /v3/locations: get: tags: - Locations summary: Get location by Eliq external reference description: Retrieve the information of the location with the matching location external reference id. operationId: get-v3-locations-locationExtref parameters: - name: extRef in: query description: Location external reference required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Location' examples: Sample Location (with two meters): value: id: 1233 name: Stora Badhusgatan 17-20 ext_ref: '4537899' timezone: Europe/Berlin address: street_address: Stora Badhusgatan 17-20 postal_code: '41120' city: Göteborg country_code: SE lon: 22.12 lat: 56.32 fuels: elec: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok export: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok consumption: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data production: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data gas: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok meters: - id: e01dbb49507f447fa8518249cd7620dd user_setup_completed: true name_user: Gas Energy Meter fuel_type: gas direction: import is_sub_meter: false category_user: washing - id: e4c8938fe06a44a7923ed89da281705e user_setup_completed: false name_suggested: Standard Energy V-2 fuel_type: elec direction: import is_sub_meter: true category_suggested: washing Location with meter setup: value: id: 1233 name: Stora Badhusgatan 17-20 ext_ref: '4537899' timezone: Europe/Berlin address: street_address: Stora Badhusgatan 17-20 postal_code: '41120' city: Göteborg country_code: SE lon: 22.12 lat: 56.32 fuels: elec: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok export: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok consumption: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data production: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data gas: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok meters: - id: e7c8938fe06a44a7923ed89da281705e user_setup_completed: true name_user: Main house meter fuel_type: elec direction: import is_sub_meter: false category_user: other Location without meter setup: value: id: 1233 name: Stora Badhusgatan 17-20 ext_ref: '4537899' timezone: Europe/Berlin address: street_address: Stora Badhusgatan 17-20 postal_code: '41120' city: Göteborg country_code: SE lon: 22.12 lat: 56.32 fuels: elec: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok export: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok consumption: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data production: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: pv_disagg sync_status: waiting_for_data gas: import: resolution: hour data_from: '2019-01-01T00:00:00' data_to: '2020-01-01T00:00:00' source: smart_meter sync_status: ok meters: - id: e7c8938fe06a44a7923ed89da281705e user_setup_completed: false name_suggested: Standard Energy V1 fuel_type: elec direction: import is_sub_meter: false category_suggested: other '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Invalid parameter: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'extref' missing '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Internal server error, please try again later. If problem remains, please contact support. /v3/locations/{locationId}/notifications: parameters: - schema: type: string name: locationId in: path required: true get: summary: Get location Notifications tags: - Locations responses: '200': description: Location found content: application/json: schema: type: array items: type: object schema: $ref: '#/components/schemas/Notification' x-examples: example-1: - id: 37117550 type: market_price_next_day_avg_price_alert read: true created_date: '2023-01-22T16:01:17.23' header: Tomorrows market electricity prices are high! content: Tomorrow the average market prices are high, averaging 1,66 kr/kWh. The prices peak 2,93 kr/kWh at 09:00-10:00. - id: 37054931 type: market_price_next_day_hour_price_alert read: true created_date: '2023-01-21T16:00:39.18' header: Tomorrow the market prices are high! content: Tomorrow you should avoid using excess electricity between 18:00-19:00 when the price is 2,19 kr/kWh. - id: 36912603 type: market_price_next_day_avg_price_alert read: true created_date: '2023-01-18T16:01:25.223' header: Tomorrows market electricity prices are high! content: Tomorrow the average market prices are high, averaging 1,49 kr/kWh. The prices peak 2,01 kr/kWh at 16:00-17:00. - id: 36831730 type: market_price_next_day_avg_price_alert read: true created_date: '2023-01-14T16:01:32.003' header: Low market prices tomorrow content: Tomorrow the average market prices are low, averaging at 0,20 kr/kWh 🙂. The price will be at its lowest 05:00-06:00 at 0,05 kr/kWh. - id: 36770333 type: market_price_next_day_avg_price_alert read: true created_date: '2023-01-13T16:00:36.033' header: Low market prices tomorrow content: Tomorrow the average market prices are low, averaging at 0,62 kr/kWh 🙂. The price will be at its lowest 23:00-00:00 at 0,40 kr/kWh. - id: 36169901 type: market_price_next_day_avg_price_alert read: true created_date: '2022-12-31T16:01:46.243' header: Low market prices tomorrow content: Tomorrow the average market prices are low, averaging at 0,20 kr/kWh 🙂. The price will be at its lowest 04:00-05:00 at 0,00 kr/kWh. - id: 36101812 type: market_price_next_day_hour_price_alert read: true created_date: '2022-12-30T16:01:46.15' header: Negative electricity prices tomorrow! content: Between 02:00-08:00 tomorrow the market electricity price is below zero! examples: example-1: value: - id: 37117550 type: market_price_next_day_avg_price_alert read: true created_date: '2023-01-22T16:01:17.23' header: Tomorrows market electricity prices are high! content: Tomorrow the average market prices are high, averaging 1,66 kr/kWh. The prices peak 2,93 kr/kWh at 09:00-10:00. - id: 37054931 type: market_price_next_day_hour_price_alert read: true created_date: '2023-01-21T16:00:39.18' header: Tomorrow the market prices are high! content: Tomorrow you should avoid using excess electricity between 18:00-19:00 when the price is 2,19 kr/kWh. - id: 36912603 type: market_price_next_day_avg_price_alert read: true created_date: '2023-01-18T16:01:25.223' header: Tomorrows market electricity prices are high! content: Tomorrow the average market prices are high, averaging 1,49 kr/kWh. The prices peak 2,01 kr/kWh at 16:00-17:00. - id: 36831730 type: market_price_next_day_avg_price_alert read: true created_date: '2023-01-14T16:01:32.003' header: Low market prices tomorrow content: Tomorrow the average market prices are low, averaging at 0,20 kr/kWh 🙂. The price will be at its lowest 05:00-06:00 at 0,05 kr/kWh. - id: 36770333 type: market_price_next_day_avg_price_alert read: true created_date: '2023-01-13T16:00:36.033' header: Low market prices tomorrow content: Tomorrow the average market prices are low, averaging at 0,62 kr/kWh 🙂. The price will be at its lowest 23:00-00:00 at 0,40 kr/kWh. - id: 36169901 type: market_price_next_day_avg_price_alert read: true created_date: '2022-12-31T16:01:46.243' header: Low market prices tomorrow content: Tomorrow the average market prices are low, averaging at 0,20 kr/kWh 🙂. The price will be at its lowest 04:00-05:00 at 0,00 kr/kWh. - id: 36101812 type: market_price_next_day_hour_price_alert read: true created_date: '2022-12-30T16:01:46.15' header: Negative electricity prices tomorrow! content: Between 02:00-08:00 tomorrow the market electricity price is below zero! '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND description: Could not find the location. message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 operationId: get-v3-locations-notification description: Get notifications that has been generated for a location. This can be presented in a feed in an app, or used for an admin to check which notifications that have been sent out. parameters: [] /v3/locations/{locationId}/notifications/settings: parameters: - schema: type: string name: locationId in: path required: true get: summary: Get Location Notifications Settings tags: - Locations responses: '200': description: Location found content: application/json: schema: type: array items: type: object properties: type: type: string type_id: type: integer enabled: type: boolean mute_email: type: boolean mute_push: type: boolean mute_text: type: boolean x-examples: example-1: - type: meterreading_required type_id: 80 enabled: true mute_email: true mute_push: false mute_text: true - type: bill_created type_id: 82 enabled: true mute_email: true mute_push: false mute_text: true - type: daily_anomaly type_id: 90 enabled: true mute_email: true mute_push: false mute_text: true - type: monthly_report_available type_id: 94 enabled: true mute_email: true mute_push: false mute_text: true - type: budget type_id: 95 enabled: true mute_email: true mute_push: false mute_text: true - type: custom type_id: 104 enabled: true mute_email: true mute_push: false mute_text: true - type: market_price_next_day_avg_price_alert type_id: 105 enabled: true mute_email: true mute_push: false mute_text: true - type: market_price_next_day_hour_price_alert type_id: 106 enabled: true mute_email: true mute_push: false mute_text: true examples: example-1: value: - type: meterreading_required type_id: 80 enabled: true mute_email: true mute_push: false mute_text: true - type: bill_created type_id: 82 enabled: true mute_email: true mute_push: false mute_text: true - type: daily_anomaly type_id: 90 enabled: true mute_email: true mute_push: false mute_text: true - type: monthly_report_available type_id: 94 enabled: true mute_email: true mute_push: false mute_text: true - type: budget type_id: 95 enabled: true mute_email: true mute_push: false mute_text: true - type: custom type_id: 104 enabled: true mute_email: true mute_push: false mute_text: true - type: market_price_next_day_avg_price_alert type_id: 105 enabled: true mute_email: true mute_push: false mute_text: true - type: market_price_next_day_hour_price_alert type_id: 106 enabled: true mute_email: true mute_push: false mute_text: true '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND description: Could not find the location. message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 operationId: get-v3-locations-notification-settings description: Get notifications settings for a location. parameters: [] /v3/locations/{locationId}/notifications/settings/{notificationTypeId}: put: tags: - Locations summary: Update notification settings per location. description: "Can be used to enable/disable the notification and configure delivery channels.\r\n \r\nAn\ \ important note is that the notification is sent via all configured channels.\r\nI.E. if none of the channels (email,\ \ text, push, webhook) are muted, ALL of them will be used in order to deliver the notification." operationId: put-v3-locations-locationId-notifications-settings parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: notificationTypeId in: path description: Notification id required: true schema: type: integer format: int32 requestBody: content: application/json-patch+json: schema: $ref: '#/components/schemas/LocationNotificationSettingsInput' application/json: schema: $ref: '#/components/schemas/LocationNotificationSettingsInput' text/json: schema: $ref: '#/components/schemas/LocationNotificationSettingsInput' application/*+json: schema: $ref: '#/components/schemas/LocationNotificationSettingsInput' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/NotificationSettingsResponse' examples: Notification update successful: value: notification_name: daily_anomaly notification_type_id: 90 send_event_notification: false send_email: true send_push: true send_text: false send_webhook: true '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Input not provided: value: code: invalid_parameter transaction_id: 0HN1O72JU5P3C:00000001 description: '''input'' cannot be null' Notification type id not provided: value: code: invalid_parameter transaction_id: 0HN1O72JU5P3C:00000001 description: '''notificationTypeId'' not provided' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: LOCATION_NOT_FOUND transaction_id: 0HN1O72JU5P3C:00000001 description: Location not found Location owner not found: value: code: LOCATION_OWNER_NOT_FOUND transaction_id: 0HN1O72JU5P3C:00000001 description: Location owner not found Notification settings not found: value: code: NOTIFICATION_SETTINGS_NOT_FOUND transaction_id: 0HN1O72JU5P3C:00000001 description: Notification settings not found '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Internal server error, please try again later. If problem remains, please contact support. /v3/locations/{locationId}/profile/type: get: tags: - Location Profile summary: Get location profile type description: Get the profile type for the location. operationId: get-v3-location-profile-type parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LocationProfileType' examples: Residential type: value: type: residential Business type: value: type: business Type undefined: value: type: undefined '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. post: tags: - Location Profile summary: Set location profile type description: "Before setting the location profile type, ensure the client location profile configuration is set.\r\n\ - Business configuration is required to set business location types.\r\n- Residential configuration\ \ is required to set residential location types.\r\n \r\n
Note: Locations that previously\ \ used the Home profile feature are automatically assigned the Residential profile type.\r\nYou do not\ \ need to set the profile type for those locations. Only newly created locations that did not use the Home profile\ \ feature require a profile type to be set.\r\n" operationId: post-v3-location-profile-type parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 requestBody: description: Profile type content: application/json-patch+json: schema: $ref: '#/components/schemas/LocationProfileType' examples: Residential type: value: type: residential Business type: value: type: business application/json: schema: $ref: '#/components/schemas/LocationProfileType' examples: Residential type: value: type: residential Business type: value: type: business text/json: schema: $ref: '#/components/schemas/LocationProfileType' examples: Residential type: value: type: residential Business type: value: type: business application/*+json: schema: $ref: '#/components/schemas/LocationProfileType' examples: Residential type: value: type: residential Business type: value: type: business responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LocationProfileType' examples: Residential type: value: type: residential Business type: value: type: business '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Change not allowed: value: code: EXISTING_PROFILE_VALUES_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Can not change profile type for a configured profile with existing values Profile settings not configured: value: code: PROFILE_CONFIGURATION_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Profile settings not configured '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. /v3/locations/{locationId}/profile: get: tags: - Location Profile summary: Get location profile description: This includes all available profile options and any selected values for the location. operationId: get-v3-location-profile parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LocationProfileSettings' examples: Location profile: value: settings: - key: house_type data_type: single_select possible_values: - value: apartment developer_description: Apartment - value: house_detached developer_description: House - detached - value: holiday_home developer_description: Holiday home / summer house - value: semi_detached developer_description: House - semi detached - value: townhouse developer_description: House - townhouse - value: other developer_description: Other dependent_properties: [] developer_description: Type of dwelling tags: - required_for_euc_to_work - required_for_sh_to_work group: '' - key: living_area data_type: number limits: min: 0 max: 800 step: 1 dependent_properties: [] developer_description: Size of heated living space in square meters tags: - required_for_sh_to_work group: '' - key: persons data_type: number limits: min: 0 max: 10 step: 1 dependent_properties: [] developer_description: Number of people living in the home group: '' - key: heating_type_primary data_type: single_select possible_values: - value: district_heating developer_description: District heating - value: radiators developer_description: Electric radiators - value: air_air_pump developer_description: Air-air heat pump - value: air_water_pump developer_description: Air-water heat pump - value: water_pan developer_description: Electric boiler - value: mountain_sea_earth developer_description: Ground source heat pump - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: other developer_description: Other dependent_properties: - key: house_type accepted_values: - house_detached - townhouse - semi_detached - holiday_home - other developer_description: Primary way of heating the location tags: - required_for_sh_to_work group: '' - key: heating_type_other data_type: multiple_select possible_values: - value: district_heating developer_description: District heating - value: radiators developer_description: Electric radiators - value: air_air_pump developer_description: Air-air heat pump - value: air_water_pump developer_description: Air-water heat pump - value: water_pan developer_description: Electric boiler - value: mountain_sea_earth developer_description: Ground source heat pump - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: floor_heat developer_description: Electric floor heat - value: other developer_description: Other dependent_properties: - key: house_type accepted_values: - house_detached - townhouse - semi_detached - holiday_home - other developer_description: Non-primary ways of heating the location group: '' - key: hotwater_type data_type: single_select possible_values: - value: hot_water_tank developer_description: Storage water heater - value: air_air_pump developer_description: Air-air heat pump - value: air_water_pump developer_description: Air-water heat pump - value: mountain_sea_earth developer_description: Ground source heat pump - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: district_heating developer_description: District heating - value: other developer_description: Other dependent_properties: [] developer_description: Primary way of heating water group: '' - key: gas_stoves data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of gas hobs group: cooking - key: gas_ovens data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of gas ovens group: cooking - key: electric_stoves data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of electric hobs group: cooking - key: electric_ovens data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of electric ovens group: cooking - key: microwaves data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of microwaves group: cooking - key: dishwashers data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of dishwashers group: appliances - key: washing_machines data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of washing machines group: appliances - key: dryers data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of electric dryers group: appliances - key: tv data_type: number limits: min: 0 max: 10 step: 1 dependent_properties: [] developer_description: Number of TVs group: appliances - key: game_consoles data_type: number limits: min: 0 max: 10 step: 1 dependent_properties: [] developer_description: Number of game consoles group: '' - key: laptops data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of laptops group: '' - key: stationary_computers data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of desktop/stationary computers group: '' - key: fridges data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of fridges group: fridges_and_freezers - key: freezers data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of freezers group: fridges_and_freezers - key: fridge_freezers data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of combined fridge-freezer units group: fridges_and_freezers - key: solar_installed data_type: number limits: min: 0 max: 50 step: 1 dependent_properties: [] developer_description: Photovoltaic panels (kW) group: '' - key: electric_cars data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of EVs that are charged at the location group: '' - key: swimming_pool data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of swimming pools (where electricity is used in the heating of the water) group: '' groups: - fridges_and_freezers - appliances - cooking Location profile with selected values: value: settings: - key: house_type data_type: single_select selected_values: - id: 023fd646-b383-ee11-8925-000d3a2e6931 value: semi_detached possible_values: - value: apartment developer_description: Apartment - value: house_detached developer_description: House - detached - value: holiday_home developer_description: Holiday home / summer house - value: semi_detached developer_description: House - semi detached - value: townhouse developer_description: House - townhouse - value: other developer_description: Other dependent_properties: [] developer_description: Type of dwelling tags: - required_for_euc_to_work - required_for_sh_to_work group: '' - key: living_area data_type: number selected_values: - id: 053fd646-b383-ee11-8925-000d3a2e6931 value: 115 limits: min: 0 max: 800 step: 1 dependent_properties: [] developer_description: Size of heated living space in square meters tags: - required_for_sh_to_work group: '' - key: persons data_type: number selected_values: - id: a7606e31-454f-ef11-86c3-6045bdf530b7 value: 5 from: '2024-07-01T00:00:00' - id: da188f27-454f-ef11-86c3-6045bdf530b7 value: 4 from: '2023-01-10T00:00:00' - id: 103fd646-b383-ee11-8925-000d3a2e6931 value: 3 limits: min: 0 max: 10 step: 1 dependent_properties: [] developer_description: Number of people living in the home group: '' - key: heating_type_primary data_type: single_select selected_values: - id: 19ab5ad4-5f88-ee11-8925-000d3a2e6931 value: air_air_pump possible_values: - value: district_heating developer_description: District heating - value: radiators developer_description: Electric radiators - value: air_air_pump developer_description: Air-air heat pump - value: air_water_pump developer_description: Air-water heat pump - value: water_pan developer_description: Electric boiler - value: mountain_sea_earth developer_description: Ground source heat pump - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: other developer_description: Other dependent_properties: - key: house_type accepted_values: - house_detached - townhouse - semi_detached - holiday_home - other developer_description: Primary way of heating the location tags: - required_for_sh_to_work group: '' - key: heating_type_other data_type: multiple_select possible_values: - value: district_heating developer_description: District heating - value: radiators developer_description: Electric radiators - value: air_air_pump developer_description: Air-air heat pump - value: air_water_pump developer_description: Air-water heat pump - value: water_pan developer_description: Electric boiler - value: mountain_sea_earth developer_description: Ground source heat pump - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: floor_heat developer_description: Electric floor heat - value: other developer_description: Other dependent_properties: - key: house_type accepted_values: - house_detached - townhouse - semi_detached - holiday_home - other developer_description: Non-primary ways of heating the location group: '' - key: hotwater_type data_type: single_select possible_values: - value: hot_water_tank developer_description: Storage water heater - value: air_air_pump developer_description: Air-air heat pump - value: air_water_pump developer_description: Air-water heat pump - value: mountain_sea_earth developer_description: Ground source heat pump - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: district_heating developer_description: District heating - value: other developer_description: Other dependent_properties: [] developer_description: Primary way of heating water group: '' - key: gas_stoves data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of gas hobs group: cooking - key: gas_ovens data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of gas ovens group: cooking - key: electric_stoves data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of electric hobs group: cooking - key: electric_ovens data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of electric ovens group: cooking - key: microwaves data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of microwaves group: cooking - key: dishwashers data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of dishwashers group: appliances - key: washing_machines data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of washing machines group: appliances - key: dryers data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of electric dryers group: appliances - key: tv data_type: number limits: min: 0 max: 10 step: 1 dependent_properties: [] developer_description: Number of TVs group: '' - key: game_consoles data_type: number limits: min: 0 max: 10 step: 1 dependent_properties: [] developer_description: Number of game consoles group: '' - key: laptops data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of laptops group: '' - key: stationary_computers data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of desktop/stationary computers group: '' - key: fridges data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of fridges group: fridges_and_freezers - key: freezers data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of freezers group: fridges_and_freezers - key: fridge_freezers data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of combined fridge-freezer units group: fridges_and_freezers - key: solar_installed data_type: number limits: min: 0 max: 50 step: 1 dependent_properties: [] developer_description: Photovoltaic panels (kW) group: '' - key: electric_cars data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of EVs that are charged at the location group: '' - key: swimming_pool data_type: number limits: min: 0 max: 5 step: 1 dependent_properties: [] developer_description: Number of swimming pools (where electricity is used in the heating of the water) group: '' groups: - cooking - appliances - fridges_and_freezers '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. Profile settings not configured: value: code: PROFILE_CONFIGURATION_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Profile settings not configured post: tags: - Location Profile summary: Add new location profile values description: "Used in order to add new historic values to the location profile, specifying how and when it has changed.\r\ \n\r\nExisting values can be updated via [PATCH location profile's value](#tag/Location-Profile/operation/patch-v3-location-profile-value).\r\ \n\r\nIf a user's location profile genuinely changed, [POST Add new location profile values](#tag/Location-Profile/operation/set-v3-location-profile-values)\ \ should be used in order to make full use of the historic location profile feature.\r\n\r\nIt's technically possible\ \ to omit the historic location profile functionality, use [POST Add new location profile values](#tag/Location-Profile/operation/set-v3-location-profile-values)\ \ to create the property and [PATCH location profile's value](#tag/Location-Profile/operation/patch-v3-location-profile-value)\ \ to update it. But we strongly recommend making use of the historic location profile functionality.\r\n \ \ \r\nFor example:\r\nA user has entered that he has 2 electric boilers at his location when he actually meant 1.\ \ This can be corrected using [PATCH location profile's value](#tag/Location-Profile/operation/patch-v3-location-profile-value).\r\ \nHowever, in the scenario where the user has had a single boiler since 2022-01-01, and decided to purchase a 2nd\ \ boiler on 2024-01-01, [POST Add new location profile values](#tag/Location-Profile/operation/set-v3-location-profile-values)\ \ should be used to make use of the historic profile feature." operationId: set-v3-location-profile-values parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 requestBody: description: Values to add content: application/json: schema: type: array items: $ref: '#/components/schemas/LocationProfileValueRequest' examples: Payload: value: - key: house_type value: apartment from: '2024-09-01T00:00:00' - key: living_area value: 450 from: '2024-09-01T00:00:00' - key: heating_type_other value: - heat_pump - wood_burning from: '2024-01-01T00:00:00' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/LocationProfileValueResponse' examples: Location profile values result: value: - id: cde1e994-0b03-4a63-99ae-373becd4da3c key: house_type value: apartment from: '2024-09-01T00:00:00' - id: a9b70bd2-113b-4724-8076-5469da03eb15 key: living_area value: 450 from: '2024-09-01T00:00:00' Location profile value (no date): value: - id: 57209a2d-18e9-4e68-8889-59a7d874b497 key: house_type value: apartment - id: 237bcf08-7377-4b48-9106-ec061ea7ee60 key: heating_type_primary value: district_heating '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Empty input provided: value: code: INVALID_INPUT transaction_id: 0HN18NIB8K5RV:00000001 description: Empty input provided Key was not provided: value: code: INVALID_INPUT transaction_id: 0HN18NIB8K5RV:00000001 description: Key was not provided Value was not provided: value: code: INVALID_INPUT transaction_id: 0HN18NIB8K5RV:00000001 description: Value was not provided for Key 'heating_type' Key mismatch: value: code: KEY_MISSING_FROM_CONFIGURATION transaction_id: 0HN18NIB8K5RV:00000001 description: Key 'ice_makers' does not match any allowed settings Key date value already exists: value: code: KEY_DATE_VALUE_ALREADY_EXISTS transaction_id: 0HN18NIB8K5RV:00000001 description: Key 'heating_type' with From 'null' already exists for the location Key date values must be unique: value: code: DUPLICATE_KEY_VALUE_PAIRS transaction_id: 0HN18NIB8K5RV:00000001 description: 'Key date values must be unique for a single location. The following duplicates were found: Key ''persons'' From ''2024-01-01''' Unsupported type: value: code: INVALID_INPUT_VALUE_FORMAT transaction_id: 0HN18NIB8K5RV:00000001 description: 'Unsupported type used for number: System.String' Profile type not configured: value: code: PROFILE_TYPE_NOT_CONFIGURED transaction_id: 0HN18NIB8K5RV:00000001 description: Profile type not configured '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. Profile settings not configured: value: code: PROFILE_CONFIGURATION_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Profile settings not configured /v3/locations/{locationId}/profile/completion: get: tags: - Location Profile summary: Get location profile completion percentage description: "Returns the percentage of settings which have a value set.\r\nIf 2 out of 20 total settings have a value\ \ set, the response is 10%, if 10 out of 20 settings are\r\nset, response is 50%, etc." operationId: get-v3-location-profile-completion parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LocationProfileCompletionResponse' examples: Location profile 10% complete: value: completion_percentage: 10 Location profile 24% complete: value: completion_percentage: 24 Location profile 100% complete: value: completion_percentage: 100 '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. Profile settings not configured: value: code: PROFILE_CONFIGURATION_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Profile settings not configured /v3/locations/{locationId}/profile/{profileValueId}: patch: tags: - Location Profile summary: Patch location profile's value description: "This endpoint can be used to update a specific location profile's value.\r\n \r\nWe strongly\ \ recommend using this endpoint only for correcting mistakes a user has made while entering his location profile and\ \ using the [POST Add new location profile values](#tag/Location-Profile/operation/set-v3-location-profile-values)\ \ endpoint in order to create historic change entries of the location profile.\r\n \r\nFor example:\r\n\ A user has entered that he has 2 electric boilers at his location when he actually meant 1. This can be corrected\ \ using [PATCH location profile's value](#tag/Location-Profile/operation/patch-v3-location-profile-value).\r\nIn the\ \ scenario where the user has had a single boiler since 2022-01-01, and decided to purchase a 2nd boiler on 2024-01-01,\ \ we recommend using [POST Add new location profile values](#tag/Location-Profile/operation/set-v3-location-profile-values)\ \ to make use of the historic location profile feature." operationId: patch-v3-location-profile-value parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: profileValueId in: path description: Profile value id required: true schema: type: string format: uuid requestBody: description: PATCH request model content: application/json-patch+json: schema: $ref: '#/components/schemas/PatchLocationProfileRequestModel' examples: Payload with string value: value: from: '2024-01-01T00:00:00' value: apartment Payload with number value: value: from: '2024-01-01T00:00:00' value: 4 Payload with empty value: value: from: '2024-01-01T00:00:00' Payload with empty from: value: value: apartment Payload for multi-select properties: value: from: '2024-01-01T00:00:00' value: - heat_pump - wood_burning application/json: schema: $ref: '#/components/schemas/PatchLocationProfileRequestModel' examples: Payload with string value: value: from: '2024-01-01T00:00:00' value: apartment Payload with number value: value: from: '2024-01-01T00:00:00' value: 4 Payload with empty value: value: from: '2024-01-01T00:00:00' Payload with empty from: value: value: apartment Payload for multi-select properties: value: from: '2024-01-01T00:00:00' value: - heat_pump - wood_burning text/json: schema: $ref: '#/components/schemas/PatchLocationProfileRequestModel' examples: Payload with string value: value: from: '2024-01-01T00:00:00' value: apartment Payload with number value: value: from: '2024-01-01T00:00:00' value: 4 Payload with empty value: value: from: '2024-01-01T00:00:00' Payload with empty from: value: value: apartment Payload for multi-select properties: value: from: '2024-01-01T00:00:00' value: - heat_pump - wood_burning application/*+json: schema: $ref: '#/components/schemas/PatchLocationProfileRequestModel' examples: Payload with string value: value: from: '2024-01-01T00:00:00' value: apartment Payload with number value: value: from: '2024-01-01T00:00:00' value: 4 Payload with empty value: value: from: '2024-01-01T00:00:00' Payload with empty from: value: value: apartment Payload for multi-select properties: value: from: '2024-01-01T00:00:00' value: - heat_pump - wood_burning responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/LocationProfileValueResponse' examples: Patch location profile value result: value: id: 1332d259-8aef-4566-b8b7-529f47d16ff1 key: house_type value: apartment from: '2024-09-01T00:00:00' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Profile value not found for location: value: code: PROFILE_VALUE_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Profile value not found for given location and id. delete: tags: - Location Profile summary: Delete location profile's value description: Delete location profile's value by id. operationId: delete-v3-location-profile-value parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: profileValueId in: path description: Profile value id required: true schema: type: string format: uuid responses: '204': description: No Content content: application/json: schema: type: string examples: Success: value: '' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Profile value not found for location: value: code: PROFILE_VALUE_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Profile value not found for given location and id. /v3/locations/{locationId}/homeprofile: parameters: - schema: type: string name: locationId in: path required: true description: Eliq internal location id get: summary: Get location homeprofile responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/Homeprofile' examples: Home profile: value: properties: - key: house_type data_type: single_select is_required: true possible_values: - value: apartment developer_description: Apartment - value: house developer_description: House - value: semi_detached developer_description: House - semi detached - value: holiday_home developer_description: Holiday home / summer house - value: other developer_description: Other tags: - required_for_euc_to_work - required_for_sh_to_work developer_description: Type of dwelling - key: living_area data_type: number is_required: true limits: min: 0 max: 400 step: 1 tags: - required_for_sh_to_work developer_description: Size of heated living space in square meters - key: persons data_type: number is_required: true limits: min: 0 max: 10 step: 1 tags: [] developer_description: Number of people living in the home - key: heating_type_primary data_type: single_select is_required: true possible_values: - value: district_heating developer_description: District heating - value: radiators developer_description: Electric radiators - value: air_air_pump developer_description: Air-air heat pump - value: air_water_pump developer_description: Air-water heat pump - value: water_pan developer_description: Storage water heater - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: floor_heat developer_description: Electric floor heat - value: other developer_description: Other tags: - required_for_sh_to_work developer_description: Primary way of heating the location - key: heating_type_other data_type: multiple_select is_required: false possible_values: - value: district_heating developer_description: District heating - value: radiators developer_description: Electric radiators - value: air_air_pump developer_description: Air-air heat pump - value: air_water_pump developer_description: Air-water heat pump - value: water_pan developer_description: Storage water heater - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: floor_heat developer_description: Electric floor heat - value: other developer_description: Other tags: [] developer_description: Non-primary ways of heating the location - key: hotwater_type data_type: single_select is_required: false possible_values: - value: hot_water_tank developer_description: Storage water heater - value: air_water_pump developer_description: Air-water heat pump - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: district_heating developer_description: District heating - value: other developer_description: Other tags: [] developer_description: Primary way of heating water cooking: - key: gas_stoves data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of gas hobs - key: gas_ovens data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of gas ovens - key: electric_stoves data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of electric hobs - key: electric_ovens data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of electric ovens - key: microwaves data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of microwaves appliances: - key: dishwashers data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of dishwashers - key: washing_machines data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of washing machines - key: dryers data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of electric dryers fridges_and_freezers: - key: fridges data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of fridges - key: freezers data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of freezers - key: fridge_freezers data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of combined fridge-freezer units '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error not found: value: type: client_error category: entity_not_found description: Could not find location message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 operationId: get-v3-locations-locationId-homeprofile description: "### Home profile endpoints are being DEPRECATED\n\nEliq is expanding it's suite of features to include\ \ business insights. In light of this, new Location Profile endpoints were introduced in order to deferentiate locations\ \ between residential and business locations.\n\nThe new Location profile endpoints should be used to manage home\ \ profile properties. Eliq will continue to support this endpoint and will communicate a date when this endpoint will\ \ no longer be supported once a date has been set.\n\nGet location home profile. The endpoint will return both meta\ \ data about the available home profile options that is available, and the selected properties for the specific location.\n\ \nA location home profile is used to populate information about the household, such as house type, heating type or\ \ number of people in the household. The available home profile options is dependent on the country of the location.\ \ There is also a possibility to modify the available home profile options. Please contact Eliq for more information.\ \ \n\nNOTE: In the 'properties' section, certain values, such as 'hotwater_type', represent different fuel options\ \ like electricity or gas for the hot water system. However, if you have a hot water system that operates without\ \ consuming energy, like wood burning, you can omit selecting any specific value for the 'hotwater_type' field." tags: - Home Profile deprecated: true patch: summary: Update home profile operationId: patch-v3-locations-locationId-homeprofile responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/HomeProfileOption' examples: Home profile: value: key: house_type data_type: single_select is_required: false value: apartment possible_values: - value: house developer_description: House - value: apartment developer_description: Apartment tags: - required_for_euc_to_work - required_for_sh_to_work developer_description: Type of dwelling '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error not found: value: type: client_error category: entity_not_found description: Could not find location message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchDocument' examples: Replace housetype, people, heating type: value: - op: replace path: properties/house_type value: apartment - op: replace path: properties/persons value: 2 - op: replace path: properties/heating_type_primary value: radiators description: '' description: '### Home profile endpoints are being DEPRECATED Eliq is expanding it''s suite of features to include business insights. In light of this, new Location Profile endpoints were introduced in order to deferentiate locations between residential and business locations. The new Location profile endpoints should be used to manage home profile properties. Eliq will continue to support this endpoint and will communicate a date when this endpoint will no longer be supported once a date has been set. Update the homeprofile. Follows RFC 6902 with the small tweak that we only allow the replace operation. However, the replace operation can be used to add and remove as well. See the example for GetLocationHomeprofile for specifications of what values can be set for each property. NOTE: In the ''properties'' section, certain values, such as ''hotwater_type'', represent different fuel options like electricity or gas for the hot water system. However, if you have a hot water system that operates without consuming energy, like wood burning, you can omit selecting any specific value for the ''hotwater_type'' field.' tags: - Home Profile deprecated: true /v3/locations/{locationId}/homeprofile/completion: parameters: - schema: type: string name: locationId in: path required: true description: Eliq internal location id get: summary: Get location homeprofile completion responses: '200': description: OK content: application/json: schema: type: object properties: home_profile_completion: type: integer x-examples: example-1: home_profile_completion: 65 examples: home_profile_completion: value: home_profile_completion: 65 '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error not found: value: type: client_error category: entity_not_found description: Could not find location message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 operationId: get-v3-locations-locationId-homeprofile-completion description: '### Home profile endpoints are being DEPRECATED Eliq is expanding it''s suite of features to include business insights. In light of this, new Location Profile endpoints were introduced in order to deferentiate locations between residential and business locations. The new Location profile endpoints should be used to manage home profile properties. Eliq will continue to support this endpoint and will communicate a date when this endpoint will no longer be supported once a date has been set. This endpoint will return how many percentages of the home profile that is filled out. 100% means that all parameters are set.' tags: - Home Profile deprecated: true /v3/locations/{locationId}/marketprice/prices: get: tags: - Market Price summary: Get location market prices description: Get market prices for location in desired resolution between two specified timestamps. On daily and monthly resolution, the average price is calculated for the given day/month using either hourly or 15min prices, depending on which prices are available. operationId: get-v3-locations-locationId-marketprice-prices parameters: - name: locationId in: path description: Location ID required: true schema: type: integer format: int32 - name: from in: query description: From date inclusive schema: type: string - name: to in: query description: To date exclusive schema: type: string - name: resolution in: query description: 'Data granularity resolution with the following valid values: ''15min'', ''30min'', ''hour'', ''day'', ''month''' schema: enum: - 15min - 30min - hour - day - month type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/MarketPriceResponseDto' examples: Successful day result: value: resolution: day currency: SEK from: '2022-09-01T00:00:00' to: '2022-09-02T00:00:00' values: - period_start: '2022-09-02T00:00:00' price_kwh: 1.406281 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: From date missing: value: code: MISSING_FROM transaction_id: 0HN18NIB8K5RV:00000001 description: From date missing To date missing: value: code: MISSING_TO transaction_id: 0HN18NIB8K5RV:00000001 description: To date missing To date must be after from date: value: code: TO_MUST_BE_AFTER_FROM transaction_id: 0HN18NIB8K5RV:00000001 description: To date must be after from date Resolution missing: value: code: MISSING_RESOLUTION transaction_id: 0HN18NIB8K5RV:00000001 description: Resolution missing Resolution provided invalid: value: code: INVALID_RESOLUTION transaction_id: 0HN18NIB8K5RV:00000001 description: Resolution provided invalid Period too long: value: code: PERIOD_TOO_LONG transaction_id: 0HN18NIB8K5RV:00000001 description: Period requested too long for given resolution '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: LOCATION_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Location with given id not found Location missing spot price region: value: code: LOCATION_MISSING_SPOT_PRICE_REGION transaction_id: 0HN18NIB8K5RV:00000001 description: Location missing spot price region Spot price region not found: value: code: SPOT_PRICE_REGION_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Spot price region not found /v3/locations/{locationId}/marketprice/price-summary: get: tags: - Market Price summary: Get location market price summary description: "Get market price summary in daily or monthly resolution. The summary includes: average market price, the\ \ lowest and highest market price for the period and price levels. The price levels indicates if the average market\ \ price was high or low for the period compared to a reference period.\r\n\r\nIn daily resolution the lowest and highest\ \ market price are hourly and the price levels reference period is default 30 days.\r\n\r\nIn monthly resolution the\ \ lowest and highest market price are daily average and the price levels reference period is default 12 months.\r\n\ \r\nNote! In order for market prices to be available, the property spot_price_region_id must be set on the location\ \ via the Data Management API." operationId: get-v3-locations-locationId-marketprice-price-summary parameters: - name: locationId in: path description: Location Id required: true schema: type: integer format: int32 - name: from in: query description: From date required: true schema: type: string - name: to in: query description: To date exclusive required: true schema: type: string - name: resolution in: query description: 'Data granularity resolution of periods to summarise with the following valid values: ''day'', ''month''' required: true schema: enum: - day - month type: string - name: subResolution in: query description: Optional parameter which specifies the sub-resolution of the summary data. For 'day' resolution, valid values are 'hour' and '15min'. For 'month' resolution, the only valid value is 'day'. If parameter isn't provided, it defaults to 'hour' for 'day' resolution and 'day' for 'month' resolution. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/MarketPriceSummaryDto' examples: Daily market price summary response with hour subResolution.: value: resolution: day currency: NOK from: '2022-09-01T00:00:00' to: '2022-09-02T00:00:00' values: - period_start: '2022-09-01T00:00:00' avg_price_kwh: 5.661202 price_level: high lowest_price_kwh: period_start: '2022-09-01T03:00:00' price_kwh: 4.90578 highest_price_kwh: period_start: '2022-09-01T19:00:00' price_kwh: 6.73716 values: - period_start: '2022-09-01T00:00:00' price_kwh: 5.01563 - period_start: '2022-09-01T01:00:00' price_kwh: 4.95013 - period_start: '2022-09-01T02:00:00' price_kwh: 4.94994 - period_start: '2022-09-01T03:00:00' price_kwh: 4.90578 - period_start: '2022-09-01T04:00:00' price_kwh: 5.01007 - period_start: '2022-09-01T05:00:00' price_kwh: 5.68437 - period_start: '2022-09-01T06:00:00' price_kwh: 5.90448 - period_start: '2022-09-01T07:00:00' price_kwh: 6.43509 - period_start: '2022-09-01T08:00:00' price_kwh: 6.39896 - period_start: '2022-09-01T09:00:00' price_kwh: 5.95261 - period_start: '2022-09-01T10:00:00' price_kwh: 5.77011 - period_start: '2022-09-01T11:00:00' price_kwh: 5.34598 - period_start: '2022-09-01T12:00:00' price_kwh: 5.0719 - period_start: '2022-09-01T13:00:00' price_kwh: 5.03399 - period_start: '2022-09-01T14:00:00' price_kwh: 5.23563 - period_start: '2022-09-01T15:00:00' price_kwh: 5.52649 - period_start: '2022-09-01T16:00:00' price_kwh: 5.75612 - period_start: '2022-09-01T17:00:00' price_kwh: 6.15177 - period_start: '2022-09-01T18:00:00' price_kwh: 6.498 - period_start: '2022-09-01T19:00:00' price_kwh: 6.73716 - period_start: '2022-09-01T20:00:00' price_kwh: 6.58076 - period_start: '2022-09-01T21:00:00' price_kwh: 6.27571 - period_start: '2022-09-01T22:00:00' price_kwh: 5.60697 - period_start: '2022-09-01T23:00:00' price_kwh: 5.0712 Daily market price summary response with 15min subResolution.: value: resolution: day currency: NOK from: '2022-09-01T00:00:00' to: '2022-09-02T00:00:00' values: - period_start: '2022-09-01T00:00:00' avg_price_kwh: 5.661202 price_level: high lowest_price_kwh: period_start: '2022-09-01T00:45:00' price_kwh: 4.90578 highest_price_kwh: period_start: '2022-09-01T04:45:00' price_kwh: 6.73716 values: - period_start: '2022-09-01T00:00:00' price_kwh: 5.01563 - period_start: '2022-09-01T00:15:00' price_kwh: 4.95013 - period_start: '2022-09-01T00:30:00' price_kwh: 4.94994 - period_start: '2022-09-01T00:45:00' price_kwh: 4.90578 - period_start: '2022-09-01T01:00:00' price_kwh: 5.01007 - period_start: '2022-09-01T01:15:00' price_kwh: 5.68437 - period_start: '2022-09-01T01:30:00' price_kwh: 5.90448 - period_start: '2022-09-01T01:45:00' price_kwh: 6.43509 - period_start: '2022-09-01T02:00:00' price_kwh: 6.39896 - period_start: '2022-09-01T02:15:00' price_kwh: 5.95261 - period_start: '2022-09-01T02:30:00' price_kwh: 5.77011 - period_start: '2022-09-01T02:45:00' price_kwh: 5.34598 - period_start: '2022-09-01T03:00:00' price_kwh: 5.0719 - period_start: '2022-09-01T03:15:00' price_kwh: 5.03399 - period_start: '2022-09-01T03:30:00' price_kwh: 5.23563 - period_start: '2022-09-01T03:45:00' price_kwh: 5.52649 - period_start: '2022-09-01T04:00:00' price_kwh: 5.75612 - period_start: '2022-09-01T04:15:00' price_kwh: 6.15177 - period_start: '2022-09-01T04:30:00' price_kwh: 6.498 - period_start: '2022-09-01T04:45:00' price_kwh: 6.73716 - period_start: '2022-09-01T05:00:00' price_kwh: 6.58076 - period_start: '2022-09-01T05:15:00' price_kwh: 6.27571 - period_start: '2022-09-01T05:30:00' price_kwh: 5.60697 - period_start: '2022-09-01T05:45:00' price_kwh: 5.0712 - period_start: '2022-09-01T06:00:00' price_kwh: 5.0712 - period_start: '2022-09-01T06:15:00' price_kwh: 4.95013 - period_start: '2022-09-01T06:30:00' price_kwh: 4.94994 - period_start: '2022-09-01T06:45:00' price_kwh: 4.08 - period_start: '2022-09-01T07:00:00' price_kwh: 5.01007 - period_start: '2022-09-01T07:15:00' price_kwh: 5.68437 - period_start: '2022-09-01T07:30:00' price_kwh: 5.90448 - period_start: '2022-09-01T07:45:00' price_kwh: 6.43509 - period_start: '2022-09-01T08:00:00' price_kwh: 6.39896 - period_start: '2022-09-01T08:15:00' price_kwh: 5.95261 - period_start: '2022-09-01T08:30:00' price_kwh: 5.77011 - period_start: '2022-09-01T08:45:00' price_kwh: 5.34598 - period_start: '2022-09-01T09:00:00' price_kwh: 5.0719 - period_start: '2022-09-01T09:15:00' price_kwh: 5.03399 - period_start: '2022-09-01T09:30:00' price_kwh: 5.23563 - period_start: '2022-09-01T09:45:00' price_kwh: 5.52649 - period_start: '2022-09-01T10:00:00' price_kwh: 5.75612 - period_start: '2022-09-01T10:15:00' price_kwh: 6.15177 - period_start: '2022-09-01T10:30:00' price_kwh: 6.498 - period_start: '2022-09-01T10:45:00' price_kwh: 6 - period_start: '2022-09-01T11:00:00' price_kwh: 6.58076 - period_start: '2022-09-01T11:15:00' price_kwh: 6.27571 - period_start: '2022-09-01T11:30:00' price_kwh: 5.60697 - period_start: '2022-09-01T11:45:00' price_kwh: 5.0712 - period_start: '2022-09-01T12:00:00' price_kwh: 5.0712 - period_start: '2022-09-01T12:15:00' price_kwh: 4.95013 - period_start: '2022-09-01T12:30:00' price_kwh: 4.94994 - period_start: '2022-09-01T12:45:00' price_kwh: 4 - period_start: '2022-09-01T13:00:00' price_kwh: 5.01007 - period_start: '2022-09-01T13:15:00' price_kwh: 5.68437 - period_start: '2022-09-01T13:30:00' price_kwh: 5.90448 - period_start: '2022-09-01T13:45:00' price_kwh: 6.43509 - period_start: '2022-09-01T14:00:00' price_kwh: 6.39896 - period_start: '2022-09-01T14:15:00' price_kwh: 5.95261 - period_start: '2022-09-01T14:30:00' price_kwh: 5.77011 - period_start: '2022-09-01T14:45:00' price_kwh: 5.34598 - period_start: '2022-09-01T15:00:00' price_kwh: 5.0719 - period_start: '2022-09-01T15:15:00' price_kwh: 5.03399 - period_start: '2022-09-01T15:30:00' price_kwh: 5.23563 - period_start: '2022-09-01T15:45:00' price_kwh: 5.52649 - period_start: '2022-09-01T16:00:00' price_kwh: 5.75612 - period_start: '2022-09-01T16:15:00' price_kwh: 6.15177 - period_start: '2022-09-01T16:30:00' price_kwh: 6.498 - period_start: '2022-09-01T16:45:00' price_kwh: 6 - period_start: '2022-09-01T17:00:00' price_kwh: 6.58076 - period_start: '2022-09-01T17:15:00' price_kwh: 6.27571 - period_start: '2022-09-01T17:30:00' price_kwh: 5.60697 - period_start: '2022-09-01T17:45:00' price_kwh: 5.0712 - period_start: '2022-09-01T18:00:00' price_kwh: 5.0712 - period_start: '2022-09-01T18:15:00' price_kwh: 4.95013 - period_start: '2022-09-01T18:30:00' price_kwh: 4.94994 - period_start: '2022-09-01T18:45:00' price_kwh: 4 - period_start: '2022-09-01T19:00:00' price_kwh: 5.01007 - period_start: '2022-09-01T19:15:00' price_kwh: 5.68437 - period_start: '2022-09-01T19:30:00' price_kwh: 5.90448 - period_start: '2022-09-01T19:45:00' price_kwh: 6.43509 - period_start: '2022-09-01T20:00:00' price_kwh: 6.39896 - period_start: '2022-09-01T20:15:00' price_kwh: 5.95261 - period_start: '2022-09-01T20:30:00' price_kwh: 5.77011 - period_start: '2022-09-01T20:45:00' price_kwh: 5.34598 - period_start: '2022-09-01T21:00:00' price_kwh: 5.0719 - period_start: '2022-09-01T21:15:00' price_kwh: 5.03399 - period_start: '2022-09-01T21:30:00' price_kwh: 5.23563 - period_start: '2022-09-01T21:45:00' price_kwh: 5.52649 - period_start: '2022-09-01T22:00:00' price_kwh: 5.75612 - period_start: '2022-09-01T22:15:00' price_kwh: 6.15177 - period_start: '2022-09-01T22:30:00' price_kwh: 6.498 - period_start: '2022-09-01T22:45:00' price_kwh: 6 - period_start: '2022-09-01T23:00:00' price_kwh: 6.58076 - period_start: '2022-09-01T23:15:00' price_kwh: 6.27571 - period_start: '2022-09-01T23:30:00' price_kwh: 5.60697 - period_start: '2022-09-01T23:45:00' price_kwh: 5.0712 Monthly market price summary response: value: resolution: month currency: NOK from: '2022-09-01T00:00:00' to: '2022-10-01T00:00:00' values: - period_start: '2022-09-01T00:00:00' avg_price_kwh: 5.661202 price_level: high lowest_price_kwh: period_start: '2022-09-04T00:00:00' price_kwh: 4.90578 highest_price_kwh: period_start: '2022-09-20T00:00:00' price_kwh: 6.73716 values: - period_start: '2022-09-01T00:00:00' price_kwh: 5.01563 - period_start: '2022-09-02T00:00:00' price_kwh: 4.95013 - period_start: '2022-09-03T00:00:00' price_kwh: 4.94994 - period_start: '2022-09-04T00:00:00' price_kwh: 4.90578 - period_start: '2022-09-05T00:00:00' price_kwh: 5.01007 - period_start: '2022-09-06T00:00:00' price_kwh: 5.68437 - period_start: '2022-09-07T00:00:00' price_kwh: 5.90448 - period_start: '2022-09-08T00:00:00' price_kwh: 6.43509 - period_start: '2022-09-09T00:00:00' price_kwh: 6.39896 - period_start: '2022-09-10T00:00:00' price_kwh: 5.95261 - period_start: '2022-09-11T00:00:00' price_kwh: 5.77011 - period_start: '2022-09-12T00:00:00' price_kwh: 5.34598 - period_start: '2022-09-13T00:00:00' price_kwh: 5.0719 - period_start: '2022-09-14T00:00:00' price_kwh: 5.03399 - period_start: '2022-09-15T00:00:00' price_kwh: 5.23563 - period_start: '2022-09-16T00:00:00' price_kwh: 5.52649 - period_start: '2022-09-17T00:00:00' price_kwh: 5.75612 - period_start: '2022-09-18T00:00:00' price_kwh: 6.15177 - period_start: '2022-09-19T00:00:00' price_kwh: 6.498 - period_start: '2022-09-20T00:00:00' price_kwh: 6.73716 - period_start: '2022-09-21T00:00:00' price_kwh: 6.58076 - period_start: '2022-09-22T00:00:00' price_kwh: 6.27571 - period_start: '2022-09-23T00:00:00' price_kwh: 5.60697 - period_start: '2022-09-24T00:00:00' price_kwh: 5.0712 - period_start: '2022-09-25T00:00:00' price_kwh: 5.0712 - period_start: '2022-09-26T00:00:00' price_kwh: 5.0712 - period_start: '2022-09-27T00:00:00' price_kwh: 5.0712 - period_start: '2022-09-28T00:00:00' price_kwh: 5.0712 - period_start: '2022-09-29T00:00:00' price_kwh: 5.0712 - period_start: '2022-09-30T00:00:00' price_kwh: 5.0712 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: From date missing: value: code: MISSING_FROM transaction_id: 0HN18NIB8K5RV:00000001 description: From date missing To date missing: value: code: MISSING_TO transaction_id: 0HN18NIB8K5RV:00000001 description: To date missing To date must be after from date: value: code: TO_MUST_BE_AFTER_FROM transaction_id: 0HN18NIB8K5RV:00000001 description: To date must be after from date Resolution missing: value: code: MISSING_RESOLUTION transaction_id: 0HN18NIB8K5RV:00000001 description: Resolution missing Resolution provided invalid: value: code: INVALID_RESOLUTION transaction_id: 0HN18NIB8K5RV:00000001 description: Resolution provided invalid Period too long: value: code: PERIOD_TOO_LONG transaction_id: 0HN18NIB8K5RV:00000001 description: Period requested too long for given resolution Invalid sub-resolution for day resolution: value: code: INVALID_RESOLUTION_PROVIDED transaction_id: 0HN18NIB8K5RV:00000001 description: Invalid sub-resolution provided for day resolution Invalid sub-resolution for month resolution: value: code: INVALID_RESOLUTION_PROVIDED transaction_id: 0HN18NIB8K5RV:00000001 description: Invalid sub-resolution provided for month resolution '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: LOCATION_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Location with given id not found Location missing spot price region: value: code: LOCATION_MISSING_SPOT_PRICE_REGION transaction_id: 0HN18NIB8K5RV:00000001 description: Location missing spot price region Spot price region not found: value: code: SPOT_PRICE_REGION_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Spot price region not found /v3/locations/{locationId}/breakdown: parameters: - schema: type: string name: locationId in: path required: true description: Location identifier get: summary: Get location energy usage breakdown responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ResultWrapper' examples: Breakdown: value: result: accuracy: MEDIUM total_value: 100450 from: '2019-10-01T00:00:00' to: '2019-11-01T00:00:00' unit: energy breakdown: - category: cooking value: 25047 - category: fridge_freezer value: 35623 - category: washing value: 18188 - category: heating value: 4223 - category: always_on value: 6365 - category: lightning value: 11000 result_status: code: ok action: null '400': description: 'Bad Request Possible errors | *type* | *category* | *description* | | --- | --- | --- | | client_error | invalid_parameter | Timespan too large, one month is maximum allowed | | client_error | invalid_parameter | Request input data is invalid | | client_error | invalid_parameter | CUSTOM_PERIOD_MUST_BE_AT_LEAST_28_DAYS |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error example: value: type: client_error category: invalid_parameter description: Timespan too large, one month is maximum allowed message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 '501': description: 'Not Implemented Possible errors | *type* | *category* | *description* | | --- | --- | --- | | internal_error | breakdown_error | Breakdown for current month is not supported | | internal_error | breakdown_error | House type required for breakdown | | internal_error | breakdown_error | Not enough data points | | internal_error | breakdown_error | Solar panels are not supported in breakdown | | internal_error | breakdown_error | House type required for breakdown | | internal_error | breakdown_error | DAILY_RESOLUTION_OR_BETTER_REQUIRED_FOR_CUSTOM_PERIOD |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error example: value: type: internal_error category: breakdown_error description: Not enough data points message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 operationId: get-v3-locations-locationId-breakdown description: "### This Endpoint is deprecated DEPRECATED\n\n“The new EUC endpoint \"Get location energy usage categories\ \ (EUC)\" should be used to get Energy Usage Categories instead. Eliq will continue to support this endpoint and will\ \ communicate a date when this endpoint will no longer be supported once a date has been set.”\n\nGet energy usage\ \ breakdown for a location.\n\nEnergy usage is analyzed and broken down into a list of different usage categories.\ \ Energy Usage Categories helps homeowners to better understand their energy usage and learn what appliances consume\ \ the most energy.\n\nThe endpoint returns 400 errors when there is an obvious implementation mistake and 501 errors\ \ when the error is caused by missing data. So please note that 501 errors are expected from this endpoint and this\ \ needs to be handled on the client side. All possible errors are listed below.\n\n`NOTE!` For cost to be available\ \ as a unit type, the location prices must be set in our database. If no location prices are available there will\ \ be an error response.\n\n`NOTE!` As default the from and to date are always rounded down to the nearest start of\ \ the month and returns full months. Max one month can be return in each call. However for locations that have daily\ \ data it is also possible to request EUC between two dates. We support a range between 28 - 31 days. Please set the\ \ custom_period to true to make this call.\n\n### Data requirements \n**Required data**\n\n* Monthly data: Minimum\ \ 1 month\n* Geo location: Address information\n* Home profile: Minimum house type\n\n**Optional (improved accuracy)**\n\ \n* Hourly data: Minimum 30 days of hourly´or sub-hourly data\n\n### Possible breakdown categories electricity\n\n\ | *Field* | *Description* |\n| --- | --- |\n| heating | Electricity usage used for space heating |\n| washing | Electricity\ \ usage used for laundry |\n| water_heating | Electricity usage used for water heating |\n| lightning | Electricity\ \ usage used for lighting. OBS! Please note that the key is misnamed to ligthning and not lighting :) |\n| consumer_electronics\ \ | Electricity usage used for home electronics |\n| cooking | Electricity usage used for cooking |\n| always_on |\ \ Electricity usage used for always on appliances |\n| fridge_freezer | Electricity usage used by fridge and freezers\ \ |\n| cooling | Electricity usage used to cool the home |\n| electric_vehicle | Electricity usage used for charging\ \ of cars |\n| other | Electricity usage used by appliances not matching other categories |\n| standing_charge | If\ \ unit is set to \"cost\", the cost for the standing charge is presented in a separate category |\n\n### Possible\ \ breakdown categories gas\n\n| *Field* | *Description* |\n| --- | --- |\n| heating | Gas usage used for heating |\n\ | water_heating | Gas usage used for heating water |\n| cooking | Gas usage usage used for cooking |\n| standing_charge\ \ | If unit is set to \"cost\", the cost for the standing charge is presented in a separate category |\n" parameters: - schema: type: string example: energy enum: - energy - cost default: energy in: query name: unit description: Unit to receive result in. allowEmptyValue: true - schema: type: string default: elec enum: - elec - gas example: elec in: query name: fuel description: Fuel to get breakdown for. Currently 'elec' and 'gas' is supported. - schema: type: string example: '2021-01-01T00:00:00' in: query name: from description: 'From which date to retrieve breakdown ' - schema: type: string example: '2021-02-01' in: query name: to description: To which date to retrieve breakdown for (exclusive) - schema: type: string default: 'false' enum: - 'false' - 'true' example: 'false' in: query name: custom_period description: Set to true to be able to get a custom range between two dates. tags: - Breakdown deprecated: true /v3/locations/{locationId}/euc: get: tags: - Energy Usage Categories summary: Get energy usage categories (EUC) for a location description: "Get location energy usage by category.\r\n\r\nRequested EUC period must be in a range of 28 - 366 days\ \ (minimum 1 month, maximum 1 year).\r\n\r\nFor cost to be available as a unit type, the location must have device\ \ price formulas set in our system.\r\n\r\nUnit of m3 is only available with fuel of gas. Conversion between m3 and\ \ Wh values relies on a calorific rate being configured for a client. Please contact Eliq for more details about having\ \ this configuration in place.\r\n\r\n### Data requirements\r\nEUC requires some prerequisites in order to work.\r\ \n#### Electricity\r\n* Monthly energy data: Minimum 30 days of data\r\n - (Optional) Hourly energy data: Minimum\ \ 30 days of hourly or sub-hourly data\r\n* Geo location: Address information\r\n* Location profile: At least house\ \ type for residential profile or business type for business profile.\r\n\r\n#### Gas\r\n* Monthly energy data: Minimum\ \ one month of data\r\n* Geo location: Address information\r\n* Location profile: At least house type for residential\ \ profile or business type for business profile.\r\n\r\n### Electricity categories\r\n| *Field* | *Description* |\r\ \n| --- | --- |\r\n| heating | Electricity usage used for space heating |\r\n| washing | Electricity usage used for\ \ laundry |\r\n| water_heating | Electricity usage used for water heating |\r\n| lighting | Electricity usage used\ \ for lighting. |\r\n| consumer_electronics | Electricity usage used for home electronics |\r\n| cooking | Electricity\ \ usage used for cooking |\r\n| always_on | Electricity usage used for always on appliances |\r\n| fridge_freezer\ \ | Electricity usage used by fridge and freezers |\r\n| cooling | Electricity usage used to cool the home |\r\n|\ \ electric_vehicle | Electricity usage used for charging of cars |\r\n| sauna | Electricity usage used for heating\ \ your sauna |\r\n| other | Electricity usage used by appliances not matching other categories |\r\n\r\n### Gas categories\r\ \n| *Field* | *Description* |\r\n| --- | --- |\r\n| heating | Gas usage used for heating |\r\n| water_heating | Gas\ \ usage used for heating water |\r\n| cooking | Gas usage usage used for cooking |" operationId: get-v3-locations-locationId-euc parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: from in: query description: From date required: true schema: type: string format: date-time - name: to in: query description: To date, exclusive required: true schema: type: string format: date-time - name: unit in: query description: 'Unit. Valid values: ''cost'', ''energy'', ''m3''.' schema: type: string default: energy - name: fuel in: query description: 'Fuel. Valid values: ''elec'', ''gas'', ''district_heating''.' schema: type: string default: elec responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/EUC' examples: EUC data monthly: value: accuracy: medium total_value: 12881 from: '2024-02-01T00:00:00' to: '2024-03-01T00:00:00' unit: energy breakdown: - category: lighting value: 1350 percentage: 10.48 - category: fridge_freezer value: 2203 percentage: 17.1 - category: washing value: 672 percentage: 5.22 - category: heating value: 8656 percentage: 67.2 EUC data yearly: value: accuracy: medium total_value: 250340 from: '2024-01-01T00:00:00' to: '2025-01-01T00:00:00' unit: energy breakdown: - category: lighting value: 135021 percentage: 10.48 - category: fridge_freezer value: 22031 percentage: 17.1 - category: washing value: 6722 percentage: 5.22 - category: heating value: 86566 percentage: 67.2 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Not supported or missing profile type: value: code: NOT_SUPPORTED_PROFILE_TYPE transaction_id: 0HN1O72JU5P3C:00000001 description: Locations profile type is not supported or missing for EUC. Not enough home profile options: value: code: NOT_ENOUGH_HOME_PROFILE_OPTIONS_SET transaction_id: 0HN1O72JU5P3C:00000001 description: Not enough home profile options set. Not enough business profile options: value: code: NOT_ENOUGH_BUSINESS_PROFILE_OPTIONS_SET transaction_id: 0HN1O72JU5P3C:00000001 description: All required business profile options must be set. House type required: value: code: HOUSE_TYPE_REQUIRED_FOR_EUC transaction_id: 0HN1O72JU5P3C:00000001 description: House type required for EUC. Business type required: value: code: BUSINESS_TYPE_REQUIRED_FOR_EUC transaction_id: 0HN1O72JU5P3C:00000001 description: Business type required for EUC. Euc not supported for business type: value: code: EUC_NOT_SUPPORTED_FOR_BUSINESS_TYPE transaction_id: 0HN1O72JU5P3C:00000001 description: EUC is not supported for the selected business type. Not enough data points: value: code: NOT_ENOUGH_DATA_POINTS transaction_id: 0HN1O72JU5P3C:00000001 description: Not enough data point for the requested period. No consumption for solar: value: code: NO_CONSUMPTION_DATA_FOR_SOLAR_LOCATION transaction_id: 0HN1O72JU5P3C:00000001 description: Solar panels are selected for this location, but we do not have consumption data in our platform. At least daily resolution required: value: code: DAILY_RESOLUTION_OR_BETTER_REQUIRED_FOR_CUSTOM_PERIOD transaction_id: 0HN1O72JU5P3C:00000001 description: Daily or hourly resolution required for the requested period. From later than today: value: code: FROM_DATE_CANNOT_BE_LATER_THAN_TODAY_DATE transaction_id: 0HN1O72JU5P3C:00000001 description: From date cannot be larger than todays date. Timespan too large: value: code: TIMESPAN_TOO_LARGE transaction_id: 0HN1O72JU5P3C:00000001 description: Timespan too large, one year or 366 days is the maximum allowed. Timespan too small: value: code: TIMESPAN_TOO_SMALL transaction_id: 0HN1O72JU5P3C:00000001 description: Timespan must be at least 28 days. Current month not supported: value: code: EUC_FOR_CURRENT_MONTH_IS_NOT_SUPPORTED transaction_id: 0HN1O72JU5P3C:00000001 description: EUC for current month is not supported. Period spanning several months have mid-month from/to dates.: value: code: MULTI_MONTH_DATES_START_MID_MONTH transaction_id: 0HN1O72JU5P3C:00000001 description: When requesting EUC for a period larger than 1 month, or 31 days, from and to dates must start on the 1st day of the month. Monetary value not calculated: value: code: COST_NOT_FOUND_FOR_ALL_DATA_POINTS transaction_id: 0HN1O72JU5P3C:00000001 description: Monetary value could not be calculated From parameter missing: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Parameter 'from' missing To parameter missing: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Parameter 'to' missing Date range invalid: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Parameter 'from' cannot be larger than 'to' From parameter timezone unsupported: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Parameter 'from' should not include a timezone offset To parameter timezone unsupported: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Parameter 'to' should not include a timezone offset Unit parameter invalid: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Invalid parameter 'unit' Unit parameter is null: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Invalid parameter 'unit'. Cannot be null Unit is not allowed: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: 'Invalid parameter ''unit''. Should be one of: ' Fuel parameter is null: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Invalid parameter 'fuel'. Cannot be null. Fuel parameter unrecognized: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Invalid parameter 'fuel'. Type of unrecognized. Unit not supported with fuel: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Unit m3 is only supported for fuel types gas and district_heating. No EUC categories could be calculated: value: code: NO_CATEGORIES_IDENTIFIED transaction_id: 0HN1O72JU5P3C:00000001 description: No categories were identified for the selected location. '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. Unit conversion rate not found: value: code: CLIENT_CONVERSION_RATE_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Conversion rate is missing for the client '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 description: Internal server error, please try again later. If problem remains, please contact support. /v3/locations/{locationId}/epc-rating: get: tags: - Energy Performance Certificate summary: Get EPC rating description: Get an Actual or Estimated Energy Performance Certificate (EPC) rating for a location. operationId: get-v3-locations-locationId-epc-rating parameters: - name: locationId in: path required: true schema: type: integer format: int32 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/EpcRatingResponse' examples: Actual EPC rating: value: energy_rating: B energy_efficiency: 90 type: actual valid_from: '2020-05-01T00:00:00' valid_to: '2030-05-01T00:00:00' status: active Estimated EPC rating: value: energy_rating: C energy_efficiency: 84 type: estimated '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. Rating not available: value: code: EPC_RATING_NOT_AVAILABLE transaction_id: 0HN18NIB8K5RV:00000001 description: EPC rating data is currently not available Country not supported: value: code: COUNTRY_NOT_SUPPORTED transaction_id: 0HN18NIB8K5RV:00000001 description: Country is not currently supported Profile not supported: value: code: PROFILE_NOT_SUPPORTED transaction_id: 0HN18NIB8K5RV:00000001 description: Profile is not supported, check description for more details '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: code: INTERNAL_SERVER_ERROR transaction_id: 0HN18NIB8K5RV:00000001 description: Internal server error. /v3/locations/{locationId}/consumption: get: tags: - Energy Data summary: Get Location consumption description: "Get energy consumption for the location. Whether location consumption data exists, and between which dates,\ \ can be found in the meta data in /locations/{locationId} endpoint.\r\n \r\nMaximum time spans for resolutions:\r\ \n* 6min: 7 days\r\n* 15min: 7 days\r\n* 30min: 7 days\r\n* hour: 93 days\r\n* day: 5 years\r\n* month: 5 years\r\n\ \ \r\nNOTE! For cost to be available as a unit type, the location prices must be set in our database. If\ \ no location prices are available there will be an error response.\r\n\r\nNOTE! Unit of m3 is only available with\ \ fuel of gas. Conversion between m3 and Wh values relies on a calorific rate being configured for a client. Please\ \ contact Eliq for more details about having this configuration in place." operationId: get-v3-locations-locationId-consumption parameters: - name: locationId in: path description: Location identifier required: true schema: type: integer format: int32 - name: from in: query description: From date schema: type: string format: date-time - name: to in: query description: To date, exclusive schema: type: string format: date-time - name: resolution in: query description: 'Data granularity resolution. Valid values: ''6min'', ''15min'', ''30min'', ''hour'', ''day'', ''month''.' schema: type: string - name: cost_type in: query description: "Only applicable when 'cost' unit is passed. Specifies the consumption cost type to return.\r\n \ \ If set to 'price_formula', price formulas are used to calculate the consumption costs.\r\n \ \ If set to 'average_cost', the costs are calculated based on the average electricity price for the provided period." schema: type: string default: price_formula - name: fuel in: query description: 'Fuel. Valid values: ''elec'', ''gas''.' schema: type: string default: elec - name: unit in: query description: 'Unit. Valid values: ''cost'', ''energy''.' schema: type: string default: energy - name: include_incomplete in: query description: Includes periods with incomplete data if set to true. schema: type: boolean default: true - name: include_co2 in: query description: Includes co2 emissions data if set to true. schema: type: boolean default: false responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/TimeSeriesData' examples: Monthly energy response: value: consumption: - 446.37 - null resolution: month fuel: elec unit: energy from: '2021-01-01T00:00:00' to: '2021-03-01T00:00:00' Monthly cost response: value: consumption: - 33.29 - null resolution: month fuel: elec unit: cost from: '2021-01-01T00:00:00' to: '2021-03-01T00:00:00' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Invalid parameter unit: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''unit'': The value is not valid.' Invalid parameter resolution: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''resolution'': The value is not valid.' Invalid parameter cost_type: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''cost_type'': The value is not valid.' Invalid parameter fuel: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''fuel'': The value is not valid.' From parameter missing: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' missing To parameter missing: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'to' missing Date range invalid: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' cannot be larger than 'to' From parameter timezone unsupported: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' should not include a timezone offset To parameter timezone unsupported: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'to' should not include a timezone offset '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. Unit conversion rate not found: value: type: client_error category: client_conversion_rate_not_found code: CLIENT_CONVERSION_RATE_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Conversion rate is missing for the client '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Internal server error, please try again later. If problem remains, please contact support. /v3/locations/{locationId}/peakpower/{resolution}: get: tags: - Energy Data summary: Get location peak power description: "Get energy peak power for the location. Whether location peak power data exists, and between which dates,\ \ can be found in the meta data in /locations/{locationId} endpoint.\r\n\r\nMaximum time spans for resolutions:\r\n\ * hour: 5 years\r\n* day: 5 years\r\n* month: 5 years\r\n\r\nImport, export, consumption and production response properties\ \ are deprecated, please use the *power* property." operationId: get-v3-locations-locationId-peakpower parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: resolution in: path description: Data resolution required: true schema: type: string - name: peak_power_resolution in: query description: Resolution of peak power values required: true schema: type: string - name: from in: query description: From date required: true schema: type: string format: date-time - name: to in: query description: To date, exclusive required: true schema: type: string format: date-time - name: fuel in: query description: Fuel type schema: enum: - elec - gas - district_heating type: string description: Fuel type default: elec - name: direction in: query description: Type of meter schema: enum: - import - export - consumption - production type: string description: Direction type default: consumption responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PeakPowerResponse' examples: Import peak power: value: power: - 3617.840087890625 peak_power_timestamp: - '2024-06-01T14:00:00' from: '2024-06-01T00:00:00' to: '2024-07-01T00:00:00' fuel: elec direction: import resolution: month peak_power_resolution: hour import: - 3617.840087890625 Consumption peak power: value: power: - 1228.7999420166016 - 436.4199981689453 - 1418.760009765625 - 746.5799865722656 peak_power_timestamp: - '2024-07-01T06:30:00' - '2024-07-02T08:30:00' - '2024-07-03T14:00:00' - '2024-07-04T16:00:00' from: '2024-07-01T00:00:00' to: '2024-07-05T00:00:00' fuel: elec direction: consumption resolution: day peak_power_resolution: 30min consumption: - 1228.7999420166016 - 436.4199981689453 - 1418.760009765625 - 746.5799865722656 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: From parameter missing: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Parameter 'from' missing To parameter missing: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Parameter 'to' missing Date range invalid: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Parameter 'from' cannot be larger than 'to' From parameter timezone unsupported: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Parameter 'from' should not include a timezone offset To parameter timezone unsupported: value: code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 description: Parameter 'to' should not include a timezone offset Invalid peak power resolution: value: code: INVALID_PEAK_POWER_RESOLUTION transaction_id: 0HN18NIB8K5RV:00000001 description: Invalid peak power resolution type. Only valid values are e.g 6min, 15min, 30min and hour. Period too long: value: code: PERIOD_TOO_LONG transaction_id: 0HN18NIB8K5RV:00000001 description: Maximum period requested can not exceed 5 years. '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. /v3/locations/{locationId}/yearly_estimates: get: tags: - Locations summary: Get locations manual Annual Consumption values description: "Annual consumption values manually provided by end users.\r\n\r\nUser provided Annual Consumption data\ \ is used to generate estimated daily consumption for locations that have no actual meter data available yet." operationId: get-v3-locations-locationId-yearly_estimates parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: year_from in: query description: Year from schema: type: integer format: int32 - name: year_to in: query description: Year to, exclusive schema: type: integer format: int32 - name: fuel in: query description: Fuel schema: $ref: '#/components/schemas/Fuel' - name: type in: query description: Direction schema: $ref: '#/components/schemas/Direction' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/YearlyEstimate' examples: Location consumption estimates: value: - fuel: elec type: consumption year: 2022 source: user energy_wh: 78020 - fuel: elec type: consumption year: 2023 source: user energy_wh: 71515 Single location consumption estimate: value: - fuel: elec type: consumption year: 2020 source: user energy_wh: 63000 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Invalid parameter fuel: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''fuel'': The value is not valid.' Invalid parameter direction: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''direction'': The value is not valid.' From parameter missing: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' missing To parameter missing: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'to' missing Date range invalid: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' cannot be larger than 'to' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. post: tags: - Locations summary: Post locations manual Annual Consumption values description: "Submit annual consumption value.\r\n\r\nUser provided Annual Consumption data is used to generate estimated\ \ daily consumption for locations that have no actual meter data available yet." operationId: post-v3-locations-locationId-yearly_estimates parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 requestBody: description: '' content: application/json-patch+json: schema: $ref: '#/components/schemas/YearlyEstimate' examples: Location consumption estimate: value: fuel: elec type: consumption year: 2022 source: user energy_wh: 78020 application/json: schema: $ref: '#/components/schemas/YearlyEstimate' examples: Location consumption estimate: value: fuel: elec type: consumption year: 2022 source: user energy_wh: 78020 text/json: schema: $ref: '#/components/schemas/YearlyEstimate' examples: Location consumption estimate: value: fuel: elec type: consumption year: 2022 source: user energy_wh: 78020 application/*+json: schema: $ref: '#/components/schemas/YearlyEstimate' examples: Location consumption estimate: value: fuel: elec type: consumption year: 2022 source: user energy_wh: 78020 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/YearlyEstimate' examples: Location consumption estimate: value: fuel: elec type: consumption year: 2022 source: user energy_wh: 78020 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Invalid parameter fuel: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''fuel'': The value is not valid.' Invalid parameter direction: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''direction'': The value is not valid.' Empty request error: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Request cannot be null Missing energy value: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'energy_wh' cannot be null Negative energy value: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'energy_wh' cannot be negative Zero energy value: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'energy_wh' cannot be zero Missing year value: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'year' cannot be null Invalid year value: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'year' is invalid '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. delete: tags: - Locations summary: Delete locations manual Annual Consumption Value description: "Deletes matching locations annual consumption value.\r\n\r\nUser provided Annual Consumption data is used\ \ to generate estimated daily consumption for locations that have no actual meter data available yet." operationId: delete-v3-locations-locationId-yearly_estimates parameters: - name: locationId in: path description: Location identifier required: true schema: type: integer format: int32 - name: fuel in: query description: Fuel type required: true schema: $ref: '#/components/schemas/Fuel' - name: type in: query description: Consumption type required: true schema: $ref: '#/components/schemas/Direction' - name: year in: query description: Year required: true schema: type: integer format: int32 responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Invalid parameter fuel: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''fuel'': The value is not valid.' Invalid parameter direction: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''direction'': The value is not valid.' Invalid parameter year: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: 'Invalid parameter ''year'': The value is not valid.' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' /v3/locations/{locationId}/yearly_estimates/suggestion: parameters: - schema: type: string name: locationId in: path required: true description: Location identifier get: summary: Get location Annual Consumption Suggestion responses: '200': description: OK content: application/json: schema: type: object properties: country_code: type: string fuel: type: string yearly_consumption: type: object properties: units: type: string estimate: type: integer upper_bound: type: integer lower_bound: type: integer confidence_level: type: integer x-examples: Example 1: country_code: be fuel: elec yearly_consumption: units: wh estimate: 2181236 upper_bound: 7370570 lower_bound: 7370570 confidence_level: 96 examples: Example 1: value: country_code: be fuel: elec yearly_consumption: units: wh estimate: 2181236 upper_bound: 7370570 lower_bound: 7370570 confidence_level: 96 '400': description: 'Bad Request Possible errors | *code* | *description* | | --- | --- | | CONFIDENCE_LEVEL_PERCENTAGE_CANNOT_BE_NULL | Confidence level percentage can not be null. | | LOCATION_PROPERTIES_SETTINGS_IS_NOT_COMPLETE | Location home profile is not complete. | | INVALID_PARAMETER | Invalid parameter ''fuel''. Should be one of: elec, gas, district_heating | | ENTITY_NOT_FOUND | Could not find the location. |' content: application/json: schema: type: object properties: code: type: string transaction_id: type: string description: type: string x-examples: Example 1: code: CONFIDENCE_LEVEL_PERCENTAGE_CANNOT_BE_NULL transaction_id: 0HMRB3B2I6UOR:0000000F description: Confidence level percentage can not be null. examples: Error example: value: type: client_error category: entity_not_found transaction_id: 0HMLS31S9QPFP:00002A1C message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. operationId: get-v3-locations-locationId-consumption/suggestion description: 'This endpoint returns the “locations annual consumption Suggestion”. Note: User''s home profile is required to generate this value. In order for this to work, the Eliq Platform must support the Country. Contact Eliq for an update on supported countries. To be able to create the estimated suggestion a set of home profile values needs to be set. This can vary from country to country but typically these values are required; persons, heating_type_primary, house_type and hotwater_type.' parameters: - schema: type: string in: query name: confidence_level_percentage required: true description: Confidence level percentage. Use 96 for the best result. - schema: type: string enum: - elec - gas in: query name: fuel description: Fuel type, currently gas is not supported in some countries tags: - Locations /v3/locations/{locationId}/price-formula: get: tags: - Price Formulas summary: Get price formulas description: Get a list of price formulas for a location and its meters operationId: get-v3-locations-locationId-price-formula parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: fuel in: query description: Fuel type schema: $ref: '#/components/schemas/Fuel' - name: direction in: query description: Direction type schema: $ref: '#/components/schemas/PriceFormulaDirection' responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/MeterPriceFormula' examples: Location Fixed unit rate: value: - fuel: elec direction: import from: '2023-01-01T00:00:00' to: '2023-12-31T00:00:00' currency_code: GBP elements_array: - name: service_charge_day type: charge charge: resolution: day charge: 0.2 - name: unit_rate_fixed type: unit_rate unit_rate: type: fixed fixed: unit_rate: 0.15 source: client Location Nordpool unit rate: value: - fuel: elec direction: import from: '2023-01-01T00:00:00' to: '2023-12-31T00:00:00' currency_code: GBP elements_array: - name: service_charge_day type: charge charge: resolution: day charge: 0.2 - name: unit_rate_nordpool type: unit_rate unit_rate: type: nordpool nordpool: region: nordpool_no2 resolution: hour multiplier: 1.25 source: client Meter Nordpool unit rate: value: - meter_id: 111ccf3a1907438fac72e0f231d137ff fuel: elec direction: import from: '2023-01-01T00:00:00' to: '2023-12-31T00:00:00' currency_code: GBP elements_array: - name: service_charge_day type: charge charge: resolution: day charge: 0.2 - name: unit_rate_nordpool type: unit_rate unit_rate: type: nordpool nordpool: region: nordpool_no2 resolution: hour multiplier: 1.25 source: client '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: code: INTERNAL_SERVER_ERROR transaction_id: 0HN18NIB8K5RV:00000001 description: Internal server error. /v3/locations/{locationId}/production: parameters: - schema: type: string name: locationId in: path required: true description: Location identifier get: summary: Get location production responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TimeseriesData' examples: Example month: value: production: - 446.37 - null fuel: elec unit: energy resolution: month from: '2021-01-01T00:00:00' to: '2021-03-01T00:00:00' '400': description: 'Bad Request Possible errors | *type* | *category* | *description* | | --- | --- | --- | | client_error | invalid_parameter | Timespan between ''from'' and ''to'' to large, max {maxTimeSpan} days for the given resolution | | client_error | invalid_parameter | Parameter ''to'' missing | | client_error | invalid_parameter | Parameter ''from'' missing | | client_error | invalid_parameter | Parameter ''from'' cannot be larger than ''to'' | | client_error | invalid_parameter | Invalid parameter ''unit''. Should be one of: energy, cost | | client_error | invalid_parameter | Invalid parameter ''fuel''. Should be one of: elec, gas, district_heating | | client_error | invalid_parameter | Invalid parameter ''resolution''. Should be one of: 6min, 15min, 30min, hour, day, month |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error example: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER description: Invalid parameter 'to'. Cannot be null message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. Unit conversion rate not found: value: type: client_error category: client_conversion_rate_not_found code: CLIENT_CONVERSION_RATE_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Conversion rate is missing for the client operationId: get-v3-locations-locationId-production description: 'Get energy production for the location. Whether location production data exists, and between which dates, can be found in the meta data in /locations/{locationId} endpoint. The production will be a summary of all production for a location, meaning that in case of multiple pv systems installed, this will return the total energy. Maximum time spans for resolutions * 6min: 7 days * 15min: 7 days * 30min: 7 days * hour: 93 days * day: 5 years * month: 5 years `NOTE!` For cost to be available as a unit type, the location prices must be set in our database. If no location prices are available there will be an error response.' parameters: - schema: type: string enum: - elec - gas - district_heating default: elec example: elec in: query name: fuel description: Fuel. Defaults to 'elec' - schema: type: string default: energy enum: - energy - cost example: energy in: query name: unit description: Unit. Defaults to 'energy' - schema: type: string enum: - 6min - 15min - 30min - hour - day - month example: day in: query name: resolution description: Resolution of data required: true - schema: type: string example: '2021-01-01T00:00:00' format: date-time in: query name: from description: From date required: true - schema: type: string format: date-time example: '2021-02-01T00:00:00' in: query name: to description: The 'to date' represents the end date of the time period. The value is exclusive, indicating that the specified date is not included in the data range. It is rounded down to the closest start of the period for the given resolution. required: true tags: - Energy Data /v3/locations/{locationId}/import: parameters: - schema: type: string name: locationId in: path required: true description: Location identifier get: summary: Get location import responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TimeseriesData' examples: Example month: value: import: - 446.37 - null fuel: elec unit: energy resolution: month from: '2021-01-01T00:00:00' to: '2021-03-01T00:00:00' '400': description: 'Bad Request Possible errors | *type* | *category* | *description* | | --- | --- | --- | | client_error | invalid_parameter | Timespan between ''from'' and ''to'' to large, max {maxTimeSpan} days for the given resolution | | client_error | invalid_parameter | Parameter ''to'' missing | | client_error | invalid_parameter | Parameter ''from'' missing | | client_error | invalid_parameter | Parameter ''from'' cannot be larger than ''to'' | | client_error | invalid_parameter | Invalid parameter ''unit''. Should be one of: energy, cost | | client_error | invalid_parameter | Invalid parameter ''fuel''. Should be one of: elec, gas, district_heating | | client_error | invalid_parameter | Invalid parameter ''resolution''. Should be one of: 6min, 15min, 30min, hour, day, month |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error example: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER description: Invalid parameter 'to'. Cannot be null message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. Unit conversion rate not found: value: type: client_error category: client_conversion_rate_not_found code: CLIENT_CONVERSION_RATE_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Conversion rate is missing for the client operationId: get-v3-locations-locationId-import description: 'Get imported energy for the location. Whether location import data exists, and between which dates, can be found in the meta data in /locations/{locationId} endpoint. This represents the energy imported from the grid. Maximum time spans for resolutions * 6min: 7 days * 15min: 7 days * 30min: 7 days * hour: 93 days * day: 5 years * month: 5 years `NOTE!` For cost to be available as a unit type, the location prices must be set in our database. If no location prices are available there will be an error response.' parameters: - schema: type: string enum: - elec - gas - district_heating default: elec example: elec in: query name: fuel description: Fuel. Defaults to 'elec' - schema: type: string default: energy enum: - energy - cost example: energy in: query name: unit description: Unit. Defaults to 'energy' - schema: type: string enum: - 6min - 15min - 30min - hour - day - month example: day in: query name: resolution description: Resolution of data required: true - schema: type: string example: '2021-01-01T00:00:00' format: date-time in: query name: from description: From date required: true - schema: type: string format: date-time example: '2021-02-01T00:00:00' in: query name: to description: The 'to date' represents the end date of the time period. The value is exclusive, indicating that the specified date is not included in the data range. It is rounded down to the closest start of the period for the given resolution. required: true tags: - Energy Data /v3/locations/{locationId}/export: parameters: - schema: type: string name: locationId in: path required: true description: Location identifier get: summary: Get location export responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TimeseriesData' examples: Example month: value: export: - 446.37 - null fuel: elec unit: energy resolution: month from: '2021-01-01T00:00:00' to: '2021-03-01T00:00:00' '400': description: 'Bad Request Possible errors | *type* | *category* | *description* | | --- | --- | --- | | client_error | invalid_parameter | Timespan between ''from'' and ''to'' to large, max {maxTimeSpan} days for the given resolution | | client_error | invalid_parameter | Parameter ''to'' missing | | client_error | invalid_parameter | Parameter ''from'' missing | | client_error | invalid_parameter | Parameter ''from'' cannot be larger than ''to'' | | client_error | invalid_parameter | Invalid parameter ''unit''. Should be one of: energy, cost | | client_error | invalid_parameter | Invalid parameter ''fuel''. Should be one of: elec, gas, district_heating | | client_error | invalid_parameter | Invalid parameter ''resolution''. Should be one of: 6min, 15min, 30min, hour, day, month |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error example: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER description: Invalid parameter 'to'. Cannot be null message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. Unit conversion rate not found: value: type: client_error category: client_conversion_rate_not_found code: CLIENT_CONVERSION_RATE_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Conversion rate is missing for the client operationId: get-v3-locations-locationId-export description: 'Get exported energy for the location. Whether location export data exists, and between which dates, can be found in the meta data in /locations/{locationId} endpoint. This represents the energy exported to the grid. Maximum time spans for resolutions * 6min: 7 days * 15min: 7 days * 30min: 7 days * hour: 93 days * day: 5 years * month: 5 years `NOTE!` For cost to be available as a unit type, the location prices must be set in our database. If no location prices are available there will be an error response.' parameters: - schema: type: string enum: - elec - gas - district_heating default: elec example: elec in: query name: fuel description: Fuel. Defaults to 'elec' - schema: type: string default: energy enum: - energy - cost example: energy in: query name: unit description: Unit. Defaults to 'energy' - schema: type: string enum: - 6min - 15min - 30min - hour - day - month example: day in: query name: resolution description: Resolution of data required: true - schema: type: string example: '2021-01-01T00:00:00' format: date-time in: query name: from description: From date required: true - schema: type: string format: date-time example: '2021-02-01T00:00:00' in: query name: to description: The 'to date' represents the end date of the time period. The value is exclusive, indicating that the specified date is not included in the data range. It is rounded down to the closest start of the period for the given resolution. required: true tags: - Energy Data /v3/locations/{locationId}/forecast: parameters: - schema: type: string name: locationId in: path required: true description: Location identifier get: summary: Get location forecast responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TimeseriesData' examples: Example month: value: forecast: - 446.37 - 380.24 fuel: elec unit: energy resolution: month from: '2021-01-01T00:00:00' to: '2021-03-01T00:00:00' '400': description: 'Bad Request Possible errors | *type* | *category* | *description* | | --- | --- | --- | | client_error | invalid_parameter | Timespan between ''from'' and ''to'' to large, max {maxTimeSpan} days for the given resolution | | client_error | invalid_parameter | Parameter ''to'' missing | | client_error | invalid_parameter | Parameter ''from'' missing | | client_error | invalid_parameter | Parameter ''from'' cannot be larger than ''to'' | | client_error | invalid_parameter | Invalid parameter ''unit''. Should be one of: energy, cost | | client_error | invalid_parameter | Invalid parameter ''fuel''. Should be one of: elec, gas, district_heating | | client_error | invalid_parameter | Invalid parameter ''resolution''. Should be one of: day, month |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error example: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER description: Invalid parameter 'to'. Cannot be null message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. Unit conversion rate not found: value: type: client_error category: client_conversion_rate_not_found code: CLIENT_CONVERSION_RATE_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Conversion rate is missing for the client operationId: get-v3-locations-locationId-forecast description: "Get consumption forecast the location. Whether location consumption data exists, and between which dates,\ \ can be found in the meta data in /locations/{locationId} endpoint. \n\nMaximum time spans for resolutions\n\n* day:\ \ 31 days\n* month: 12 months\n\n`NOTE!` For cost to be available as a unit type, the location prices must be set\ \ in our database. If no location prices are available there will be an error response.\n\n`NOTE!` If allow_historic\ \ is set to true, we will return what the forecast looked like at the date of the \"from\" date. Meaning that no data\ \ points after the from date will be used to calculate the forecast.\n\n`NOTE!` Unit of m3 is only available with\ \ fuel of gas. Conversion between m3 and Wh values relies on a calorific rate being configured for a client. Please\ \ contact Eliq for more details about having this configuration in place." parameters: - schema: type: string enum: - elec - gas - district_heating default: elec example: elec in: query name: fuel description: Fuel. Defaults to 'elec' - schema: type: string enum: - energy - cost - m3 default: energy example: energy in: query name: unit description: Unit. Defaults to 'energy' - schema: type: string enum: - day - month example: day in: query name: resolution description: Resolution of data required: true - schema: type: string example: '2021-01-01T00:00:00' format: date-time in: query name: from description: From date required: true - schema: type: string format: date-time example: '2021-02-01T00:00:00' in: query name: to description: The 'to date' represents the end date of the time period. The value is exclusive, indicating that the specified date is not included in the data range. It is rounded down to the closest start of the period for the given resolution. required: true - schema: type: boolean in: query description: default is set to false. name: allow_historic - schema: type: boolean in: query description: Includes consumption data for the first month of the request. Only applicable for 'month' resolution. Default is set to false. name: include_consumption tags: - Energy Data /v3/locations/{locationId}/forecast/hourly: parameters: - schema: type: string name: locationId in: path required: true description: Location identifier get: summary: Get location forecast hourly responses: '200': description: OK content: application/json: schema: type: object x-examples: example-1: forecast: estimate: - 2150 - 2150 - 1900 - 2250 - 2250 - 2325 - 2675 - 2300 - 2600 - 2300 - 2900 - 2075 - 1825 - 2550 - 2025 - 2275 - 2850 - 3950 - 3925 - 3300 - 3100 - 2675 - 1975 - 3325 lower_bound: - 2300 - 2050 - 2000 - 2400 - 2350 - 2800 - 2750 - 2600 - 2800 - 2050 - 3100 - 2150 - 2150 - 2550 - 2150 - 1650 - 2250 - 4350 - 4050 - 3150 - 2800 - 3100 - 2150 - 3000 upper_bound: - 2300 - 2050 - 2000 - 2400 - 2350 - 2800 - 2750 - 2600 - 2800 - 2050 - 3100 - 2150 - 2150 - 2550 - 2150 - 1650 - 2250 - 4350 - 4050 - 3150 - 2800 - 3100 - 2150 - 3000 fuel: elec unit: energy from: '2021-04-01T00:00:00' to: '2021-04-02T00:00:00' properties: forecast: type: object description: Hourly forecast value if available. properties: estimate: type: array items: type: integer lower_bound: type: array items: type: integer upper_bound: type: array items: type: integer fuel: type: string description: Fuel. elec, gas, district_heating unit: type: string description: Unit. 'energy' or 'cost' from: type: string description: From date to: type: string description: The 'to date' represents the end date of the time period. The value is exclusive, indicating that the specified date is not included in the data range. It is rounded down to the closest start of the period for the given resolution. examples: Example month: value: forecast: estimate: - 2150 - 2150 - 1900 - 2250 - 2250 - 2325 - 2675 - 2300 - 2600 - 2300 - 2900 - 2075 - 1825 - 2550 - 2025 - 2275 - 2850 - 3950 - 3925 - 3300 - 3100 - 2675 - 1975 - 3325 lower_bound: - 2300 - 2050 - 2000 - 2400 - 2350 - 2800 - 2750 - 2600 - 2800 - 2050 - 3100 - 2150 - 2150 - 2550 - 2150 - 1650 - 2250 - 4350 - 4050 - 3150 - 2800 - 3100 - 2150 - 3000 upper_bound: - 2300 - 2050 - 2000 - 2400 - 2350 - 2800 - 2750 - 2600 - 2800 - 2050 - 3100 - 2150 - 2150 - 2550 - 2150 - 1650 - 2250 - 4350 - 4050 - 3150 - 2800 - 3100 - 2150 - 3000 fuel: elec unit: energy from: '2021-04-01T00:00:00' to: '2021-04-02T00:00:00' '400': description: Bad Request content: application/json: schema: type: object properties: code: type: string transaction_id: type: string description: type: string x-examples: example-1: code: TIMESPAN_TOO_LARGE transaction_id: 0HMMBOERV1RBM:00000002 description: Timespan to large, max 2 days for the given resolution examples: Time Span Is Too Large: value: code: TIMESPAN_TOO_LARGE transaction_id: 0HMMBOERV1RBM:00000002 description: Timespan to large, max 2 days for the given resolution '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Forecast not found: value: code: HOURLY_FORECAST_RESULT_CANNOT_BE_NULL_OR_EMPTY transaction_id: 0HN18NIB8K5RV:00000001 description: Hourly forecast result cannot be null or empty operationId: get-v3-locations-locationId-forecast-hourly description: "Get consumption hourly forecast the location. Whether location consumption data exists, and between which\ \ dates, can be found in the meta data in /locations/{locationId} endpoint. \n\nMaximum time spans for the resolution\ \ is 2 days\n\n`NOTE!` For cost to be available as a unit type, the location prices must be set in our database. If\ \ no location prices are available there will be an error response.\n\n`NOTE!` If allow_historic is set to true, we\ \ will return what the forecast looked like at the date of the \"from\" date. Meaning that no data points after the\ \ from date will be used to calculate the forecast." parameters: - schema: type: string enum: - elec - gas - district_heating default: elec example: elec in: query name: fuel description: Fuel. Defaults to 'elec' - schema: type: string enum: - energy - cost default: energy example: energy in: query name: unit description: Unit. Defaults to 'energy' - schema: type: string example: '2021-01-01T00:00:00' format: date-time in: query name: from description: From date required: true - schema: type: string format: date-time example: '2021-02-01T00:00:00' in: query name: to description: The 'to date' represents the end date of the time period. The value is exclusive, indicating that the specified date is not included in the data range. It is rounded down to the closest start of the period for the given resolution. required: true - schema: type: boolean in: query description: default is set to false. name: allow_historic tags: - Energy Data /v3/meters/{meterId}/energy: parameters: - schema: type: string name: meterId in: path required: true description: Meter id get: summary: Get meter energy data responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/MeterDataResult' examples: Example 1: value: meter: - direction: import data: - 1.54 - 1.006 - 1.226 - 1.226 - 1.227 - 1.103 - 1.2 - 1.226 - 0.86 from: '2023-09-01T00:00:00' to: '2023-09-10T00:00:00' resolution: day fuel: elec unit: cost '400': description: 'Bad Request Possible errors | *type* | *category* | *description* | | --- | --- | --- | | client_error | invalid_parameter | Timespan between ''from'' and ''to'' too large, max {maxTimeSpan} days for the given resolution | | client_error | invalid_parameter | Parameter ''to'' missing | | client_error | invalid_parameter | Parameter ''from'' missing | | client_error | invalid_parameter | Parameter ''from'' cannot be larger than ''to'' | | client_error | invalid_parameter | Invalid parameter ''unit''. Should be one of: energy, cost | | client_error | invalid_parameter | Invalid parameter ''fuel''. Should be one of: elec, gas, district_heating | | client_error | invalid_parameter | Invalid parameter ''resolution''. Should be one of: 6min, 15min, 30min, hour, day, month | | client_error | invalid_parameter | No meter with matching provided id found for the location | | client_error | invalid_parameter | Can not provide energy data for selected clients meter |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error example: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER description: Invalid parameter 'to'. Cannot be null message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Unit conversion rate not found: value: type: client_error category: client_conversion_rate_not_found code: CLIENT_CONVERSION_RATE_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Conversion rate is missing for the client operationId: get-v3-meters-meterId-energy description: "Get meter specific data for a period, which is broken down into intervals of selected resolution type.\ \ \nA list of available meters for the location can be found in the meta data in /locations/{locationId} endpoint.\n\ \nMaximum time spans for resolutions\n\n* 6min: 7 days\n* 15min: 7 days\n* 30min: 7 days\n* hour: 93 days\n* day:\ \ 5 years\n* month: 5 years\n\nMeters having the following fuel types are supported - `elec`, `gas`, `district_heating`.\n\ \n`NOTE!` For cost to be available as a unit type, the location prices must be set in our database. If no location\ \ prices are available there will be an error response.\n\n`NOTE!` Unit of m3 is only available with fuel of gas.\ \ Conversion between m3 and Wh values relies on a calorific rate being configured for a client. Please contact Eliq\ \ for more details about having this configuration in place." parameters: - schema: type: string default: energy enum: - energy - cost - m3 example: energy in: query name: unit description: Unit. Defaults to 'energy' - schema: type: string enum: - 6min - 15min - 30min - hour - day - month example: day in: query name: resolution description: Resolution of data required: true - schema: type: string example: '2021-01-01T00:00:00' format: date-time in: query name: from description: From date required: true - schema: type: string format: date-time example: '2021-02-01T00:00:00' in: query name: to description: The 'to date' represents the end date of the time period. The value is exclusive, indicating that the specified date is not included in the data range. It is rounded down to the closest start of the period for the given resolution. required: true tags: - Energy Data /v3/locations/{locationId}/similarhomes: get: tags: - Similar Homes summary: Get similar homes group description: "Get information of which homes the location is compared to.\r\n\r\nNote that heating_degree_days are only\ \ available for countries where the climate zones differ so much that it has a substantial impact on the heating consumption\ \ and therefore impacts the comparison. It's currently supported for France, Finland, Norway, Sweden and the U.K.\r\ \n\r\nPossible result status action codes:\r\n| *code* | *description* |\r\n| --- | --- | \r\n| sh_home_profile_insufficent\ \ | The home profile for the location is insufficient. Please ask a user to provide additional home profile details.\ \ |\r\n| sh_no_matching_group | No group could be found for the location. |" operationId: get-v3-locations-locationId-similarhomes parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SimilarHomesGroupResultModel' examples: Similar homes group: value: result: filters: - key: house_type description: House type: limit_values limit_values: - house - key: heating_type_primary description: Air air pump type: limit_values limit_values: - air_air_pump - key: living_area description: '{LimitMin}-{LimitMax}m²' type: limit_range limit_range: min: 120 max: 200 - key: heating_degree_days description: Warmer climate type: limit_range limit_range: min: 0 max: 3000 - key: electric_cars description: Single electric car type: limit_range limit_range: min: 1 max: 1 contributors: 492 result_status: code: ok Home profile insufficient: value: result_status: code: not_ok action: code: sh_home_profile_insufficent description: Please update your home profile to get a result No matching group: value: result_status: code: not_ok action: code: sh_no_matching_group description: Could not find any group matching your home profile, please check that your home profile is correctly specified. '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Internal server error, please try again later. If problem remains, please contact support. /v3/locations/{locationId}/similarhomes/consumption: get: tags: - Similar Homes summary: Get similar homes consumption description: "This endpoint returns an array of average energy consumption values for a similar homes group.\r\n \ \ \r\nMaximum requested time span by resolution:\r\n* day: 31 days\r\n* month: 12 months\r\n \r\ \nFor cost to be available as a unit type, the location must have device price formulas set in our system.\r\n \ \ \r\nTo date is exclusive and not included in the data range, as is with all endpoints having date range\ \ parameters. It is rounded down to the closest start of the period for the given resolution.\r\n\r\nPossible result\ \ status action codes:\r\n| *code* | *description* |\r\n| --- | --- | \r\n| sh_home_profile_insufficent | The home\ \ profile for the location is insufficient. Please ask a user to provide additional home profile details. |\r\n| sh_not_enough_contributers\ \ | There is not enough energy consumption data for the homes in the similar homes group. This can happen if the period\ \ requested is in the future, or if we still have not received consumption data for the requested period. |\r\n| sh_no_matching_group\ \ | No group could be found for the location. |\r\n| sh_no_price_information | Locations device price formulas are\ \ missing. Documentation on price formulas can be found in the Data Management API. |" operationId: get-v3-locations-locationId-similarhomes-consumption parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: resolution in: query description: 'Resolution. Valid values: ''day'', ''month''.' required: true schema: type: string - name: from in: query description: From date required: true schema: type: string format: date-time - name: to in: query description: To date, exclusive required: true schema: type: string format: date-time - name: fuel in: query description: 'Fuel. Valid values: ''elec'', ''gas''.' schema: type: string default: elec - name: unit in: query description: 'Unit. Valid values: ''cost'', ''energy''.' schema: type: string default: energy responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SimilarHomesConsumptionResultModel' examples: Similar homes monthly data: value: result: values: - 446.37 - 445.21 resolution: month fuel: elec unit: energy from: '2023-01-01T00:00:00' to: '2023-03-01T00:00:00' result_status: code: ok Home profile insufficient: value: result_status: code: not_ok action: code: sh_home_profile_insufficent description: Please update your home profile to get a result Not enough contributors: value: result_status: code: not_ok action: code: sh_not_enough_contributers description: Not enough similar homes data for the specified time period. Please try again in a few days No matching group: value: result_status: code: not_ok action: code: sh_no_matching_group description: Could not find any group matching your home profile, please check that your home profile is correctly specified. No price information: value: result_status: code: not_ok action: code: sh_no_price_information description: No price information could be found for the location in the given timespan '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Invalid parameter: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Invalid parameter details From parameter missing: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' missing To parameter missing: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'to' missing Date range invalid: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' cannot be larger than 'to' From parameter timezone unsupported: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' should not include a timezone offset To parameter timezone unsupported: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'to' should not include a timezone offset '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Internal server error, please try again later. If problem remains, please contact support. /v3/locations/{locationId}/similarhomes/report: get: tags: - Similar Homes summary: Get similar homes report description: "Get energy consumption data for similar homes. Contains an average value and deciles, from 1st to 10th\ \ (maximum value), for the group.\r\n \r\nMaximum requested time span by resolution:\r\n* day: 31 days\r\ \n* month: 12 months\r\n \r\nFor cost to be available as a unit type, the location must have device price\ \ formulas set in our system.\r\n\r\nTo date is exclusive and not included in the data range, as is with all endpoints\ \ having date range parameters. It is rounded down to the closest start of the period for the given resolution.\r\n\ \r\nPossible result status action codes:\r\n| *code* | *description* |\r\n| --- | --- | \r\n| sh_home_profile_insufficent\ \ | The home profile for the location is insufficient. Please ask a user to provide additional home profile details.\ \ |\r\n| sh_not_enough_contributers | There is not enough energy consumption data for the homes in the similar homes\ \ group. This can happen if the period requested is in the future, or if we still have not received consumption data\ \ for the requested period. |\r\n| sh_no_matching_group | No group could be found for the location. |\r\n| sh_no_price_information\ \ | Locations device price formulas are missing. Documentation on price formulas can be found in the Data Management\ \ API. |" operationId: get-v3-locations-locationId-similarhomes-report parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: from in: query description: From date required: true schema: type: string format: date-time - name: to in: query description: To date, exclusive required: true schema: type: string format: date-time - name: fuel in: query description: 'Fuel. Valid values: ''elec'', ''gas''.' schema: type: string - name: unit in: query description: 'Unit. Valid values: ''cost'', ''energy''.' schema: type: string default: energy responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SimilarHomesReportResultModel' examples: Similar homes report: value: result: value: 1807883 distribution_values: - 906572 - 1097816 - 1362194 - 1538083 - 1644288 - 1789743 - 2011656 - 2233231 - 2549989 - 3262674 from: '2023-12-01T00:00:00' to: '2024-01-01T00:00:00' result_status: code: ok Home profile insufficient: value: result_status: code: not_ok action: code: sh_home_profile_insufficent description: Please update your home profile to get a result Not enough contributors: value: result_status: code: not_ok action: code: sh_not_enough_contributers description: Not enough similar homes data for the specified time period. Please try again in a few days No matching group: value: result_status: code: not_ok action: code: sh_no_matching_group description: Could not find any group matching your home profile, please check that your home profile is correctly specified. No price information: value: result_status: code: not_ok action: code: sh_no_price_information description: No price information could be found for the location in the given timespan '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Invalid parameter: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Invalid parameter details From parameter missing: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' missing To parameter missing: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'to' missing Date range invalid: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' cannot be larger than 'to' From parameter timezone unsupported: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'from' should not include a timezone offset To parameter timezone unsupported: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JU5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Parameter 'to' should not include a timezone offset '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Internal server error, please try again later. If problem remains, please contact support. /v3/locations/{locationId}/budgets: parameters: - schema: type: string name: locationId in: path required: true get: summary: Get location budgets tags: - Budgets responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Budget' examples: Example - No budgets enabled: value: - enabled: false type: budget_monthly fuel: elec resolution: month unit: energy Example - Awaiting first run: value: - enabled: true type: budget_weekly fuel: elec resolution: week unit: energy limit: 200000 status: forecast: null value: null result: null code: not_ok action: code: budget_awaiting_first_run description: Budget is awaiting first run Example - Runned: value: - enabled: true type: budget_weekly fuel: elec resolution: week unit: energy limit: 200000 config: mode: manual margin_percent: null status: code: ok result: currently_below value: 16370 forecast: 120000 period_start: '2020-05-11T00:00:00' period_end: '2020-05-18T00:00:00' data_until: '2020-05-13T00:00:00' Example - Auto budget: value: - enabled: true type: budget_monthly fuel: elec resolution: month unit: energy limit: 144000 config: mode: auto margin_percent: 20 series: fuel: elec unit: energy resolution: month from: '2020-05-01T00:00:00' to: '2020-06-01T00:00:00' consumption_cumulative: - 12000 - 28000 - 41000 - null forecast_cumulative: - 30000 - 60000 - 90000 - 120000 status: code: ok result: currently_below value: 41000 forecast: 120000 period_start: '2020-05-01T00:00:00' period_end: '2020-06-01T00:00:00' data_until: '2020-05-13T00:00:00' operationId: get-v3-locations-locationId-budgets description: 'Get a locations budgets. If a budget is enabled, the budget is active and will have a limit value. The result of the last run will be in the ''status'' field. If ''status.code'' is "ok", values of the last run will be shown. If ''status.code'' is "not_ok", the budget have not been running or something went wrong during the last run.' parameters: - schema: type: string enum: - elec - gas - district_heating in: query name: fuel description: Optional. Fuel to get budgets for. - schema: type: string enum: - energy - cost in: query name: unit description: Optional. Unit to get budgets for. - schema: type: string enum: - week - month in: query name: resolution description: Optional. Resolution to get budgets for put: summary: Update location budgets operationId: put-v3-locations-locationId-budgets responses: '200': description: OK description: Update a locations budget. A budget is unique by providing fuel, resolution and unit. To update a budget, all of these needs to be specified in the query parameters. parameters: - schema: type: string example: elec enum: - elec - gas - district_heating in: query name: fuel required: true description: Fuel - schema: type: string enum: - energy - cost example: energy in: query name: unit description: Unit required: true - schema: type: string enum: - week - month example: month in: query name: resolution description: 'Resolution ' required: true requestBody: content: application/json: schema: description: '' type: object x-examples: example-1: enabled: true limit: 200000 properties: enabled: type: boolean description: Whether to enable or disable budget limit: type: number description: The limit to be set. Required when mode is 'manual'; ignored when mode is 'auto' (the limit is derived from the forecast). example: 20000 mode: type: string description: 'Optional. How the budget limit is determined. Defaults to `manual` when omitted (backwards compatible). - `manual`: use the provided `limit`. - `auto`: derive the limit automatically from the forecast at the start of each period using `margin_percent`.' enum: - manual - auto example: auto margin_percent: type: number description: Optional. Percentage applied over the forecast when mode is 'auto'. Clamped server-side to [-50, 50]. Defaults to 20 when omitted. example: 20 required: - enabled examples: Example - Manual limit: value: enabled: true limit: 200000 Example - Auto with default margin: value: enabled: true mode: auto Example - Auto with custom margin: value: enabled: true mode: auto margin_percent: 10 tags: - Budgets /v3/locations/{locationId}/budgets/history: parameters: - schema: type: string name: locationId in: path required: true get: summary: Get location budget history operationId: get-v3-locations-locationId-budgets-history tags: - Budgets description: 'Get past budget periods for a location as aligned time series. Each entry in `limit` and `consumption` corresponds to one period between `from` and `to` at the given `resolution`. Clients derive each period''s result by comparing `consumption[i]` to `limit[i]` (at or below the limit = within budget, above = over budget).' parameters: - schema: type: string enum: - elec - gas - district_heating example: elec in: query name: fuel description: Fuel to get budget history for. required: true - schema: type: string enum: - energy - cost example: energy in: query name: unit description: Unit to get budget history for. required: true - schema: type: string enum: - week - month example: month in: query name: resolution description: Resolution to get budget history for. required: true responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/BudgetHistory' examples: Example: value: fuel: elec unit: energy resolution: month from: '2020-01-01T00:00:00' to: '2020-04-01T00:00:00' limit: - 200000 - 200000 - 180000 consumption: - 187500 - 213000 - 165200 /v3/locations/{locationId}/temperature: get: summary: Get temperature tags: - Locations responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/TemperatureData' examples: Example: value: temperature: - 12 - 13 resolution: month from: '2021-01-01T00:00:00' to: '2021-03-01T00:00:00' '400': description: 'Bad Request Possible errors | *type* | *category* | *description* | | --- | --- | --- | | client_error | invalid_parameter | Timespan between ''from'' and ''to'' to large, max {maxTimeSpan} days for the given resolution" | | client_error | invalid_parameter | Parameter ''to'' missing | | client_error | invalid_parameter | Parameter ''from'' missing | | client_error | invalid_parameter | Parameter ''from'' cannot be larger than ''to'' | | client_error | invalid_parameter | Invalid parameter ''resolution''. Should be one of: 6min, 30min, hour, day, month |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER description: Invalid parameter 'to'. Cannot be null message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 operationId: get-v3-location-temperature parameters: - schema: type: string enum: - day - month example: day in: query name: resolution description: Resolution of temperature required: true - schema: type: string example: '2021-01-01' format: date in: query name: from description: From which date to retrieve temperature required: true - schema: type: string format: date example: '2021-01-01' in: query name: to description: The 'to date' represents the end date of the time period. The value is exclusive, indicating that the specified date is not included in the data range. It is rounded down to the closest start of the period for the given resolution. required: true description: 'Get the outdoor temperature in Celsius for a location Maximum time spans for resolutions * day: 31 days * month: 1 year' parameters: - schema: type: string name: locationId in: path required: true description: Location id /v3/locations/{locationId}/advice: get: tags: - Advice summary: Get advice description: Get a list of advice sorted on relevance. operationId: get-v3-location-advice parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: limit in: query description: Number of advices to return schema: type: integer format: int32 default: 10 - name: language_code in: query description: "Preferred language/region code (e.g., sv-SE).\r\nIf specified, the following properties will be translated\ \ if translations are present in our system:\r\n\r\n* title\r\n* content\r\n* link.text" schema: type: string responses: '200': description: Success headers: Content-Language: description: Preferred language/region code (e.g., sv-SE). Will be present in the response if the advice was successfully translated. schema: type: string description: Preferred language/region code (e.g., sv-SE). Will be present in the response if the advice was successfully translated. format: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/Advice' examples: Energy tip: value: - id: 46e6hh85-037a-49ae-afc3-4eb51a44cded relevance: 0.21 estimated_yearly_savings_energy: 360 estimated_yearly_savings: - value: 360 unit: kwh estimated_yearly_savings_cost: 78.84 estimated_yearly_savings_monetary: - type: price_formula cost: 78.84 cost_per_wh: 0.219 title: Replace old lamps with LED lighting content: Don't wait to replace your incandescent or halogen bulbs with LED bulbs. key: replace_old_lamps_with_led_lighting status: none link: text: LED lighting url: https://www.example.com/page.html links: - key: led-lighting-page type: external-link text: LED lighting url: https://www.example.com/page.html type: energy_tip euc_keys: - lighting Upgrade: value: - id: b0990c22-1e54-4f00-a46c-bebae4a1edb3 relevance: 0.16 estimated_yearly_savings_energy: 650 estimated_yearly_savings: - value: 650 unit: kwh estimated_yearly_savings_cost: 117 estimated_yearly_savings_monetary: - type: price_formula cost: 117 cost_per_wh: 0.18 title: An old water heater should be replaced content: Instant hot water taps are becoming popular. key: old_water_heater_should_be_replaced status: none link: text: Water heater url: https://www.example.com/page.html links: - key: water-heater type: external-link text: Water heater url: https://www.example.com/page.html - key: water-heater-image type: image text: Water heater image url: https://www.example.com/water-heater.jpg type: upgrade investment_cost: fixed: 2149.99 roi: - unit: months from: 37 to: 42 financing_options: - key: financing_key type: financing title: Available financing option description: This helps to cover costs related to installing an energy saving upgrade for your home url: https://www.example.com/page.html euc_keys: - water_heating '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. Advice not found: value: type: client_error category: invalid_path code: INVALID_PATH transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: No advices found '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Server error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Error when getting location advice /v3/locations/{locationId}/advice/{adviceId}: patch: tags: - Advice summary: Patch advice description: Update advice status. operationId: patch-v3-location-advice-adviceId parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 - name: adviceId in: path description: Advice id required: true schema: type: string requestBody: description: '' content: application/json: schema: type: array items: $ref: '#/components/schemas/AdvicePatchInput' examples: Payload: value: - op: replace path: /status value: implemented responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/Advice' examples: Energy tip: value: id: 46e6hh85-037a-49ae-afc3-4eb51a44cded relevance: 0.21 estimated_yearly_savings_energy: 360 estimated_yearly_savings_cost: 78.84 estimated_yearly_savings_monetary: - type: price_formula cost: 78.84 cost_per_wh: 0.219 title: Replace old lamps with LED lighting content: Don't wait to replace your incandescent or halogen bulbs with LED bulbs. key: replace_old_lamps_with_led_lighting status: none link: text: LED lighting url: https://www.example.com/page.html type: energy_tip Upgrade: value: id: b0990c22-1e54-4f00-a46c-bebae4a1edb3 relevance: 0.16 estimated_yearly_savings_energy: 650 estimated_yearly_savings_cost: 117 estimated_yearly_savings_monetary: - type: price_formula cost: 117 cost_per_wh: 0.18 title: An old water heater should be replaced content: Instant hot water taps are becoming popular. key: old_water_heater_should_be_replaced status: none link: text: Water heater url: https://www.example.com/page.html type: upgrade investment_cost: fixed: 2149.99 roi: - unit: months from: 37 to: 42 financing_options: - key: financing_key type: financing title: Available financing option description: This helps to cover costs related to installing an energy saving upgrade for your home url: https://www.example.com/page.html '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: Incorrect request body: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JP5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: PATCH_LIST_MISSING_OR_EMPTY Only replace allowed: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JP5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: ONLY_OPERATION_REPLACE_ALLOWED Only replacing status allowed: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JP5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: ONLY_REPLACING_STATUS_ALLOWED Only string value allowed: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JP5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: STATUS_VALUE_MUST_BE_STRING Invalid status supplied: value: type: client_error category: invalid_parameter code: INVALID_PARAMETER transaction_id: 0HN1O72JP5P3C:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: INVALID_STATUS_SUPPLIED '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Error when patching location advice /v3/locations/{locationId}/advice/estimated-savings-monetary-source: get: tags: - Advice summary: Get savings monetary sources description: Get list of all monetary sources used for estimated savings operationId: get-v3-location-advice-monetary-sources parameters: - name: locationId in: path description: Location id required: true schema: type: integer format: int32 responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/SavingMonetarySource' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find the location. Monetary sources not found: value: type: client_error category: invalid_path code: INVALID_PATH transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong, please try again later. If problem remains, please contact support. description: No monetary sources found '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Server error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Error when getting estimated savings monetary sources /v3/locations/{locationId}/anomalies: get: summary: Get anomalies responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Anomaly' examples: Example response: value: - type: daily_anomaly fuel: elec status: code: ok data_until: '2020-05-20T00:00:00' result: none - type: high_monthly_forecast fuel: elec status: code: not_ok action: code: anomaly_awaiting_first_run description: Anomaly is awaiting first run '404': description: 'Bad Request Possible errors | *type* | *category* | *description* | | --- | --- | --- | | client_error | entity_not_found | Could not find the location. |' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND description: Could not find the location. message: 'Something went wrong, please try again later. If problem remains, please contact support (error: 1ad3a534117d4).' transaction_id: 37c4ef86-d525-42c8-b65f-9b4cfcce0df6 operationId: get-v3-location-anomalies parameters: - schema: type: string enum: - elec - gas - district_heating example: elec in: query name: fuel description: Filter for anomalies - schema: type: string enum: - daily_anomaly - high_monthly_forecast example: high_monthly_forecast in: query name: type description: Filter for type of anomaly description: 'Get anomalies for a location. The result of the last run will be in the ''status'' field. If ''status.code'' is "ok", values of the last run will be shown. If ''status.code'' is "not_ok", the anomaly have not been running or something went wrong during the last run. Anomalies can be sent out as a push notification in Eliq White Label Solution, or as a webhook event in API solution ' tags: - Anomalies parameters: - schema: type: string name: locationId in: path required: true description: Location id /v3/health/heart_beat: get: summary: Get heart beat responses: '200': description: OK content: application/json: schema: type: string examples: Ok response: value: OK operationId: get-v3-heartbeat parameters: [] description: 'Endpoint to check whether the API is up or not. Successful response means the API is up and running, timeouts or 5XX responses would indicate there are issues with the API ' tags: - Health parameters: [] /v3/users/{userId}/connections/web-portal-uri: parameters: - schema: type: integer name: userId in: path required: true description: Eliq internal id of user. - schema: type: string name: callback_uri in: query required: false description: (Optional) A URL to be used for inserting a 'Back' button on Eliq Connect pages that redirects to this callback URI. The URL must be HTML encoded. - schema: type: string name: linkout_callback_uri in: query required: false description: (Optional) A URI that specifies whether to open a specific app or URL instead of the Eliq Connect web view when a linkout occurs. The URI must be HTML encoded. get: summary: Get Eliq Connect Web URI tags: - Eliq Connect responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EliqConnectUriResponse' examples: example-1: value: uri: https://connect.eliq.io/login?callbackUri={callback_uri}&linkOutCallbackUri={linkout_callback_uri}&ticketId={SSO_TICKET} operationId: get-v3-users-userId-connections-web-portal-uri description: 'Get link to Eliq Connect Web. The link includes {callback_uri} and {linkout_callback_uri} URI''s if provided in request. Link also includes a single-use token which is used to login the user to the web. The single-use token is valid for 15 minutes, and can only be used once.' /v3/users/{userId}/connections: parameters: - schema: type: integer name: userId in: path required: true description: Eliq internal id of user get: summary: Get User Connections operationId: get-v3-users-userId-connections description: 'Get all connections associated with a user. ### Connection statuses | *Status* | *Description* | | --- | --- | | connected | The connection is connected, which means Eliq have access to manage connection entities for the connection. | | awaiting_confirmation | A connection request has been generated, but not yet approved. This may be due to that the grid operator need to approve the request, or a user action is required. | | disconnected | Eliq has lost access to the connection. User input is needed which is managed in Eliq Connect Web. |' tags: - Eliq Connect responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/Connection' examples: Example: value: - id: 20b4adc8-2ae9-4f99-b50d-af0933042f58 display_name: Connection display name provider: provider_name status: connected /v3/Users/{userId}/sent_notifications: get: tags: - Users summary: Get user sent notifications. description: "Retrieve notifications which were triggered for a user.\r\n \r\nNotifications can be filtered\ \ using the notification_types query parameter and paged using the limit/cursor parameters." operationId: get-v3-users-userId-notifications parameters: - name: userId in: path description: User's id required: true schema: type: integer format: int32 - name: cursor in: query description: The paging cursor, which consists of the notification id, which you can use to page through the notifications. If provided, endpoint will return notifications with ids greater than the value provided in the cursor. schema: type: integer format: int32 - name: limit in: query description: Number of notifications to return in the response. schema: type: integer format: int32 - name: notification_types in: query description: Comma separated notification types for filtering purposes. Can be null. schema: type: string - name: language_code in: query description: Returns the notification content in the requested language (e.g. `en-GB`). Currently only Monthly Report notifications are available in multiple languages. schema: type: string responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/UserNotification' examples: User notifications response: value: - id: 181093332 header: Negative electricity prices tomorrow! content: Between 22:00-00:00 tomorrow the market electricity price is below zero! read: false created_date: '2025-11-03T16:33:31.797' event: created_date: '2025-11-03T16:33:31.797' type: market_price_next_day_hour_price_alert - id: 174322255 header: Low market prices tomorrow content: Tomorrow the average market prices are low, averaging at 0,24 kr/kWh 🙂. The price will be at its lowest 06:00-07:00 at 0,11 kr/kWh. read: false created_date: '2025-11-03T16:33:31.797' event: created_date: '2025-11-03T16:33:31.797' type: market_price_next_day_avg_price_alert - id: 164333124 header: Unusually high consumption content: On Sunday your consumption was much higher than usual. Check if any appliances are left on or not working properly. read: false created_date: '2025-11-03T16:33:31.797' event: created_date: '2025-11-03T16:33:31.797' type: daily_anomaly - id: 154325555 header: Your usage was higher than usual content: Your usage was higher this month than last month. Check your usage breakdown to see what may have caused this. read: false created_date: '2025-11-03T16:33:31.797' event: created_date: '2025-11-03T16:33:31.797' type: monthly_anomaly - id: 141256783 header: Weekly electricity budget exceeded content: You've just gone over your electricity budget for this week. Get ready for a new challenge next week. read: false created_date: '2025-11-03T16:33:31.797' event: created_date: '2025-11-03T16:33:31.797' type: budget - id: 134324576 header: Low credit alert content: Your balance is low please top up now read: false created_date: '2025-11-03T16:33:31.797' event: created_date: '2025-11-03T16:33:31.797' type: low_credit - id: 123245636 header: Your consumption in October. content: You consumed 10 % more than the previous month. Check out all your insights in the app. read: false created_date: '2025-11-03T16:33:31.797' event: created_date: '2025-11-03T16:33:31.797' type: monthly_insight - id: 116523765 header: Off supply warning content: You are, or about to go off supply, please contact us if you need support read: false created_date: '2025-11-03T16:33:31.797' event: created_date: '2025-11-03T16:33:31.797' type: off_supply_warning - id: 101093332 header: Your consent is expiring soon content: Your consent for data sharing will expire in 1 day(s). Please go to Account → Add/Remove Digital Meter and click Renew Consent. If your consent expires, we won’t be able to provide you with insights. read: false created_date: '2025-11-03T16:33:31.797' event: created_date: '2025-11-03T16:33:31.797' type: custom '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' examples: User not found: value: type: client_error category: user_not_found code: USER_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find user with Id '1234567' User's Location not found: value: type: client_error category: entity_not_found code: ENTITY_NOT_FOUND transaction_id: 0HN18NIB8K5RV:00000001 description: Could not find the location. '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error' examples: Internal Error: value: type: internal_error category: internal_error code: INTERNAL_ERROR transaction_id: 0HN18NIB8K5RV:00000001 message: Something went wrong. Please try again later. If problem remains, please contact support. description: Internal server error, please try again later. If problem remains, please contact support. /v3/connections/{connectionId}/connection-entities: parameters: - schema: type: string name: connectionId in: path required: true get: summary: Get connection entities tags: - Eliq Connect responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ConnectionEntity' examples: Example: value: - id: 20b4adc8-2ae9-4f99-b50d-af0933042f58 display_name: Electricity meter type: meter location_id: 1234 meter: fuel: elec type: import supply_start_date: '2021-01-01' supply_end_date: '2022-01-01' data_available_from_date: '2021-01-01' data_available_to_date: '2022-06-05' operationId: get-v3-connections-connectionId-connection-entities description: "Get all (configured) entities associated with the connection. \n\nA connection may have several entities\ \ associated with it. In some scenarios, the configuration of these connection entities needs to be done by the end-user.\ \ This opens up the possibility that some entities are not configured in Eliq for a connection - only configured entities\ \ will be available in this endpoint. " /v3/locations/{locationId}/connection-meta-data: parameters: - schema: type: string name: locationId in: path required: true get: summary: Get location connection meta data responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ConnectionMetaData' examples: Status ok: value: status: ok operationId: get-v3-locations-locationId-connection-meta-data description: "Get connection meta data for a location. This endpoint enables connection logic to be handled on a location\ \ basis, rather than on a user basis. \n\n### Connection meta-data statuses\n\n| *Status* | *Description* |\n| ---\ \ | --- |\n| ok | The connection related to the location is all ok. Connection entities (at least one) have been configured\ \ and data is available. No actions needed by the user. |\n| not_connected | There are no connection related to the\ \ location. The user should be prompted with a message asking to setup a connection. Send the user of to Eliq Connect.\ \ |\n| action_required | A connection exist, but there is an action required by the user to make it work. The user\ \ should be prompted with a message saying he/she needs to fill in some more information, and send the user of to\ \ Eliq Connect. |\n| awaiting_confirmation | Connection created, but not yet validated by the provider. E.g. awaiting\ \ approval from DSO. At this stage, there are no actions that can be done to change the status. Prompt message that\ \ a process has been started. |\n| awaiting_first_data_sync | The connection has been configured and is ready to go.\ \ Energy data has though not been synced for the at least one of the connection entities. |" tags: - Eliq Connect /v3/auth/user/token: parameters: [] post: summary: POST User token request operationId: post-v3-auth-user-token responses: '200': description: OK headers: {} content: application/json: schema: type: object properties: access_token: type: string token_type: type: string expires_in: type: integer x-examples: Example 1: access_token: JWT TOKEN token_type: bearer expires_in: 1800 examples: example-1: value: access_token: JWT TOKEN token_type: bearer expires_in: 1800 '400': description: Bad Request content: application/json: schema: type: object properties: type: type: string category: type: string transaction_id: type: string message: type: string description: type: string x-examples: example-1: type: client_error category: user_not_found code: USER_NOT_FOUND transaction_id: 0HMLS31S9QPFP:00002B34 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find user with Id '12345' examples: example-1: value: type: client_error category: user_not_found code: USER_NOT_FOUND transaction_id: 0HMLS31S9QPFP:00002B34 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find user with Id '12345' description: "Use this endpoint to generate a user access token to be used in the Insights API. \n\nUse case: When adding\ \ Eliq insights as a web view inside your own app/web, you need to generate user access tokens in your backend, using\ \ your id and secret. This token is passed to your app that can use it to call the insights api directly. Token is\ \ valid for 30 minutes before it expires and a new token is needed." tags: - Authentication requestBody: content: application/json: schema: type: object properties: grant_type: type: string user_id: type: integer client_id: type: integer client_secret: type: string requested_token_use: type: string x-examples: Example 1: grant_type: client_credentials user_id: 12345 client_id: 1234567890 client_secret: my_secret_key requested_token_use: on_behalf_of examples: Example 1: value: grant_type: client_credentials client_id: 14934656510 client_secret: client_secret requested_token_use: on_behalf_of user_id: 6445967 description: '' security: [] /v3/authentication/autologin/ticket: parameters: [] get: summary: GET Autologin ticket operationId: get-v3-authentication-autologin-ticket responses: '200': description: OK headers: {} content: application/json: schema: type: object properties: ticket_id: type: string x-examples: Example 1: ticket_id: 0ef862de-21f7-4a83-8151-b4be30f24dac examples: example-1: value: ticket_id: 0ef862de-21f7-4a83-8151-b4be30f24dac '404': description: Bad Request content: application/json: schema: type: object properties: type: type: string category: type: string transaction_id: type: string message: type: string description: type: string x-examples: example-1: type: client_error category: not_found code: USER_NOT_FOUND transaction_id: 0HMLS31S9QPFP:00002B34 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find user examples: example-1: value: type: client_error category: not_found code: USER_NOT_FOUND transaction_id: 0HMLS31S9QPFP:00002B34 message: Something went wrong, please try again later. If problem remains, please contact support. description: Could not find user description: 'Use this endpoint to generate an autologin ticket. Use case: When adding Eliq insights as a web view inside your app/web, you need to generate user access tokens in your backend, using your id and secret (see /v3/auth/user/token). Using this token with this endpoint, you can generate a ticketid. You add this ticketid when opening or redirecting a user to Eliq web app to allow the user to be auto logged in, thus avoiding the login form for the user again.' tags: - Authentication requestBody: content: {} description: '' components: schemas: Address: required: - country_code - street_address type: object properties: street_address: minLength: 1 type: string description: Street address. example: Riksgatan 1 postal_code: type: string description: Postal code. nullable: true example: 117 40 city: type: string description: City name. nullable: true example: Stockholm country_code: minLength: 1 type: string description: Country code (ISO 3166-1 alpha-2). example: SE lon: type: number description: The geographical longitude coordinate. format: double nullable: true example: 18.07187 lat: type: number description: The geographical latitude coordinate. format: double nullable: true example: 59.3257 description: General address data including latitude and longitude. User: description: Get user information type: object x-examples: example-1: id: 1234 ext_ref: aec78361-f5b6-44cc-b9e6-935bd5053592 forname: John surname: Doe phone: '987643212' email: john.doe@email.com language_code: en-GB examples: - id: 1234 ext_ref: aec78361-f5b6-44cc-b9e6-935bd5053592 name: John phone: '+46731234123' email: john.doe@email.com language_code: en-GB properties: id: type: number example: 1234 description: Eliq internal ID client_id: type: number example: 123456789 description: Eliq internal Client ID ext_ref: type: string minLength: 1 description: Eliq external reference. Client's user ID (ID in data management API) example: aec78361-f5b6-44cc-b9e6-935bd5053592 name: type: string example: John description: Users name forename: type: string deprecated: true description: Users forename surname: type: string deprecated: true description: Users surname phone: type: string example: '+46731234123' description: User phone number email: type: string example: john.doe@email.com format: email description: User email language_code: type: string minLength: 1 example: en-GB description: Users selected language code. Translations shown in app and messages will be sent in this language required: - id - ext_ref - language_code Consent: type: object x-examples: example-1: version_id: f2283b35-c2c7-4a4f-90f4-49e493c69d7 name: terms_and_conditions type: login_consent given_consent: false is_updated: true is_mandatory: true timestamp: '2022-06-28T13:54:43.369558Z' language_code: en-GB data: url: https://your-website-url.com/terms-and-conditions properties: version_id: type: string name: type: string type: type: string given_consent: type: boolean is_updated: type: boolean is_mandatory: type: boolean timestamp: type: string language_code: type: string data: type: object properties: url: type: string description: Nullable, such as the terms and conditions page on a website, etc. examples: [] Location: required: - address - ext_ref - fuels - id - meters - timezone type: object properties: id: type: integer description: ID format: int32 example: 150 name: type: string description: Name nullable: true example: My Location ext_ref: minLength: 1 type: string description: External (utility) reference. timezone: minLength: 1 type: string description: Iana timezone example: Europe/Berlin address: $ref: '#/components/schemas/Address' fuels: $ref: '#/components/schemas/LocationFuels' meters: type: array items: $ref: '#/components/schemas/LocationMeter' description: Meters present at a location. description: Location data. LocationFuel: type: object properties: import: $ref: '#/components/schemas/LocationFuelItem' export: $ref: '#/components/schemas/LocationFuelItem' consumption: $ref: '#/components/schemas/LocationFuelItem' production: $ref: '#/components/schemas/LocationFuelItem' description: Fuel data LocationFuelItem: required: - resolution - source type: object properties: resolution: minLength: 1 type: string description: Energy data sampling resolution. example: 15min data_from: type: string description: Available from date. format: date-time nullable: true example: '2021-01-01T00:00:00' data_to: type: string description: Available to date. format: date-time nullable: true example: '2021-03-01T00:00:00' source: $ref: '#/components/schemas/FuelSource' sync_status: $ref: '#/components/schemas/SyncStatus' description: General data about a fuel item. SyncStatus: enum: - ok - waiting_for_data type: string description: Data synchronization status. LocationFuels: type: object properties: elec: $ref: '#/components/schemas/LocationFuel' gas: $ref: '#/components/schemas/LocationFuel' district_heating: $ref: '#/components/schemas/LocationFuel' description: Available fuel data LocationMeter: required: - direction - fuel_type - id - is_sub_meter - user_setup_completed type: object properties: id: minLength: 1 type: string description: ID. example: e7c8938fe06a44a7923ed89da281705e model: minLength: 1 type: string description: Model. example: Standard Energy V1 user_setup_completed: type: boolean description: A true/false value depicting whether user setup is complete. example: true name_user: type: string description: Name given by the user. nullable: true example: MyName name_suggested: type: string description: Name suggested. nullable: true example: Standard Energy V1 fuel_type: minLength: 1 type: string description: Type of fuel sampled. example: elec direction: minLength: 1 type: string description: Fuel direction. example: import is_sub_meter: type: boolean description: A true/false values depicting whether this is a sub-meter. example: false category_user: type: string description: Category which was provided by the user. nullable: true example: My Category category_suggested: type: string description: The category suggested. nullable: true example: other supply_start_date: type: string description: Supply start date. format: date-time nullable: true example: '2026-01-01T00:00:00' supply_end_date: type: string description: Supply end date. format: date-time nullable: true example: '2026-12-31T00:00:00' description: Meter data. NotificationSettingsResponse: type: object properties: notification_name: type: string description: The name of the notification nullable: true notification_type_id: type: integer description: Unique notification id format: int32 notification_category: type: string description: Notification category nullable: true send_event_notification: type: boolean description: Specifies whether the notification should be sent (I.E. is the notification enabled). nullable: true send_email: type: boolean description: Specifies whether notification should be delivered by email. nullable: true send_push: type: boolean description: Specifies whether a push notification is delivered to the user's smartphone. nullable: true send_text: type: boolean description: Specifies whether the notification is sent via an SMS text message. nullable: true send_webhook: type: boolean description: Specifies whether the notification is sent via a webhook. nullable: true Homeprofile: description: "The home profile is describing the properties of a location, such as house type, heating system and other\ \ appliances. This information is later used in Eliq analytics. \n\nThe home profile root objects properties may be\ \ different in different countries (could be parsed as a dictionary). Hence, the result shown for the locations country\ \ may not match with the example provided below." type: object x-examples: example-1: properties: [] cooking: - key: gas_stoves data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of gas hobs - key: gas_ovens data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of gas ovens - key: electric_stoves data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of electric hobs - key: electric_ovens data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of electric ovens - key: microwaves data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of microwaves examples: - properties: - key: house_type data_type: single_select is_required: true possible_values: - value: apartment developer_description: Type of dwelling - value: house developer_description: House - value: semi_detached developer_description: House - semi detached - value: holiday_home developer_description: Holiday home / summer house - value: other developer_description: Other tags: - required_for_euc_to_work - required_for_sh_to_work developer_description: Type of dwelling - key: living_area data_type: number is_required: true limits: min: 0 max: 400 step: 1 tags: - required_for_sh_to_work developer_description: Size of heated living space in square meters - key: persons data_type: number is_required: true limits: min: 0 max: 10 step: 1 tags: [] developer_description: Number of people living in the home - key: heating_type_primary data_type: single_select is_required: true possible_values: - value: district_heating developer_description: District heating - value: radiators developer_description: Electric radiators - value: air_air_pump developer_description: Air-air heat pump - value: air_water_pump developer_description: Air-water heat pump - value: water_pan developer_description: Storage water heater - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: floor_heat developer_description: Electric floor heat - value: other developer_description: Other tags: - required_for_sh_to_work developer_description: Primary way of heating the location - key: heating_type_other data_type: multiple_select is_required: false possible_values: - value: district_heating developer_description: District heating - value: radiators developer_description: Electric radiators - value: air_air_pump developer_description: Air-air heat pump - value: air_water_pump developer_description: Air-water heat pump - value: water_pan developer_description: Storage water heater - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: floor_heat developer_description: Electric floor heat - value: other developer_description: Other tags: [] developer_description: Non-primary ways of heating the location - key: hotwater_type data_type: single_select is_required: false possible_values: - value: hot_water_tank developer_description: Storage water heater - value: air_water_pump developer_description: Air-water heat pump - value: exhaust_air_heat_pump developer_description: Exhaust air heat pump - value: district_heating developer_description: District heating - value: other developer_description: Other tags: [] developer_description: Primary way of heating water cooking: - key: gas_stoves data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of gas hobs - key: gas_ovens data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of gas ovens - key: electric_stoves data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of electric hobs - key: electric_ovens data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of electric ovens - key: microwaves data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of microwaves appliances: - key: dishwashers data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of dishwashers - key: washing_machines data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of washing machines - key: dryers data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of electric dryers fridges_and_freezers: - key: fridges data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of fridges - key: freezers data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of freezers - key: fridge_freezers data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of combined fridge-freezer units title: '' properties: properties: type: array items: $ref: '#/components/schemas/HomeProfileOption' cooking: type: array uniqueItems: false items: $ref: '#/components/schemas/HomeProfileOption' appliances: type: array items: $ref: '#/components/schemas/HomeProfileOption' fridges_and_freezers: type: array items: $ref: '#/components/schemas/HomeProfileOption' extras: type: array items: $ref: '#/components/schemas/HomeProfileOption' Fuel: enum: - elec - gas - district_heating type: string description: Fuel type FuelSource: enum: - smart_meter - non_smart_meter - load_curve_estimation - pv_disagg type: string description: Source of fuel data. LimitRange: required: - max - min type: object properties: min: type: number description: Minimum number in the range. For example, if key is 'living_area' and min is 150, it means minimum 150 square meters. format: double example: 150 max: type: number description: Maximum number in the range. For example, if key is 'living_area' and max is 200, it means maximum 200 square meters. format: double example: 200 description: Available if type is 'limit_range'. Contains minimum and maximum values for the given key. HomeProfileOption: description: 'A home profile option is the option that can be set. A home profile option may have different data types, ''single_select'', ''multiple_select'' or ''number''. The available properties in the object will change depending on this data type, which is described more in the model. ' type: object x-examples: example-1: key: house_type data_type: single_select is_required: true possible_values: - value: apartment developer_description: Apartment - value: house developer_description: House - value: semi_detached developer_description: House - semi detached - value: holiday_home developer_description: Holiday home / summer house - value: townhouse developer_description: House - townhouse - value: other developer_description: Other tags: - required_for_euc_to_work - required_for_sh_to_work developer_description: Type of dwelling examples: - key: house_type data_type: single_select is_required: false value: apartment possible_values: - value: house developer_description: House - value: apartment developer_description: Apartment tags: - required_for_euc_to_work - required_for_sh_to_work developer_description: Type of dwelling - key: electric_ovens data_type: number is_required: false limits: min: 0 max: 5 step: 1 tags: [] developer_description: Number of electric ovens title: HomeprofileOptions properties: key: type: string minLength: 1 example: house_type description: 'Key of home profile. A home profile option is identified by key, hence, it is the value for the key which are updated when running patch ' data_type: type: string minLength: 1 enum: - single_select - multiple_select - number example: single_select description: 'The data type of the home profile option. Eg. if ''single_select'', there will be several different choices, where one value should be taken (eg. house type). ' value: type: - number - string - array example: apartment description: Selected value for the location. A number if data_type is ‘number’, string if ‘data_type’ is ‘single_select’ and list of strings if data_type is ‘multiple_select’. Null if no value has been set. items: type: string possible_values: type: array uniqueItems: true minItems: 1 description: 'Only present if data_type is ''single_select'' or ''multiple_select''. The possible values contains all the possible options that can be set. ' items: type: object properties: value: type: string minLength: 1 example: apartment description: Value for the possible value. To be provided in patch developer_description: type: string description: A string that describes this value. Not meant to be displayed to the end user. example: Air-air heat pump name: type: string description: DEPRECATED! deprecated: true type: type: string description: DEPRECATED! deprecated: true required: - value limits: type: object description: 'Only present if data_type is ''number''. The limit object contains the minimum and maximum value that can be selected, and with what step. ' properties: min: type: number example: 0 description: Minimum number. Usually 0 max: type: number example: 5 description: Maximum number step: type: number example: 1 description: Minimum step. Eg. if home profile option is to select number of freezers, the user would increase/decrease the amount of freezers with 1. dependent_properties: type: array uniqueItems: true minItems: 1 description: Only present if a dependent property has been configured. Used to indicated if an option should be shown or not given previous choices. items: type: object properties: property: type: string example: properties/house_type description: The name of the dependent property. accepted_values: type: array uniqueItems: true minItems: 1 description: The list of the values that are accepted for the dependent property. items: type: string tags: type: array uniqueItems: true description: An array of tags. Currently used tags are `required_for_euc_to_work` and `required_for_sh_to_work`. items: type: string example: - required_for_euc_to_work - required_for_sh_to_work developer_description: type: string description: A string that describes this option. Not meant to be displayed to the end user. example: Size of heated living space in square meters name: type: string description: DEPRECATED! deprecated: true is_required: type: boolean default: false description: DEPRECATED! Use tags instead. Whether the option is a field that is required for similar homes and breakdown. deprecated: true required: - key - data_type MarketPriceElementDto: required: - period_start - price_kwh type: object properties: period_start: type: string description: Market price period start price_kwh: type: number description: Market price during period per kwh format: double MarketPriceResolution: enum: - day - month type: string PriceLevel: enum: - low - medium - high type: string MarketPriceSummaryElementDto: required: - avg_price_kwh - highest_price_kwh - lowest_price_kwh - period_start - price_level - values type: object properties: period_start: type: string description: The start of the daily/monthly period avg_price_kwh: type: number description: Average daily/monthly price per kwh format: double price_level: $ref: '#/components/schemas/PriceLevel' lowest_price_kwh: $ref: '#/components/schemas/MarketPriceElementDto' highest_price_kwh: $ref: '#/components/schemas/MarketPriceElementDto' values: type: array items: $ref: '#/components/schemas/MarketPriceElementDto' description: All summary period prices MarketPriceSummaryDto: required: - currency - from - resolution - to - values type: object properties: resolution: $ref: '#/components/schemas/MarketPriceResolution' currency: minLength: 1 type: string description: Currency of the price_kwh from: type: string description: From date to: type: string description: To date exclusive values: type: array items: $ref: '#/components/schemas/MarketPriceSummaryElementDto' description: Values in the specified resolution. The size always matches the number of periods between from and to in the given resolution. Collection may contain null entries for periods with no data. PatchDocument: type: array description: Patch document used in patch operations minItems: 1 uniqueItems: true x-examples: example-1: - op: replace path: properties/house_type value: apartment - op: replace path: properties/persons value: 2 - op: replace path: properties/heating_type_primary value: radiators - op: replace path: fridges_and_freezers/fridges value: 1 title: '' items: type: object properties: op: type: string minLength: 1 example: replace enum: - add - replace - remove description: Operation to execute path: type: string minLength: 1 description: Path to property to update example: user/name value: type: - string - number minLength: 1 example: John description: Value to set required: - op - path - value Breakdown: description: 'The breakdown model contains information about the location breakdown (aka. Energy usage categories (EUC)). ' type: object x-examples: example-1: accuracy: medium total_value: 100450 from: '2019-10-01T00:00:00' to: '2019-11-01T00:00:00' unit: energy breakdown: - category: cooking value: 25047 - category: fridge_freezer value: 35623 - category: washing value: 18188 - category: cleaning value: 4223 - category: always_on value: 6365 - category: lightning value: 11000 title: Breakdown result properties: accuracy: type: string minLength: 1 enum: - LOW - MEDIUM - HIGH example: MEDIUM description: How certain we are of the result. Can be either 'low', 'medium' or 'high'. Could be used to let user know the accuracy of the breakdown, or whether to show it the application or not. total_value: type: number description: The total usage during the period example: 100450 from: type: string minLength: 1 format: date-time example: '2019-10-01T00:00:00' description: Start date of the consumption period, matches with the value passed in query parameters of the request. to: type: string minLength: 1 example: '2019-11-01T00:00:00' format: date-time description: 'End date of the consumption period, matches with the value passed in query parameters of the request. ' unit: type: string minLength: 1 enum: - energy - cost example: energy description: Can be ‘cost’ or ‘energy’. Matches with the value passed in query parameters of the request if provided, otherwise default. breakdown: type: array uniqueItems: true minItems: 1 items: $ref: '#/components/schemas/BreakdownItem' required: - accuracy - total_value - from - to - unit - breakdown examples: - accuracy: medium total_value: 100450 from: '2019-10-01T00:00:00' to: '2019-11-01T00:00:00' unit: energy breakdown: - category: cooking value: 25047 - category: fridge_freezer value: 35623 - category: washing value: 18188 - category: cleaning value: 4223 - category: always_on value: 6365 - category: lightning value: 11000 BreakdownItem: description: Breakdown item contain usage information for a specific usage category type: object x-examples: example-1: category: cooking value: 25047 properties: category: type: string minLength: 1 example: cooking description: The breakdown category, eg. 'cooking' or 'always_on' value: type: number example: 25047 description: The amount of usage for the category (either in energy or cost) required: - category - value examples: - category: cooking value: 25047 ResultWrapper: description: Responses from the similar homes and breakdown endpoint are wrapped in an object called result wrapper. The result status will contain information about the response and whether it is an ok or not ok result. The object also contains information of what needs to be done to get an ok response, for example enter more properties to the home profile. type: object x-examples: breakdown-example: result: accuracy: medium total_value: 100450 from: '2019-10-01T00:00:00' to: '2019-11-01T00:00:00' unit: energy breakdown: - category: cooking value: 25047 - category: fridge_freezer value: 35623 - category: washing value: 18188 - category: cleaning value: 4223 - category: always_on value: 6365 - category: lightning value: 11000 result_status: code: ok title: Result wrapper examples: - result: accuracy: medium total_value: 100450 from: '2019-10-01T00:00:00' to: '2019-11-01T00:00:00' unit: energy breakdown: - category: cooking value: 25047 - category: fridge_freezer value: 35623 - category: washing value: 18188 - category: cleaning value: 4223 - category: always_on value: 6365 - category: lightning value: 11000 result_status: code: ok action: null properties: result: oneOf: - $ref: '#/components/schemas/Breakdown' - $ref: '#/components/schemas/SimilarHomesGroup' - $ref: '#/components/schemas/TimeseriesData' - $ref: '#/components/schemas/SimilarHomesReport' result_status: type: object description: Contains information about the result, and whether it was successful or not required: - code properties: code: type: string minLength: 1 description: Either "ok" or "not_ok". Used to decide whether there is a result or not. enum: - ok - not_ok example: ok action: type: - object - 'null' description: Available in cases where there are actions that can be done to make the result become ok, such as entering info in home profile options. properties: code: type: string description: 'A code for the action that should be taken. Please refer to documentation of specific endpoint for more information. ' description: type: string description: A description of the action that should be taken. required: - result_status TimeseriesData: description: Model containing time series data. Different parameters will be available depending on the data requested, see below for more information type: object x-examples: example-1: consumption: - 446.37 - null import: - 446.37 - null export: - 446.37 - null production: - 446.37 - null fuel: elec unit: energy resolution: month from: '2019-01-01T00:00:00' to: '2019-03-01T00:00:00' examples: - consumption: - 446.37 - null fuel: elec unit: energy resolution: month from: '2021-01-01T00:00:00' to: '2021-03-01T00:00:00' title: Time series data properties: consumption: type: array description: Available if consumption has been queried. Will always contain the exact amount of elements as there are time frames between ‘to’ and ‘from’ with the given ‘resolution’. Values inside the array can be null if no energy data exists (One day always contains 24 values). The consumption values are floating-point numbers. items: type: - number - 'null' import: type: array description: Available if import has been queried. Will always contain the exact amount of elements as there are time frames between ‘to’ and ‘from’ with the given ‘resolution’. Values inside the array can be null if no energy data exists (One day always contains 24 values). The import values are floating-point numbers. items: type: - number - 'null' export: type: array description: Available if export has been queried. Will always contain the exact amount of elements as there are time frames between ‘to’ and ‘from’ with the given ‘resolution’. Values inside the array can be null if no energy data exists (One day always contains 24 values). The export values are floating-point numbers. items: type: - number - 'null' production: type: array description: Available if production has been queried. Will always contain the exact amount of elements as there are time frames between ‘to’ and ‘from’ with the given ‘resolution’. Values inside the array can be null if no energy data exists (One day always contains 24 values). The production values are floating-point numbers. items: type: - number - 'null' forecast: type: array description: Available if forecast has been queried. Will always contain the exact amount of elements as there are time frames between ‘to’ and ‘from’ with the given ‘resolution’. Values inside the array can be null if no energy data exists. The forecast values are floating-point numbers. items: type: - number - 'null' fuel: type: string minLength: 1 description: Can be ‘elec’, ‘gas’ or ‘district_heating’. Matches with the value passed in query parameters of the request if provided enum: - elec - gas - district_heating example: elec unit: type: string minLength: 1 description: 'Can be ‘cost’, ‘energy’ or ''m3''. Matches with the value passed in query parameters of the request if provided, otherwise default. Only return m3 if the unit is available.' enum: - energy - cost example: energy resolution: type: string minLength: 1 description: Can be '6min','15min', '30min', 'hour', 'day' or 'month'. Matches with the value passed in query parameters of the request. enum: - 6min - 15min - 30min - hour - day - month from: type: string minLength: 1 description: From date example: '2021-01-01T00:00:00' to: type: string minLength: 1 description: To date example: '2021-02-01T00:00:00' required: - fuel - unit - resolution - from - to MeterDataResult: description: Model containing meter time series data result. Different parameters will be available depending on the data requested, see below for more information type: object title: MeterDataResult properties: meter: type: array description: Available if consumption has been queried. Will always contain the exact amount of elements as there are time frames between ‘to’ and ‘from’ with the given ‘resolution’. Values inside the array can be null if no energy data exists (One day always contains 24 values). The consumption values are floating-point numbers. items: type: - object - 'null' properties: direction: type: string data: type: array items: type: - number - 'null' required: - direction - data fuel: type: string description: Can be ‘elec’, ‘gas’ or ‘district_heating’. Matches with the value passed in query parameters of the request if provided example: elec enum: - elec - gas unit: type: string description: 'Can be ‘cost’, ‘energy’ or ''m3''. Matches with the value passed in query parameters of the request if provided, otherwise default. Only return m3 if the unit is available.' example: energy enum: - energy - cost resolution: type: string description: Can be '6min','15min', '30min', 'hour', 'day' or 'month'. Matches with the value passed in query parameters of the request. example: day enum: - 6min - 15min - 30min - hour - day - month from: type: string description: From date example: '2021-01-01T00:00:00' minLength: 1 to: type: string description: To date example: '2021-02-01T00:00:00' minLength: 1 required: - meter - fuel - unit - resolution - from - to YearlyEstimate: required: - fuel - source - type - year type: object properties: fuel: $ref: '#/components/schemas/Fuel' type: $ref: '#/components/schemas/Direction' year: type: integer description: Year format: int32 source: minLength: 1 type: string description: Source of the entry, e.g., user, system energy_wh: type: integer description: Energy in Wh format: int32 nullable: true description: Model containing yearly estimate for a location TemperatureData: description: Model containing time series temperature data. Different parameters will be available depending on the data requested, see below for more information type: object x-examples: example-1: consumption: - 446.37 - null import: - 446.37 - null export: - 446.37 - null production: - 446.37 - null fuel: elec unit: energy resolution: month from: '2019-01-01T00:00:00' to: '2019-03-01T00:00:00' examples: - temperature: - 12 - 13 resolution: month from: '2021-01-01T00:00:00' to: '2021-03-01T00:00:00' title: Temperature data properties: temperature: type: array items: type: - number - 'null' resolution: type: string minLength: 1 description: Can be 'day' or 'month'. Matches with the value passed in query parameters of the request. enum: - day - month from: type: string minLength: 1 description: From date example: '2021-01-01T00:00:00' to: type: string minLength: 1 description: To date example: '2021-02-01T00:00:00' required: - resolution - from - to SimilarHomesGroup: required: - contributors - filters type: object properties: filters: minItems: 1 type: array items: $ref: '#/components/schemas/SimilarHomesGroupFilter' description: A list of filters that was used when finding a similar homes group. contributors: type: integer description: Number of contributors in the group. format: int32 example: 1 description: Description of similar homes that a location is compared to. SimilarHomesGroupFilter: required: - description - key - type type: object properties: key: minLength: 1 type: string description: This key refers to keys in home profile, for example 'house_type', 'heating_type_primary' or 'living_area'. example: house_type description: minLength: 1 type: string description: Description for the filter. example: House type: $ref: '#/components/schemas/SimilarHomesGroupFilterType' limit_range: $ref: '#/components/schemas/LimitRange' limit_values: type: array items: type: string description: Available if type is 'limit_values'. For example, for key 'house_type', this would include the list of house types the location is compared with. nullable: true description: Similar homes group filter. SimilarHomesGroupFilterType: enum: - limit_values - limit_range type: string description: Describes whether 'limit_values' or 'limit_range' should be used. SimilarHomesGroupResultModel: required: - result_status type: object properties: result: $ref: '#/components/schemas/SimilarHomesGroup' result_status: $ref: '#/components/schemas/SimilarHomesResultStatus' description: Model containing similar homes group result. SimilarHomesResultStatus: required: - code type: object properties: code: $ref: '#/components/schemas/SimilarHomesResultStatusCode' action: $ref: '#/components/schemas/SimilarHomesResultStatusAction' description: Contains information about the result, and whether it was successful or not. SimilarHomesResultStatusAction: type: object properties: code: type: string description: A code for the action that should be taken. Please refer to documentation of specific endpoint for more information. nullable: true description: type: string description: A description of the action that should be taken. nullable: true description: Available in cases where there are actions that can be done to make the result successful, such as entering information in the home profile options. MeterPriceFormula: type: object properties: meter_id: type: string description: Meter id. Applicable only for price formulas set on a meter. Location level formulas which can be applied to multiple meters will have this field empty. nullable: true fuel: $ref: '#/components/schemas/Fuel' direction: $ref: '#/components/schemas/PriceFormulaDirection' from: type: string description: Price formula start date. format: date-time nullable: true to: type: string description: Price formula end date. format: date-time nullable: true currency_code: type: string description: Price formula currency code. nullable: true elements_array: type: array items: $ref: '#/components/schemas/Element' description: List of elements nullable: true source: $ref: '#/components/schemas/Source' Source: enum: - client - user type: string description: Price formula source Element: required: - name - type type: object properties: name: minLength: 1 type: string description: Name of the price formula element type: $ref: '#/components/schemas/PriceElementType' charge: $ref: '#/components/schemas/Charge' unit_rate: $ref: '#/components/schemas/UnitRate' PriceElementType: enum: - charge - unit_rate type: string description: Formula element type. PriceFormulaDirection: enum: - import - export type: string description: Direction type Charge: required: - resolution type: object properties: resolution: $ref: '#/components/schemas/ChargeResolution' charge: type: number description: Charge amount format: double nullable: true description: Object containing the charge. Available when type is set to charge. ChargeResolution: enum: - day - month type: string description: Charge resolution UnitRate: required: - type type: object properties: type: $ref: '#/components/schemas/UnitRateType' fixed: $ref: '#/components/schemas/Fixed' tou: $ref: '#/components/schemas/Tou' nordpool: $ref: '#/components/schemas/Nordpool' block: $ref: '#/components/schemas/Block' spot_price: $ref: '#/components/schemas/SpotPrice' weekdays: type: array items: type: string nullable: true description: Object containing the unit rate. Available when type is set to unit_rate. UnitRateType: enum: - fixed - tou - nordpool - block - spot_price type: string description: Unit rate type Fixed: required: - unit_rate type: object properties: unit_rate: type: number description: Fixed unit rate format: double description: Object containing spot price information. Available if unit rate type is set to 'fixed' Nordpool: required: - region - resolution type: object properties: region: minLength: 1 type: string description: Region resolution: $ref: '#/components/schemas/NordpoolResolution' multiplier: type: number description: Multiplier. All Nordpool is by default without VAT. Specify VAT to be used, value 1.25 would result in 25% tax. format: double nullable: true description: Object containing Nordpool information. Available if unit rate type is set to nordpool NordpoolResolution: enum: - hour type: string Tou: type: object properties: register_id: type: string nullable: true unit_rate: type: number format: double nullable: true intervals: type: array items: $ref: '#/components/schemas/Interval' nullable: true skip_intervals: type: boolean nullable: true Interval: type: object properties: from_minute: type: integer format: int64 nullable: true to_minute: type: integer format: int64 nullable: true Block: type: object properties: resolution: $ref: '#/components/schemas/BlockResolution' register_id: type: string nullable: true unit_rate: type: number format: double from_kwh: type: integer format: int64 nullable: true to_kwh: type: integer format: int64 nullable: true from_m3: type: integer format: int64 nullable: true to_m3: type: integer format: int64 nullable: true BlockResolution: enum: - day - year type: string SpotPrice: type: object properties: provider: $ref: '#/components/schemas/SpotPriceProvider' region: type: string nullable: true resolution: $ref: '#/components/schemas/SpotPriceResolution' multiplier: type: number format: double nullable: true SpotPriceProvider: enum: - nordpool - epex type: string SpotPriceResolution: enum: - hour - 15min type: string TimeSeriesData: type: object properties: consumption: type: array items: type: number format: double nullable: true nullable: true production: type: array items: type: number format: double nullable: true nullable: true import: type: array items: type: number format: double nullable: true nullable: true export: type: array items: type: number format: double nullable: true nullable: true price: type: array items: type: number format: double nullable: true nullable: true co2emission: $ref: '#/components/schemas/Co2Emission' resolution: type: string nullable: true fuel: $ref: '#/components/schemas/FuelType' unit: $ref: '#/components/schemas/UnitType' from: type: string format: date-time nullable: true to: type: string format: date-time nullable: true estimated_from: type: string format: date-time nullable: true is_ondemand: type: boolean nullable: true Co2Emission: type: object properties: co2_in_kg: type: number format: double nullable: true car_gas_emission_in_km: type: number format: double nullable: true FuelType: enum: - none - elec - gas - district_heating type: string UnitType: enum: - none - cost - monetary_unit - energy - temperature - m3 type: string SimilarHomesResultStatusCode: enum: - ok - not_ok type: string description: Indicating whether there is a result or not. Budget: description: Model for budget. Contains information about the budget, and when it last was run. type: object x-examples: example-1: enabled: true type: budget_weekly fuel: elec resolution: week unit: energy limit: 200000 status: code: ok result: currently_below value: 16370 forecast: 120000 period_start: '2020-05-11T00:00:00' data_until: '2020-05-13T00:00:00' examples: - enabled: false type: budget_monthly fuel: elec resolution: month unit: energy - enabled: true type: budget_weekly fuel: elec resolution: week unit: energy limit: 200000 status: code: not_ok action: code: budget_awaiting_first_run description: Budget is awaiting first run - enabled: true type: budget_weekly fuel: elec resolution: week unit: energy limit: 200000 status: code: ok result: currently_below value: 16370 forecast: 120000 period_start: '2020-05-11T00:00:00' data_until: '2020-05-13T00:00:00' title: Budget properties: enabled: type: boolean description: Whether budget is enabled or not type: type: string minLength: 1 description: Type of budget enum: - budget_weekly - budget_monthly example: budget_monthly fuel: type: string minLength: 1 description: Fuel it is enabled for enum: - elec - gas - district_heating example: elec resolution: type: string minLength: 1 description: Resolution of budget enum: - week - month unit: type: string minLength: 1 description: Unit of budget enum: - energy - cost example: energy limit: type: - number - 'null' description: Limit of the budget in Wh, or currency (depending on unit) example: 1234.5 suggested_limit: type: number description: If user want to set up a new budget this value could be used as a suggested limit. Only returned if a forecast could be made example: 1234.5 config: type: object description: Configuration for how the budget limit is determined. Returned when the budget is enabled. properties: mode: type: string description: 'How the budget limit is set. - `manual`: the limit is a fixed value provided by the client. - `auto`: the limit is derived automatically from the forecast at the start of each period as `forecast * (1 + margin_percent / 100)`. The derived limit is frozen for the duration of the period.' enum: - manual - auto example: auto margin_percent: type: - number - 'null' description: Percentage applied over the forecast when mode is 'auto'. Clamped server-side to [-50, 50]. Defaults to 20. Null when mode is 'manual'. example: 20 series: type: object description: Cumulative consumption and forecast for the current budget period, one value per resolution step. Returned when the budget is enabled and a run has produced data. properties: fuel: type: string description: Fuel the series is for. enum: - elec - gas - district_heating example: elec unit: type: string description: Unit the series is for. enum: - energy - cost example: energy resolution: type: string description: Resolution of the series. enum: - week - month from: type: - string - 'null' description: Start of the current period (inclusive). format: date-time example: '2020-05-11T00:00:00' to: type: - string - 'null' description: End of the current period (exclusive). format: date-time example: '2020-05-18T00:00:00' consumption_cumulative: type: array description: Cumulative actual consumption at each step from period start. Steps with no data yet are null. items: type: - number - 'null' example: - 5000 - 11000 - 16370 - null forecast_cumulative: type: array description: Cumulative forecasted consumption at each step to the end of the period. items: type: - number - 'null' example: - 6000 - 12000 - 18000 - 24000 status: type: object description: Contains status about last run. Returned when the budget is enabled. required: - code - value - forecast properties: code: type: string minLength: 1 description: Indicates whether last run was successful or not. enum: - ok - not_ok result: type: - string - 'null' minLength: 1 description: Available if code 'ok'. enum: - currently_below - forecasted_above - above - completed_below - null example: currently_below value: type: - number - 'null' description: Accumulative value between period start and data_until, available if code 'ok'. example: 123.4 forecast: type: - number - 'null' description: Forecast of value at end of period, available if code 'ok' and if a forecast could be made. period_start: type: string minLength: 1 description: Start of the period, available if code 'ok'. example: '2021-01-01T00:00:00' format: date-time period_end: type: string minLength: 1 description: End of the period, available if code 'ok'. format: date-time example: '2021-02-01T00:00:00' data_until: type: string minLength: 1 description: Latest data value (exclusive), available if code 'ok'. example: '2021-01-05T00:00:00' action: type: object description: Available if code is 'not_ok'. Indicates what went wrong during last run properties: code: type: string description: Code explaining last runs fail. enum: - budget_awaiting_first_run - budget_not_enough_data example: budget_not_enough_data description: type: string description: Description of last runs fail. example: Not enough data to run budget required: - enabled - type - fuel - resolution - unit BudgetHistory: description: Past budget periods for a location as aligned time series. Each index in `limit` and `consumption` corresponds to one period between `from` and `to` at `resolution`. type: object title: BudgetHistory properties: fuel: type: string description: Fuel the history is for. enum: - elec - gas - district_heating example: elec unit: type: string description: Unit the history is for. enum: - energy - cost example: energy resolution: type: string description: Resolution of the history periods. enum: - week - month example: month from: type: string description: Start of the first period (inclusive). format: date-time example: '2020-01-01T00:00:00' to: type: string description: End of the last period (exclusive). format: date-time example: '2020-04-01T00:00:00' limit: type: array description: Budget limit for each period. Null for periods where no budget was set. items: type: - number - 'null' example: - 200000 - 200000 - 180000 consumption: type: array description: Actual consumption for each period. Null for periods with no data. items: type: - number - 'null' example: - 187500 - 213000 - 165200 required: - fuel - unit - resolution - from - to - limit - consumption Advice: required: - content - id - key - relevance - title - type type: object properties: id: minLength: 1 type: string description: Advice id. example: c7fd3d37-9f50-4cfa-b958-dfef25074189 relevance: maximum: 1 minimum: 0 type: number description: A number that indicates how relevant the advice is for the end user. The higher the number, the more relevant the advice. format: double example: 0.9 estimated_yearly_savings_energy: type: number description: "Estimated savings in energy kWh.\r\n \r\nDeprecated property, estimated_yearly_savings\ \ should be used instead." format: double nullable: true estimated_yearly_savings: type: array items: $ref: '#/components/schemas/EstimatedSavings' description: "A list of available estimated savings in either kWh or M3, depending on whether the advice is intended\r\ \nfor gas or electricity fuel." nullable: true estimated_yearly_savings_cost: type: number description: "Estimated savings in cost. Currency is the same as price formula currency.\r\n\r\nDeprecated property,\ \ estimated_yearly_savings_monetary should be used instead." format: double nullable: true example: 33.24 estimated_yearly_savings_monetary: type: array items: $ref: '#/components/schemas/SavingMonetary' description: "A list of available estimated savings in cost. Currency is the same as price formula currency.\r\n\ \r\nAvailable monetary source types are provided with a separate endpoint \r\nGet savings monetary sources." nullable: true title: minLength: 1 type: string description: Title text. example: This is a title content: minLength: 1 type: string description: Content text. example: This is the content key: minLength: 1 type: string description: Unique advice key. example: advice_energy_key status: $ref: '#/components/schemas/AdviceStatus' activated_at: type: string description: "Timestamp in UTC\r\n\r\nOne optional setting is to configure advice to be activated after a certain\ \ time period.\r\n\r\nIf this is defined, the timestamp indicates when the advice was activated. This is managed\ \ by Eliq on the backend side.\r\n\r\nIf an advice has not been activated the timestamp is null, and this can\ \ be used to filter out non activated advice." format: date-time nullable: true example: '2021-01-20T00:00:00Z' updated_status_at: type: string description: "Timestamp in UTC\r\n\r\nThis timestamp indicates when the advice status was last updated." format: date-time nullable: true example: '2022-01-20T00:00:00Z' link: $ref: '#/components/schemas/Link' links: type: array items: $ref: '#/components/schemas/AdviceLinkModel' description: Optional collection of links can be included with each advice nullable: true type: $ref: '#/components/schemas/AdviceType' investment_cost: $ref: '#/components/schemas/AdviceInvestmentCostModel' financing_options: type: array items: $ref: '#/components/schemas/AdviceFinancingOptionModel' description: Available financing options nullable: true euc_keys: type: array items: type: string description: The EUC (energy usage category) keys related to specific advice. nullable: true description: Model containing advice information. AdviceFinancingOptionModel: required: - description - key - title - type - url type: object properties: key: minLength: 1 type: string description: Unique key used to identify a financing option. Consisting only of lowercase letters and underscores. example: financing_key type: $ref: '#/components/schemas/FinancingOptionType' title: minLength: 1 type: string description: Title text description: minLength: 1 type: string description: Description text url: minLength: 1 type: string description: Url of an external Web resource description: Financing option EstimatedSavings: required: - unit - value type: object properties: value: type: number description: The amount saved. format: double unit: $ref: '#/components/schemas/EnergyUnit' description: "The estimated energy savings in either kWh or M3 for a given advice.\r\n \r\nUnit depends on\ \ whether the advice is intended for gas of electricity." AdviceLinkModel: required: - key - text - type type: object properties: key: minLength: 1 type: string description: The key by which the link is identified. type: $ref: '#/components/schemas/AdviceLinkType' text: minLength: 1 type: string description: The text to be displayed in the front end for this link. url: type: string description: The actual URL of the link. nullable: true description: Optional link which can be included with each advice AdviceLinkType: enum: - image - external-link type: string description: The type which can be set to an advice Link. EnergyUnit: enum: - kwh - m3 type: string FinancingOptionType: enum: - financing - subsidy type: string description: Financing option type AdvicePatchInput: required: - op - path - value type: object properties: op: minLength: 1 type: string description: "Operation to execute\r\n\r\nAllowed values: \"replace\"" example: replace path: minLength: 1 type: string description: "Path to property to update\r\n\r\nAllowed values: \"/status\"" example: /status value: minLength: 1 type: string description: "Status to set. \r\n\r\nAllowed values: \"none\", \"skipped\", \"not_relevant\", \"implemented\", \"\ save_for_later\", \"already_implemented\"" example: implemented description: Advice status update request body AdviceStatus: enum: - none - skipped - not_relevant - implemented - save_for_later - already_implemented type: string description: This statuses are used to capture end user feedback and feed this information back to our algorithms as well as making it easy to build an UI. The status can be updated at any time. AdviceType: enum: - energy_tip - upgrade type: string description: Advice type is used as a sub-category or a group Direction: enum: - import - export - consumption - production type: string description: Direction type EUC: required: - accuracy - breakdown - from - to - total_value - unit type: object properties: accuracy: $ref: '#/components/schemas/EucAccuracy' total_value: type: number description: Total value format: double example: 12881 from: type: string description: From date format: date-time example: '2024-02-01T00:00:00' to: type: string description: To date format: date-time example: '2024-03-01T00:00:00' unit: minLength: 1 type: string description: Unit example: energy breakdown: type: array items: $ref: '#/components/schemas/EucCategoryResultModel' description: A list of energy usage values for each category description: Model containing energy usage by category EpcRatingResponse: required: - energy_efficiency - energy_rating - type type: object properties: energy_rating: minLength: 1 type: string description: Energy rating energy_efficiency: type: integer description: Energy efficiency format: int32 type: $ref: '#/components/schemas/EpcRatingType' valid_from: type: string description: "Valid from date\r\n\r\nNot available for estimated energy rating type" format: date-time nullable: true valid_to: type: string description: "Valid to date\r\n\r\nNot available for estimated energy rating type" format: date-time nullable: true status: $ref: '#/components/schemas/EpcRatingStatus' description: EPC rating EpcRatingStatus: enum: - active - expired type: string description: "Current energy rating status based on the valid from and to dates\r\n\r\nNot available for estimated energy\ \ rating type" EpcRatingType: enum: - actual - estimated type: string description: Energy rating type Error: type: object properties: type: type: string description: Type of error. nullable: true example: internal_error category: type: string description: Error category. nullable: true example: internal_error code: type: string description: Code describing the issue. nullable: true example: INTERNAL_ERROR transaction_id: type: string description: Identifier for the session. Please provide this when contacting support. nullable: true example: 0HN18NN5QB401:00000001 message: type: string description: A message related to the error. nullable: true example: Something went wrong. Please try again later. If problem remains, please contact support. description: type: string description: A description of the error for developers. nullable: true example: Internal server error, please try again later. If problem remains, please contact support. description: Model returned for error responses. EucCategoryResultModel: required: - category - percentage - value type: object properties: category: minLength: 1 type: string description: Category example: lighting value: type: number description: Energy usage value format: double example: 1350 percentage: maximum: 100 minimum: 0 type: number description: Percentage of total value format: double example: 10.48 description: Energy usage by category EucAccuracy: enum: - high - medium - low type: string description: Result data accuracy Link: required: - text - url type: object properties: text: minLength: 1 type: string description: Title provided for a given Web resource example: Example Domain url: minLength: 1 type: string description: System generated url that redirects to a given Web resource. Provided url uses anonymous authentication and is only valid for 30 minutes after its receival. example: https://www.eliq.io/v3/locations/advice/redirect_url?adviceTrackingId=3f062710-d544-49b4-ac04-9ef14e3080b5 description: "Optional link can be included with each advice\r\n \r\nDeprecated property, links should be\ \ used instead." AdviceInvestmentCostModel: type: object properties: fixed: type: number description: Fixed investment cost value format: double nullable: true range_from: type: number description: Investment cost range from value format: double nullable: true range_to: type: number description: Investment cost range to value format: double nullable: true roi: type: array items: $ref: '#/components/schemas/AdviceReturnOfInvestmentModel' nullable: true description: Investment cost AdviceReturnOfInvestmentModel: required: - from - to - unit type: object properties: unit: $ref: '#/components/schemas/AdviceReturnOfInvestmentUnit' from: type: number description: From value format: double to: type: number description: To value format: double description: Return of investment AdviceReturnOfInvestmentUnit: enum: - months type: string description: Return of investment unit SavingMonetary: required: - cost - cost_per_wh - type type: object properties: type: minLength: 1 type: string description: Monetary source type example: price_formula cost: type: number description: Savings amount in local currency format: double example: 33.24 cost_per_wh: type: number description: Savings amount per one kilowatt-hour in local currency format: double example: 0.27 description: Savings monetary value SavingMonetarySource: required: - details - name - type type: object properties: type: minLength: 1 type: string description: Unique source type example: average name: minLength: 1 type: string description: Savings source type name example: Average details: minLength: 1 type: string description: Savings source type details example: Savings based on average price description: Savings calculation source type SimilarHomesConsumptionResultModel: required: - result_status type: object properties: result: $ref: '#/components/schemas/SimilarHomesConsumption' result_status: $ref: '#/components/schemas/SimilarHomesResultStatus' description: Model containing similar homes consumption result. SimilarHomesConsumption: required: - from - fuel - resolution - to - unit type: object properties: consumption: type: array items: type: integer format: int32 description: Will always contain the exact amount of elements as there are time frames between 'to' and 'from' with the given 'resolution'. Values inside the array can be null if no energy data exists (one day always contains 24 values). Values are whole numbers. nullable: true deprecated: true values: type: array items: type: number format: double description: Contains cost or energy depending on the query parameters of the request. Will always contain the exact amount of elements as there are time frames between 'to' and 'from' with the given 'resolution'. Values inside the array can be null if no energy data exists (one day always contains 24 values). Values are floating-point numbers. nullable: true resolution: $ref: '#/components/schemas/SimilarHomesResolutionType' fuel: $ref: '#/components/schemas/SimilarHomesFuelType' unit: $ref: '#/components/schemas/SimilarHomesUnitType' from: type: string description: From date format: date-time example: '2021-01-01T00:00:00' to: type: string description: To date format: date-time example: '2021-02-01T00:00:00' description: Similar homes consumption data. SimilarHomesResolutionType: enum: - day - month type: string description: Matches with the value passed in query parameters of the request. SimilarHomesFuelType: enum: - elec - gas type: string description: Matches with the value passed in query parameters of the request, or a default value. SimilarHomesUnitType: enum: - energy - cost type: string description: Matches with the value passed in query parameters of the request, or a default value. SimilarHomesReportResultModel: required: - result_status type: object properties: result: $ref: '#/components/schemas/SimilarHomesReport' result_status: $ref: '#/components/schemas/SimilarHomesResultStatus' description: Model containing similar homes report result. SimilarHomesReport: required: - distribution_values - from - to - value type: object properties: value: type: number description: Average energy in Wh or cost for similar homes over the requested period format: double distribution_values: type: array items: type: number format: double description: Similar homes consumption data deciles. Contains values for all 10 ranks of deciles - starting from 1st and ending with 10th decile. The 1st decile has 10 per cent of the data set below it, the 2nd decile has 20 per cent of the data set below and so on. The 10th decile has 100 per cent of the data set below, making it a maximum value for the dataset. energy_wh: type: integer description: Average energy Wh for similar homes over the requested period format: int32 nullable: true deprecated: true distribution: type: array items: type: integer format: int32 description: Distribution of similar homes energy Wh consumption in deciles nullable: true deprecated: true from: type: string description: From date format: date-time to: type: string description: To date format: date-time description: Similar homes report for the requested period. Anomaly: description: Anomaly object type: object x-examples: example-1: type: high_monthly_forecast fuel: elec status: code: not_ok data_until: '2020-05-20T00:00:00' result: none action: code: anomaly_awaiting_first_run description: Anomaly is awaiting first run examples: - type: daily_anomaly fuel: elec status: code: ok data_until: '2020-05-20T00:00:00' result: none properties: type: type: string minLength: 1 description: Anomaly type enum: - daily_anomaly - high_monthly_forecast example: daily_anomaly fuel: type: string minLength: 1 example: elec enum: - elec - gas - district_heating description: Fuel for anomaly status: type: object required: - code properties: code: type: string minLength: 1 enum: - ok - not_ok example: ok description: Status code indicating whether last run was successful or not data_until: type: - string - 'null' minLength: 1 description: Which date the last data point had during last run (local date for location) format: date-time example: '2020-05-20T00:00:00' result: type: - string - 'null' minLength: 1 description: Result from last run. Null if code is 'not_ok' enum: - none - low - high action: type: - object - 'null' description: Available if code is 'not_ok'. Indicates what went wrong during last run required: - code - description properties: code: type: string minLength: 1 description: Code explaining last runs fail example: anomaly_awaiting_first_run enum: - anomaly_not_enough_data - anomaly_awaiting_first_run description: type: string minLength: 1 description: Description of last runs fail example: Anomaly is awaiting first run required: - type - fuel - status Notification: description: 'Notification object. Content available in "object" is dependent on the notification type. ' type: object x-examples: example-1: type: monthly_insight id: 123456 read: false created_date: '2021-05-17T13:35:22.473' header: Ny månadsrapport content: 'Hej Eva! Din energianvändning för..' object: null examples: - type: monthly_insight id: 123456 read: true created_date: '2021-05-17T13:35:22.473' header: Ny månadsrapport content: Hej Eva!\nDin energianvändning för.. object: location_id: 1234 location_ext_ref: '{location_ext_ref}' type: monthly_insight fuel: elec period_start: '2020-10-01T00:00:00.000' period_end: '2020-11-01T00:00:00.000' message: language: sv-SE: header: Ny månadsrapport content: 'Hej Eva! Din energianvändning för..' title: Notification properties: type: type: string minLength: 1 description: Notification type example: monthly_insight id: type: number description: Eliq internal ID of the notification example: 123456 read: type: boolean description: Could be used to indicate it the notification is read or not. Needs to be used together with PATCH notifications. default: true created_date: type: string minLength: 1 description: 'The date when the notification was created. The date is in UTC (Z flag is missing due to design mistake :)) ' format: date-time example: '2021-05-17T13:35:22.473' header: type: string minLength: 1 description: Header of notification. In language code set for the user example: Ny månadsrapport content: type: string minLength: 1 description: Content of notification in language code set for the user. May contain new line marker '\n' example: Hej Eva!\nDin energianvändning för.. object: type: object description: 'Object containing detailed information from the source of the notification. E.g. a monthly insights object. ' required: - type - id - read - created_date - header - content MarketPriceResponseDto: required: - currency - from - resolution - to - values type: object properties: resolution: minLength: 1 type: string description: Resolution of the values array currency: minLength: 1 type: string description: Currency of the price_kwh from: type: string description: From date inclusive to: type: string description: To date exclusive values: type: array items: $ref: '#/components/schemas/MarketPriceElementDto' description: Values in the specified resolution. The size always matches the number of periods between from and two in the given resolution. May contain null. PeakPowerResponse: required: - direction - from - fuel - peak_power_resolution - peak_power_timestamp - power - resolution - to type: object properties: power: type: array items: type: number format: double description: List of power values peak_power_timestamp: type: array items: type: string format: date-time description: List of timestamps indicating when the peak power was recorded from: type: string description: From date format: date-time to: type: string description: To date, exclusive format: date-time fuel: enum: - elec - gas - district_heating type: string description: Fuel type direction: enum: - import - export - consumption - production type: string description: Direction type resolution: enum: - hour - day - month type: string description: Peak power data resolution peak_power_resolution: enum: - 6min - 10min - 15min - 30min - hour type: string description: Resolution of peak power values consumption: type: array items: type: number format: double description: List of consumption values nullable: true deprecated: true production: type: array items: type: number format: double description: List of production values nullable: true deprecated: true import: type: array items: type: number format: double description: List of import values nullable: true deprecated: true export: type: array items: type: number format: double description: List of export values nullable: true deprecated: true description: Peak power response model PatchLocationProfileRequestModel: type: object properties: from: type: string description: The date on which a location profile's value changed format: date-time value: description: The value of the location profile's property LocationProfileType: required: - type type: object properties: type: $ref: '#/components/schemas/ProfileType' ProfileType: enum: - residential - business - undefined type: string description: Profile type LocationNotificationSettingsInput: required: - notification_type_id type: object properties: notification_type_id: type: integer description: The unique notification id format: int32 enabled: type: boolean description: Specify whether the notification is enabled. Disabled notifications are not sent. nullable: true mute_email: type: boolean description: Specify whether delivery by email should be muted. True - not delivered, False - delivered. nullable: true mute_text: type: boolean description: Specify whether delivery by SMS text message should be muted. True - not delivered, False - delivered. nullable: true mute_push: type: boolean description: Specify whether push notification delivery to a user's smartphone should be muted. True - not delivered, False - delivered. nullable: true mute_webhook: type: boolean description: Specify whether webhook delivery should be muted. True - not delivered, False - delivered. nullable: true description: "The various settings which can be configured for a notification.\r\nAn important note is that the notification\ \ is sent via all configured channels.\r\nI.E. if none of the channels (email, text, push, webhook) are muted, ALL\ \ of them will be used in order to deliver the notification." LocationProfileCompletionResponse: required: - completion_percentage type: object properties: completion_percentage: type: integer format: int32 LocationProfileDataType: enum: - single_select - multiple_select - number type: string description: Data type LocationProfilePossibleValue: required: - developer_description - value type: object properties: value: minLength: 1 type: string description: Value to select developer_description: minLength: 1 type: string description: Description not meant for end users description: A possible value for a location profile setting. Available when the specified data_type is single_select or multiple_select. LocationProfileSelectedValue: required: - id - value type: object properties: id: type: string description: Unique identifier for the selected value format: uuid value: description: Selected value. Depending on the specified data_type, this value can be a number (number), string (single_select) or a list of strings (multiple_select). from: type: string description: Value is valid from this date. If not specified, the value is valid from the beginning of time. format: date-time nullable: true description: Selected value with metadata LocationProfileSetting: required: - data_type - dependent_properties - developer_description - group - key type: object properties: key: minLength: 1 type: string description: Identifier for the setting data_type: $ref: '#/components/schemas/LocationProfileDataType' selected_values: type: array items: $ref: '#/components/schemas/LocationProfileSelectedValue' nullable: true possible_values: type: array items: $ref: '#/components/schemas/LocationProfilePossibleValue' nullable: true limits: $ref: '#/components/schemas/LocationPropertyLimit' dependent_properties: type: array items: $ref: '#/components/schemas/LocationPropertyRequirement' developer_description: minLength: 0 type: string description: Description not meant for end users tags: type: array items: $ref: '#/components/schemas/LocationProfileTag' description: "Denotes whether settings is required for Similar homes or EUC to work.\r\nIf empty - Similar homes/EUC\ \ do not require this setting." nullable: true group: minLength: 0 type: string description: The group (or category) to which this setting belongs to example: cooking, appliances, fridges_and_freezers description: Location profile key setting LocationProfileSettings: required: - groups - settings type: object properties: settings: type: array items: $ref: '#/components/schemas/LocationProfileSetting' groups: type: array items: type: string LocationProfileTag: enum: - required_for_sh_to_work - required_for_euc_to_work type: string description: Tag for location profile LocationProfileValueRequest: required: - key - value type: object properties: key: minLength: 1 type: string description: Identifier for the setting value: description: Selected value. Depending on the specified data_type, this value can be a number (number), string (single_select) or a list of strings (multiple_select). from: type: string description: Value is valid from this date. If not specified, the value is valid from the beginning of time. format: date-time nullable: true description: Location profile value input LocationProfileValueResponse: required: - id - key - value type: object properties: id: type: string description: Unique identifier for the selected value format: uuid key: minLength: 1 type: string description: Identifier for the setting value: description: Selected value. Depending on the specified data_type, this value can be a number (number), string (single_select) or a list of strings (multiple_select). from: type: string description: Value is valid from this date. If not specified, the value is valid from the beginning of time. format: date-time nullable: true description: Location profile value result LocationPropertyLimit: required: - max - min - step type: object properties: min: type: number format: double max: type: number format: double step: type: number format: double description: Limitations set for profile setting values. Available when the specified data_type is number. LocationPropertyRequirement: type: object properties: key: type: string description: Unique key for the property to depend on. nullable: true accepted_values: type: array items: {} description: Accepted values. Based on the dependent properties data_type, values can be a number or a string. nullable: true description: Properties that are required for a setting to be valid. Connection: type: object x-examples: example-1: id: 20b4adc8-2ae9-4f99-b50d-af0933042f58 display_name: Connection display name provider: provider_name status: connected description: '' properties: id: type: string description: Id of connection example: 20b4adc8-2ae9-4f99-b50d-af0933042f58 display_name: type: string description: A display friendly name of the connection. Can be displayed to the end-user example: Connection display name provider: type: string description: What provider the connection belongs to. Please contact Eliq for list of possible values, this is specific per client. example: provider_name status: type: string description: Status of connection enum: - connected - awaiting_confirmation - disconnected example: connected ConnectionEntity: type: object x-examples: example-1: id: string display_name: string type: string location_id: 0 meter: fuel: string type: string supply_start_date: string supply_end_date: null data_available_from_date: string data_available_to_date: string title: ConnectionEntity properties: id: type: string description: Id of connection entity example: 20b4adc8-2ae9-4f99-b50d-af0933042f58 display_name: type: string description: Display friendly name for connection entity. Can be displayed to end-user. example: Electricity meter type: type: string description: Type of entity enum: - meter example: meter location_id: type: integer description: Location id the entity belongs to example: 1234 meter: type: object description: Available if type is 'meter' properties: fuel: type: string description: Fuel measured by meter example: elec enum: - elec - gas - district_heating type: type: string description: Which direction it measures enum: - import - export - consumption - production example: import supply_start_date: type: string format: date example: '2021-01-01' supply_end_date: type: - string - 'null' example: '2022-01-01' data_available_from_date: type: - string - 'null' example: '2021-01-01' data_available_to_date: type: - string - 'null' example: '2022-06-05' ConnectionMetaData: title: ConnectionMetaData x-stoplight: id: 8hppqt6r7illo type: object properties: status: type: string description: Meta data status enum: - ok - not_connected - action_required - awaiting_confirmation - awaiting_first_data_sync example: ok EliqConnectUriResponse: title: EliqConnectUriResponse x-stoplight: id: x2vp8xc7rnr3y type: object properties: uri: type: string example: https://connect.eliq.io/login?callbackUri={callback_uri}&linkOutCallbackUri={linkout_callback_uri}&ticketId={SSO_TICKET} description: Uri to redirect the user to UserNotification: type: object properties: id: type: integer format: int64 header: type: string nullable: true content: type: string nullable: true read: type: boolean nullable: true created_date: type: string format: date-time nullable: true event: $ref: '#/components/schemas/Event' Event: type: object properties: created_date: type: string format: date-time nullable: true type: type: string nullable: true source: type: object description: "The source of the event. This can for example be a monitor object or a report object\r\nTo figure\ \ out which object it is, look at Type" nullable: true securitySchemes: BearerAuth: type: http scheme: bearer description: The Eliq insights API uses bearer tokens to authenticate requests. Read more under Authentication tag. requestBodies: {} security: - BearerAuth: [] tags: - name: Advice - name: Anomalies - name: Authentication - name: Breakdown - name: Budgets - name: Eliq Connect - name: Energy Data - name: Energy Usage Categories - name: Energy Performance Certificate - name: Health - name: Location Profile - name: Home Profile - name: Locations - name: Market Price - name: Price Formulas - name: Similar Homes - name: Users x-tagGroups: - name: Authentication tags: - Authentication - name: Users tags: - Users - name: Locations tags: - Locations - Location Profile - Energy Data - Energy Usage Categories - Energy Performance Certificate - Similar Homes - Budgets - Advice - Anomalies - Market Price - Price Formulas - name: Eliq Connect tags: - Eliq Connect - name: Health tags: - Health - name: Deprecated tags: - Breakdown - Home Profile