Lock & Unlock API

Unlock cars from your app

The Smartcar platform lets your mobility app issue, manage, and share digital car keys for your customers.

Lock or unlock

Lock or unlock a vehicle’s doors.

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
const smartcar = require('smartcar');
// Get all vehicles associated with this access token
const {vehicles} = await smartcar.getVehicleIds("<access-token>");
// Construct a new vehicle instance using the first vehicle's id
const vehicle = new smartcar.Vehicle(vehicles[0], "<access-token>");
// Lock the vehicle
await vehicle.lock();
// Unlock the vehicle
await vehicle.unlock();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
import smartcar
# Get all vehicles associated with this access token
response = smartcar.get_vehicle_ids("<access-token>")
# Construct a new vehicle instance using the first vehicle's id
vehicle = smartcar.Vehicle(response["vehicles"][0], "<access-token>")
# Lock the vehicle
vehicle.lock()
# Unlock the vehicle
vehicle.unlock()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
import com.smartcar.sdk.*;
// Get all vehicles associated with this access token
SmartcarResponse<VehicleIds> response = AuthClient.getVehicleIds("<access-token>");
String[] vehicleIds = response.getData().getVehicleIds();
// Construct a new vehicle instance using the first vehicle's id
Vehicle vehicle = new Vehicle(vehicleIds[0], "<access-token>");
// Lock the vehicle
vehicle.lock();
// Unlock the vehicle
vehicle.unlock();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
import (
  "context"
  smartcar "github.com/smartcar/go-sdk"
)
// Create a smartcar client
var smartcarClient = smartcar.NewClient()
// Get all vehicles associated with this access token
var vehicleIDs, resErr = smartcarClient.GetVehicleIDs(
  context.TODO(),
  &smartcar.VehicleIDsParams{Access: "<access-token>"},
);
// Construct a new vehicle instance using the first vehicle's id
var vehicle = smartcarClient.NewVehicle(&smartcar.VehicleParams{
  ID: vehicleIDs.VehicleIDs[0],
  AccessToken: "<access-token>"},
);
// Lock the vehicle
var lock, resErr = vehicle.Lock(context.TODO());
// Unlock the vehicle
var unlock, resErr = vehicle.Unlock(context.TODO());
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
require 'smartcar'
# Get all vehicles associated with this access token
vehicle_ids =  Smartcar::Vehicle.all_vehicle_ids(token: token)
# Construct a new vehicle instance using the first vehicle's id
vehicle = Smartcar::Vehicle.new(
  token: "<access-token>",
  id: vehicle_ids.first
)
# Lock the vehicle
vehicle.lock!
# Unlock the vehicle
vehicle.unlock!
// Example response from Smartcar
{
  "status": "success"
}
See the API docs

Product features

Compatible with 20 car brands

Compatible with 20 car brands

Friendly user consent flow

Friendly user consent flow

Works on 2015 and newer vehicles

Works on 2015 and newer vehicles

Trusted & secure

Trusted & secure

Trigger live actions

Trigger live actions

SDKs for Go, Java, Node.js, Python, and Ruby

SDKs for Go, Java, Node.js, Python, and Ruby

Learn more about Smartcar’s APIs

Related industries

Peer-to-peer car sharing

Offer contactless rentals featuring digital keys directly in your car sharing app.

Learn more about car sharing

On-demand services

Offer contactless services by letting customers share a digital car key with your technicians.

Learn more about on-demand services

What we’re building

Latency and frequency of data availability may vary between makes and models.