# Smartcar

> Read and control connected cars with Smartcar: check battery, location, locks and odometer, lock and unlock doors, start and stop charging, set the charge limit and send a destination.

App · 13 actions. Web page: https://docs.lodol.com/docs/integrations/smartcar

## Actions

### Check compatibility

See which models of a car maker Smartcar supports, and which data and commands each one has.

**Inputs**

- Make (`make`, text, required): The car maker. One of: `Acura`, `Alfa Romeo`, `Audi`, `BMW`, `BYD`, `Buick`, `Cadillac`, `Chevrolet`, `Chrysler`, `Citroen`, and 36 more. Default: `Tesla`.
- Model (`model`, text): Only models whose name contains this, such as Model 3.
- Year (`year`, number): Only models made in this year. From 1990 to 2100.
- Region (`region`, text): Only models sold here. Leave empty for every region. One of: `US` (United States), `CA` (Canada), `EUROPE`.
- Powertrain (`powertrain`, text): Only electric, plug-in hybrid or petrol models. Leave empty for all. One of: `BEV` (Electric), `PHEV` (Plug-in hybrid), `ICE` (Petrol or diesel).

**Outputs**

- `count` (number): How many models
- `make` (text): The maker checked
- `models` (list): The supported models

**Example output**

```json
{
  "count": 1,
  "make": "Tesla",
  "models": [
    {
      "commands": [
        "Lock vehicle",
        "Start charging",
        "Unlock vehicle"
      ],
      "data": [
        "Battery level",
        "Location",
        "Odometer"
      ],
      "make": "Tesla",
      "model": "Model 3",
      "powertrain": "BEV",
      "region": "US",
      "year_from": 2016,
      "year_to": 2027
    }
  ]
}
```

### Disconnect vehicle

Disconnect a vehicle from your Smartcar application. Its owner must connect it again for workflows to reach it.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.

**Outputs**

- `disconnected` (true/false): Always true once disconnected
- `name` (text): Its year, make and model
- `vehicle_id` (text): The vehicle

**Example output**

```json
{
  "disconnected": true,
  "name": "2024 Tesla Model 3",
  "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1"
}
```

### Get all vehicle data

Read everything the vehicle reports at once: battery, charging, location, locks, odometer, tyres and more. 'values' has each reading by its code.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.

**Outputs**

- `count` (number): How many readings
- `signals` (list): Every reading, by label
- `values` (object): Each reading's value, keyed by its code
- `vehicle_id` (text): The vehicle

**Example output**

```json
{
  "count": 1,
  "signals": [
    {
      "code": "tractionbattery-stateofcharge",
      "data": {
        "unit": "percent",
        "value": 78
      },
      "group": "TractionBattery",
      "label": "Battery: charge level",
      "name": "StateOfCharge",
      "status": "SUCCESS",
      "unit": "percent",
      "updated_at": "2026-10-19T20:38:31.793Z",
      "value": 78
    }
  ],
  "values": {
    "tractionbattery-stateofcharge": 78
  },
  "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1"
}
```

### Get vehicle

Get one connected vehicle's make, model and year, who connected it and what they allowed.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.

**Outputs**

- `vehicle` (object): The vehicle

**Example output**

```json
{
  "vehicle": {
    "connected_at": "2026-10-19T20:37:15.325Z",
    "connection_id": "13a8da0a-e026-4dbe-a5c4-0cfe58d906dc",
    "make": "Tesla",
    "model": "Model 3",
    "name": "2024 Tesla Model 3",
    "permissions": [
      "control_charge",
      "control_security",
      "read_battery"
    ],
    "powertrain": "BEV",
    "simulated": false,
    "status": "ACTIVE",
    "user_id": "ed17e1f5-b475-4543-b339-43333b3b4366",
    "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1",
    "year": 2024
  }
}
```

### Get vehicle data

Read one thing from the vehicle, such as its battery level, location, whether it's locked, or its odometer.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.
- Data (`signal`, text, required): What to read from the vehicle. One of: `lowvoltagebattery-stateofcharge` (12V battery: charge level), `lowvoltagebattery-status` (12V battery: status), `vehicleuseraccount-permissions` (Account: permissions), `vehicleuseraccount-role` (Account: role), `tractionbattery-stateofcharge` (Battery: charge level), `tractionbattery-isheateractive` (Battery: heater active), `tractionbattery-maxrangechargecounter` (Battery: max range charge counter), `tractionbattery-nominalcapacity` (Battery: nominal capacity), `tractionbattery-range` (Battery: range), `charge-amperage` (Charge: amperage), and 83 more. Default: `tractionbattery-stateofcharge`.

**Outputs**

- `signal` (object): The reading
- `vehicle_id` (text): The vehicle

**Example output**

```json
{
  "signal": {
    "code": "tractionbattery-stateofcharge",
    "data": {
      "unit": "percent",
      "value": 78
    },
    "group": "TractionBattery",
    "label": "Battery: charge level",
    "name": "StateOfCharge",
    "status": "SUCCESS",
    "unit": "percent",
    "updated_at": "2026-10-19T20:38:31.793Z",
    "value": 78
  },
  "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1"
}
```

### List vehicles

List the vehicles connected to your Smartcar application, with their make, model, year and what their owners allowed.

**Inputs**

- Page (`page`, number): Which page of results to return, starting at 1. At least 1. Default: `1`.
- Results per page (`limit`, number): How many to return per page, 1-100. Defaults to 50. From 1 to 100. Default: `50`.

**Outputs**

- `has_more` (true/false): Whether a later page has more
- `page` (number): The page returned, from 1
- `total` (number): How many there are in all
- `vehicles` (list): The connected vehicles

**Example output**

```json
{
  "has_more": false,
  "page": 1,
  "total": 1,
  "vehicles": [
    {
      "connected_at": "2026-10-19T20:37:15.325Z",
      "connection_id": "13a8da0a-e026-4dbe-a5c4-0cfe58d906dc",
      "make": "Tesla",
      "model": "Model 3",
      "name": "2024 Tesla Model 3",
      "permissions": [
        "control_charge",
        "control_security",
        "read_battery"
      ],
      "powertrain": "BEV",
      "simulated": false,
      "status": "ACTIVE",
      "user_id": "ed17e1f5-b475-4543-b339-43333b3b4366",
      "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1",
      "year": 2024
    }
  ]
}
```

### Lock doors

Lock the vehicle's doors.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.

**Outputs**: What Smartcar did

- `command` (text)
- `command_id` (text)
- `completed_at` (text)
- `executed_at` (text)
- `parameters` (object)
- `status` (text)
- `vehicle_id` (text)

**Example output**

```json
{
  "command": "security-lock",
  "command_id": "81664db2-1221-416a-b8b9-16060e1eada8",
  "completed_at": "2026-10-19T20:38:24.501Z",
  "executed_at": "2026-10-19T20:38:24.340Z",
  "parameters": {},
  "status": "SUCCESS",
  "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1"
}
```

### Remove vehicle owner

Remove the person who connected a vehicle from your Smartcar application. All their vehicles are disconnected and Smartcar deletes their data.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.

**Outputs**

- `removed` (true/false): Always true once removed
- `user_id` (text): The owner removed
- `vehicle_id` (text): The vehicle picked

**Example output**

```json
{
  "removed": true,
  "user_id": "ed17e1f5-b475-4543-b339-43333b3b4366",
  "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1"
}
```

### Send destination

Send a destination to the vehicle's navigation system.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.
- Latitude (`latitude`, number, required): The destination's latitude, from -90 to 90. From -90 to 90.
- Longitude (`longitude`, number, required): The destination's longitude, from -180 to 180. From -180 to 180.

**Outputs**: What Smartcar did

- `command` (text)
- `command_id` (text)
- `completed_at` (text)
- `executed_at` (text)
- `parameters` (object)
- `status` (text)
- `vehicle_id` (text)

**Example output**

```json
{
  "command": "navigation-set-destination",
  "command_id": "81664db2-1221-416a-b8b9-16060e1eada8",
  "completed_at": "2026-10-19T20:38:24.501Z",
  "executed_at": "2026-10-19T20:38:24.340Z",
  "parameters": {
    "latitude": 51.5007,
    "longitude": -0.1246
  },
  "status": "SUCCESS",
  "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1"
}
```

### Set charge limit

Set the most an electric vehicle charges its battery to.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.
- Charge limit (`percent`, number, required): The most the battery charges to, in percent (50-100). From 50 to 100. Default: `80`.

**Outputs**: What Smartcar did

- `command` (text)
- `command_id` (text)
- `completed_at` (text)
- `executed_at` (text)
- `parameters` (object)
- `status` (text)
- `vehicle_id` (text)

**Example output**

```json
{
  "command": "charge-set-limit",
  "command_id": "81664db2-1221-416a-b8b9-16060e1eada8",
  "completed_at": "2026-10-19T20:38:24.501Z",
  "executed_at": "2026-10-19T20:38:24.340Z",
  "parameters": {
    "percent": 80
  },
  "status": "SUCCESS",
  "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1"
}
```

### Start charging

Start charging an electric vehicle that is plugged in.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.

**Outputs**: What Smartcar did

- `command` (text)
- `command_id` (text)
- `completed_at` (text)
- `executed_at` (text)
- `parameters` (object)
- `status` (text)
- `vehicle_id` (text)

**Example output**

```json
{
  "command": "charge-start",
  "command_id": "81664db2-1221-416a-b8b9-16060e1eada8",
  "completed_at": "2026-10-19T20:38:24.501Z",
  "executed_at": "2026-10-19T20:38:24.340Z",
  "parameters": {},
  "status": "SUCCESS",
  "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1"
}
```

### Stop charging

Stop charging an electric vehicle.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.

**Outputs**: What Smartcar did

- `command` (text)
- `command_id` (text)
- `completed_at` (text)
- `executed_at` (text)
- `parameters` (object)
- `status` (text)
- `vehicle_id` (text)

**Example output**

```json
{
  "command": "charge-stop",
  "command_id": "81664db2-1221-416a-b8b9-16060e1eada8",
  "completed_at": "2026-10-19T20:38:24.501Z",
  "executed_at": "2026-10-19T20:38:24.340Z",
  "parameters": {},
  "status": "SUCCESS",
  "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1"
}
```

### Unlock doors

Unlock the vehicle's doors.

**Inputs**

- Vehicle (`vehicle`, text, required): The connected vehicle.

**Outputs**: What Smartcar did

- `command` (text)
- `command_id` (text)
- `completed_at` (text)
- `executed_at` (text)
- `parameters` (object)
- `status` (text)
- `vehicle_id` (text)

**Example output**

```json
{
  "command": "security-unlock",
  "command_id": "81664db2-1221-416a-b8b9-16060e1eada8",
  "completed_at": "2026-10-19T20:38:24.501Z",
  "executed_at": "2026-10-19T20:38:24.340Z",
  "parameters": {},
  "status": "SUCCESS",
  "vehicle_id": "2971bcf5-7d20-466c-9933-f0457ea006a1"
}
```
