Skip to main content

Documentation Index

Fetch the complete documentation index at: https://smartcar.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Commands let your application take action on a vehicle. Unlike signals, which read vehicle state, commands write to it β€” they alter the data or state of the vehicle.

Available Commands

Charge Schedules

The following makes currently support charge schedules. More brands will be added over time.
MakeSupported SchedulesNotes
TeslaDaily, Weekly, Workweekβ€”
VolvoDaily onlyBrand quirks apply β€” review before integrating
Requests for vehicles from any other make return a VEHICLE_NOT_CAPABLE compatibility error:
{
  "type": "COMPATIBILITY",
  "code": "VEHICLE_NOT_CAPABLE"
}
After creating a schedule, read it back from the ChargeTimers signal. Timers with "type": "LOCATION" include a scheduleType and scheduleId β€” use the scheduleId to issue DELETE requests. The signal reflects all schedules on the vehicle, including any set outside of the API.

Data State Changes

Commands do not return updated vehicle state. After issuing a command, confirm or monitor its effect by reading the corresponding signal β€” via the Vehicle Data API or a Webhooks. Signal updates may be delayed as the change propagates to the vehicle.

Key Concepts

sc-user-id Header

All command endpoints require the sc-user-id header. Your bearer token is application-level and does not carry per-user context, so this header must be provided on every request to identify which user’s vehicle to act on.
POST https://vehicle.api.smartcar.com/v3/vehicles/{vehicleId}/commands/charge/start
Authorization: Bearer YOUR_ACCESS_TOKEN
sc-user-id: {userId}

202 Response

A 202 means the command is in process but is long-running. Always read the response body to determine success or failure of the actual command.