FIAM API Documentation
For external companies registered as data consumers via KPN FIAM.
How it works
Eneco customers can choose to share their usage data with external companies. KPN FIAM is the platform that manages consent between Eneco customers and external data consumers. Eneco itself has no knowledge of which external parties have registered, nor of individual consent decisions — all of that lives in KPN FIAM.
Getting started
Every request to the Eneco DataShare API requires two authentication headers:
| Header | Description |
|---|---|
apiKey |
Acceptance: bEV3HXJFQkTyLVsjqGLh36wxReAGJll9, Production: zqjLbGA5vwO7z93AASlRG2cw1Idq2tk0 |
Authorization |
Bearer {KPN FIAM Consumer Token} — obtained from KPN when you register |
Note:
labelandbusinessUnitare required route parameters. Currently onlylabel=enecoandbusinessUnit=nlare supported.
Environments
| Environment | Base URL |
|---|---|
| Acceptance | https://api-acc.enecogroup.com |
| Production | https://api.enecogroup.com |
Acceptance is intended for testing and development. It uses test data and separate API keys from production.
Endpoints
All endpoints share the same route prefix and parameters:
/datashare/v1/{businessUnit}/{label}/dataconsumer/{dataOwnerId}/{productType}/
| Parameter | Supported values |
|---|---|
businessUnit |
nl |
label |
eneco |
dataOwnerId |
UUID — the unique identifier of the customer |
productType |
heat |
Usages
GET /datashare/v1/{businessUnit}/{label}/dataconsumer/{dataOwnerId}/{productType}/usages
Returns the customer's energy usage in hourly intervals.
An optional endDate query parameter (ISO 8601 datetime) controls the end of the returned period.
If omitted, the most recent available data is returned.
The response contains one or more usage channels. Each channel represents a measurement type:
| Channel ID | Unit |
|---|---|
Gas |
CubicMeter |
Warmth |
Centigrade |
Electricity |
KiloWattHour |
Redelivery |
KiloWattHour |
Produced |
KiloWattHour |
Tapwater |
CubicMeter |
Cooling |
Centigrade |
Limitations
- Filtering on a specific channel is not supported — all available channels are always returned.
Metadata
GET /datashare/v1/{businessUnit}/{label}/dataconsumer/{dataOwnerId}/{productType}/metadata
Returns metadata about the customer. Currently, this contains the customer's delivery address only.
Limitations
- Field selection is not supported — the full metadata object is always returned.
Sandbox testing
The sandbox endpoints let you simulate the customer consent flow yourself, without needing any involvement from Eneco. This enables a full end-to-end integration test on the acceptance environment.
API-->>EC: Usage data ✓
Sandbox endpoint reference
List consumers with consent status
GET /datashare/v1/{businessUnit}/{label}/dataconsumer/demo/{dataOwnerId}/{productType}/consumers
Returns all data consumers registered in KPN FIAM for the given customer, each with a flag indicating whether an active consent currently exists.
Set or revoke consent
POST /datashare/v1/{businessUnit}/{label}/dataconsumer/demo/{dataOwnerId}/{productType}/setConsent
Creates or removes a contract in KPN FIAM for the given customer and consumer combination.
| Field | Type | Description |
|---|---|---|
consumerId |
String | Your KPN FIAM consumer ID |
isConsent |
Boolean | true to grant consent, false to revoke it |
These endpoints are available on acceptance only and return
400in production.
Reach out to FM_BTO_Integration_Team@eneco.com to obtain a valid dataOwnerId for testing.
Test data in the acceptance environment may change without notice.
Error reference
| Status | Meaning |
|---|---|
400 |
Bad request — invalid route parameter value or invalid endDate format / value |
401 |
Unauthorized — missing or invalid API key, or missing Authorization (consumer token) header |
403 |
Forbidden — consumer token does not have an active contract for this data owner |
404 |
Data owner not found |
429 |
Rate limit exceeded |
500 |
Server error |
