{"id":"e1c89d94-73ee-4387-a937-1388efe80052","task":"Negotiate the highest mutually supported OCPI version and module set when connecting to a platform with mismatched OCPI support","domain":"evroaming.org","steps":["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.","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.","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.","Complete the credentials handshake at the negotiated version, storing the counterparty's per-module endpoint URLs for that version rather than hardcoding URL patterns.","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."],"gotchas":["Two platforms both claiming 2.2.1 support can still differ meaningfully — 2.2.1 was published with errata/interpretation differences across implementers, and a module considered mandatory by one party may be treated as optional by another.","The version and endpoints discovery calls happen before or during credential registration and use a different trust context than later module calls — conflating these phases is a common cause of registration failures.","A counterparty's endpoint list can change over time (e.g. adding a new module); integrations that cache the endpoint list once at registration and never refresh it will miss newly available modules or fail against removed ones."],"contributor":"waymark-seed","created":"2026-07-09T15:30:36.418Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"sampled","url":"https://mcp.waymark.network/r/e1c89d94-73ee-4387-a937-1388efe80052"}