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.
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.
An authenticated user is only allowed to access (read/write) his/her own resources, e.g. customer informastion, contracts and meters.
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).
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.
API | Description |
---|---|
GET api/businessobject/aggregationpoint/{id} |
|
PUT api/businessobject/aggregationpoint/{id} |
|
POST api/businessobject/aggregationpoint |
|
API | Description |
---|---|
GET api/appconfigs/{appShortName}/{companyShortName}/{build} |
Get configuration parameters for an app. |
API | Description |
---|---|
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. |
API | Description |
---|---|
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. |
API | Description |
---|---|
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. |
API | Description |
---|---|
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). |
API | Description |
---|---|
POST api/Authenticate |
Authenticate a user with username and password as JSON in the request body. |
API | Description |
---|---|
GET api/batterycars |
Get relevant car models with batteries. |
GET api/batterycars/{id} |
Get relevant car model. |
GET api/batterycars/manufacturers |
|
API | Description |
---|---|
GET api/chargers?externalId={externalId}&createIfNotExists={createIfNotExists}&importSource={importSource} |
|
API | Description |
---|---|
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. |
API | Description |
---|---|
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} |
|
API | Description |
---|---|
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 |
API | Description |
---|---|
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 |
API | Description |
---|---|
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 |
|
API | Description |
---|---|
GET api/customers/{customerId}/contractdeliverypoints?includeWattMeter={includeWattMeter}&includeLightsAndHeating={includeLightsAndHeating}&includeEvCharging={includeEvCharging}&includeWaterMeter={includeWaterMeter} |
Get a customer's contracts and delivery points. |
API | Description |
---|---|
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 |
API | Description |
---|---|
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. |
API | Description |
---|---|
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. |
API | Description |
---|---|
POST api/customers/{customerId}/customerfeedback |
Send feedback from a customer to the backend. |
POST api/customersystemfeedback |
|
API | Description |
---|---|
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 |
|
API | Description |
---|---|
GET api/customers/{customerId}/deliverypoints |
Get a customer's delivery points. |
API | Description |
---|---|
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 |
API | Description |
---|---|
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. |
API | Description |
---|---|
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. |
API | Description |
---|---|
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 |
|
API | Description |
---|---|
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. |
API | Description |
---|---|
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 |
|
API | Description |
---|---|
POST api/customers/{customerId}/contracts/{contractNo}/expenseoverview |
Get an expense overview for a customer's contract. |
API | Description |
---|---|
POST api/Facilities |
|
API | Description |
---|---|
GET api/gateways/active/serialnumber?participantId={participantId} |
|
GET api/gateways/serialnumber/{serialNumber} |
|
GET api/gateways/externalId/{externalId}/devices |
|
API | Description |
---|---|
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} |
API | Description |
---|---|
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} |
|
API | Description |
---|---|
GET api/customers/{customerId}/contracts/{contractNo}/meters/{meterId}/exists |
|
API | Description |
---|---|
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. |
API | Description |
---|---|
GET api/nextofkin/{id}/terms |
|
GET api/nextofkin/{id}/usercode/{code} |
|
POST api/nextofkin/{id}/acceptterms |
|
API | Description |
---|---|
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. |
API | Description |
---|---|
POST api/poc/devices/{deviceAssetId}/seqcontrol |
|
API | Description |
---|---|
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. |
API | Description |
---|---|
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. |
API | Description |
---|---|
POST api/relation |
|
API | Description |
---|---|
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. |
API | Description |
---|---|
POST api/signalr/timeseries/objectkey/{objectKey}/type/{type} |
|
API | Description |
---|---|
GET api/SimCard |
|
API | Description |
---|---|
GET api/businessobject/smarthomedevice/{id} |
|
PUT api/businessobject/smarthomedevice/{id} |
|
POST api/businessobject/smarthomedevice |
|
API | Description |
---|---|
GET api/businessobject/smarthomegateway/{id} |
|
PUT api/businessobject/smarthomegateway/{id} |
|
POST api/businessobject/smarthomegateway |
|
API | Description |
---|---|
POST api/meters/{meterId}/temperatures |
GET temperatures for the given meter. |
API | Description |
---|---|
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. |
API | Description |
---|---|
POST api/TwilioMessage |
|
API | Description |
---|---|
GET api/users/{userId} |
Get information about a user. |
GET api/users/{userId}/privileges |
|
API | Description |
---|---|
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. |