Developers · Reference

Changelog

Every change to the Battery Passport API, newest first, starting with v1.0.0 on 4 October 2026.

Version
v1.0.0
Base URL
https://dppapi-production.up.railway.app/v1
Format
JSON · OpenAPI 3.1
FeedbackLast updated

Within v1 every change is additive; anything breaking would ship as v2 with advance notice. Subscribe to the specification URL in your CI to see additions as they land.

Follow changes

Atom feed

Every release of this changelog, for a feed reader, Slack or Teams.

Watch the spec in CI

The OpenAPI 3.1 document is public. Hash it in CI and the build tells you the day an endpoint or field is added.

dppapi-production.up.railway.app/v1/openapi.json

API status

GET /health/ready answers 200 with "status": "ready" when passports can be served, and 503 when the database is unreachable. Point an uptime check at it.

v1.0.0

  • addedThe public REST API under /v1, authenticated with organisation API keys carrying read and write scopes.
  • addedLive (dpp_live_…) and test (dpp_test_…) keys; test keys dry-run every write. X-DPP-Dry-Run for single dry runs with a live key; X-DPP-Mode on every response.
  • addedIdempotency keys on POST and PATCH, stored for 24 hours, with Idempotent-Replayed on replays.
  • addedX-Request-Id on every response and request_id in every /v1 error body.
  • addedCursor pagination (limit, cursor, has_more, next_cursor) on list endpoints.
  • addedModels: list, create, read, update, validate and missing-field analysis. Documents: upload, list, download.
  • addedBatteries: create one or up to 1,000, each with its own passport and unique identifier.
  • addedPassports: list with incremental-sync filters, read, publish (single and bulk) behind the publish gate, status changes with linked successor passports, recycling, QR codes and the version archive.
  • addedDynamic data events, including the telemetry fields capacityThroughput, timeExtremeHighTemp, timeExtremeLowTemp, timeChargingExtremeHighTemp and timeChargingExtremeLowTemp.
  • addedFleet operations: bulk lifecycle events and matched row updates, with per-row results.
  • addedSigned webhooks for passports, models, documents and supplier submissions, with retries, a delivery log, resend, secret rotation and a ping test event — managed in the app or under /webhooks.
  • addedFacilities: GET /plants and POST /plants.
  • addedSupplier requests: GET /upload-links, POST /upload-links, GET /upload-links/{id}/files and POST /upload-links/{id}/accept.
  • addedX-DPP-Api-Version on every /v1 response.
  • addedAudit trail, JSON export and ZIP archive over the API.
  • addedGET /field-catalog: the 71 EU data points with obligation per category, field mapping and access tier.
  • addedRate limits: 600 requests per minute per live key, 60 per test key.

Cookie preferences

You choose which cookies are used. You can change your choice at any time with “Cookie settings” in the footer. Privacy policy

Necessary

Always on

Needed for the site to work: your light/dark theme and this cookie choice are stored in your browser. They do not track you.

Analytics

Google Analytics 4 measures how pages are used through statistics, which helps us improve the site. If you accept, it sets cookies and measures your visit in full. If you decline, it sets no cookies, but Google may still receive technical data such as the page viewed, your browser type and IP address.

_ga, _ga_* · up to 2 years · Google