Pleevi API (0.1.0)
Download OpenAPI specification:Download
Create site
Create a new site. In general it's a good idea to first create a site without any configuration and then add the configuration separately. This allows us to validate the site based on measurement data when adding the configuration.
Authorizations:
Request Body schema: application/jsonrequired
| site_id required | string (Site Id) ^[a-zA-Z0-9_-]{1,64}$ |
| name required | string (Name) |
required | object (Location) |
| country required | string (Country) |
| active | boolean (Active) Default: false |
Configurations (object) or null |
Responses
Request samples
- Payload
{- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "active": false,
- "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}
}Response samples
- 200
- 422
{- "_id": "5eb7cf5a86d9755df3a6c593",
- "partner_id": "string",
- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "active": false,
- "validation_status": {
- "status": "ERROR",
- "site_configuration_status": {
- "status": "ERROR",
- "configuration_added": {
- "status": "ERROR"
}, - "configuration_complete": {
- "status": "ERROR",
- "missing_assets": [ ]
}, - "valid_for_optimization": {
- "status": "ERROR",
- "validation_errors": "string"
}
}, - "optimization_configuration_status": {
- "status": "ERROR"
}, - "ingress_status": {
- "status": "ERROR",
- "receiving_measurement_data": {
- "status": "ERROR",
- "not_receiving_data_from": [ ]
}
}, - "last_validation": "2025-06-11T15:32:48.284483Z"
}, - "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}, - "connections": {
- "mqtt": {
- "cluster": "mqtt.pleevi.ai",
- "energy_measurement_topic": "string",
- "transaction_topic": "string",
- "advice_topic": "string",
- "notification_topic": "string"
}
}
}Get all sites
Fetch a list of all existing sites
Authorizations:
query Parameters
After (string) or After (null) (After) | |
| page_size | integer (Page Size) [ 1 .. 100 ] Default: 20 |
Responses
Response samples
- 200
- 422
{- "data": [
- {
- "_id": "5eb7cf5a86d9755df3a6c593",
- "partner_id": "string",
- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "active": false,
- "validation_status": {
- "status": "ERROR",
- "site_configuration_status": {
- "status": "ERROR",
- "configuration_added": {
- "status": "ERROR"
}, - "configuration_complete": {
- "status": "ERROR",
- "missing_assets": [ ]
}, - "valid_for_optimization": {
- "status": "ERROR",
- "validation_errors": "string"
}
}, - "optimization_configuration_status": {
- "status": "ERROR"
}, - "ingress_status": {
- "status": "ERROR",
- "receiving_measurement_data": {
- "status": "ERROR",
- "not_receiving_data_from": [ ]
}
}, - "last_validation": "2025-06-11T15:32:48.284483Z"
}, - "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}, - "connections": {
- "mqtt": {
- "cluster": "mqtt.pleevi.ai",
- "energy_measurement_topic": "string",
- "transaction_topic": "string",
- "advice_topic": "string",
- "notification_topic": "string"
}
}
}
], - "page_size": 0,
- "end_cursor": "string",
- "has_next_page": false
}Get site
Fetch details of a specific site using its site_id
Authorizations:
path Parameters
| site_id required | string (Site Id) |
Responses
Response samples
- 200
- 422
{- "_id": "5eb7cf5a86d9755df3a6c593",
- "partner_id": "string",
- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "active": false,
- "validation_status": {
- "status": "ERROR",
- "site_configuration_status": {
- "status": "ERROR",
- "configuration_added": {
- "status": "ERROR"
}, - "configuration_complete": {
- "status": "ERROR",
- "missing_assets": [ ]
}, - "valid_for_optimization": {
- "status": "ERROR",
- "validation_errors": "string"
}
}, - "optimization_configuration_status": {
- "status": "ERROR"
}, - "ingress_status": {
- "status": "ERROR",
- "receiving_measurement_data": {
- "status": "ERROR",
- "not_receiving_data_from": [ ]
}
}, - "last_validation": "2025-06-11T15:32:48.284483Z"
}, - "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}, - "connections": {
- "mqtt": {
- "cluster": "mqtt.pleevi.ai",
- "energy_measurement_topic": "string",
- "transaction_topic": "string",
- "advice_topic": "string",
- "notification_topic": "string"
}
}
}Patch site
Partially update a site by its site_id, modifying only specified fields
Authorizations:
path Parameters
| site_id required | string (Site Id) |
Request Body schema: application/jsonrequired
| property name* additional property | any |
Responses
Request samples
- Payload
{ }Response samples
- 200
- 422
{- "_id": "5eb7cf5a86d9755df3a6c593",
- "partner_id": "string",
- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "active": false,
- "validation_status": {
- "status": "ERROR",
- "site_configuration_status": {
- "status": "ERROR",
- "configuration_added": {
- "status": "ERROR"
}, - "configuration_complete": {
- "status": "ERROR",
- "missing_assets": [ ]
}, - "valid_for_optimization": {
- "status": "ERROR",
- "validation_errors": "string"
}
}, - "optimization_configuration_status": {
- "status": "ERROR"
}, - "ingress_status": {
- "status": "ERROR",
- "receiving_measurement_data": {
- "status": "ERROR",
- "not_receiving_data_from": [ ]
}
}, - "last_validation": "2025-06-11T15:32:48.284483Z"
}, - "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}, - "connections": {
- "mqtt": {
- "cluster": "mqtt.pleevi.ai",
- "energy_measurement_topic": "string",
- "transaction_topic": "string",
- "advice_topic": "string",
- "notification_topic": "string"
}
}
}Replace site
Replace the entire site data by its site_id
Authorizations:
path Parameters
| site_id required | string (Site Id) |
Request Body schema: application/jsonrequired
| site_id required | string (Site Id) ^[a-zA-Z0-9_-]{1,64}$ |
| name required | string (Name) |
required | object (Location) |
| country required | string (Country) |
Configurations (object) or null | |
ValidationStatus (object) or null |
Responses
Request samples
- Payload
{- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}, - "validation_status": {
- "status": "ERROR",
- "site_configuration_status": {
- "status": "ERROR",
- "configuration_added": {
- "status": "ERROR"
}, - "configuration_complete": {
- "status": "ERROR",
- "missing_assets": [ ]
}, - "valid_for_optimization": {
- "status": "ERROR",
- "validation_errors": "string"
}
}, - "optimization_configuration_status": {
- "status": "ERROR"
}, - "ingress_status": {
- "status": "ERROR",
- "receiving_measurement_data": {
- "status": "ERROR",
- "not_receiving_data_from": [ ]
}
}, - "last_validation": "2025-06-11T15:32:48.284483Z"
}
}Response samples
- 200
- 422
{- "_id": "5eb7cf5a86d9755df3a6c593",
- "partner_id": "string",
- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "active": false,
- "validation_status": {
- "status": "ERROR",
- "site_configuration_status": {
- "status": "ERROR",
- "configuration_added": {
- "status": "ERROR"
}, - "configuration_complete": {
- "status": "ERROR",
- "missing_assets": [ ]
}, - "valid_for_optimization": {
- "status": "ERROR",
- "validation_errors": "string"
}
}, - "optimization_configuration_status": {
- "status": "ERROR"
}, - "ingress_status": {
- "status": "ERROR",
- "receiving_measurement_data": {
- "status": "ERROR",
- "not_receiving_data_from": [ ]
}
}, - "last_validation": "2025-06-11T15:32:48.284483Z"
}, - "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}, - "connections": {
- "mqtt": {
- "cluster": "mqtt.pleevi.ai",
- "energy_measurement_topic": "string",
- "transaction_topic": "string",
- "advice_topic": "string",
- "notification_topic": "string"
}
}
}Delete site
Remove a site from the system using its site_id. This is not reversible. The measurements and transactions linked to this site wont be deleted. If you afterwards re-create a site with the same site_id it will match with the old measurements and transactions.
Authorizations:
path Parameters
| site_id required | string (Site Id) |
Responses
Response samples
- 200
- 422
nullValidate site
Revalidate a site and return the site with the updated validation information.
Authorizations:
path Parameters
| site_id required | string (Site Id) |
Responses
Response samples
- 200
- 422
{- "_id": "5eb7cf5a86d9755df3a6c593",
- "partner_id": "string",
- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "active": false,
- "validation_status": {
- "status": "ERROR",
- "site_configuration_status": {
- "status": "ERROR",
- "configuration_added": {
- "status": "ERROR"
}, - "configuration_complete": {
- "status": "ERROR",
- "missing_assets": [ ]
}, - "valid_for_optimization": {
- "status": "ERROR",
- "validation_errors": "string"
}
}, - "optimization_configuration_status": {
- "status": "ERROR"
}, - "ingress_status": {
- "status": "ERROR",
- "receiving_measurement_data": {
- "status": "ERROR",
- "not_receiving_data_from": [ ]
}
}, - "last_validation": "2025-06-11T15:32:48.284483Z"
}, - "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}, - "connections": {
- "mqtt": {
- "cluster": "mqtt.pleevi.ai",
- "energy_measurement_topic": "string",
- "transaction_topic": "string",
- "advice_topic": "string",
- "notification_topic": "string"
}
}
}Activate site
Activate a site
Authorizations:
path Parameters
| site_id required | string (Site Id) |
Responses
Response samples
- 200
- 422
{- "_id": "5eb7cf5a86d9755df3a6c593",
- "partner_id": "string",
- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "active": false,
- "validation_status": {
- "status": "ERROR",
- "site_configuration_status": {
- "status": "ERROR",
- "configuration_added": {
- "status": "ERROR"
}, - "configuration_complete": {
- "status": "ERROR",
- "missing_assets": [ ]
}, - "valid_for_optimization": {
- "status": "ERROR",
- "validation_errors": "string"
}
}, - "optimization_configuration_status": {
- "status": "ERROR"
}, - "ingress_status": {
- "status": "ERROR",
- "receiving_measurement_data": {
- "status": "ERROR",
- "not_receiving_data_from": [ ]
}
}, - "last_validation": "2025-06-11T15:32:48.284483Z"
}, - "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}, - "connections": {
- "mqtt": {
- "cluster": "mqtt.pleevi.ai",
- "energy_measurement_topic": "string",
- "transaction_topic": "string",
- "advice_topic": "string",
- "notification_topic": "string"
}
}
}Deactivate site
Deactivate a site
Authorizations:
path Parameters
| site_id required | string (Site Id) |
Responses
Response samples
- 200
- 422
{- "_id": "5eb7cf5a86d9755df3a6c593",
- "partner_id": "string",
- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "active": false,
- "validation_status": {
- "status": "ERROR",
- "site_configuration_status": {
- "status": "ERROR",
- "configuration_added": {
- "status": "ERROR"
}, - "configuration_complete": {
- "status": "ERROR",
- "missing_assets": [ ]
}, - "valid_for_optimization": {
- "status": "ERROR",
- "validation_errors": "string"
}
}, - "optimization_configuration_status": {
- "status": "ERROR"
}, - "ingress_status": {
- "status": "ERROR",
- "receiving_measurement_data": {
- "status": "ERROR",
- "not_receiving_data_from": [ ]
}
}, - "last_validation": "2025-06-11T15:32:48.284483Z"
}, - "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}, - "connections": {
- "mqtt": {
- "cluster": "mqtt.pleevi.ai",
- "energy_measurement_topic": "string",
- "transaction_topic": "string",
- "advice_topic": "string",
- "notification_topic": "string"
}
}
}Add or update site configuration
Add or modify the configuration (both site-configuration and optimization configuration) for a specific site using its site_id. First create a site with a POST call (see above) and then add the configurations.
Authorizations:
path Parameters
| site_id required | string (Site Id) |
Request Body schema: application/json
SiteConfiguration (object) or null | |
OptmizationConfiguration (object) or null |
Responses
Request samples
- Payload
{- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}
}Response samples
- 200
- 422
{- "_id": "5eb7cf5a86d9755df3a6c593",
- "partner_id": "string",
- "site_id": "string",
- "name": "string",
- "location": {
- "name": "string",
- "coordinates": [
- 0,
- 0,
- 0
]
}, - "country": "string",
- "active": false,
- "validation_status": {
- "status": "ERROR",
- "site_configuration_status": {
- "status": "ERROR",
- "configuration_added": {
- "status": "ERROR"
}, - "configuration_complete": {
- "status": "ERROR",
- "missing_assets": [ ]
}, - "valid_for_optimization": {
- "status": "ERROR",
- "validation_errors": "string"
}
}, - "optimization_configuration_status": {
- "status": "ERROR"
}, - "ingress_status": {
- "status": "ERROR",
- "receiving_measurement_data": {
- "status": "ERROR",
- "not_receiving_data_from": [ ]
}
}, - "last_validation": "2025-06-11T15:32:48.284483Z"
}, - "configurations": {
- "site_configuration": {
- "device_list": [
- {
- "name": "string",
- "type": "charging_pole_3phase",
- "collector": "string",
- "line_current": 0,
- "pin_to_phase_mapping": {
- "pin_list": [
- "string"
], - "phase_list": [
- "string"
]
}, - "forecast_type": "pv"
}
], - "collector_list": [
- {
- "name": "string",
- "children": [ ],
- "phase_permutations": {
- "parent": [
- "string"
], - "child": [
- "string"
]
}, - "line_current": 0,
- "line_voltage": 0,
- "phase_voltage": 0,
- "commodity": "electricity",
- "1P_3P": "1P"
}
]
}, - "optimization_configuration": {
- "peak_minimization": {
- "active": false,
- "peak_price": 0
}, - "cost_minimization": {
- "active": false,
- "day_ahead_price": false,
- "injection_price": 0
}, - "planning_frequency": "PT15M"
}, - "forecasting_configuration": {
- "forecasted_collectors": [
- {
- "collector_id": "string",
- "train_window": 90,
- "sample_size": 900,
- "time_field": "string",
- "forecasted_field": "string",
- "training_interval": "string",
- "active": true,
- "forecast_type": "pv"
}
]
}
}, - "connections": {
- "mqtt": {
- "cluster": "mqtt.pleevi.ai",
- "energy_measurement_topic": "string",
- "transaction_topic": "string",
- "advice_topic": "string",
- "notification_topic": "string"
}
}
}Get OAuth2 access token
Authenticate a client using basic credentials to obtain an OAuth2 access token.
Authorizations:
Request Body schema: application/x-www-form-urlencoded
| grant_type | string (Grant Type) client_credentials |
Responses
Response samples
- 200
- 422
{- "token_type": "bearer",
- "access_token": "string",
- "type": "partner_access",
- "expires_in": 0,
- "user": {
- "type": "partner_access",
- "user_id": "string",
- "client_id": "string",
- "partner_id": "string"
}
}Retrieve the optimized energy schedule for a site at a specific time.
If at_time is not provided, the latest schedule will be returned. If no schedule is found, an empty schedule will be returned.
Authorizations:
path Parameters
| site_id required | string (Site Id) |
required | At Time (string) or At Time (null) (At Time) |
Responses
Response samples
- 200
- 422
{- "_id": "5eb7cf5a86d9755df3a6c593",
- "siteId": "string",
- "partner_id": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "schedules": [
- {
- "assetId": "string",
- "siteId": "string",
- "timestamp": "2019-08-24T14:15:22Z",
- "profile": [
- {
- "timestamp": "2019-08-24T14:15:22Z",
- "powerValue": 0
}
]
}
]
}Create profile
Create a new profile. Profiles are used to configure default values for a transaction. For example, you can set a default requested max energy or a default estimated departure time. For more information, see the Guide on profiles.
Authorizations:
Request Body schema: application/jsonrequired
| profile_id required | string (Profile Id) |
| site_id required | string (Site Id) |
Description (string) or Description (null) (Description) | |
| default_estimated_departure_time_delta required | string <duration> (Default Estimated Departure Time Delta) |
| default_requested_min_energy required | integer (Default Requested Min Energy) |
| default_requested_max_energy required | integer (Default Requested Max Energy) |
Responses
Request samples
- Payload
{- "profile_id": "string",
- "site_id": "string",
- "description": "string",
- "default_estimated_departure_time_delta": "string",
- "default_requested_min_energy": 0,
- "default_requested_max_energy": 0
}Response samples
- 200
- 422
{- "profile_id": "string",
- "site_id": "string",
- "description": "string",
- "default_estimated_departure_time_delta": "string",
- "default_requested_min_energy": 0,
- "default_requested_max_energy": 0
}List profiles
Fetch a paginated list of profiles. For more information, see the Guide on profiles.
Authorizations:
path Parameters
| site_id required | string (Site Id) |
query Parameters
After (string) or After (null) (After) | |
| page_size | integer (Page Size) [ 1 .. 100 ] Default: 20 |
Responses
Response samples
- 200
- 422
{- "data": [
- {
- "profile_id": "string",
- "site_id": "string",
- "description": "string",
- "default_estimated_departure_time_delta": "string",
- "default_requested_min_energy": 0,
- "default_requested_max_energy": 0
}
], - "page_size": 0,
- "end_cursor": "string",
- "has_next_page": false
}Get profile
Fetch details of a specific profile by its profile_id. For more information, see the Guide on profiles.
Authorizations:
path Parameters
| profile_id required | string (Profile Id) |
| site_id required | string (Site Id) |
Responses
Response samples
- 200
- 422
{- "profile_id": "string",
- "site_id": "string",
- "description": "string",
- "default_estimated_departure_time_delta": "string",
- "default_requested_min_energy": 0,
- "default_requested_max_energy": 0
}Update profile
Partially update a profile by its profile_id. For more information, see the Guide on profiles.
Authorizations:
path Parameters
| profile_id required | string (Profile Id) |
| site_id required | string (Site Id) |
Request Body schema: application/jsonrequired
Description (string) or Description (null) (Description) | |
Default Estimated Departure Time Delta (string) or Default Estimated Departure Time Delta (null) (Default Estimated Departure Time Delta) | |
Default Requested Min Energy (integer) or Default Requested Min Energy (null) (Default Requested Min Energy) | |
Default Requested Max Energy (integer) or Default Requested Max Energy (null) (Default Requested Max Energy) |
Responses
Request samples
- Payload
{- "description": "string",
- "default_estimated_departure_time_delta": "string",
- "default_requested_min_energy": 0,
- "default_requested_max_energy": 0
}Response samples
- 200
- 422
{- "profile_id": "string",
- "site_id": "string",
- "description": "string",
- "default_estimated_departure_time_delta": "string",
- "default_requested_min_energy": 0,
- "default_requested_max_energy": 0
}Delete profile
Remove a profile by its profile_id (irreversible). For more information, see the Guide on profiles.
Authorizations:
path Parameters
| profile_id required | string (Profile Id) |
| site_id required | string (Site Id) |
Responses
Response samples
- 200
- 422
{- "status_code": 0,
- "message": "string"
}