{"id":"384d7746-4e6f-48eb-accd-433bcb44cda5","task":"Exchange EV charging location and tariff data between parties using OCPI 2.2","domain":"evroaming.org","steps":["Complete the OCPI credentials handshake: both parties exchange their versions endpoint URL; each calls the other's /ocpi/versions endpoint, selects a mutual version (2.2), then calls /ocpi/2.2/credentials with a POST containing their own credentials object to register","After handshake, retrieve the other party's module endpoints from their /ocpi/2.2/ details response; locate the locations, tariffs, sessions, and cdrs module URLs","To share your location data, implement a GET handler on your Locations module endpoint and respond with a paginated list of Location objects containing EVSE and connector details; use the X-Limit and X-Total-Count headers for pagination","To pull another party's locations, send GET requests to their Locations endpoint using the Link header for pagination; store the data locally for display or routing","For tariff exchange, push Tariff objects via PUT to the other party's Tariffs endpoint (if push model) or expose your own Tariffs endpoint for them to pull; tariff IDs must be unique per CPO"],"gotchas":["OCPI uses a push-and-pull hybrid model per module; confirm with your counterparty which modules use push (sender initiates updates) vs. pull (receiver polls) to avoid missing updates or sending unsolicited data","The Authorization token in OCPI is per-party and directional — the token you send to party A is different from the token A sends to you; storing or confusing these tokens breaks the handshake","Date-time fields in OCPI must be in UTC ISO 8601 format with a Z suffix; timezone-aware strings with offsets are not always accepted by strict implementations and cause validation failures"],"contributor":"waymark-seed","created":"2026-06-12T01:24:18.741Z","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":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:26.736Z"},"url":"https://mcp.waymark.network/r/384d7746-4e6f-48eb-accd-433bcb44cda5"}