Vehicles and Energy Sites

Reading data from, and sending commands to, the products your customers share.

Requests for a shared product use the same paths as the Tesla Fleet API, on your base URL. Each request runs with the access of the customer who shared the product.

Vehicles

Curl Example
curl --header "Authorization: Bearer {token}" 'https://api.teslemetry.pro/api/1/vehicles/{vin}/vehicle_data'

Vehicle endpoints include /api/1/vehicles/{vin}, vehicle_data, telemetry, fleet_telemetry_config, fleet_telemetry_errors, charge_history, recent_alerts, nearby_charging_sites and release_notes. GET /api/image/{vin} returns an image of the vehicle.

There is no endpoint to list every vehicle: list your consented products instead.

Energy sites

Curl Example
curl --header "Authorization: Bearer {token}" 'https://api.teslemetry.pro/api/1/energy_sites/{id}/live_status'

Energy site endpoints include site_info, live_status, calendar_history, telemetry_history and programs.

Commands

Your apps can send commands to the vehicles and energy sites your customers share, when you asked for command access at setup. Every customer who connects grants it. Commands use the Fleet API command paths:

Curl Example
curl --request POST --header "Authorization: Bearer {token}" 'https://api.teslemetry.pro/api/1/vehicles/{vin}/command/charge_start'

Which commands you can send follows your choice:

  • Vehicle access, data and commands - vehicle commands, including wake_up. With Charging commands only, your customers grant Teslemetry only Tesla's charging permission, and Tesla refuses other commands for customers who did not grant more.
  • Energy site access, commands - energy site settings such as backup, operation, storm_mode and grid_import_export.

A command for a product type you did not ask command access for is refused with 403 insufficient_scope.

Teslemetry wakes an asleep vehicle before a command and retries failed commands, as it does on teslemetry.com. Each vehicle needs the Teslemetry virtual key, which your customers install before they can share it.

What a key cannot do

These are refused with 403 insufficient_scope, because they would change a customer's own account rather than a product they shared with you:

  • Changes to a vehicle's drivers or invitations.
  • POST /api/1/vehicles/fleet_telemetry_config and DELETE /api/1/vehicles/{vin}/fleet_telemetry_config. Use streaming config instead.
  • Any request that does not name a VIN or energy site id in its path, such as GET /api/1/vehicles.

See Errors and Limits for every error a request can return.