Vehicles and Energy Sites
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 --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 --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 --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_modeandgrid_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_configandDELETE /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.