DeveloperSkip to main content

  1. Fleet API
  2. Charging

Vehicle Endpoints

Endpoints

drivers

GET /api/1/vehicles/{vehicle_tag}/drivers

Returns all allowed drivers for a vehicle. This endpoint is only available for the vehicle owner.

drivers remove

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.

eligible_subscriptions

GET /api/1/dx/vehicles/subscriptions/eligibility

Returns eligible vehicle subscriptions.

eligible_upgrades

GET /api/1/dx/vehicles/upgrades/eligibility

Returns eligibile vehicle upgrades.

fleet_status

POST /api/1/vehicles/fleet_status

Checks whether vehicles can accept Tesla commands protocol for the partner's public key

fleet_telemetry_config create

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.

fleet_telemetry_config delete

DELETE /api/1/vehicles/{vehicle_tag}/fleet_telemetry_config

fleet_telemetry_config get

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.

fleet_telemetry_config_jws

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.

list

GET /api/1/vehicles

Returns vehicles belonging to the account. This endpoint is paginated with a default page size of 100 vehicles.

mobile_enabled

GET /api/1/vehicles/{vehicle_tag}/mobile_enabled

Returns whether or not mobile access is enabled for the vehicle.

nearby_charging_sites

GET /api/1/vehicles/{vehicle_tag}/nearby_charging_sites

Returns the charging sites near the current location of the vehicle.

options

GET /api/1/dx/vehicles/options

Returns vehicle option details.

recent_alerts

GET /api/1/vehicles/{vehicle_tag}/recent_alerts

List of recent alerts

release notes

GET /api/1/vehicles/{vehicle_tag}/release_notes

Returns firmware release notes.

service_data

GET /api/1/vehicles/{vehicle_tag}/service_data

Fetches information about the service status of the vehicle.

share_invites

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.

share_invites create

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.

share_invites redeem

POST /api/1/invitations/redeem

Redeems a share invite. Once redeemed, the account will gain access to the vehicle within the Tesla app.

share_invites revoke

POST /api/1/vehicles/{vehicle_tag}/invitations/{id}/revoke

Revokes a share invite. This invalidates the share and makes the link invalid.

signed_command

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.

subscriptions

GET /api/1/subscriptions

Returns the list of vehicles for which this mobile device currently subscribes to push notifications.

subscriptions set

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.

vehicle

GET /api/1/vehicles/{vehicle_tag}

Returns information about a vehicle.

vehicle_data

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.

vehicle_subscriptions

GET /api/1/vehicle_subscriptions

Returns the list of vehicles for which this mobile device currently subscribes to push notifications.

vehicle_subscriptions set

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.

wake_up

POST /api/1/vehicles/{vehicle_tag}/wake_up

Wakes the vehicle from sleep, which is a state to minimize idle energy consumption.

warranty_details

GET /api/1/dx/warranty/details

Returns the warranty information for a vehicle.