Every change to a model, battery, passport, document or registration is written to an audit trail with a hash of the record before and after. This is the "who, when, from which source" record (Art. 78(g)), readable over the API.
Personalise the samples. Paste a test key and every snippet uses it — and your own model and passport ids.
/v1/auditList audit entries
Audit entries for your organisation, newest first, a page at a time. Each holds the SHA-256 of the record before and after the change, so you can prove what a record looked like. Changes made over the API are attributed to the member who created the key.
Parameters5
limitintegerqueryoptionalPage size, 1–200. Default 50.
cursorstringqueryoptionalThe
next_cursorof the previous page. Omit for the first page.entitystringqueryoptionalOnly this entity type, e.g.
BatteryPassport,BatteryModel,BatteryItem,Document,ApiKey,WebhookEndpoint.entity_idstringqueryoptionalOne record’s history.
sinceISO 8601 date-timequeryoptionalOnly entries at or after this instant.
Responses
- 200OK — A page of audit entries.
Errors2
- 400
Validation faileddetailsnames each invalid field. - 401
unauthorizedThe key is missing, unknown or revoked.
Response fields · 200
object- idstring
- entitystring
- entityIdstring
- actionstring
- beforeHashstring | null
SHA-256 of the record before the change.
- afterHashstring | null
SHA-256 of the record after the change.
- atstring · date-time
- has_morebooleanrequired
- next_cursorstring | nullrequired
Pass as
cursorto get the next page.
curl "https://dppapi-production.up.railway.app/v1/audit?entity=BatteryPassport&since=2027-01-01T00%3A00%3A00Z" \-H "Authorization: Bearer $DPP_API_KEY"{"data": [{"id": "cm1qe0a1b0050l70fq1w2e3r4","entity": "BatteryPassport","entityId": "cm1q8y0bq0006l70fx9y8z7w6","action": "publish","beforeHash": "1b4f0a9c2e7d5b8361f4a0c9e2d7b5a8361f4a0c9e2d7b5a8361f4a0c9e2d7b5a","afterHash": "7c9e3b1d5f2a8460e7c9b3d1f5a2e8460c7e9b3d1f5a2e8460c7e9b3d1f5a2e84","at": "2027-01-15T10:02:11.000Z"}],"has_more": true,"next_cursor": "eyJpZCI6ImNtMXE4eTBicTAwMDZsNzBmeDl5OHo3dzYifQ"}