Vehicle Endpoints
GET /api/1/vehicles/{vehicle_tag}/driversReturns all allowed drivers for a vehicle. This endpoint is only available for the vehicle owner.
DELETE /api/1/vehicles/{vehicle_tag}/driversRemoves driver access from a vehicle. Share users can only remove their own access. Owners can remove share access or their own.
GET /api/1/dx/vehicles/subscriptions/eligibility?vin={vin}Returns eligible vehicle subscriptions.
GET /api/1/dx/vehicles/upgrades/eligibility?vin={vin}Returns eligibile vehicle upgrades.
POST /api/1/vehicles/fleet_statusProvides information necessary to determine a vehicle's state as it pertains to the application.
vehicle_command_protocol_required: If the vehicle requires the Vehicle Command Protocol.safety_screen_streaming_toggle_enabled: If the user has toggled the Allow Third-Party App Data Streaming toggle in the Safety screen. This option is only available on older Model S and Model X vehicles with Intel based car computers.firmware_version: The firmware version of the vehicle.fleet_telemetry_version: The version of the fleet telemetry client running on the vehicle. This is used to identify client capabilities.total_number_of_keys: The number of keys on the vehicle. A maximum of 20 keys are supported.discounted_device_data: If the vehicle qualifies for discounted vehicle_data calls. This is only available when the endpoint is called with one VIN.
POST /api/1/vehicles/fleet_telemetry_configConfigures vehicles to connect to a self-hosted fleet-telemetry server. This endpoint should be called through the Vehicle Command Proxy. The configured private key will be used to sign the configuration. The endpoint can be used to create or update configurations.
Available fields are described on the Available Data page.
Note: legacy applications configured using a CSR may still call this endpoint directly. It is recommended to transition to using the vehicle-command proxy.
If any specified VINs are not configured, the response will include skipped_vehicles. VINs may be rejected for a few reasons:
missing_key: The virtual key has not been added to the vehicle. Distributing a public key.unsupported_hardware: Pre-2018 Model S and X are not supported.unsupported_firmware:- If calling directly, vehicles running firmware version earlier than
2023.20. - If using the vehicle-command HTTP proxy, vehicles running firmware version earlier than
2024.26. - For Intel Atom based Model S or Model X, vehicles running firmware version earlier than
2025.20
- If calling directly, vehicles running firmware version earlier than
max_configs: Vehicles that already have five configurations present.
Fleet Telemetry configuration will automatically be removed if a user revokes an application's access.
DELETE /api/1/vehicles/{vehicle_tag}/fleet_telemetry_configRemove a fleet telemetry configuration from a vehicle. Removes the configuration for any vehicle if called with a partner token.
GET /api/1/vehicles/{vehicle_tag}/fleet_telemetry_configFetches a vehicle's fleet telemetry config. synced set to true means the vehicle has adopted the target config. synced set to false means the vehicle will attempt to adopt the target config when it next establishes a backend connection. Note that the vehicle only allows 3 configurations per vehicle for streaming via fleet telemetry. If limit_reached set to true, vehicle has reached max supported applications and new fleet telemetry requests cannot be added to the vehicle.
POST /api/1/vehicles/fleet_telemetry_config_jwsConfigures vehicles to connect to a self-hosted fleet-telemetry server by accepting a signed configuration token.
It is not recommended to use this endpoint directly.
The recommended approach for configuring vehicles is calling the fleet_telemetry_config create endpoint through the vehicle-command proxy. This will automatically sign the configuration using the configured private key and forward the request to this endpoint.
If using this endpoint directly, the JWS token must be crafted using a Schnorr signatures algorithm using NIST P-256 and SHA-256.
VINs may be rejected for a few reasons:
missing_key: The virtual key has not been added to the vehicle. Distributing a public key.unsupported_hardware: Pre-2021 Model S and X are not supported.unsupported_firmware: Vehicles running firmware version earlier than 2024.26.
GET /api/1/vehicles/{vehicle_tag}/fleet_telemetry_errorsReturns recent fleet telemetry errors reported for the specified vehicle after receiving the config.
GET /api/1/vehiclesReturns vehicles belonging to the account. This endpoint is paginated with a default page size of 100 vehicles.
GET /api/1/vehicles/{vehicle_tag}/mobile_enabledReturns whether or not mobile access is enabled for the vehicle.
GET /api/1/vehicles/{vehicle_tag}/nearby_charging_sitesReturns the charging sites near the current location of the vehicle.
GET /api/1/vehicles/{vehicle_tag}/service_dataFetches information about the service status of the vehicle.
GET /api/1/vehicles/{vehicle_tag}/invitationsReturns the active share invites for a vehicle. This endpoint is paginated with a max page size of 25 records.
POST /api/1/vehicles/{vehicle_tag}/invitations- Each invite link is for single-use and expires after 24 hours.
- An account that uses the invite will gain Tesla app access to the vehicle, which allows it to do the following:
- View the live location of the vehicle.
- Send remote commands.
- Download the user's Tesla profile to the vehicle.
- To remove access, use the revoke API.
- If a user does not have the Tesla app installed, they will be directed to this webpage for guidance.
- A user can set up their phone as key with the Tesla app when in proximity of the vehicle.
- The app access provides DRIVER privileges, which do not encompass all OWNER features.
- Up to five drivers can be added at a time .
- This API does not require the car to be online.
POST /api/1/invitations/redeemRedeems a share invite. Once redeemed, the account will gain access to the vehicle within the Tesla app.
POST /api/1/vehicles/{vehicle_tag}/invitations/{id}/revokeRevokes a share invite. This invalidates the share and makes the link invalid.
POST /api/1/vehicles/{vehicle_tag}/signed_commandSigned Commands is a generic endpoint replacing legacy commands. It accepts any of the scopes listed above, depending on the type of command. It uses the Tesla Vehicle Command Protocol to execute commands on a vehicle. Please see the vehicle command SDK - tesla-http-proxy for more information.
GET /api/1/vehicles/{vehicle_tag}/vehicle_dataMakes a live call to the vehicle to fetch realtime information. Regularly polling this endpoint is not recommended and will be expensive. Instead, Fleet Telemetry provides an efficient data stream for online vehicles.
For vehicles running firmware versions 2023.38+, location_data is required to fetch vehicle location. This will result in a location sharing icon to show on the vehicle UI.
POST /api/1/vehicles/{vehicle_tag}/wake_upWakes the vehicle from sleep, which is a state to minimize idle energy consumption.