Download OpenAPI specification:
The authentication flow follow the OAuth2 specification for client credentials grant: the client must call the /auth/token
endpoint to get the bearer token that will use later to autheticate api requests.
The response returns a json object containing the access token, the token lifetime and the token type.
Token type and access token must be set in Authorization
header in the following manner in order to be authorized: token_type access_token
.
Example: Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJiajE5UDNVT3psaEFGdVA3OXNXbl9PTE5EN1F1LUpJRV9oWU9wSlBKeENJIn0.eyJleHAiOjE2MzQwOTA5MzEsImlhdCI6MTYzNDA1NDkzMSwianRpIjoiY2JiZTc3YTEtZGM5Zi00YTU3LWI3ZjgtZmZhYTBhOTc4NGE5IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmFpYWFzLmxvY2FsOjgwODAvYXV0aC9yZWFsbXMvYWlhYXMiLCJzdWIiOiJmMDRlZmIxOS1iMzg1LTRlZjUtODJjYi0yMzQ3MmE1Zjg5YzIiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJjbGllbnQxIi...
client_id | string |
client_secret | string |
grant_type | string Default: "client_credentials" |
{- "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJiajE5UDNVT3psaEFGdVA3OXNXbl9PTE5EN1F1LUpJRV9oWU9wSlBKeENJIn0.eyJleHAiOjE2MzQwOTA5MzEsImlhdCI6MTYzNDA1NDkzMSwianRpIjoiY2JiZTc3YTEtZGM5Zi00YTU3LWI3ZjgtZmZhYTBhOTc4NGE5IiwiaXNzIjoiaHR0cDovL2tleWNsb2FrLmFpYWFzLmxvY2FsOjgwODAvYXV0aC9yZWFsbXMvYWlhYXMiLCJzdWIiOiJmMDRlZmIxOS1iMzg1LTRlZjUtODJjYi0yMzQ3MmE1Zjg5YzIiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJjbGllbnQxIi...",
- "expires_in": 36000,
- "token_type": "Bearer"
}
pod required | string (POD) = 20 characters ^[A-Z]{2}[0-9A-Z]{3}[A-Z0-9]{14}$ |
account_number required | string (AccountNumber) |
company_code required | string (CompanyCode) |
{- "pod": "IT001E1234567890AB",
- "account_number": "1234567890",
- "company_code": "string"
}
{- "status": 200,
- "data": {
- "pod": "IT001E1234567890AB",
- "account_number": "1234567890",
- "company_code": "string"
}
}
The onboarding endpoint is used to collect information about the user and their household in order to provide personalized more accurate consumption informations.
The request body should contain the user's house type, dimensions, province, number of residents (adults, children, elderlies), and a list of appliances with their quantities.
If no applicances are specified, a default set of appliances will be used.
The response will include the account number and the onboarding data that was submitted.
account_number required | string (AccountNumber) Example: 1234567890 |
object | |||||||
| |||||||
object or object or object | |||||||
One of
| |||||||
Array of objects | |||||||
Array
|
{- "house": {
- "type": "apartment",
- "dimesion": 87,
- "province": "MI"
}, - "residents": {
- "adults": 1,
- "children": 1,
- "elderlies": 0
}, - "appliances": [
- {
- "appliance": "airConditioner",
- "quantity": 1
}
]
}
{- "status": 200,
- "data": {
- "account_number": "1234567890",
- "onboarding_data": {
- "house": {
- "type": "apartment",
- "dimesion": 87,
- "province": "MI"
}, - "residents": {
- "adults": 1,
- "children": 1,
- "elderlies": 0
}, - "appliances": [
- {
- "appliance": "airConditioner",
- "quantity": 1
}
]
}
}
}
The consumption endpoint is used to retrieve the user's consumption data in watt for appliances for a specified period.
The period can be one of the following: yesterday
, last-seven-days
, this-week
, last-week
, this-month
, last-month
.
account_number required | string (AccountNumber) Example: 1234567890 |
period required | string (Period) Enum: "yesterday" "last-seven-days" "this-week" "last-week" "this-month" "last-month"
|
{- "status": 200,
- "data": {
- "account_number": "1234567890",
- "period": "yesterday",
- "electricity_data": {
- "index": [
- "2025-21-07T00:00:00Z",
- "2025-21-07T00:01:00Z"
], - "columns": [
- "fridge",
- "washingMachine"
], - "data": [
- [
- 150,
- 82
], - [
- 600,
- 550
]
]
}
}
}
The consumption distribution endpoint is used to retrieve the user's consumption distribution data in watt-hour for every appliances for a specified period.
The period can be one of the following: yesterday
, last-seven-days
, this-week
, last-week
, this-month
, last-month
.
The response will include the total consumption compared to previous period.
account_number required | string (AccountNumber) Example: 1234567890 |
period required | string (Period) Enum: "yesterday" "last-seven-days" "this-week" "last-week" "this-month" "last-month"
|
{- "status": 200,
- "data": {
- "account_number": "1234567890",
- "period": "yesterday",
- "total_consumption": {
- "selected_period": 0,
- "previous_period": 0
}, - "electricity_data": {
- "index": [
- 0
], - "columns": [
- "fridge",
- "oven",
- "smallAppliances"
], - "data": [
- [
- 1200,
- 900,
- 1100
]
]
}
}
}
The realtime consumption endpoint is used to retrieve the user's total realtime consumption data in watt
The response will include the total consumption.
account_number required | string (AccountNumber) Example: 1234567890 |
{- "status": 200,
- "data": {
- "account_number": "1234567890",
- "realtime_consumption": 532
}
}
The latest consumption endpoint is used to retrieve the user's latest six hours global consumption data in watt.
account_number required | string (AccountNumber) Example: 1234567890 |
{- "status": 200,
- "data": {
- "account_number": "1234567890",
- "electricity_data": {
- "index": [
- "2025-21-07T00:00:00Z",
- "2025-21-07T00:01:00Z"
], - "columns": [
- "active_power_received"
], - "data": [
- [
- 150
], - [
- 600
]
]
}
}
}
The consumption performance endpoint is used to retrieve the user's consumption performance data in watt-hours for the pecified period compared to the consumptions of other similar users.
The response will include the minimum, maximum and user consumption values.
account_number required | string (AccountNumber) Example: 1234567890 |
period required | string (Period) Enum: "yesterday" "last-seven-days" "this-week" "last-week" "this-month" "last-month"
|
{- "status": 200,
- "data": {
- "account_number": "1234567890",
- "period": "yesterday",
- "performance": {
- "min_consumption": 10,
- "max_consumption": 130,
- "user_consumption": 73.61
}
}
}
The consumption habits endpoint is used to retrieve the user's consumption habits data in watt-hour for the specified period.
account_number required | string (AccountNumber) Example: 1234567890 |
period required | string (Period) Enum: "yesterday" "last-seven-days" "this-week" "last-week" "this-month" "last-month"
|
{- "status": 200,
- "data": {
- "account_number": "1234567890",
- "period": "yesterday",
- "electricity_data": {
- "index": [
- [
- 0,
- 0
], - [
- 0,
- 1
], - [
- 0,
- 2
], - [
- 0,
- 3
], - "...",
- [
- 2,
- 2
], - [
- 2,
- 3
], - [
- 2,
- 4
], - "...",
- [
- 6,
- 21
], - [
- 6,
- 22
], - [
- 6,
- 23
]
], - "columns": [
- "consumption"
], - "data": [
- [
- 200
], - [
- 210
], - [
- 532
], - [
- 1230
], - "...",
- [
- 150
], - [
- 302
], - [
- 659
], - "...",
- [
- 2301
], - [
- 1690
], - [
- 1173
]
]
}
}
}
The consumption trend endpoint is used to retrieve the user's consumption trend data in watt-hour for the last 12 months segmented by tariff periods.
account_number required | string (AccountNumber) Example: 1234567890 |
{- "status": 200,
- "data": {
- "account_number": "1234567890",
- "period": "yesterday",
- "electricity_data": {
- "index": [
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12
], - "columns": [
- "f1",
- "f2",
- "f3"
], - "data": [
- [
- 33924,
- 35251,
- 59423
], - [
- 31245,
- 36789,
- 48901
], - [
- 32987,
- 35421,
- 50123
], - [
- 34123,
- 37234,
- 52345
], - [
- 35678,
- 38901,
- 49876
], - [
- 34890,
- 36543,
- 51234
], - [
- 36234,
- 37890,
- 53421
], - [
- 35987,
- 39234,
- 52123
], - [
- 37123,
- 38456,
- 50987
], - [
- 36432,
- 37567,
- 53012
], - [
- 35234,
- 36890,
- 49567
], - [
- 37890,
- 39123,
- 52034
]
]
}
}
}
The consumption distribution endpoint is used to retrieve the user's consumption distribution data in watt-hour for user's appliances for the last 12 months.
account_number required | string (AccountNumber) Example: 1234567890 |
{- "status": 200,
- "data": {
- "electricity_data": {
- "index": [
- 0
], - "columns": [
- "fridge",
- "oven",
- "smallAppliances"
], - "data": [
- [
- 5300,
- 8800,
- 3200
]
]
}
}
}
The consumption compound endpoint is used to retrieve the user's consumption compound data in watt-hour for user's appliances for the last 12 months.
account_number required | string (AccountNumber) Example: 1234567890 |
{- "status": 200,
- "data": {
- "account_number": "1234567890",
- "electricity_data": {
- "index": [
- 1,
- 2,
- 3,
- 4,
- 5,
- 6,
- 7,
- 8,
- 9,
- 10,
- 11,
- 12
], - "columns": [
- "washingMachine",
- "oven",
- "fridge"
], - "data": [
- [
- 52345,
- 54890,
- 31234
], - [
- 51234,
- 53789,
- 32456
], - [
- 53456,
- 56234,
- 34123
], - [
- 52890,
- 55567,
- 33567
], - [
- 54321,
- 57012,
- 35234
], - [
- 53678,
- 56456,
- 34678
], - [
- 55012,
- 58034,
- 36123
], - [
- 54678,
- 57678,
- 35678
], - [
- 56123,
- 59123,
- 37123
], - [
- 55678,
- 58678,
- 36678
], - [
- 57123,
- 60123,
- 38123
], - [
- 56678,
- 59678,
- 37678
]
]
}
}
}
account_number required | string (AccountNumber) Example: 1234567890 |
{- "status": 200,
- "data": {
- "account_number": "1234567890",
- "consumption": 0,
- "saving_data": [
- {
- "appliance": "washingMachine",
- "single_use_consumption": {
- "user": 850,
- "average": 510
}, - "usages_number": {
- "user": 18,
- "average": 21
}, - "consumption": {
- "actual": 1536,
- "saving": 323
}
}, - {
- "appliance": "dishwasher",
- "single_use_consumption": {
- "user": 860,
- "average": 870
}, - "usages_number": {
- "user": 17,
- "average": 14
}, - "consumption": {
- "actual": 1463,
- "saving": 292
}
}, - {
- "appliance": "fridge",
- "total_consumption": {
- "user": 2727,
- "average": 2316
}, - "consumption": {
- "actual": 2727,
- "saving": 409
}
}, - {
- "appliance": "standby",
- "total_consumption": {
- "user": 7872,
- "average": 40.52
}, - "consumption": {
- "actual": 7872,
- "saving": 1180
}, - "history": {
- "threshold": 1013,
- "consumptions_history": [
- {
- "start": "2025-06-21T00:00:00Z",
- "stop": "2025-06-27T00:00:00Z",
- "value": 1664
}, - {
- "start": "2025-06-28T00:00:00Z",
- "stop": "2025-07-04T00:00:00Z",
- "value": 1866
}, - {
- "start": "2025-07-05T00:00:00Z",
- "stop": "2025-07-11T00:00:00Z",
- "value": 2179
}, - {
- "start": "2025-07-12T00:00:00Z",
- "stop": "2025-07-18T00:00:00Z",
- "value": 2163
}
]
}
}
]
}
}
The greenness endpoint is used to retrieve the best windows for green energy consumption, where renewable energy production is higher.
The response will include the percentage of renewable energy produced and the start and stop time of the best windows where it is recommended to consume energy.
{- "status": 200,
- "data": {
- "best_windows": [
- {
- "start": "2025-22-07T08:58:00Z",
- "stop": "2025-22-07T13:01:00Z"
}
], - "time_series": {
- "index": [
- "2025-21-07T00:00:00Z",
- "2025-21-07T01:00:00Z"
], - "columns": [
- "renewable_fraction"
], - "data": [
- [
- 0.08
], - [
- 0.09
]
]
}
}
}