Introduction

This API gives REST-like access to selected resources in eSmart Systems' backend. To allow for complex parameters some methods use POST instead of GET, which would be more formally correct.

Authentication

Each request must be authenticated using basic authentication. The username and password provided must correspond to a user account in the connected customer information system.

Authorization

An authenticated user is only allowed to access (read/write) his/her own resources, e.g. customer informastion, contracts and meters.

Dates

Dates are sent in and out in ISO 8610 format, e.g. "2013-09-17T22:39:30". Dates/times are specified in UTC (Coordinated Universal Time).

Areas

The API gives access to two different parts of the associated customer web API, Power and Net. Users can have access to either one or both areas. The default area is Power. To select a specific area, use HTTP Header X-Area with the value 1 for Net or 2 for Power.

AggregationPoint

APIDescription
GET api/businessobject/aggregationpoint/{id}

 

PUT api/businessobject/aggregationpoint/{id}

 

POST api/businessobject/aggregationpoint

 

AppConfigs

APIDescription
GET api/appconfigs/{appShortName}/{companyShortName}/{build}

Get configuration parameters for an app.

AskoPoC

APIDescription
GET api/askopoc/production/sun/energy?from={from}&to={to}&res={res}

GET time series with hourly energy values for sun production

GET api/askopoc/consumption/total/energy?from={from}&to={to}&res={res}

GET time series with hourly energy values for total consumption, ie. sun production and net consumption summarized

GET api/askopoc/consumption/net/energy?from={from}&to={to}&res={res}

GET time series with hourly energy values for net consumption (meter values)

GET api/askopoc/consumption/net/energy/sum?from={from}&to={to}

 

GET api/askopoc/production/sun/energy/sum?from={from}&to={to}

 

GET api/askopoc/consumption/total/energy/sum?from={from}&to={to}

 

GET api/askopoc/consumption/energy/equivalents?energyKwH={energyKwH}&period={period}

 

GET api/askopoc/production/sun/power?from={from}&to={to}&utc={utc}

GET time series with frequently read power values for sun production

GET api/askopoc/consumption/total/power?from={from}&to={to}&utc={utc}

GET time series with calculated frequent read power values for total consumption (sum of net cons power and sun prod power)

GET api/askopoc/consumption/net/power?from={from}&to={to}&utc={utc}

GET time series with frequently read power values for net consumption

GET api/askopoc/production/sun/power/current

GET current power value for sun prod

GET api/askopoc/consumption/net/power/current

GET current power value for net cons

GET api/askopoc/consumption/total/power/current

GET current power value for tot cons

GET api/askopoc/devices

GET info on devices connected to gateways with id 23, 24 and 26 in ASKO environment

GET api/askopoc/devices/{deviceId}/values?from={from}&to={to}&utc={utc}

GET time series with frequent values for given device

GET api/askopoc/gateways/{gatewayId}/portseries?from={from}&to={to}

 

GET api/askopoc/gateways/{gatewayId}/portopentime?from={from}&to={to}

 

GET api/askopoc/devices/{deviceId}/portopentime?from={from}&to={to}

 

GET api/askopoc/weather?from={from}&to={to}&res={res}

GET weather info from DarkSky for given period, including temperature, icon suggestion and cloudiness in percent

GET api/askopoc/production/sun/energy/prediction?from={from}&to={to}&utc={utc}

GET time series with predictions for sun production for given period

GET api/askopoc/consumption/net/energy/prediction?from={from}&to={to}&utc={utc}

GET time series with predictions for net consumption for given period

GET api/askopoc/consumption/total/energy/prediction?from={from}&to={to}&utc={utc}

GET time series with predictions for net consumption for given period

GET api/askopoc/production/sun/power/prediction?from={from}&to={to}&utc={utc}

 

GET api/askopoc/consumption/total/power/prediction?from={from}&to={to}&utc={utc}

 

GET api/askopoc/consumption/net/power/prediction?from={from}&to={to}&utc={utc}

 

Asset

APIDescription
GET api/assets/types/{type}

Gets the assets.

GET api/assets/{assetId}/timezone

Gets the asset timezone.

GET api/assets/{participantId}/devices/{type}

Gets the participant devices.

GET api/assets/wheaterobservation/blindern

Get Blindern weather observation asset.

GET api/assets/{assetId}/wheaterobservation/nearest

Get Blindern weather observation asset.

GET api/assets/counters

Get a list of counters.

GET api/assets/counters/categories/{category}

Get a list of counters by category.

GET api/assets/chargers

Get a list of chargers.

GET api/assets/chargingstation

Get a list of charging stations.

AssetInfo

APIDescription
GET api/customers/{customerId}/zones

Gets the search filters.

GET api/assetinfo/{assetId}/label

Gets the asset label.

POST api/assetinfo/{assetId}/label

Saves the asset label.

GET api/assetinfo/{id}

Gets the asset information.

POST api/meters/{assetId}

Posts the meters.

POST api/facilities/{assetId}

Posts the facilities.

POST api/aggregationpoint/{assetId}

Posts the aggregation point.

POST api/industries/{assetId}

Posts the industries.

GET api/etconfig/{id}

Gets the et configuration.

POST api/etconfig/{assetId}

Sets the et configuration.

DELETE api/etconfig/{id}/delete

Deletes the et configuration.

DELETE api/etconfig/{id}/delete/{weekdays}

Deletes the et profile.

GET api/emailconfigs/{userId}

Gets the email configuration.

GET api/emailconfigs/tree/{userId}

Gets the email configuration as a tree with nodes representing assets.

GET api/emailconfigs/admin/{userId}

Gets the user list by super user.

POST api/emailconfigs/{userId}

Saves the email configuration.

POST api/emailconfigs/tree/{userId}

Saves the email configuration from tree

GET api/baseline/{id}

Gets the baseline configuration.

POST api/baseline/{id}

Sets the baseline configuration.

DELETE api/baseline/{id}

Deletes the baseline configuration.

AssetRelations

APIDescription
GET api/AssetRelations/GetParticipants?id={id}

OBSOLETE. Kept for backward compatibility.

GET api/Users/{userId}/Participants

Get the participants of the specified user.

GET api/Users/{userId}/topnodes

Get the top nodes of the specified user.

GET api/Users/{userId}/participant/hierarchy

 

GET api/Users/{userId}/meters

Gets all meters.

GET api/ParticipantRelations/{participantId}/children/location

Gets the participant location children.

GET api/ParticipantRelations/{participantId}/children/network

Gets the participant network children.

GET api/AssetRelations/{assetId}/children/location

Gets the asset location children.

GET api/AssetRelations/{assetId}/children/network

Gets the asset network children.

GET api/AssetRelations/{assetId}/parent/location?assetKey={assetKey}

Gets the asset parent guid.

GET api/assetrelations/{assetId}/children/{relationshipType}

Gets the type of the assets children with relationship.

Assignments

APIDescription
GET api/users/{userId}/assignments

Get a list of assignments assigned to the specified user.

GET api/assignments/{assignmentId}

Get an assignment from assignment ID.

GET api/users/{userId}/assignments/{assignmentId}

Get an assignment from assignment ID.

GET api/clients/{clientId}/assignments

Get the assignments for the specified client.

GET api/users/{userId}/clients/{clientId}/assignments

Get the assignments for the specified client.

PATCH api/assignments/{assignmentId}/assign/{toUserId}

Assign the assigment to another user.

PATCH api/assignments/{assignmentId}/action/{type}

Update the assignment log and state.

POST api/assignments/{assignmentId}/comment

Add a comment to an assignment.

GET api/users/{userId}/collaborators

Get a list of the users' collaborators which (s)he can assign assignments to.

GET api/users/{userId}/client/{clientId}/collaborators

Get a list of the users' collaborators which (s)he can assign assignments to.

GET api/client/{clientId}/collaborators

Get a list of the specified client's collaborators (next of kin).

Authentication

APIDescription
POST api/Authenticate

Authenticate a user with username and password as JSON in the request body.

BatteryCars

APIDescription
GET api/batterycars

Get relevant car models with batteries.

GET api/batterycars/{id}

Get relevant car model.

GET api/batterycars/manufacturers

 

Charger

APIDescription
GET api/chargers?externalId={externalId}&createIfNotExists={createIfNotExists}&importSource={importSource}

 

ChargingInfo

APIDescription
GET api/charginginfo/participants/{participantId}/chargestations

 

POST api/charginginfo/participants/{participantId}/chargestations

 

POST api/charginginfo/twiliomessage

 

POST api/charginginfo/transactionmessage/v2/payments/{orderId}

 

POST api/charginginfo/chargeactor/statusupdate

 

POST api/ChargingInfo?message={message}&sevLvl={sevLvl}

 

POST api/ChargingInfo?happendWhenText={happendWhenText}

 

GET api/ChargingInfo

 

CimExportLog

APIDescription
GET api/cimexportlogs?from={from}&to={to}&skip={skip}&take={take}

Gets the main export logs of the cim files exported from Connected Grid to Elwin.

GET api/cimexportlogs/{correlationId}

Gets the sub export logs of the cim files exported from Connected Grid to Elwin.

GET api/cimexportlogs/subexportlogs/statistics?from={from}&to={to}

Gets the statistics of the sub exports within a time interval.

POST api/cimexportlogs/datafileurl

Gets a download url to a data file.

POST api/cimexportlogs/logfileurl

Gets a download url to a log file. This could be an ack, merno or mernoErr file.

CityBarometer

APIDescription
GET api/city/timeseries/types

 

GET api/city/timeseries/{objectKey}/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the consumption for a given meter as a time series.

GET api/city/timeseries/counters/{category}/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the consumption for a given meter as a time series.

GET api/city/timeseries/counters/pedestriansandbicycles/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the consumption for a given meter as a time series.

GET api/city/timeseries/chargers/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the consumption for a given meter as a time series.

GET api/city/timeseries/chargeringstation/{objectKey}/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the consumption for a given meter as a time series.

GET api/city/timeseries/vehicles/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the consumption for a given meter as a time series.

GET api/city/timeseries/predictions/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the consumption for a given meter as a time series.

GET api/city/timeseries/predictionsvehicles/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the consumption for a given meter as a time series.

POST api/city/timeseries/{objectKey}/typeClass/{typeClass}/resolution/{resolution}/save

 

GET api/city/twitter?from={from}&to={to}

 

Communication

APIDescription
GET api/communication/twiliotoken?userId={userId}

Get a token from Twilio for the current user.

GET api/communication/videotoken/{userId}?isCallCenterOperator={isCallCenterOperator}

 

GET api/communication/callcenter

TBW

POST api/communication/log

Methods that logs the given input.

POST api/communication/completeroom?roomSid={roomSid}

 

ComponentInfo

APIDescription
GET api/componentinfo/types

GET list of component types that this api supports

GET api/componentinfo/events

GET list of events that can be flagged on the assets and that this api supports

GET api/componentinfo/substations/event/{eventName}

GET list of substations that has an active flag for the given event

GET api/componentinfo/meters/event/{eventName}

GET list of meters that has an active flag for the given event

ComponentInfoRestricted

APIDescription
GET api/componentinforestricted/types

GET list of component types that this api supports

GET api/componentinforestricted/events

GET list of events that can be flagged on the assets and that this api supports

GET api/componentinforestricted/substations/event/{eventName}

GET list of substations that has an active flag for the given event and has been published to web from notification center

GET api/componentinforestricted/meters/event/{eventName}

GET list of meters that has an active flag for the given event and has been published to web from notification center

Consumption

APIDescription
POST api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/consumption

GET the consumption for a given meter as a time series.

POST api/customers/{customerId}/asset/{assetId}/consumption

 

POST api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/comparedwithothers

GET consumption data for the given meter compared with other meters.

POST api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/costs

GET the costs for a given meter as a time series.

GET api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/wattmeter

 

ContractDeliveryPoints

APIDescription
GET api/customers/{customerId}/contractdeliverypoints?includeWattMeter={includeWattMeter}&includeLightsAndHeating={includeLightsAndHeating}&includeEvCharging={includeEvCharging}&includeWaterMeter={includeWaterMeter}

Get a customer's contracts and delivery points.

Contracts

APIDescription
GET api/customers/{customerId}/contracts

Get a customer's contracts from CustomerWeb using basic authentication.

GET api/customers/{customerId}/contracts/{contractNo}

Get one contract for a customer.

GET api/customers/{customerId}/contracts/{contractNo}/meter/{meterId}/hourprices?fromTimeUtc={fromTimeUtc}&toTimeUtc={toTimeUtc}

Get prices by hour for one contract for a customer in the specified time range.

GET api/customers/{customerId}/contracts/{contractNo}/hourprices?fromTimeUtc={fromTimeUtc}&toTimeUtc={toTimeUtc}&useCache={useCache}

 

GET api/spotprices?priceArea={priceArea}&fromTimeUtc={fromTimeUtc}&toTimeUtc={toTimeUtc}&includePreliminary={includePreliminary}&useCache={useCache}

Get spot prices from given priceArea, from time and to time

ControlPlanRequests

APIDescription
GET api/controlplanrequests/tstypes

Gets timeseries types.

GET api/controlplanrequests/zones

Gets zones for current contract; specified with header X-ContractId.

GET api/controlplanrequests/zones/{zoneId}/tstypes/{tsTypeId}?fromDate={fromDate}&toDate={toDate}

Gets control plan requests for the given zone and timeseries type.

POST api/controlplanrequests

Save a control plan request.

ControlPlans

APIDescription
POST api/customers/{customerId}/devices/{deviceAssetId}/controlplans/{controlPlanGuidAsString}/{searchFilterId}/{endDate}/decline

 

POST api/customers/{customerId}/devices/{assetId}/controlplans/{controlPlanId}/decline

Declines the control plan for asset.

GET api/customers/{customerId}/devices/{assetId}/controlplans?pageNumber={pageNumber}&pageSize={pageSize}

Gets the control plans for asset.

CustomerFeedback

APIDescription
POST api/customers/{customerId}/customerfeedback

Send feedback from a customer to the backend.

POST api/customersystemfeedback

 

Customers

APIDescription
GET api/customers/{customerId}

Get a customer.

PATCH api/customers/{customerId}

Partially update of a customer. Can update PhoneNumber (numbers only, max 14 digits), MobileNumber (numbers only, max 14 digits) and/or Email (must be a valid address, max 100 characters).

GET api/customers/{customerId}/associates

Get a list of other customers associated with the given customer.

GET api/customers/{customerId}/import

 

Dashboard

APIDescription
GET api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/dashboard?includeCosts={includeCosts}&includeUnreadMessageCount={includeUnreadMessageCount}&includeLastMonth={includeLastMonth}&includeWattMeter={includeWattMeter}&appShortName={appShortName}&includeLightsAndHeating={includeLightsAndHeating}

Get summary information for the given meter.

DataSeries

APIDescription
POST api/dataseries/{assetid}/aggregated/network/{ignoretemperature}

Gets the aggregated network descendants.

POST api/dataseries/{assetid}/cop/{ignoreTemperature}

Gets the aggregated network descendants.

POST api/dataseries/{assetid}/aggregated/location/{ignoretemperature}

Gets the aggregated location descendants.

GET api/dataseries/{assetid}/aggregation/descendants/{relationshipType}

 

POST api/dataseries/{assetid}/aggregated/location/temperatureadjusted/{ignoretemperature}

Gets the temperature adjusted aggregated location descendants.

GET api/dataseries/{assetid}/meterreading

Gets the last meter reading.

GET api/dataseries/{assetid}/meterreading/{reading}

Posts last meter reading. Prefer to use PostMeterReading instead.

POST api/dataseries/{assetId}/meterreading

Posts meter reading.

POST api/dataseries/{assetid}/et/comment

Saves the et comment.

DELETE api/dataseries/{assetid}/et/comment/{day}/{month}/{year}

Deletes the et comment.

POST api/dataseries/{assetid}/et/{relationshipType}/{weekdays}

Gets the et.

DeliveryPoints

APIDescription
GET api/customers/{customerId}/deliverypoints

Get a customer's delivery points.

DemandAndControl

APIDescription
GET api/demandandcontrol/customers/{custId}/sites

GET all sites associated with a customer

GET api/demandandcontrol/customers/{custId}/sites/{siteId}/devices

GET all devices associated with customer and site

GET api/demandandcontrol/customers/{custId}/sites/{siteId}/settings

GET settings associated with a site

PUT api/demandandcontrol/customers/{custId}/sites/{siteId}/settings

PUT update threshold and device order settings

POST api/demandandcontrol/customers/{custId}/sites/{siteId}/settings

POST update threshold and device order settings

DELETE api/demandandcontrol/customers/{custId}/sites/{siteId}/settings

DELETE settings for site

Device

APIDescription
GET api/devices/serialnumber/{serialNumber}

Gets device using the devices' serial number.

GET api/devices/serialnumber/{serialNumber}/gateway

Gets info about the gateway that the specified device serial number belongs to.

Equipment

APIDescription
GET api/clients/{clientId}/equipmentinfo

Get the equipment kit connected to client.

GET api/equipment

Get a list of available equipment kits.

POST api/clients/{clientId}/equipment/{equipmentId}

Connect the equipment kit with the client.

POST api/clients/{clientId}/equipment/{equipmentId}/assignments/{assignmentId}

Connect the equipment kit with the client and update assigment with equipment.

GET api/clients/{clientId}/equipment

Get the equipment kit connected to the client.

DELETE api/clients/{clientId}/equipment/{equipmentId}

Remove the connection between the client and the equipment kit.

GET api/equipmentcontacts

Get the user contacts linked to equipment.

Eula

APIDescription
GET api/customers/{customerId}/apps/{appshortname}/eula

Has the user accepted EULA (end user license agreement) for all assets to the given customerId

GET api/customers/{customerId}/apps/{appshortname}/terms

Version 2 of . This supports multiple EULA types

POST api/customers/{customerId}/apps/{appshortname}/eula

Accept EULA for all assets for the given customerId

POST api/customers/{customerId}/apps/{appshortname}/terms

 

PATCH api/customers/{customerId}/apps/{appshortname}/resetterms

 

EvChargingRequests

APIDescription
GET api/customers/{customerId}/evchargingrequests

Get all the EV charging requests for the specified customer.

GET api/customers/{customerId}/evchargingrequests/{evChargingRequestId}

Get one specific EV charging request for the specified customer.

POST api/customers/{customerId}/evchargingrequests

Create a new EV charging request for the specified customer.

PATCH api/customers/{customerId}/evchargingrequests/{evChargingRequestId}

Partially update an existing EV charging request for the specified customer. Only StartTime, EndTime and ChargeDemand can be updated.

DELETE api/customers/{customerId}/evchargingrequests/{evChargingRequestId}

Delete one specific EV charging request for the specified customer.

EvInfo

APIDescription
POST api/evinfo/customers/{customerId}/cars/{carId}

Saves the provided car to table storage and returns stored object.

GET api/evinfo/customers/{customerId}/gateways/{gatewayAssetId}/evchargingdevicesandcars

Gets all existing cars and chargers for the provided customer and gateway.

GET api/evinfo/customers/{customerId}/cars

Gets alls the existing cars for the customer from table storage.

GET api/evinfo/customers/{customerId}/cars/{vehicleid}

Gets a existing car for the provided customer from table storage.

PATCH api/evinfo/customers/{customerId}/cars/{carId}

Updates the existing car into table storage.

DELETE api/evinfo/customers/{customerId}/cars/{vehicleid}

Removes the existing car from table storage.

POST api/evinfo/external/authandimport/customers/{customerId}

Authenticates the user with the vendor API, gets all vehicles connected to the user and import vehicles into table storage.

POST api/evinfo/external/cars/{vehicleId}

Gets the car by identifier from the vendor API.

POST api/evinfo/external/customers/{customerId}/cars/{vehicleId}/charge

Gets the charge information about the vehicle from the vendors API.

GET api/evinfo/carvendors

Gets all car vendors and models from table storage.

GET api/evinfo/customers/{customerId}/contracts/{contractNo}/chargers/{chargerAssetId}/statistics?year={year}&month={month}

 

POST api/evinfo/external/authorize

Gets authorization for the vehicle using the privided credentials.

POST api/evinfo/external/logout

 

ExpenseOverview

APIDescription
POST api/customers/{customerId}/contracts/{contractNo}/expenseoverview

Get an expense overview for a customer's contract.

Facilities

APIDescription
POST api/Facilities

 

Gateway

APIDescription
GET api/gateways/active/serialnumber?participantId={participantId}

 

GET api/gateways/serialnumber/{serialNumber}

 

GET api/gateways/externalId/{externalId}/devices

 

Geo

APIDescription
GET api/powerequipment/{lat}/{lng}?radius={radius}&limit={limit}

 

GET api/powerequipment/guid/{guid}?lat={lat}&lng={lng}

 

GET api/powerequipment/keyword/{keyword}?lat={lat}&lng={lng}&limit={limit}

 

Invoices

APIDescription
GET api/customers/{customerId}/invoices

Get all the invoices for a customer.

GET api/customers/{customerId}/invoices/{year}/invoicepdfs

Get the invoices for a customer for the given year.

GET api/customers/{customerId}/contracts/{contractNo}/invoices/{year}

Get the invoices for a customer's contract for the given year.

GET api/customers/{customerId}/invoices/{invoiceNo}

Get one invoice for a customer.

GET api/customers/{customerId}/invoices/{invoiceNo}/pdf?userName={userName}&password={password}&area={area}

Get a customer's invoice as a PDF with username and password in the query string, e.g. .../pdf?username={userName} &password={password}&area={area}

IoT

APIDescription
GET api/customers/{customerId}/gateways?useCache={useCache}

Get the gateways used by a customer.

GET api/customers/{customerId}/gateways/{gatewayAssetId}/devices?useCache={useCache}

Get the devices connected to a gateway.

GET api/customers/{customerId}/gateways/{gatewayAssetId}/lightsandheatingdevices

Get lights and heating devices connected to a gateway.

GET api/customers/{customerId}/gateways/{gatewayAssetId}/evchargingdevices

Get electrical vehicles (EV) charging devices connected to a gateway.

GET api/customers/{customerId}/contracts/{contractNo}/gateways/{gatewayAssetId}/evchargeplans/{deviceAssetId}

Get the specified electrical vehicles (EV) plans associated with a gateway with charging info.

GET api/customers/{customerId}/contracts/{contractNo}/gateways/{gatewayAssetId}/evchargingdevices/{deviceAssetId}

Get the specified electrical vehicles (EV) charging devices connected to a gateway with charging info.

PATCH api/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}

Partially update one device's name, description, note and other properties.

PATCH api/customers/{customerId}/gateways/{gatewayAssetId}/devices

Partially update many devices' name, description, note and other properties.

PATCH api/customers/{customerId}/contracts/{contractNo}/gateways/{gatewayAssetId}/smartcharge/{deviceAssetId}

Update one device's charging information. Creates new charging information if it does not exist.

DELETE api/customers/{customerId}/contracts/{contractNo}/gateways/{gatewayAssetId}/smartcharge/{deviceAssetId}

Delete device's charging information.

PATCH api/customers/{customerId}/contracts/{contractNo}/gateways/{gatewayAssetId}/evchargingdevices/{deviceAssetId}

Update one device's charging information. Creates new charging information if it does not exist.

POST api/customers/{customerId}/contracts/{contractNo}/gateways/{gatewayAssetId}/evchargingdevices/{deviceAssetId}

Create a device charging information entity.

DELETE api/customers/{customerId}/contracts/{contractNo}/gateways/{gatewayAssetId}/evchargingdevices/{deviceAssetId}

Delete device's charging information.

POST api/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/control

Send a plan for when to turn on/off to a device.

DELETE api/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/control/{valueCategory}

Clears ALL plans for a device.

GET api/smarthomedevicetypes

Get the available SmartHomeDeviceTypes.

GET api/chargers/{assetGuid}

Get IoTDeviceDto from assetGuid.

GET api/ocppchargers

Get IoTDeviceDto from assetGuid.

POST api/IoT

 

GET api/IoT

 

LightAndHeating

APIDescription
POST api/lightsandheating/appshortname/{appShortName}/devices/{deviceAssetId}/push

POST args to send a PUSH message to mobile units

POST api/lightsandheating/devices/{deviceAssetId}/switchto/{switchValue}

Turn on or off switchpos device. inspired by api/customers/{customerId:int:min(1)}/gateways/{gatewayAssetId:int:min(1)}/devices/{deviceAssetId:int:min(1)}/control in IoT Controller. This call, however, only needs deviceid and position value, and will find other necessary info from device id.

GET api/lightsandheating/devices/{deviceAssetId}/lastmotiontime

GET the last stored valuetime for motion on the given sensor

GET api/lightsandheating/devices/{deviceAssetId}/lasttemperature

GET the last stored temperature value for given sensor in the last two minutes

GET api/lightsandheating/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/regulations

GET all regulations stored on given deviceAssetId

GET api/lightsandheating/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/regulations/{regulationId}

 

POST api/lightsandheating/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/regulations

 

PATCH api/lightsandheating/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/regulations/{regulationId}

 

DELETE api/lightsandheating/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/regulations/{regulationId}

 

GET api/lightsandheating/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/reminders

Get all reminders for given device.

GET api/lightsandheating/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/reminders/{reminderId}

Get one sprecified reminder with given guid id

POST api/lightsandheating/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/reminders

 

PATCH api/lightsandheating/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/reminders/{reminderId}

Create new reminder for given device

DELETE api/lightsandheating/customers/{customerId}/gateways/{gatewayAssetId}/devices/{deviceAssetId}/reminders/{reminderId}

Create new reminder for given device

LoadResponse

APIDescription
POST api/loadresponse/devices/{deviceAssetId}/connect

 

POST api/loadresponse/devices/{deviceAssetId}/disconnect?timeSpan={timeSpan}

 

GET api/loadresponse/devices/{deviceAssetId}/lastpowervalue

 

GET api/loadresponse/devices/{deviceAssetId}/lastswitchpos

 

POST api/loadresponse/sms

 

GET api/loadresponse/powercost/deviceid/{deviceId}?from={from}&to={to}

 

GET api/loadresponse/spotpricesno4?from={from}&to={to}

 

GET api/loadresponse/energyloadlist

 

Messages

APIDescription
GET api/customers/{customerId}/messages?pageSize={pageSize}&page={page}

Get the messages which have been sent to a customer (for all his meters).

GET api/customers/{customerId}/messages/count?state={state}

Get the number of messages which have been sent to a customer (for all his meters).

POST api/customers/{customerId}/messages/state

 

PATCH api/customers/{customerId}/messages/{messageId}

 

Meter

APIDescription
GET api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/exists

 

MockControlPlans

APIDescription
POST api/mock/customers/{customerId}/devices/{deviceAssetId}/controlplans/{controlPlanGuidAsString}/{searchFilterId}/{endDate}/decline

 

POST api/mock/customers/{customerId}/devices/{assetId}/controlplans/{controlPlanId}/decline

Declines the control plan for asset.

GET api/mock/customers/{customerId}/devices/{assetId}/controlplans?pageNumber={pageNumber}&pageSize={pageSize}

Gets the control plans for asset.

MockProsumerContracts

APIDescription
GET api/mock/customers/{customerId}/prosumercontracts

 

GET api/mock/customers/{customerId}/devices/{deviceAssetId}/flexibilitycontracts

 

GET api/mock/customers/{customerId}/contractamounts/flexibility/resolution/{resolution}?fromDate={fromDate}&toDate={toDate}

 

GET api/mock/customers/{customerId}/contractamounts/energy/resolution/{resolution}?fromDate={fromDate}&toDate={toDate}

 

GET api/mock/customers/{customerId}/contractamounts/service/resolution/{resolution}?fromDate={fromDate}&toDate={toDate}

 

GET api/mock/customers/{customerId}/devices/{deviceAssetId}/technicaldetails

 

MockProsumerTimeSeries

APIDescription
GET api/mock/timeseries/prosumer/{customerId}/resolution/{resolution}?from={from}&to={to}

 

GET api/mock/timeseries/prosumer/{customerId}/device/{deviceId}/resolution/{resolution}?from={from}&to={to}

 

NextOfKin

APIDescription
GET api/nextofkin/{id}/terms

 

GET api/nextofkin/{id}/usercode/{code}

 

POST api/nextofkin/{id}/acceptterms

 

Ping

APIDescription
GET api/ping

Get information about API version and the subsystems which are being used.

GET api/ping/checks

Checks communication with subsystems (customer web and cache system).

GET api/ping/database

Checks communication with SQL database. Finds Any() Meters, WeatherObservations and Buildings.

PoC

APIDescription
POST api/poc/devices/{deviceAssetId}/seqcontrol

 

ProsumerContracts

APIDescription
GET api/customers/{customerId}/prosumercontracts

 

GET api/customers/{customerId}/devices/{deviceAssetId}/flexibilitycontracts

 

GET api/customers/{customerId}/contractamounts/flexibility/resolution/{resolution}?fromDate={fromDate}&toDate={toDate}

 

GET api/customers/{customerId}/contractamounts/energy/resolution/{resolution}?fromDate={fromDate}&toDate={toDate}

 

GET api/customers/{customerId}/contractamounts/service/resolution/{resolution}?fromDate={fromDate}&toDate={toDate}

 

GET api/customers/{customerId}/devices/{deviceAssetId}/technicaldetails

 

ProsumerTimeSeries

APIDescription
GET api/timeseries/prosumer/{customerId}/resolution/{resolution}?from={from}&to={to}

 

GET api/timeseries/prosumer/{customerId}/device/{deviceId}/resolution/{resolution}?from={from}&to={to}

 

PushNotification

APIDescription
POST api/customers/{customerId}/push/{appShortName}

Create a registration ID for the given customer and app.

POST api/apps/{appShortName}/push

Create a registration ID for the given app.

PUT api/customers/{customerId}/push/{appShortName}/{registrationId}

Create or update a registration with the specified registration ID for the given customer and app. Returns 200-OK or 410-Gone if registration has expired or is deleted. This method only accepts meter IDs.

PUT api/apps/{appShortName}/push/{registrationId}

Create or update a registration with the specified registration ID for the given app. Returns 200-OK or 410-Gone if registration has expired or is deleted. This method handles several tag types (PushIdentifierTypes).

GET api/apps/{appShortName}/push/{registrationId}/tags

Get the tags in a registration for the given app.

DELETE api/customers/{customerId}/push/{appShortName}/{registrationId}

Delete a registration for the given customer and app.

DELETE api/apps/{appShortName}/push/{registrationId}

Delete a registration for the given app.

POST api/customers/{customerId}/push/{appShortName}/send

Used for sending to Smartliv apps. Send the specified message as a push notification to the given meter IDs using the given app.

POST api/apps/{appShortName}/push/send

Used for sending to Florence and other apps. Send the specified message as a push notification using the tags to the given app.

Readings

APIDescription
GET api/customers/{customerId}/deliverypoints/{deliveryPointId}/readings?pageSize={pageSize}&page={page}

Get the readings for a delivery point.

POST api/customers/{customerId}/deliverypoints/{deliveryPointId}/readings

Save a reading for a delivery point.

Relation

APIDescription
POST api/relation

 

ResponseTest

APIDescription
GET api/responsetest/ok/empty

 

GET api/responsetest/ok/object

 

GET api/responsetest/notfound

 

GET api/responsetest/unauthorized

 

GET api/responsetest/badrequest/empty

 

GET api/responsetest/badrequest/object

 

GET api/responsetest/internalservererror/empty

 

GET api/responsetest/internalservererror/object

 

Settings

APIDescription
GET api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/settings

Get settings for a customer's building/meter, e.g. building year, heated area, number of residents.

POST api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/settings

OBSOLETE, only for legacy use. Save changes to a customer's information and building/meter. Use POST api/.../settings/building and PATCH api/customers/123 instead.

POST api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/settings/building

Save settings for a customer's building. Can set or update Name, HeatingArea, BuildingYear, and/or Residents.

SignalR

APIDescription
POST api/signalr/timeseries/objectkey/{objectKey}/type/{type}

 

SimCard

APIDescription
GET api/SimCard

 

SmartHomeDevice

APIDescription
GET api/businessobject/smarthomedevice/{id}

 

PUT api/businessobject/smarthomedevice/{id}

 

POST api/businessobject/smarthomedevice

 

SmartHomeGateway

APIDescription
GET api/businessobject/smarthomegateway/{id}

 

PUT api/businessobject/smarthomegateway/{id}

 

POST api/businessobject/smarthomegateway

 

SmartTask

APIDescription
GET api/smarttask/ping

GET to check that API is available

GET api/smarttask/taskmetas?userId={userId}

GET task metadata, with configured blocks and states

GET api/smarttask/users

GET list of all users

GET api/smarttask/users/{userId}/tasks

GET a list of tasks assigned to the given user

GET api/smarttask/users/{userId}/tasks/count

GET a list of tasks assigned to the given user

GET api/smarttask/users/{userId}/tasks/state/{state}/paged/{page}/size/{pageSize}

GET a list of tasks assigned to the given user

GET api/smarttask/tasks/{taskId}

Gets general information about the task.

GET api/smarttask/users/{userId}/tasks/{taskId}/blocks

GET a list of blocks the given task have, which would be a subset of the block types supported by the taskmeta

GET api/smarttask/tasks/comments/{taskId}/{skip}/{take}

Gets the task comments paged.

GET api/smarttask/tasks/statehistory/{taskId}/{skip}/{take}

Gets the state history paged.

POST api/smarttask/tasks/updatetaskstate?taskId={taskId}&state={state}

POST id of task to update and enum value to set.

POST api/smarttask/users/{userId}/tasks/{taskId}/updatetaskstate?state={state}

POST id of task to update and enum value to set.

POST api/smarttask/users/{userId}/tasks/{taskId}/rejecttomanager

POST id of task to update and enum value to set.

POST api/smarttask/tasks/assigntootheruser?taskId={taskId}&userId={userId}

POST id of task to update and user id to set as assigned user.

POST api/smarttask/users/{userId}/tasks/addtaskcomment?taskId={taskId}&comment={comment}

POST id of task and comment to add to the task.

POST api/smarttask/users/{userId}/supervision

Saves the supervision task.

POST api/smarttask/users/{userId}/tasks/{taskId}/report

POST a user report on a task

GET api/smarttask/users/{userId}/tasks/{taskId}/reports

 

GET api/smarttask/users/{userId}/people

Returns all people connected with safety alarms.

GET api/smarttask/users/{userId}/people/{personId}

Returns all people connected with safety alarms.

GET api/smarttask/persons/{id}/lastposition

Returns the latest location for safety alarm.

POST api/smarttask/persons/{id}/requestlocation

Request the location for the safety alarm.

POST api/smarttask/users/{userId}/supervision/sites/{siteId}/takephotos

Take photos with all cameras on site.

POST api/smarttask/users/{userId}/supervision/device/{deviceId}/takephoto

Take one photo.

GET api/smarttask/users/{userId}/supervision/sites

Returns the latest location for safety alarm.

GET api/smarttask/users/{userId}/supervision/sites/{siteId}/cameras

Returns the last images captured for all cameras on site.

GET api/smarttask/causes

Gets the causes.

POST api/smarttask/feedback

Send feedback from a customer to the backend.

Temperatures

APIDescription
POST api/meters/{meterId}/temperatures

GET temperatures for the given meter.

TimeSeries

APIDescription
GET api/timeseries/types

GET all the available timeseries type classes.

GET api/timeseries/resolutions

GET all the available timeseries resolutions.

GET api/timeseries/{objectKey}/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the timeseries for a objectkey as timeseries.

GET api/timeseries/{objectKey}/type/{type}/resolution/{resolution}?from={from}&to={to}&utc={utc}

 

GET api/timeseries/{objectKey}/objectType/{objectType}/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the timeseries for a objectkey as timeseries.

GET api/timeseries/aggregationpoint/{aggregationpointId}/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the timeseries for all assets under an aggregation point as a list of timeseries.

GET api/timeseries/{objectKey}/typeClass/{typeClass}/resolution/{resolution}/lastvalue?utc={utc}

GET the last value for a objectkey as timeseries.

GET api/timeseries/{objectKey}/objectType/{objectType}

GET all the available timeseries metadata.

GET api/timeseries/meterid/{meterId}/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the timeseries for a meterid as timeseries.

GET api/timeseries/{objectKey}/aggregated/{assetrelationship}/typeClass/{typeClass}/resolution/{resolution}?from={from}&to={to}&utc={utc}

GET the timeseries for a objectkey as timeseries.

POST api/timeseries/{objectKey}/typeClass/{typeClass}/resolution/{resolution}

POST values for a given timeseries.

POST api/timeseries/{objectKey}/objectType/{objectType}/typeClass/{typeClass}/resolution/{resolution}/timeZone/{timeZoneId}

POST values for a given timeseries.

GET api/timeseries/{objectKey}/typeClass/{typeClass}/link

Returning the linked assets guid as a string if a link of the type specified exists

POST api/timeseries/{objectKey}/typeClass/{typeClass}/link/{linkedObjectKey}

Saving a link of a timeseriestypeclass between two assets

DELETE api/timeseries/{objectKey}/typeClass/{typeClass}/link

Deleting a link of a timeseriestypeclass for a asset

Tracking

APIDescription
POST api/customers/{customerId}/tracking

Notify the system that a user is using an app. A new product is added to all the user's contracts in the customer information system.

TwilioMessage

APIDescription
POST api/TwilioMessage

 

Users

APIDescription
GET api/users/{userId}

Get information about a user.

GET api/users/{userId}/privileges

 

Wattmeter

APIDescription
GET api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/wattmeter/v2

Gets the current configuration, data and display type for wattmeter. Authorizes first, then validates the contract, before getting config and data.