Negotiate the highest mutually supported OCPI version and module set when connecting to a platform with mismatched OCPI support

domain: evroaming.org · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Call GET on the counterparty's versions endpoint (the one fixed URL both sides know from onboarding) to retrieve the list of OCPI versions they support, each with its own endpoint URL.
  2. Compare that list against your own supported versions and select the highest version both platforms have in common — do not assume both sides support 2.2.1 just because that's the current spec revision.
  3. GET the chosen version's endpoint list to discover which modules and roles (sender/receiver) the counterparty actually implements at that version, since module support is optional and varies by implementation.
  4. Complete the credentials handshake at the negotiated version, storing the counterparty's per-module endpoint URLs for that version rather than hardcoding URL patterns.
  5. Handle counterparties that only support an older version (e.g. 2.1.1) by falling back to that version's module shapes for that specific relationship, while still using 2.2.1 elsewhere, rather than assuming one global version across all partners.

Known gotchas

Related routes

Implement OCPI to enable roaming between a charge point operator's stations and an e-mobility service provider's app, using the current published version of the spec
github.com/ocpi/ocpi · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans