Skip to main content
GET
/
v2.0
/
compatibility
  {
  "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
    }
  ]
}
This endpoint is fully deprecated. The Compatibility by VIN endpoint does not provide a true per-VIN compatibility check — results are based on make and model heuristics and do not guarantee that a specific vehicle will be compatible.We recommend checking compatibility against the new Compatible Vehicles data using a make and region filter. If the make and model of a given VIN is unknown, use a VIN decoding service to determine it, then look up compatibility from the matrix.
Compatibility by VIN allows developers to determine if a specific vehicle could be 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
default:"Basic "
required
The HTTP Authorization header using the Basic authentication scheme.To construct the Authorization header value:
  1. Join your client_id and client_secret with a single colon (:).
  2. Base64-encode the resulting string: base64({client_id}:{client_secret})
  3. Prepend Basic (with a trailing space) to the encoded string.
Your final authorization header value should look like this:Basic bXktY2xpZW50LWlkOm15LWNsaWVudC1zZWNyZXQ=
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.

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.