Connect Errors

Error TypeError CodeDescription
Access Deniedaccess_deniedThis error occurs when a user denies your application access to the requested scope of permissions.
Invalid Subscriptioninvalid_subscriptionThis error occurs when a user’s vehicle is compatible but their connected services subscription is inactive or never activated.
Configuration Errorconfiguration_errorThis error occurs when the user has encountered an Error page in Connect and has chosen to return to your application.
No Vehiclesno_vehiclesThis error occurs when a vehicle owner has a connected services account, but there are no vehicles associated with the account.
Vehicle Incompatiblevehicle_incompatibleThis error occurs when a user tries to authorize an incompatible vehicle in Smartcar Connect.
Server Errorserver_errorIf there is a server error, the user will return to your application.

API Errors

API errors are returned from requests made via Smartcar API. Smartcar uses HTTP status codes to indicate success or failure of API requests. This includes:
  • 2XX: indicates success
  • 4XX: indicates an invalid request (e.g. a required parameter is missing from the request body)
  • 5XX: indicates Smartcar-related issues (e.g. a vehicle is not capable of fulfilling a request).

Error Response

All Smartcar errors contain the following fields:
NameTypeDescription
typestringA unique identifier that groups codes into broad categories of errors
codestringA short, descriptive identifier for the error that occurred
descriptionstringA short description of the code that provides additional information about the error. The description is always provided in English.
docURLstringA link to Smartcar’s doc center guide for the given type and code
statusCodenumberThe HTTP status code
requestIdstringSmartcar’s request ID
resolutionobjectAn object with at least one enumerated property named as “type” that specifies which action can be taken to resolve this error. There are three possible values for the property “type”: RETRY_LATER - Retry the request at a later time; REAUTHENTICATE - Prompt the user to re-authenticate in Smartcar Connect; and CONTACT_SUPPORT - Contact Smartcar’s support team. This object could contain other properties depending on the “type” of error.

Error TypeError CodeStatusDescription
AUTHENTICATIONNULL401Thrown when there is an issue with your authorization headers.
BILLINGINVALID_PLAN430Thrown when limits have been reached based on your plan or if the feature is not available.
BILLINGVEHICLE_LIMIT430Thrown when limits have been reached based on your plan or if the feature is not available.
BILLINGVEHICLE_REQUEST_LIMIT430Thrown when limits have been reached based on your plan or if the feature is not available.
BILLINGACCOUNT_SUSPENDED430Thrown when limits have been reached based on your plan or if the feature is not available.
COMPATIBILITYMAKE_NOT_COMPATIBLE501Thrown when Smartcar does not support a make or feature for a vehicle.
COMPATIBILITYSMARTCAR_NOT_CAPABLE501Thrown when Smartcar does not support a make or feature for a vehicle.
COMPATIBILITYVEHICLE_NOT_CAPABLE501Thrown when Smartcar does not support a make or feature for a vehicle.
CONNECTED_SERVICES_ACCOUNTACCOUNT_ISSUE400Thrown when there are issues with the user’s connected service account.
CONNECTED_SERVICES_ACCOUNTAUTHENTICATION_FAILED400Thrown when there are issues with the user’s connected service account.
CONNECTED_SERVICES_ACCOUNTNO_VEHICLES400Thrown when there are issues with the user’s connected service account.
CONNECTED_SERVICES_ACCOUNTSUBSCRIPTION400Thrown when there are issues with the user’s connected service account.
CONNECTED_SERVICES_ACCOUNTVEHICLE_MISSING400Thrown when there are issues with the user’s connected service account.
CONNECTED_SERVICES_ACCOUNTPERMISSION400Thrown when there are permission issues with the user’s connected service account.
CONNECTED_SERVICES_ACCOUNTVIRTUAL_KEY_REQUIRED400Thrown when a virtual key is required to complete the request.
PERMISSIONNULL403Thrown when you make a requests to an endpoint associated with permissions not yet granted to your application.
RATE_LIMITSMARTCAR_API429Thrown when there is an issue with the frequency of your requests.
RATE_LIMITVEHICLE429Thrown when there is an issue with the frequency of your requests.
RESOURCE_NOT_FOUNDPATH404Thrown if the requested path does not exist.
RESOURCE_NOT_FOUNDVERSION404Thrown if the requested path does not exist.
SERVERINTERNAL500Thrown when Smartcar runs into an unexpected issue and was unable to process the request.
SERVERMULTIPLE_RECORDS_FOUND500Thrown when multiple records are found but only one was expected.
SERVERRECORD_NOT_FOUND500Thrown when a required record could not be found.
UPSTREAMINVALID_DATA502Thrown when the OEM or vehicle failed to process the request.
UPSTREAMKNOWN_ISSUE502Thrown when the OEM or vehicle failed to process the request.
UPSTREAMNO_RESPONSE502Thrown when the OEM or vehicle failed to process the request.
UPSTREAMRATE_LIMIT502Thrown when the OEM or vehicle failed to process the request.
UPSTREAMUNKNOWN_ISSUE502Thrown when the OEM or vehicle failed to process the request.
VALIDATIONNULL400Thrown if there is an issue with the format of the request or body.
VALIDATIONPARAMETER400Thrown if there is an issue with the format of the request or body.
VEHICLE_STATEASLEEP409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t retrieve vehicle data because the vehicle is asleep and not responding to network requests.
VEHICLE_STATECHARGING_IN_PROGRESS409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t unlock the charge port while the vehicle is actively charging.
VEHICLE_STATECHARGING_PLUG_NOT_CONNECTED409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t start charging the vehicle if the cable is not plugged in.
VEHICLE_STATEDOOR_OPEN409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t lock the vehicle if a door is open.
VEHICLE_STATEFULLY_CHARGED409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t start charging because the battery is already fully charged.
VEHICLE_STATENOT_CHARGING409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t stop charging because the vehicle is not currently charging.
VEHICLE_STATECHARGE_FAULT409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t start charging because the vehicle has detected a charging system fault.
VEHICLE_STATEHOOD_OPEN409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t start the engine if the hood is open.
VEHICLE_STATEIGNITION_ON409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t perform certain remote actions while the ignition is on.
VEHICLE_STATEIN_MOTION409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t lock the doors while the vehicle is in motion.
VEHICLE_STATEREMOTE_ACCESS_DISABLED409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t send remote commands because remote access is disabled in the vehicle settings.
VEHICLE_STATETRUNK_OPEN409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t lock the vehicle if the trunk is open.
VEHICLE_STATEUNKNOWN409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, the vehicle reports an unknown state that prevents the requested action.
VEHICLE_STATEUNREACHABLE409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t send commands because the vehicle is offline or out of network range.
VEHICLE_STATEVEHICLE_OFFLINE_FOR_SERVICE409Thrown when a request fails due to the state of a vehicle or logically cannot be completed—for example, you can’t access vehicle data because the vehicle is offline for maintenance or service.