The fleet telemetry platform, without the friction
One API for connected vehicles. Your users link their car through our hosted Connect flow; you read vehicles, battery, charging sessions — and insurance-grade telematics: 30-second vehicle-native speed samples, trip segmentation, UBI safety and eco scoring, and crash-proxy incident events. Clean REST, metered per call, no dongles, no OEM contracts. Ford, Hyundai, Kia, Volkswagen, Audi, Rivian, Porsche, and Polestar credentials supported for platform ingestion. Read-only by design.
curl https://www.telemiq.io/api/v1/vehicles -H "Authorization: Bearer $TELEMIQ_TOKEN"Built for your vertical
One vehicle-telemetry platform, six ways to use it. Every solution runs on the same consent-gated API — vehicle-native driving data, UBI scoring, charging sessions, and incident records — surfaced for the way your business works.
Fleet Management
Driver safety scoring, live vehicle state, trip analytics, and GPS trace maps for commercial fleets — straight from the vehicle, no dongles.
Insurance Telematics
Usage-based insurance on real driving: UBI safety and eco scores, harsh-event detection, crash-proxy incidents, and distance-weighted risk data.
Charging & Rewards
Smart-charging sessions with verified kWh, CO₂ offsets, CFR carbon-credit accounting, and DriveCoins engagement for EV program members.
Eco Driving & Sustainability
Per-vehicle eco scores that quantify fuel/energy waste, brake wear, and tire wear from aggressive driving — the data behind ESG reporting.
Incident & Trip Analysis
Second-resolution trip reconstruction: GPS traces colored by harsh brake, harsh accel, and speeding segments, with crash-proxy incident records.
Mobility Platforms
One API for multi-brand EV data — battery, charging, odometer, location — through a single hosted Connect flow. Smartcar-compatible shapes.
Core resources
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/v1/compatibility?vin=… | VIN eligibility screening before you invite a driver to connect (Smartcar-style). WMI→brand resolution against live connector coverage: full / beta / unknown, plus knownToPlatform for VINs already on Telemiq. Run at quote time to decide which policyholders get a Connect invite. |
| GET | /api/v1/openapi.json | Machine-readable OpenAPI 3.1 spec of this API — hand it to procurement/security review or generate an SDK client from it. |
| GET | /api/v1/vehicles | Vehicles connected to your app. Smartcar-compatible list shape. Reports use stable per-app veh_… tokens — raw VINs never leave Telemiq. |
| GET | /api/v1/vehicles/{vin} | Full live state — battery, charging, location, odometer, attributes. |
| GET | /api/v1/vehicles/{vin}/battery | State of charge (%) and estimated range (km). |
| GET | /api/v1/vehicles/{vin}/charge | Charging state, plug status, power (kW), session energy. |
| GET | /api/v1/vehicles/{vin}/location | GPS coordinates (requires read_location permission). |
| GET | /api/v1/vehicles/{vin}/odometer | Odometer reading in km. |
| GET | /api/v1/vehicles/{vin}/odometer/history?from=&to= | Interval-verified mileage history — the UBI ask Smartcar can't serve (they purge history). Rolling 7-day odometer deltas computed daily from streamed frames, null = unsampled (never estimated), plus distanceDrivenKm over non-overlapping windows and the current absolute reading. |
| GET | /api/v1/vehicles/{vin}/battery/capacity | Battery capacity (null until the OEM reports it — never estimated) + observedMaxSessionKwh, a measured lower bound from the vehicle's verified charging history. |
| GET | /api/v1/vehicles/{vin}/permissions | Per-vehicle consent audit: the exact read_* scopes the owner granted your app, connect/revoke timestamps, tokenized vehicle id. Compliance teams run this against their consent ledger. |
| GET | /api/v1/vehicles/{vin}/batch?resources=battery,odometer,location | Multi-signal single call (Smartcar batch parity): up to 5 resources in one metered request. Each resource permission-gated independently — a denied scope returns an inline error for that resource only. |
| DELETE | /api/v1/vehicles/{vin}/connection | App-initiated disconnect: revokes the owner's consent for YOUR app, stamps revokedAt, emits consent.revoked. Idempotent. OAuth hygiene parity with Smartcar disconnect. |
| GET | /api/v1/vehicles/{vin}/positions?from=&to= | Position trail: GPS-fence-audited charge-start anchors + current live position when online (requires read_location). Provenance + compliance verdict on every point; continuous GPS streaming is not collected. |
| GET | /api/v1/vehicles/{vin}/attributes | VIN, make, model, year, brand. |
| GET | /api/v1/charging-sessions?limit=50 | Charging history across connected vehicles, newest first. With the insurance:evidence scope, sessions carry a verification evidence object (GPS fence, AC power audit, audit trail). |
| GET | /api/v1/vehicles/{vin}/behavior?days=30 | Driving-behaviour summary: distance, driving time, max/avg speed, harsh-acceleration and harsh-braking counts. Vehicle-native samples at 30s cadence while the car is awake. |
| GET | /api/v1/vehicles/{vin}/scores?days=7 | UBI scores — Safety (braking 30% + acceleration 30% + speeding 40%) and Eco (0–100), daily series plus distance-weighted aggregate. Unscored under 1 km/day. |
| GET | /api/v1/vehicles/{vin}/trips?days=30 | Segmented trips: start/end, duration, distance from odometer delta, max/avg speed, sample count. confidence field marks data provenance (vehicle_native). |
| GET | /api/v1/vehicles/{vin}/incidents?days=90 | Crash-proxy events: harsh-deceleration spikes (≥25 kph/s) with severity, speeds before/after, and optional GPS. Proxy signal — corroborate before claims decisions. |
| GET | /api/v1/fleet/points?days=30 | DriveCoins earned across your connected fleet: totals + per-vehicle breakdown. Distance-weighted, safety-linked, forfeited on scores below 50. |
| GET | /api/v1/fleet/connections | Driver roster: drivers who connected via YOUR app (hosted Connect flow) with consent scopes, vehicles (tokenized), connect/revoke timestamps, data freshness. Per-app drv_… tokens — Telemiq user ids never exposed. |
| POST | /api/v1/fleet/invites | Create a single-use driver invite link ({ note?, expiresInDays? 1–90, default 14 }). Send the URL to your driver — they land on your branded Connect screen, sign in, grant; the invite auto-accepts (max 200/app). |
| GET | /api/v1/fleet/summary | Your fleet's KPIs only — drivers, vehicles, 30-day sessions, verification rate, verified kWh, consent coverage. Platform-wide figures never mixed in. |
| GET | /api/v1/fleet/leaderboard?days=30 | Fleet vehicles ranked by distance-weighted safety score, with DriveCoins and rank badges. Built for UBI program leaderboards. |
| GET | /api/v1/reports/risk?period=last-30d | Weekly per-vehicle risk rollups: verified charging kWh, home/night/weekend mix, odometer-delta mileage (null when not measured — never estimated). |
| GET | /api/v1/reports/carbon?period=2026-Q4 | Audited carbon report: verified kWh + CO2e offset per vehicle with a stable methodology hash (CFR/MVC traceability). Fleet totals included. |
| GET | /api/v1/reports/utilization?period=month | Per-vehicle charging utilization: session counts, reimbursable home-charging kWh, home/away/other mix, average session size, last activity. |
| POST | /api/v1/geofences | Create a fence: { name, kind: home|depot|client|other, lat, lng, radiusM 50–10000 }. Max 100/app. |
| GET | /api/v1/geofences | List this app's fences (GET/PATCH/DELETE on /api/v1/geofences/{id}). |
| GET | /api/v1/geofences/{id}/events?from=&to= | Computed geofence.enter / geofence.exit transitions + visit summaries from charge-start anchors of vehicles connected with read_location consent. Vehicle identities tokenized (veh_…). Same events stream via webhooks. |
| PUT | /api/v1/alerts/soc | Battery-threshold alerts: { enabled, thresholdPct 5–50 }. Emits vehicle.soc.below once per crossing below threshold for vehicles with read_battery consent. Default off, threshold 20%. |
| POST | /api/dev/sandbox | Seed your app's demo fleet: 1–5 simulated vehicles (default 3) with 30 days of history — verified home charging sessions, trips, rolling odometer rollups, DriveCoins, safety/eco scores, and one FNOL-testable harsh-braking incident. Vehicles flow through every /api/v1 endpoint flagged test:true, never touch member data, and don't count against plan caps. DELETE wipes; the /developers console has Seed/Reset/Wipe buttons. |
| GET | /api/fleet/score/safety?vin={vin}&period=30 | Accumulated + daily safety scores. period=7|14|30|90, mode=accumulated|daily. Component breakdown: braking 30%, acceleration 30%, speeding 40%. |
| GET | /api/fleet/score/eco?vin={vin}&period=30 | Eco score with efficiency (km/kWh from charging sessions) and harsh-events-per-100km penalty. |
| GET | /api/fleet/score/trust?vin={vin}&period=30 | Trust Score — data-quality composite (coverage/density/freshness/continuity). Weight driving scores by trust when blending fleets or pricing risk. |
| GET | /api/fleet/scores?period=30 | Whole-fleet ranked score snapshot in one call — distance-weighted, with fleet summary (avg, best, worst). No per-vehicle round-trips. |
| GET | /api/fleet/incidents/{id} | Crash-event detail: kinematics, peak decel recomputed from buffer, pre/post sample buffer (120s/90s vehicle-stream). FNOL triage. |
| GET | /api/fleet/export/daily?from=2026-09-01&to=2026-09-14 | Structured 7-table daily export (TripSummary, TrackPoints, TrackEvents, ScoringSummary, VehicleSummary, Incidents, DailyUsage) — CSVs in a JSON envelope. |
| POST | /api/dev/webhooks | Register a webhook endpoint. Events: charge.started, charge.completed, vehicle.connected, vehicle.disconnected, consent.granted, consent.revoked, vehicle.incident (crash proxy, FNOL triage), geofence.enter, geofence.exit, vehicle.soc.below (threshold via /api/v1/alerts/soc), fleet.weekly_digest (Monday 09:00 ET safety digest). HMAC-signed, auto-retry with backoff. |
| GET | /api/dev/connect?app_id={id} | Hosted Connect flow — send your end users here to link their vehicle. They sign in, review permissions, and grant your app access. Driving data flows only after an explicit opt-in checkbox; members can view and revoke grants anytime in settings. |
| POST | /api/dev/apps | Create an application and receive a tmq_sk_… API key (developer portal). |
Metered, like utility power
| Plan | Price | Includes | Overage / extras |
|---|---|---|---|
| Free | $0 | 1 vehicle · 10,000 calls/mo | All read endpoints · community support |
| Plus | $49/mo | 10 vehicles · 250,000 calls/mo | $5/vehicle over · $0.002/call over · email support |
| Enterprise | $499/mo | 500 vehicles · 10M calls/mo | $3/vehicle over · $0.0005/call over · webhooks · SLA |
99.98% uptime
Multi-region infrastructure with automatic failover.
~2s webhook latency
Events delivered as they happen, with retry and replay.
Read-only scopes
Official manufacturer OAuth where available. No commands, no credentials stored.
Invite-only access
Businesses are enrolled individually — we onboard each partner and issue keys after setup.