Energy Coordination API - Partner Endpoints (v1)
Download OpenAPI specification:Download
Response samples
- 200
Content type
application/json
{- "events": [
- {
- "id": "e95df420-766a-41d3-bf98-19e285a649a5",
- "createdAt": "2024-04-11T12:53:44.6469107+00:00",
- "payload": {
- "lastUpdated": "2024-04-10T12:53:44.6469122+00:00",
- "payloadType": "UserEligibility"
}
}, - {
- "id": "01217dfe-75ad-4738-b00e-081ca3ca552a",
- "createdAt": "2024-04-11T12:53:44.6469677+00:00",
- "payload": {
- "targets": [
- {
- "resourceId": "516904bb-4463-4e5a-9b7b-aeaf1c63ad96",
- "locationId": "fe21ea0c-8d73-46d2-ad6a-c077df82fd38"
}, - {
- "resourceId": "0ab35a03-f40f-47c3-9d7b-33c5d90d3a08",
- "locationId": "6ac4d3b4-94c3-4416-96c8-9a45355590dd"
}, - {
- "resourceId": "cb799dc8-35d7-477b-ba3d-75d36a3ff613",
- "locationId": "a3eacd10-32de-4435-a0e3-4ad240a013e3"
}, - {
- "resourceId": "f47a6daf-c5b3-46ca-9e4e-24ec539a7097",
- "locationId": "1f7c1675-aef1-4c11-a578-3c96b0a28fbd"
}, - {
- "resourceId": "e30cc1ae-e822-4f15-8d46-bf6b3cab5a49",
- "locationId": "e37d6747-b6cb-433b-933c-3234bed43408"
}
], - "priceCurveDelta": {
- "points": [
- {
- "price": 99.82,
- "timestamp": "2024-04-12T00:00:00+00:00"
}, - {
- "price": 67.05,
- "timestamp": "2024-04-12T01:00:00+00:00"
}, - {
- "price": 106.96,
- "timestamp": "2024-04-12T02:00:00+00:00"
}, - {
- "price": 74.87,
- "timestamp": "2024-04-12T03:00:00+00:00"
}, - {
- "price": 78.26,
- "timestamp": "2024-04-12T04:00:00+00:00"
}, - {
- "price": 27.56,
- "timestamp": "2024-04-12T05:00:00+00:00"
}, - {
- "price": 44.6,
- "timestamp": "2024-04-12T06:00:00+00:00"
}, - {
- "price": 20.96,
- "timestamp": "2024-04-12T07:00:00+00:00"
}, - {
- "price": 60.86,
- "timestamp": "2024-04-12T08:00:00+00:00"
}, - {
- "price": 67.58,
- "timestamp": "2024-04-12T09:00:00+00:00"
}, - {
- "price": 100.13,
- "timestamp": "2024-04-12T10:00:00+00:00"
}, - {
- "price": 91.81,
- "timestamp": "2024-04-12T11:00:00+00:00"
}, - {
- "price": 103.58,
- "timestamp": "2024-04-12T12:00:00+00:00"
}, - {
- "price": 31.6,
- "timestamp": "2024-04-12T13:00:00+00:00"
}, - {
- "price": 32.11,
- "timestamp": "2024-04-12T14:00:00+00:00"
}, - {
- "price": 65.97,
- "timestamp": "2024-04-12T15:00:00+00:00"
}, - {
- "price": 28.96,
- "timestamp": "2024-04-12T16:00:00+00:00"
}, - {
- "price": 64.52,
- "timestamp": "2024-04-12T17:00:00+00:00"
}, - {
- "price": 56.37,
- "timestamp": "2024-04-12T18:00:00+00:00"
}, - {
- "price": 90.72,
- "timestamp": "2024-04-12T19:00:00+00:00"
}, - {
- "price": 72.37,
- "timestamp": "2024-04-12T20:00:00+00:00"
}, - {
- "price": 102.23,
- "timestamp": "2024-04-12T21:00:00+00:00"
}, - {
- "price": 46.78,
- "timestamp": "2024-04-12T22:00:00+00:00"
}, - {
- "price": 115.36,
- "timestamp": "2024-04-12T23:00:00+00:00"
}
], - "energyUnit": "MWh",
- "currency": "EUR",
- "resolution": "01:00:00"
}, - "priceArea": "NO1",
- "payloadType": "PriceCurve"
}
}
]
}
Response samples
- 200
- 400
Content type
application/json
{- "id": "b00ba74c-1727-465c-82df-62faff7094d2",
- "createdAt": "2024-04-11T12:53:44.6474127+00:00",
- "payload": {
- "targets": [
- {
- "resourceId": "15597665-3c1c-4a69-bca0-e8dbf3204836",
- "locationId": "bbaac743-a601-4b39-9382-ddb0bd75fa6a"
}, - {
- "resourceId": "962f902a-8592-4399-953b-e938ff2e14bb",
- "locationId": "a118cd31-1a94-47cd-aacb-c3b83afa7f34"
}, - {
- "resourceId": "525d0c07-e673-4e46-9ed6-430fd68cf9e6",
- "locationId": "42a80788-eaba-4e32-a760-bae7a7eecd0e"
}, - {
- "resourceId": "cd29ecf5-ac8b-4f02-ac56-24fd82d2a64f",
- "locationId": "e94567a4-82ae-40fb-ae83-2ba641c2b0b6"
}, - {
- "resourceId": "afdfa249-2cce-43fb-a67c-8c4c51864fbc",
- "locationId": "6a82dd10-0673-4b1c-9155-211c62449960"
}
], - "priceCurveDelta": {
- "points": [
- {
- "price": 27.56,
- "timestamp": "2024-04-12T00:00:00+00:00"
}, - {
- "price": 77,
- "timestamp": "2024-04-12T01:00:00+00:00"
}, - {
- "price": 117.71,
- "timestamp": "2024-04-12T02:00:00+00:00"
}, - {
- "price": 95.41,
- "timestamp": "2024-04-12T03:00:00+00:00"
}, - {
- "price": 56.73,
- "timestamp": "2024-04-12T04:00:00+00:00"
}, - {
- "price": 103.22,
- "timestamp": "2024-04-12T05:00:00+00:00"
}, - {
- "price": 55.57,
- "timestamp": "2024-04-12T06:00:00+00:00"
}, - {
- "price": 29.25,
- "timestamp": "2024-04-12T07:00:00+00:00"
}, - {
- "price": 72.23,
- "timestamp": "2024-04-12T08:00:00+00:00"
}, - {
- "price": 37.53,
- "timestamp": "2024-04-12T09:00:00+00:00"
}, - {
- "price": 114.39,
- "timestamp": "2024-04-12T10:00:00+00:00"
}, - {
- "price": 72.73,
- "timestamp": "2024-04-12T11:00:00+00:00"
}, - {
- "price": 65.6,
- "timestamp": "2024-04-12T12:00:00+00:00"
}, - {
- "price": 84.35,
- "timestamp": "2024-04-12T13:00:00+00:00"
}, - {
- "price": 59.63,
- "timestamp": "2024-04-12T14:00:00+00:00"
}, - {
- "price": 51.52,
- "timestamp": "2024-04-12T15:00:00+00:00"
}, - {
- "price": 102.03,
- "timestamp": "2024-04-12T16:00:00+00:00"
}, - {
- "price": 26.74,
- "timestamp": "2024-04-12T17:00:00+00:00"
}, - {
- "price": 114.37,
- "timestamp": "2024-04-12T18:00:00+00:00"
}, - {
- "price": 100.9,
- "timestamp": "2024-04-12T19:00:00+00:00"
}, - {
- "price": 50.27,
- "timestamp": "2024-04-12T20:00:00+00:00"
}, - {
- "price": 25.61,
- "timestamp": "2024-04-12T21:00:00+00:00"
}, - {
- "price": 80.41,
- "timestamp": "2024-04-12T22:00:00+00:00"
}, - {
- "price": 33.6,
- "timestamp": "2024-04-12T23:00:00+00:00"
}
], - "energyUnit": "MWh",
- "currency": "EUR",
- "resolution": "01:00:00"
}, - "priceArea": "NO1",
- "payloadType": "PriceCurve"
}
}
Create a report
Authorizations:
Bearer
Request Body schema: application/json
eventId | string or null |
Array of EnergyUsageReportPayload (object) or null |
Responses
Request samples
- Payload
Content type
application/json
{- "eventId": "650c1b1b-9acd-4628-ad83-0d8b095625d6",
- "payloads": [
- {
- "resourceId": "1f6bcefe-8246-4ff4-971d-4b84c3fb493a",
- "locationId": null,
- "meterPointId": null,
- "curvePoints": [
- {
- "kiloWattHours": 3.14,
- "timestamp": "2024-04-11T06:05:06.0727481+00:00"
}
], - "resolution": "01:00:00",
- "payloadType": "EnergyUsage"
}
]
}
Response samples
- 200
- 400
Content type
application/json
{- "id": "string",
- "eventId": "string",
- "createdAt": "2019-08-24T14:15:22Z"
}
Response samples
- 200
- 400
- 404
Content type
application/json
{- "resourceId": "1f6bcefe-8246-4ff4-971d-4b84c3fb493a",
- "resourceType": "HotWaterTank",
- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d",
- "locationId": "481f9d24-2a42-4b7f-a7a8-087343da0bd9",
- "meterPointId": null
}
Create a User
Authorizations:
Bearer
Request Body schema: application/json
userId | string or null |
Responses
Request samples
- Payload
Content type
application/json
{- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d"
}
Response samples
- 201
- 400
Content type
application/json
{- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d"
}
Create Multiple Users
Authorizations:
Bearer
Request Body schema: application/json
Array of objects or null (PostUserRequest) | |||
Array
|
Responses
Request samples
- Payload
Content type
application/json
{- "users": [
- {
- "userId": "string"
}
]
}
Response samples
- 201
- 400
Content type
application/json
{- "users": [
- {
- "userId": "string"
}
]
}
Response samples
- 200
- 400
Content type
application/json
[- {
- "locationId": "481f9d24-2a42-4b7f-a7a8-087343da0bd9",
- "locationType": "Residential",
- "coordinates": null,
- "meterPointId": "bef292be-3537-4b21-be38-70df71c6286b",
- "meterPointIds": [
- "bef292be-3537-4b21-be38-70df71c6286b"
], - "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d"
}
]
Create User Location
Authorizations:
Bearer
path Parameters
userId required | string |
Request Body schema: application/json
locationId | string or null |
locationType | string (LocationType) Enum: "Unknown" "Residential" "Commercial" "Other" |
object (Coordinate) | |
meterPointId | string or null Deprecated |
meterPointIds | Array of strings or null |
Responses
Request samples
- Payload
Content type
application/json
{- "locationId": "481f9d24-2a42-4b7f-a7a8-087343da0bd9",
- "locationType": "Residential",
- "coordinates": null,
- "meterPointId": null,
- "meterPointIds": [
- "bef292be-3537-4b21-be38-70df71c6286b"
]
}
Response samples
- 201
- 400
Content type
application/json
{- "locationId": "481f9d24-2a42-4b7f-a7a8-087343da0bd9",
- "locationType": "Residential",
- "coordinates": null,
- "meterPointId": null,
- "meterPointIds": [ ],
- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d"
}
Get User Location By Location Id
Authorizations:
Bearer
path Parameters
userId required | string |
locationId required | string |
Responses
Response samples
- 200
- 400
Content type
application/json
{- "locationId": "481f9d24-2a42-4b7f-a7a8-087343da0bd9",
- "locationType": "Residential",
- "coordinates": null,
- "meterPointId": null,
- "meterPointIds": [ ],
- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d"
}
Update User Location
Authorizations:
Bearer
path Parameters
userId required | string |
locationId required | string |
Request Body schema: application/json
locationId | string or null |
locationType | string (LocationType) Enum: "Unknown" "Residential" "Commercial" "Other" |
object (Coordinate) | |
meterPointId | string or null Deprecated |
meterPointIds | Array of strings or null |
Responses
Request samples
- Payload
Content type
application/json
{- "locationId": "string",
- "locationType": "Unknown",
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "meterPointId": "string",
- "meterPointIds": [
- "string"
]
}
Response samples
- 200
- 400
Content type
application/json
{- "locationId": "481f9d24-2a42-4b7f-a7a8-087343da0bd9",
- "locationType": "Residential",
- "coordinates": null,
- "meterPointId": null,
- "meterPointIds": [ ],
- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d"
}
Create Multiple User Locations
Create multiple locations for several users at once. "The request body should be an array of objects, each containing a user id and a create location request.
Authorizations:
Bearer
Request Body schema: application/json
Array of objects or null (PostLocationWithUserRequest) | |||||||||||||
Array
|
Responses
Request samples
- Payload
Content type
application/json
{- "locations": [
- {
- "locationId": "string",
- "locationType": "Unknown",
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "meterPointId": "string",
- "meterPointIds": [
- "string"
], - "userId": "string"
}
]
}
Response samples
- 201
- 400
Content type
application/json
{- "locations": [
- {
- "locationId": "string",
- "locationType": "Unknown",
- "coordinates": {
- "latitude": 0,
- "longitude": 0
}, - "meterPointId": "string",
- "meterPointIds": [
- "string"
], - "userId": "string"
}
]
}
Create Vehicle Resource
Authorizations:
Bearer
path Parameters
userId required | string |
Request Body schema: application/json
resourceId | string or null |
resourceType | string (ResourceType) Enum: "Generic" "Vehicle" "Charger" "HotWaterTank" "HVAC" "SolarInverter" |
Responses
Request samples
- Payload
Content type
application/json
{- "resourceId": "51dd4b2c-86f7-4f9f-85d4-8a0b6b83f417",
- "resourceType": "Vehicle"
}
Response samples
- 201
- 400
Content type
application/json
{- "resourceId": "1f6bcefe-8246-4ff4-971d-4b84c3fb493a",
- "resourceType": "HotWaterTank",
- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d",
- "locationId": "481f9d24-2a42-4b7f-a7a8-087343da0bd9",
- "meterPointId": null
}
Get a User's Resources
Get all resources registered to a user. Returns both location bound resources and vehicles.
Authorizations:
Bearer
path Parameters
userId required | string |
Responses
Response samples
- 200
Content type
application/json
{- "resources": [
- {
- "resourceId": "1f6bcefe-8246-4ff4-971d-4b84c3fb493a",
- "resourceType": "HotWaterTank",
- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d",
- "locationId": "481f9d24-2a42-4b7f-a7a8-087343da0bd9",
- "meterPointId": null
}, - {
- "resourceId": "51dd4b2c-86f7-4f9f-85d4-8a0b6b83f417",
- "resourceType": "Vehicle",
- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d",
- "locationId": null,
- "meterPointId": null
}
]
}
Get Location Bound Resources
Get all resources registered at a location.
Authorizations:
Bearer
path Parameters
locationId required | string |
userId required | string |
Responses
Response samples
- 200
Content type
application/json
[- {
- "resourceId": "1f6bcefe-8246-4ff4-971d-4b84c3fb493a",
- "resourceType": "HotWaterTank",
- "locationId": "481f9d24-2a42-4b7f-a7a8-087343da0bd9",
- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d",
- "meterPointId": null
}, - {
- "resourceId": "66285591-0e20-43e4-9ec0-c26720dcce88",
- "resourceType": "Charger",
- "locationId": "481f9d24-2a42-4b7f-a7a8-087343da0bd9",
- "userId": "0a965bbd-3db0-49e0-899b-c057e5f7ca9d",
- "meterPointId": null
}
]
Create Location Bound Resource
Create a resource at a location.
Authorizations:
Bearer
path Parameters
userId required | string |
locationId required | string |
Request Body schema: application/json
resourceId | string or null |
resourceType | string (ResourceType) Enum: "Generic" "Vehicle" "Charger" "HotWaterTank" "HVAC" "SolarInverter" |
meterPointId | string or null |
Responses
Request samples
- Payload
Content type
application/json
{- "meterPointId": "bef292be-3537-4b21-be38-70df71c6286b",
- "resourceId": "1f6bcefe-8246-4ff4-971d-4b84c3fb493a",
- "resourceType": "HotWaterTank"
}
Response samples
- 201
- 400
Content type
application/json
{- "resourceId": "string",
- "resourceType": "Generic",
- "locationId": "string",
- "userId": "string",
- "meterPointId": "string"
}
Get User Enrollment
Get a user's enrollment status. Also returns when the user was enrolled.
Authorizations:
Bearer
path Parameters
userId required | string |
Responses
Response samples
- 200
- 400
Content type
application/json
{- "isEnrolled": true,
- "userId": "string",
- "enrollmentId": "883e2903-3e2f-407c-ae2a-1274a4137945",
- "enrollmentDate": "2019-08-24T14:15:22Z"
}
Enroll User
Enroll a user into the SPARK Program
Authorizations:
Bearer
path Parameters
userId required | string |
Responses
Response samples
- 200
- 400
Content type
application/json
{- "isEnrolled": true,
- "userId": "string",
- "enrollmentId": "883e2903-3e2f-407c-ae2a-1274a4137945",
- "enrollmentDate": "2019-08-24T14:15:22Z"
}
Response samples
- 200
Content type
application/json
{- "webhooks": [
- {
- "webhookId": "c5e739af-bd71-432c-9f18-f1fe7fdabc4c",
- "webhookSecret": "CMJ0PqrOtGIat7j",
- "name": "Example Webhook",
- "notificationTypes": [
- "PriceCurveCreated"
], - "enabled": true,
- "status": "Healthy",
- "modifiedDate": "2024-04-11T12:53:44.6496022+00:00",
- "createdDate": "2024-04-11T12:53:44.6496017+00:00",
- "lastAnalyzedTimestamp": "2024-04-11T12:53:44.6496022+00:00"
}
]
}
Create a Webhook
Authorizations:
Bearer
Request Body schema: application/json
name | string or null |
webhookSecret | string or null |
webhookUrl | string or null |
notificationTypes | Array of strings or null (NotificationType) Enum: "Unknown" "PriceCurveCreated" "UserEligibilityUpdated" |
Responses
Request samples
- Payload
Content type
application/json
{- "name": "Example Webhook",
- "webhookSecret": "CMJ0PqrOtGIat7j",
- "notificationTypes": [
- "PriceCurveCreated",
- "UserEligibilityUpdated"
]
}
Response samples
- 200
- 400
Content type
application/json
{- "webhookId": "c5e739af-bd71-432c-9f18-f1fe7fdabc4c",
- "webhookSecret": "CMJ0PqrOtGIat7j",
- "name": "Example Webhook",
- "notificationTypes": [
- "PriceCurveCreated"
], - "enabled": true,
- "status": "Healthy",
- "modifiedDate": "2024-04-11T12:53:44.6498275+00:00",
- "createdDate": "2024-04-11T12:53:44.649827+00:00",
- "lastAnalyzedTimestamp": "2024-04-11T12:53:44.6498276+00:00"
}
Response samples
- 200
- 400
Content type
application/json
{- "webhookId": "c5e739af-bd71-432c-9f18-f1fe7fdabc4c",
- "webhookSecret": "CMJ0PqrOtGIat7j",
- "name": "Example Webhook",
- "notificationTypes": [
- "PriceCurveCreated"
], - "enabled": true,
- "status": "Healthy",
- "modifiedDate": "2024-04-11T12:53:44.6499495+00:00",
- "createdDate": "2024-04-11T12:53:44.6499494+00:00",
- "lastAnalyzedTimestamp": "2024-04-11T12:53:44.6499496+00:00"
}
Update a Webhook
Authorizations:
Bearer
path Parameters
webhookId required | string |
Request Body schema: application/json
webhookSecret | string or null |
webhookUrl | string or null |
notificationTypes | Array of strings or null (NotificationType) Enum: "Unknown" "PriceCurveCreated" "UserEligibilityUpdated" |
enabled | boolean |
name | string or null |
Responses
Request samples
- Payload
Content type
application/json
{- "webhookSecret": "New secret",
- "notificationTypes": [
- "PriceCurveCreated"
], - "enabled": true,
- "name": "New name"
}
Response samples
- 200
- 400
Content type
application/json
{- "webhookId": "c5e739af-bd71-432c-9f18-f1fe7fdabc4c",
- "webhookSecret": "CMJ0PqrOtGIat7j",
- "name": "Example Webhook",
- "notificationTypes": [
- "PriceCurveCreated"
], - "enabled": true,
- "status": "Healthy",
- "modifiedDate": "2024-04-11T12:53:44.6501467+00:00",
- "createdDate": "2024-04-11T12:53:44.6501466+00:00",
- "lastAnalyzedTimestamp": "2024-04-11T12:53:44.6501467+00:00"
}
Delete a webhook
Returns 204 No Content if the webhook was deleted successfully. Returns 404 Not Found if the webhook to delete does not exist.
Authorizations:
Bearer
path Parameters
webhookId required | string |
Responses
Response samples
- 400
- 404
Content type
application/problem+json
{- "type": "string",
- "title": "string",
- "status": 0,
- "detail": "string",
- "instance": "string",
- "errors": {
- "property1": [
- "string"
], - "property2": [
- "string"
]
}, - "property1": null,
- "property2": null
}