Skip to main contentSkip to navigationSkip to search
Skip to main content

What changed between versions

Compare OCPI 2.1.1, 2.2.1, and 2.3.0 side by side

OCPI grew over time. Each release added modules and tightened a few rules. This is what a partner has to change when they move from one version to the next, derived straight from the version registry the tester enforces.

Modules in each version

A check means the module exists in that version. The first column where a module appears is the release that introduced it. Every version also exposes the Versions discovery endpoint.

ModuleOCPI 2.1.1OCPI 2.2.1OCPI 2.3.0
Locations
Sessions
CDRs
Tariffs
Tokens
Commands
Credentials
Hub Client Info
Charging Profiles
Payments
Bookings

Compare two versions

Pick a starting version and a target to see the new modules and rule changes between them.

What changes when a partner runs a different OCPI version

OCPI grew over time. Each release added a few modules and tightened a few rules, so a partner on an older version speaks a slightly different dialect of the same protocol. Knowing what moved between versions is what stops a working integration from failing against a partner who has not upgraded yet.

Three shifts matter most. From 2.2, each module gained two sides, a sender that pushes data and a receiver that takes it in, and the shared secret two platforms trust each other with (the credentials token) started travelling Base64-encoded instead of in plain form. 2.2.1 added the party a charge record belongs to (the country and company on the CdrToken) and brought in more modules, including Payments. 2.3.0 kept all of that and added Bookings, for reserving a charge ahead of time.

This is why two platforms compare notes before they exchange anything. Each one lists the versions it supports, and they agree on the highest they both have. A field or a whole module that exists in one version is simply absent in an older one, and two partners with no version in common cannot connect at all.

Where to go next

Common questions

Which version do two partners end up using?

The highest one they both support. When they connect, each lists the versions it can speak and they agree on the newest in common. If one offers 2.1.1 and 2.2.1 and the other 2.2.1 and 2.3.0, they settle on 2.2.1.

What if they share no version?

They cannot connect. Registration stops at the version step, because there is nothing in common to speak. The simulator shows this as a failed handshake, which is the same thing that would happen in production.

Can I pick OCPI 2.2 here?

No. 2.2 was superseded quickly by 2.2.1 and is retired, so the selectable versions are 2.1.1, 2.2.1, and 2.3.0, which is what partners actually run.

Skip to main content