canonical: https://jentic.com/apis/edrv.io/edrv

# eDRV API

eDRV is a managed back-end for electric-vehicle (EV) charging networks. The v1 API exposes 57 endpoints that let operators provision charge stations, configure connectors, control charging sessions through remote-start and remote-stop commands, manage drivers and authorisation tokens, model locations and organisations, run reservations, and pull realtime telemetry, transactions, and statistics. It also includes vehicle telematics endpoints for battery, charge state, location, and odometer.

## For AI agents

Manage EV charging stations, drivers, reservations, and live charging sessions across an eDRV-powered charging network.

## Scope

Does not handle electricity tariff calculation, end-customer billing, or hardware firmware updates - use for managing charge stations, sessions, drivers, reservations, and EV telemetry only.

## Capabilities

- Provision and configure charge stations and their connectors across an EV charging network
- Send remote-start, remote-stop, reset, and unlock-connector commands to stations in the field
- Schedule reservations for chargers and cancel them through structured command endpoints
- Manage drivers and the RFID or app authorisation tokens that grant them charging access
- Pull realtime telemetry plus historical transactions and statistics for charge stations and connectors
- Read EV battery state-of-charge, current charge session status, location, and odometer for connected vehicles

## Use cases

### Fleet charging operations console

A fleet operator runs an internal console that needs to see live charger availability, dispatch drivers, and start or stop charging sessions remotely. The eDRV API supplies the realtime status, the remote command endpoints, and the transactions feed that the console needs. Operators can resolve stuck sessions in seconds rather than dispatching a technician.

Example prompt: Call POST `/v1/commands/remotestart` with the chargestationId and connectorId for the target driver, then poll `/v1/realtime` to confirm the session began.

### Driver-facing charging app

A consumer app lets EV drivers find a charger, reserve it, and start the session from their phone. The app uses eDRV's locations and chargestations endpoints to populate the map, the reservations endpoints to hold a connector for the driver, and the remote-start command to begin charging once the driver plugs in. The 57-endpoint surface covers the full driver journey end to end.

Example prompt: Reserve a connector via POST `/v1/commands/reserve`, then call POST `/v1/commands/remotestart` when the driver plugs in, and report transaction status from `/v1/transactions.`

### Vehicle telematics enrichment

A logistics platform pairs EV telematics with route planning. The eDRV vehicle endpoints expose battery state-of-charge, charge state, location, and odometer for connected vehicles, so the planner can decide which vehicles need charging stops on a given route. The data flows alongside the network's charge-station availability for end-to-end EV operations.

Example prompt: Call GET `/v1/vehicles/{id}/battery` for each vehicle on a planned route and return those with state-of-charge below the configured threshold.

### AI agent for charge-network support

An operations agent triages support cases for a charging network: stuck sessions, unresponsive connectors, or driver tokens that fail to authorise. Through Jentic, the agent searches by intent, loads the right eDRV operation, and executes resets, unlocks, or token lookups without the engineer needing to memorise the 57-endpoint API.

Example prompt: Search Jentic for 'reset a charge station' to load POST `/v1/commands/reset`, then execute it for the affected stationId and confirm via `/v1/realtime.`

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/v1/chargestations` | List charge stations |
| POST | `/v1/commands/remotestart` | Remotely start a charging session |
| POST | `/v1/commands/remotestop` | Remotely stop a charging session |
| POST | `/v1/commands/reserve` | Reserve a connector |
| GET | `/v1/transactions` | List charging transactions |
| GET | `/v1/vehicles/{id}/battery` | Get vehicle battery state of charge |
| GET | `/v1/vehicles/{id}/location` | Get vehicle location |

## Key resources

- **Charge Stations** — Provision, read, update, and delete charge stations and their connectors
- **Commands** — Send remote-start, remote-stop, reserve, reset, and unlock-connector commands
- **Drivers** — Manage drivers and the tokens that authorise them to charge
- **Reservations** — Reserve and cancel charger reservations for drivers
- **Transactions** — Retrieve historical charging transactions
- **Realtime** — Read live telemetry across charge stations and connectors
- **Vehicles** — Read battery, charge state, location, and odometer for connected EVs

## Why Jentic

- **Setup:** Wiring eDRV by hand means implementing its OAuth 2.0 flow, refreshing tokens, and mapping commands like remote start and remote stop across the charge-station surface yourself. Through Jentic you install once, import the eDRV API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** eDRV puts the vehicle id in the URL path (`/v1/vehicles/{id}/battery`, `/v1/vehicles/{id}/location`), so a rule can pin your agent to one vehicle for telemetry reads. You choose the operations it may call, so control commands like POST `/v1/commands/remotestart` or POST `/v1/commands/remotestop` are not included unless you add them.
- **Credential handling:** Your eDRV OAuth credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list charge stations' or 'read a vehicle's battery level', and Jentic returns the matching eDRV operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Twilio API** — Twilio sends SMS notifications to drivers when a charging session starts, completes, or fails.
- **Stripe API** — Stripe handles per-session billing for charging transactions reported by eDRV.
- **Auth0 API** — Auth0 manages end-user identity for driver-facing apps that consume the eDRV API.

## FAQ

### What authentication does the eDRV API use?

eDRV uses OAuth 2.0 with the implicit flow against https://auth.edrv.io/authorize and per-resource scopes such as read:chargestations, write:commands/remotestart, and read:transactions. Jentic stores the credentials encrypted, performs the OAuth exchange, and injects scoped tokens at execution time.

### Can I remotely start and stop a charging session with the eDRV API?

Yes. POST `/v1/commands/remotestart` begins a session and POST `/v1/commands/remotestop` ends it. There are also command endpoints for reset, unlockconnector, reserve, and cancelreservation.

### How do I read the live status of a charge station?

Use the realtime endpoints under `/v1/realtime` to pull live status across stations and connectors, alongside GET `/v1/chargestations` and GET `/v1/chargestations/{id}/connectors` for configuration data.

### Can I see a connected vehicle's battery state through this API?

Yes. GET `/v1/vehicles/{id}/battery` returns battery state for a connected EV, and the related endpoints expose charge state, location, and odometer for the same vehicle.

### What are the rate limits for the eDRV API?

Rate limits are not declared in the OpenAPI spec and are typically agreed per network with eDRV. For the realtime and command endpoints in particular, follow eDRV's guidance and use webhooks or event subscriptions where available rather than tight polling.

### How do I send a remote-start command through Jentic?

Install the SDK with pip install jentic, search Jentic for 'remotely start an EV charging session', load the schema for POST `/v1/commands/remotestart`, and execute with the chargestationId and connectorId. Jentic handles the OAuth exchange and returns the command result to the agent.

### Can I limit what my agent is allowed to do with the eDRV API?

Yes. Because you run Jentic One yourself, your own rules decide which eDRV operations and credentials the agent may use, so control commands like POST `/v1/commands/remotestart` and POST `/v1/commands/remotestop` are excluded unless you explicitly add them. eDRV also puts the vehicle id in the URL path, as in GET `/v1/vehicles/{id}/battery` and GET `/v1/vehicles/{id}/location`, so a rule can pin the agent to a single vehicle for telemetry reads. You can grant read-only access, for example listing charge stations with GET `/v1/chargestations`, while withholding the remote-start, reserve, and reset commands. The stored OAuth credential is injected at execution time and never enters the agent's prompt or context.
