Overview
Joulo REST API reference — base URL, authentication, rate limits, and response format
The Joulo API gives you programmatic access to your EV charger data, charging sessions, and energy statistics. All API access is over HTTPS and returns JSON.
Base URL
https://api.joulo.nl/functions/v1/apiAuthentication
All requests must include a valid token. You can authenticate in two ways:
Authorization header (recommended):
Authorization: Bearer YOUR_API_TOKENQuery parameter:
https://api.joulo.nl/functions/v1/api/chargers?token=YOUR_API_TOKENGenerate your API token from the Joulo dashboard under Settings → API. See Authentication for full details, including OAuth2 support.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /chargers | List all chargers with status and active session info |
POST | /chargers | Register a new charger (OCPP) |
GET | /sessions | List charging sessions with filtering and pagination |
GET | /energy | Get monthly energy aggregates and lifetime totals |
Response format
All responses are JSON with Content-Type: application/json. Timestamps are in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ). Numeric values (kWh, credits) are rounded to two decimal places.
Pagination
The GET /sessions endpoint supports pagination with limit and offset query parameters.
| Parameter | Type | Default | Max | Description |
|---|---|---|---|---|
limit | integer | 20 | 100 | Number of records to return |
offset | integer | 0 | — | Number of records to skip |
Rate limits
Requests are rate-limited per token. If you exceed the limit, the API returns 429 Too Many Requests.
The GET /energy endpoint is ideal for infrequent polling (e.g. once per hour) since it returns aggregated data. Reserve GET /chargers for more frequent checks when you need real-time status.