> ## 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 Overview

> Send commands to vehicles to control charging, security, navigation, and charge schedules.

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** — [Start charging](/api-reference/charging/start-charging), [stop charging](/api-reference/charging/stop-charging), [set charge limit](/api-reference/charging/set-charge-limit)
* **Security** — [Lock](/api-reference/security/lock-doors) and [unlock](/api-reference/security/unlock-doors) vehicle doors
* **Navigation** — [Set a destination](/api-reference/navigation/set-destination) in the vehicle's navigation system
* **Charge Schedules** — Configure [daily](/api-reference/charge-schedules/set-daily-charge-schedule), [weekly](/api-reference/charge-schedules/set-weekly-charge-schedule), or [workweek](/api-reference/charge-schedules/set-workweek-charge-schedule) charging windows, or [delete a schedule](/api-reference/charge-schedules/delete-charge-schedule)

Requests for vehicles from any other make return a [`VEHICLE_NOT_CAPABLE`](/errors/api-errors/v3/compatibility-errors#vehicle_not_capable) compatibility error:

```json theme={null}
{
  "type": "COMPATIBILITY",
  "code": "VEHICLE_NOT_CAPABLE"
}
```

After creating a schedule, read it back from the [`ChargeTimers`](/api-reference/signals/charge#chargetimers) signal. Timers with `"type": "LOCATION"` include a **scheduleType** and **scheduleId** — use the **scheduleId** to issue [`DELETE`](/api-reference/charge-schedules/delete-charge-schedule) 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](/api-reference/signals/schema) — via the [Vehicle Data API](/api-reference/list-signals) or a [Webhooks](/integrations/webhooks/overview). 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.

```bash theme={null}
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.
