Vehicle Endpoints
GET /api/1/vehicles/{vehicle_tag}/drivers
Returns all allowed drivers for a vehicle. This endpoint is only available for the vehicle owner.
DELETE /api/1/vehicles/{vehicle_tag}/drivers
Removes 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
Returns eligible vehicle subscriptions.
POST /api/1/vehicles/fleet_status
Checks whether vehicles can accept Tesla commands protocol for the partner's public key
POST /api/1/vehicles/fleet_telemetry_config
Configures vehicles to connect to a self-hosted fleet-telemetry server. This endpoint should be called through the vehicle-command HTTP proxy. The configured private key will be used to sign the configuration.
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-2021 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
.
- If calling directly, vehicles running firmware version earlier than
GET /api/1/vehicles/{vehicle_tag}/fleet_telemetry_config
Fetches 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.
POST /api/1/vehicles/fleet_telemetry_config_jws
Configures 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
Returns vehicles belonging to the account. This endpoint is paginated with a default page size of 100 vehicles.
GET /api/1/vehicles/{vehicle_tag}/mobile_enabled
Returns whether or not mobile access is enabled for the vehicle.
GET /api/1/vehicles/{vehicle_tag}/nearby_charging_sites
Returns the charging sites near the current location of the vehicle.
GET /api/1/vehicles/{vehicle_tag}/service_data
Fetches information about the service status of the vehicle.
GET /api/1/vehicles/{vehicle_tag}/invitations
Returns 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/redeem
Redeems 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}/revoke
Revokes a share invite. This invalidates the share and makes the link invalid.
POST /api/1/vehicles/{vehicle_tag}/signed_command
Signed 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/subscriptions
Returns the list of vehicles for which this mobile device currently subscribes to push notifications.
POST /api/1/subscriptions
Allows a mobile device to specify which vehicles to receive push notifications from. When calling from a mobile device, it is sufficient to only provide the vehicle IDs to which the mobile device wishes to subscribe to.
GET /api/1/vehicles/{vehicle_tag}/vehicle_data
Makes a live call to the vehicle to fetch realtime information. Regularly polling this endpoint is not recommended and will exceed rate limits (see Subscription Plans) quickly. Instead, Fleet Telemetry allows the vehicle to push data directly to a server whenever it is online.
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.
GET /api/1/vehicle_subscriptions
Returns the list of vehicles for which this mobile device currently subscribes to push notifications.
POST /api/1/vehicle_subscriptions
Allows a mobile device to specify which vehicles to receive push notifications from. It is sufficient to only provide the vehicle IDs to which a mobile device wishes to subscribe to.
POST /api/1/vehicles/{vehicle_tag}/wake_up
Wakes the vehicle from sleep, which is a state to minimize idle energy consumption.