API menu

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.

eneco-fiam-how-it-works


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: label and businessUnit are required route parameters. Currently only label=eneco and businessUnit=nl are 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 400 in 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