For integrators
The battery passport interface
Mandatory methods per EN 18222 Table 17 on top of the EN 18223 data model. The OpenAPI file describes every call in full. It is the handover to integrators and replaces reading our code.
Reading needs no key
Annex XIII point 1 of Regulation (EU) 2023/1542 is public by definition, and EN 18222 attaches no access condition to it. A key raises the disclosure tier; it does not unlock the interface.
The response carries no envelope
If you expect a DPP object, DigitalProductPassportID sits under “data”, not under “data.data”. The Table 14 result object sits beside it under “result”.
Endpoints
Path and method at a glance. Parameters, response shapes and error codes live in the specification, there and nowhere else, so no second description can drift away from it.
Read and resolve
GET/api/dpp/v1/dppsByIdAndDate/{dppId}GET/api/dpp/v1/dppsByProductId/{productId}GET/api/dpp/v1/dppsByProductIdAndDate/{productId}POST/api/dpp/v1/dppsByProductIds
Create and change
GETPATCHDELETE/api/dpp/v1/dpps/{dppId}GETPATCH/api/dpp/v1/dpps/{dppId}/collections/{elementId}GETPATCH/api/dpp/v1/dpps/{dppId}/elements/{elementPath}POST/api/dpp/v1/dpps
Semantics
GET/api/dpp/v1/contextGET/api/dpp/v1/context/{version}GET/api/dpp/v1/vocabGET/api/dpp/v1/dict/{key}/{version}
Proof
GET/api/v1/dpps/{uid}/proof
Access beyond the public tier
Recyclers, repairers, notified bodies and market surveillance see more than the public. A key carries exactly one of those roles and belongs to exactly one tenant; we issue it, not a signup form.
How a passport is created and lives