Authentication
Bearer tokens are all most integrations need
Every tenant-aware route takes a single header:
user tokens are already scoped to a single tenant, so the bearer header is everything a user request needs. The SDKs set it for you when you pass token at client construction.
Most endpoints that create, list, update, or operate on locations and chargers are tenant-scoped, including:
/locations/chargers/chargers/{charger_id}/.../locations/{location_id}/chargers/...Catalog reads are authenticated but are not tied to a specific tenant.
admin tokens act across tenants and must pick one explicitly via X-Organization-Id. This only applies to internal OCPPLAB admin integrators — skip this section if you use a user token.
Rules:
X-Organization-Id on tenant-scoped routes.X-Organization-Id — the backend rejects it.Continue to Common workflows for end-to-end examples.