Developers · Core concepts

Versioning and stability

How the Battery Passport API is versioned: /v1 in the path, additive changes only within a version, breaking changes in a new version with advance notice.

Version
v1.0.0
Base URL
https://dppapi-production.up.railway.app/v1
Format
JSON · OpenAPI 3.1
FeedbackLast updated
On this pageThe version is in the path

A battery passport has to stay available for years, and so do the integrations that feed it. An ERP job written against v1 should keep working without anyone touching it.

The version is in the path

Every endpoint is under /v1. There is no version to request in a header and no date-pinned behaviour to manage: the path you call is the contract you get. Every response names the exact version that answered in X-DPP-Api-Version (currently 1.0.0), and GET /me returns it as apiVersion.

What may change within v1

Within a version, changes are additive only:

ChangeWithin v1?
New endpointsYes
New optional request propertiesYes
New properties in responsesYes
Removing or renaming an endpoint or propertyNo — new version
Making an optional request property requiredNo — new version
Changing the type or meaning of a propertyNo — new version

Breaking changes

Anything that could break a working integration goes into a new version, /v2, announced in advance — never into v1.

Writing tolerant clients

  • Ignore response properties you do not recognise instead of failing on them.
  • Do not depend on the order of properties in a JSON object.
  • Treat the error codes you handle explicitly as a known set and fall back to the HTTP status for the rest.
  • Read obligations from the field catalogue at runtime rather than copying today’s list into code.

The specification

The OpenAPI 3.1 document is public and is the source of truth for request and response schemas. Generate a client from it, diff it in CI, or load it into your API tool of choice:

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

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