Skip to content
OCPI 2.1.1 vs 2.2.1: Differences, Features, and Upgrade Guide

OCPI 2.1.1 vs 2.2.1: Differences, Features, and Upgrade Guide

·7 min read
Share:

OCPI 2.1.1 and OCPI 2.2.1 are the two versions most EV charging teams evaluate when they build roaming integrations. OCPI 2.1.1 remains a common baseline for partner interoperability, while OCPI 2.2.1 expands the protocol for hubs, smarter tariff handling, and charging-profile workflows.

If you need version-specific validation, start with OCPI 2.1.1 testing and OCPI 2.2.1 testing.

If you are preparing for roaming rollout or partner onboarding, continue with OCPI roaming testing or book an OCPI demo.

Quick Comparison: OCPI 2.1.1 vs 2.2.1

Feature OCPI 2.1.1 OCPI 2.2.1
Core roaming modules Yes Yes
Credentials + version discovery Yes Yes
Locations, Sessions, CDRs, Tariffs, Tokens, Commands Yes Yes
Hub support Limited practical coverage Stronger hub-oriented workflows
HubClientInfo No Yes
ChargingProfiles No Yes
Tariff model Core pricing model Richer tariff metadata and structure
Migration difficulty Lower implementation surface Larger implementation surface
Best fit Direct roaming partners and baseline interoperability Hubs, smart charging, and broader future-ready roaming

The Short Answer

Choose OCPI 2.1.1 when you need the fastest path to stable roaming interoperability with the core modules: credentials, locations, sessions, CDRs, tariffs, tokens, and commands.

Choose OCPI 2.2.1 when you need hub-oriented behavior, smarter charging workflows, or a broader protocol surface for future roaming requirements.

In practice, many teams still need to support both: 2.1.1 for existing partner compatibility and 2.2.1 for newer integrations.

What Stays the Same

The good news is that the two versions share the same core model:

  • REST APIs over HTTPS
  • credentials handshake and token exchange
  • version discovery through /versions
  • core roaming entities such as locations, EVSEs, sessions, CDRs, tariffs, and tokens
  • CPO and eMSP role separation

That means an upgrade from 2.1.1 to 2.2.1 is usually not a full rewrite. It is more often an expansion of your existing roaming implementation.

Where OCPI 2.2.1 Adds Real Value

1. Hub-Centric Integrations

OCPI 2.2.1 is a better fit for hub-connected ecosystems because it adds structures that are more practical for multi-party roaming environments. The most visible example is HubClientInfo, which helps systems exchange participant information in hub-based topologies.

If your roadmap includes hub onboarding, version 2.2.1 is usually the safer long-term choice.

2. ChargingProfiles

OCPI 2.2.1 introduces ChargingProfiles, which matters when smart charging needs to pass through the roaming chain instead of staying entirely inside the local CPO backend.

This becomes relevant when:

  • an eMSP wants to influence charging behavior
  • a roaming workflow needs schedule-aware energy management
  • the backend stack must coordinate with OCPP 2.0.1 smart charging flows

3. Richer Tariff and Field Coverage

OCPI 2.2.1 gives teams more expressive tariff and metadata structures. That matters when pricing presentation, settlement clarity, or country-specific compliance expectations become stricter.

Module-by-Module Comparison

Credentials and Version Discovery

No major conceptual change here. Both versions rely on the same practical sequence:

  1. GET /versions
  2. GET /versions/{version}
  3. POST /credentials
  4. token exchange and endpoint discovery

This is why many teams can run both versions side by side without changing the whole architecture.

Locations, Sessions, and CDRs

Both versions support the core data flows roaming teams need every day:

  • publish charger locations and EVSE data
  • exchange live or near-real-time session updates
  • submit CDRs for settlement and invoicing

For many operators, this is enough to ship a production roaming connection on 2.1.1.

Tokens and Commands

Again, both versions cover the main operational paths:

  • driver token synchronization
  • remote start and stop behavior
  • reservation and unlock style command flows

If your product only needs baseline roaming enablement, 2.1.1 can remain perfectly serviceable.

ChargingProfiles

This is one of the clearest reasons to move to 2.2.1. When your roaming program needs charging control beyond static authorization and billing, 2.2.1 gives you the protocol surface to model it.

HubClientInfo

This is the other major differentiator. Hub-oriented roaming is easier to reason about in 2.2.1 because the protocol acknowledges those integration patterns more explicitly.

When to Choose OCPI 2.1.1

Choose OCPI 2.1.1 if:

  • you need fast partner onboarding with the core roaming modules
  • your partners already standardize on 2.1.1
  • you do not need ChargingProfiles right now
  • your current architecture is direct CPO-to-eMSP interoperability rather than hub-heavy orchestration
  • you want a narrower implementation scope for the first production release

For many teams, 2.1.1 is the right operational baseline and remains worth supporting for years.

When to Choose OCPI 2.2.1

Choose OCPI 2.2.1 if:

  • you need hub integration workflows
  • you need HubClientInfo
  • you need ChargingProfiles
  • your tariff and metadata requirements are growing
  • you want to reduce the risk of building against an older functional baseline while your product roadmap expands

If you are building a newer roaming platform from scratch, 2.2.1 is often the better strategic default.

Best Practice: Support Both Versions

The safest commercial approach is often:

  • support OCPI 2.1.1 for baseline compatibility
  • support OCPI 2.2.1 for advanced and future-facing integrations

This mirrors what many backend teams already do on the charger side with OCPP 1.6 testing and OCPP 2.0.1 testing.

Migration Guide: OCPI 2.1.1 to 2.2.1

Step 1: Keep Your Core Modules Stable

Before adding 2.2.1-only features, make sure your 2.1.1 baseline is fully reliable:

  • credentials lifecycle
  • locations synchronization
  • sessions and CDR exchange
  • token authorization
  • command callbacks and error handling

Step 2: Add Version-Aware Routing

Make sure your implementation can distinguish version-specific endpoints and payload handling cleanly. This reduces regression risk and lets you run 2.1.1 and 2.2.1 side by side.

Step 3: Add 2.2.1-Only Modules Deliberately

Treat ChargingProfiles and HubClientInfo as explicit additions, not incidental changes. They usually need:

  • new payload validation
  • new persistence models
  • new async workflow handling
  • new interoperability tests

Step 4: Test with Simulated Counterparties

Do not wait for a live roaming partner or hub to discover payload mismatches. Simulate the opposite party and test the full flow before launch with OCPI roaming testing.

Step 5: Validate Mixed-Version Behavior

If your platform will support both versions, test:

  • 2.1.1-only partner flows
  • 2.2.1-only partner flows
  • shared core modules across both versions
  • error handling when payload expectations diverge

Example Decision Framework

Situation Recommended Version
Launching a simple direct roaming integration OCPI 2.1.1
Connecting to hub-oriented ecosystems OCPI 2.2.1
Need smart charging over roaming OCPI 2.2.1
Need maximum compatibility with existing partners OCPI 2.1.1 plus 2.2.1 roadmap
Building a future-facing roaming platform Support both, prioritize 2.2.1 depth

Frequently Asked Questions

Is OCPI 2.2.1 backward compatible with 2.1.1?

Not automatically in the sense of using identical endpoints and payload expectations everywhere. The versions are closely related, but your implementation still needs explicit version-aware handling.

Should I skip OCPI 2.1.1 and only implement 2.2.1?

Only if you are certain your target partners and hubs do not require 2.1.1. Many teams still need 2.1.1 for practical interoperability.

Is ChargingProfiles the main reason to adopt 2.2.1?

It is one of the strongest reasons, especially for smart charging and advanced roaming workflows. Hub support is the other big reason.

What is the safest production strategy?

Support the 2.1.1 baseline cleanly, then expand to 2.2.1 where partner demand or product scope requires it.

Further Reading

Article FAQ

Short answers to the questions readers usually ask before they move into evaluation.

Last updated:

Test your OCPP implementation today

Deploy 1000+ virtual charge points in minutes. No hardware needed.

Get OCPP & EV charging insights

Protocol updates, testing best practices, and industry news. No spam.

Validate More Before You Touch Real Hardware

Launch virtual chargers quickly, inspect protocol traffic, and validate backend changes before you push them into a real charger fleet.

No credit card required · Deploy your first virtual charger in 2 minutes · Contact sales for enterprise