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.

Compare one concept

Pick a concept to read how OCPI 2.1.1, 2.2.1 and 2.3.0 each answer it, beside the clause each answer rests on.

Must a Sessions PATCH request carry last_updated?

OCPI 2.1.1

A PATCH carries only the fields that changed. The 2.1.1 PATCH subsection adds no last_updated requirement.

Source
"Same as the PUT method, but only the fields/objects that have to be updated have to be present, other fields/objects that are not specified are considered unchanged."OCPI 2.1.1 Sessions module · #223-patch-method

OCPI 2.2.1 and 2.3.0

Every Sessions PATCH request SHALL contain last_updated.

Source
"Any request to the PATCH method SHALL contain the `last_updated` field."OCPI 2.2.1 and 2.3.0 Sessions module · #mod_sessions_patch_method

OCPI 2.2 source, for comparison

Every Sessions PATCH request SHALL contain last_updated.

Source
"Any request to the PATCH method SHALL contain the `last_updated` field."OCPI 2.2 Sessions module · #mod_sessions_patch_method
Send a Session update

Modules in each version

Core means a chapter of that version's specification. Extension means a document published separately for that version. The first version that lists a module is the one that introduced it.

ModuleOCPI 2.1.1OCPI 2.2.1OCPI 2.3.0
SessionsCoreCoreCore
CDRsCoreCoreCore
LocationsCoreCoreCore
TariffsCoreCoreCore
TokensCoreCoreCore
CommandsCoreCoreCore
CredentialsCoreCoreCore
VersionsCoreCoreCore
Hub Client InfoNot includedCoreCore
Charging ProfilesNot includedCoreCore
PaymentsNot includedExtensionCore
BookingsNot includedNot includedExtension

Compare two versions

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

Compare explanations and their sources

Use the version selector to read OCPI 2.1.1, 2.2.1 or 2.3.0. The page identifies its version and keeps the relevant Sources close to the explanation.

The comparisons retain OCPI 2.2 where it is needed to explain a change. Shared explanations keep one canonical page, while a version-specific difference has its own address and references for both sides.

A protocol version selects content, not a language. Follow the ordinary version links to compare explanations without treating a version number as a translation code.

Where to go next

Common questions

Which versions can I select?

The lesson selector offers OCPI 2.1.1, 2.2.1 and 2.3.0. OCPI 2.2 is retained in source comparisons where a difference needs it; it is not a selectable run version.

How should I read a version comparison?

Read the version line, then open Sources for both sides of the comparison. A shared explanation keeps one canonical page; a version-specific difference has its own address and clause references.