GET
/
compatibility
curl 'https://api.smartcar.com/v2.0/compatibility?vin={vin}&scope={permissions}&country={country}' \
  -X GET \
  -H 'Authorization: Basic base64({client_id}:{client_secret})' \
  {
  "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
    }
  ]
}

The Compatibility API is an Enterprise feature. Please contact us to upgrade your plan.

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

A vehicle is capable of a 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

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.

Request

Headers

Authorization
string
required

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

vin
string
required

The VIN (Vehicle Identification Number) of the vehicle.

scope
string
required

A space-separated list of permissions.

country
string
default: "US"

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.