Tesla Fleet API for shops: what it can and cannot do

The Fleet API gives an authorized application about 60 vehicle commands and a streaming telemetry channel — scoped by OAuth, gated by a virtual key the owner adds to the car, and revocable by the owner at any time.

What it does not give anyone is Service Mode, a key-card wipe, or a way for a shop to connect a car without the owner in the loop. Every honest shop-side Tesla product is built inside those three walls.

What is the Tesla Fleet API?

It is Tesla's official interface for third-party applications: an OAuth-scoped REST API of roughly 60 vehicle commands plus Fleet Telemetry, a streaming channel that pushes vehicle signals to an authorized application. A shop uses it through a vendor's application; it is not something a shop stands up on its own counter.

The published command list at developer.tesla.com includes door_lock and door_unlock, actuate_trunk, charge_port_door_open and _close, honk_horn, flash_lights, remote_start_drive, set_valet_mode, reset_valet_pin, set_sentry_mode, set_pin_to_drive, window_control, guest_mode, and trigger_homelink. It is a useful list. It is a partial list — Tesla publishes roughly sixty. What matters is that the published list is exhaustive: if a capability is not on it, no application has it.

Can a shop connect a customer's Tesla without the owner?

No. Signed vehicle commands require the owner to add the application's virtual key to the car through a tesla.com/_ak/<domain> link or QR code. Tesla describes this as requiring a trusted user-in-the-loop, preventing even Tesla's backend from accessing these capabilities. There is no path where a shop unilaterally instruments a customer's car.

Tesla’s own phrasing in the virtual-keys developer guide is worth quoting because it settles arguments: adding a key “requires a trusted user-in-the-loop, preventing even Tesla’s backend from accessing these capabilities” (developer.tesla.com). If your vendor’s demo skips this step, ask which car they were demoing on.

Which scopes does a custody use case actually need?

vehicle_device_data for vehicle state, vehicle_location for anything geofenced, vehicle_cmds for lock and unlock style commands, vehicle_charging_cmds for charging, and offline_access for refresh tokens across a multi-day visit. Applications cannot self-escalate — a wider scope requires the owner to grant again.

Is Fleet Telemetry cheaper than polling the REST API?

Substantially. Telemetry buckets data every 500 milliseconds and pushes only when a value has changed and the interval has elapsed, instead of asking the car repeatedly. Tesla's own billing example works out to about $0.0067 per hour for telemetry against $0.12 per hour for REST polling — roughly 94% cheaper.

Both figures come from Tesla’s billing and limits documentation (developer.tesla.com), alongside the Fleet Telemetry overview. The cost difference is why flat per-location pricing is even possible for a custody product — a car parked in a paint booth for two weeks generates almost no telemetry traffic, because almost nothing about it changes.

How many apps can stream from one Tesla at once?

A vehicle can stream Fleet Telemetry to five third-party applications simultaneously. In practice that means a shop's custody app does not have to displace whatever the owner already uses; both can be connected during the same visit.

What can the Fleet API never do?

It cannot enter or exit Service Mode — no such command exists in the vehicle-commands list. It cannot wipe an NFC key card. It cannot recover a scope the owner revoked, and revoking a scope automatically removes telemetry configurations that depended on it. Anything a vendor claims beyond the published command list should be treated as marketing.

On Service Mode specifically, the API is asymmetric in a way shops should understand: Fleet Telemetry streams a read-only vehicle_state.service_mode boolean (available data reference), so software can see the state but never set it. Entry is a touchscreen sequence or a cabled Toolbox 3 session — see Valet Mode vs Service Mode.

Revocation belongs to the owner and works from either end: Tesla Account > Security > Third-Party Apps, or delete the virtual key from the car’s Locks screen (Fleet API FAQ).

What are the privacy obligations around connected-car data?

Regulators have moved from guidance to enforcement. The FTC finalized its order against GM and OnStar in January 2026 — a twenty-year order with a five-year ban on sharing geolocation data with consumer reporting agencies. California's Attorney General settled with GM for $12.75 million, and the California Privacy Protection Agency's first CCPA settlement, with Honda, landed at $632,500 in March 2025. The defensible posture is to collect only what the job requires and to end collection when the job ends.

The FTC’s finalized GM and OnStar order is the clearest signal (ftc.gov). The through-line across all three actions is not “connected car data is illegal” — it is that collection without meaningful consent, and retention past the purpose, is what gets punished. A shop that turns collection on at check-in and off at pickup is on the right side of that line by construction. Our own version is on the privacy page: collect only what the custody job needs, never sell vehicle data, end the consent window at pickup.

Why this matters commercially

There are roughly 105,000 auto body shops in the United States running a $67.7 billion industry (IBISWorld, 2026), and millions of Teslas on US roads feeding into them. Meanwhile a 2025 PartsTech and OEC survey of 752 shops found only about 3% of technicians proficient in EV maintenance, under 10% qualified for battery work, and 25% of general shops doing no EV work at all (PartsTech).

Sources

Keep reading