> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ocpplab.com/llms.txt.
> For full documentation content, see https://docs.ocpplab.com/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ocpplab.com/_mcp/server.

# OCPPLAB Gateway

OCPPLAB Gateway is a REST API for provisioning charging locations, deploying chargers, and driving OCPP 1.6 and 2.0.1 simulator workflows. Point it at any CSMS over WebSocket and run real OCPP traffic for testing, integration, or fleet pilots.

Create a location, deploy a charger, and send your first OCPP command in 5 steps.

Tenants, locations, chargers, commands, and OCPI in one page.

`pip install ocpplab` and start provisioning in Python.

`npm install ocpplab` and call the API from Node or the browser.

***

## Who it's for

OCPPLAB Gateway is built for teams that need to exercise real OCPP behavior without plugging in physical hardware:

* **CPO engineering teams** validating a new CSMS release against many charger models at once
* **Charger manufacturers** replaying OCPP 1.6 and 2.0.1 scenarios against partner backends
* **Integrators** running acceptance tests for fleet, roaming, and OCPI partners
* **Protocol engineers** debugging low-level OCPP message flows with full traffic logs

## Use cases

Deploy N chargers across M locations, replay BootNotification, StatusNotification, and transaction flows, then diff logs against a baseline.

Spin up a full CPO bundle (locations, chargers, OCPI credentials) in one call for eMSP integration testing.

Inject OverCurrent, OverTemperature, and EVSE faults across a fleet to validate alerting and recovery paths.

## How auth works

Every tenant-aware route takes a single header:

```http
Authorization: Bearer <jwt>
```

User tokens are pre-scoped to one tenant, so the bearer header is all you need. See [Authentication](/authentication) for details.

## Where to go next

Start with the [Quickstart](/quickstart) to make your first requests in 5 steps. For bulk provisioning, OCPI bundles, and fault injection, see [Common workflows](/common-workflows). Every endpoint is documented in the [API reference](/api-reference-overview) with shell, Python, and Node samples.