Expected Errors v2

Here are some edge case errors which you can preemptively handle in you backend:

message is user friendly message

error is the code

These occur only on live calls (v2)

/vehicle endpoint should be v3 and this dont apply there

RELOGIN_REQUIRED

{
  "statusCode": 401,
  "message": "Account disconnected because user revoked tokens or changed password. Please reconnect the vehicle using Connect flow",
  "error": "RELOGIN_REQUIRED"
}

Action Item - The user has to go through the consent flow again.


USER_CONSENT_REQUIRED

{
  "statusCode": 403,
  "message": "The vehicle is not accessible to this app. Please login on the app with end user credentials",
  "error": "USER_CONSENT_REQUIRED"
}

Action Item - The user has to go through the consent flow.


SERVICE_UNAVAILABLE

{
  "statusCode": 503,
  "message": "Temporary connectivity issue. can't reach the vehicle.",
  "error": "SERVICE_TEMPORARILY_UNAVAILABLE"
}

We were unable to fetch vehicle data due to downtime on OEM servers / vehicle being out of connectivity range. Please try again later.


VEHICLE_DATA_FETCH_FAILED

{
  "statusCode": 500,
  "message": "Error in fetching <data point>",
  "error": "VEHICLE_DATA_FETCH_FAILED"
}

Action Item - Nothing from your end. We'll monitor these errors and keep you updated if something is wrong. Meanwhile, you can retry these requests with reasonable frequency.


NOT_SUPPORTED

{
  "statusCode": 405,
  "message": "Fetching vehicle location not supported for current model",
  "error": "NOT_SUPPORTED"
}

INTERNAL_SERVER_ERROR

{
  "statusCode": 500,
  "message": "Unknown error occurred. Our team will investigate this issue.",
  "error": "INTERNAL_SERVER_ERROR"
}