GET

/v2.0/compatibility

Compatibility by VIN allows developers to determine if a specific vehicle is compatible with Smartcar.

This endpoint only supports checking capabilities for vehicles sold in the United States. It does not support checking capabilities for VINs in Canada and Europe.

A vehicle is capable of given feature if:

  1. The vehicle supports the feature (e.g., a Ford Escape supports /fuel but a Mustang Mach-e does not)
  2. Smartcar supports the feature for the vehicle’s make

Request

Headers

Authorizationrequired
string

HTTP Basic Auth header containing the client_id and client_secret. The header is formed by concatenating the word “Basic”, a space, and a base64-encoded string consisting of the client_id, a colon :, and the client_secret.

Parameters

vinrequired
string

The VIN (Vehicle Identification Number) of the vehicle.

scoperequired
string

A space-separated list of permissions.

country
Default: "US"
string

An optional country code string according to ISO 3166-1 alpha-2.

curl 'https://api.smartcar.com/v2.0/compatibility?vin={vin}&scope={permissions}&country={country}' \
  -X GET \
  -H 'Authorization: Basic base64({client_id}:{client_secret})' \

Response

compatible
boolean

true if the vehicle is likely compatible, false otherwise.

reason
string | null

One of the reasons described below if compatible is false, null otherwise

capabilities
array

An array containing capability objects for the set of endpoints that the provided scope value can provide authorization for. This array will be empty if compatible is false.

  {
  "compatible": true,
  "reason": null,
  "capabilities": [
    {
      "capable": false,
      "endpoint": "/engine/oil",
      "permission": "read_engine_oil",
      "reason": "SMARTCAR_NOT_CAPABLE"
    },
    {
      "capable": true,
      "endpoint": "/battery",
      "permission": "read_battery",
      "reason": null
    },
    {
      "capable": true,
      "endpoint": "/battery/capacity",
      "permission": "read_battery",
      "reason": null
    },
    {
      "capable": true,
      "endpoint": "/vin",
      "permission": "read_vin",
      "reason": null
    }
  ]
}

A vehicle’s compatibility depends on many factors such as its make, model, model year, trim, etc. The API optimizes returning false positives.