BetterFleet API surfaces¶
VDV-aligned message endpoint¶
| Route | Method | Status | Current behaviour |
|---|---|---|---|
/vdv261/v2icp/messages |
POST |
200, 401, 422, 502, 503 |
Requires VIN/EVCC-bound HTTP Basic authentication and validates a flat V2ICPVehicleRequest. Every request requires h2_stat and bat_stat. The facade obtains the current directive from Manage Core. A seq = 0 response contains every backend field, using SNA for unavailable values; later responses contain the applicable directive delta. Core transport or invalid-response failures return 502, while missing or invalid runtime integration configuration returns 503. |
The request and response body are flat JSON objects. Do not place vehicle or
backend fields inside parameters.
{
"seq": 0,
"vin": "WVWZZZ1JZXW000001",
"evccid": "001122334455",
"h2_stat": 0,
"bat_stat": 0
}
BetterFleet extensions¶
| Route | Method | Status | Purpose |
|---|---|---|---|
/vdv261/schemas |
GET |
200 |
Lists the published schema identifiers. |
/vdv261/schemas/{schema_name} |
GET |
200, 404 |
Returns a Pydantic JSON schema; unknown names return 404. |
/vdv261/v2icp/diagnostics |
POST |
202 |
Accepts a DiagnosticEvent; the facade does not persist it. |
/vdv261/openapi.json |
GET |
200 |
Returns the generated OpenAPI document used by this documentation site. |
These routes aid BetterFleet integration and are not defined by VDV 261.
Deployment boundary¶
VDV 261 expects the EVCC to send US-ASCII JSON over HTTPS through ISO 15118 VAS 3
InternetAccess, using IPv6 and port 443. It also defines TLS, User-Agent and
optional VIN-based Basic Authentication behaviour. BetterFleet requires
VIN/EVCC-bound Basic authentication at this facade. The VIN remains the Basic
username, and the submitted EVCC ID must match its credential binding. The
application does not enforce the surrounding VAS, IPv6, TLS, User-Agent,
response-size, or retry-state-machine requirements.
Reference artifacts: schema/openapi.json and the
generated API reference.