This list is hierarchical, that means the in case of multiple error conditions, top topmost errors take precedence.

Status Description Type Name
Unauthorized Token refresh has failed, no access to API, most likely 401 response codes Integration ERROR_UNAUTHORIZED
OEM internal error No data due to internal OEM error. (500-series responses) Vehicle ERROR_INTERNAL_ERROR
No devices OEM API returns empty device list. Integration ERROR_NO_DEVICES
Insufficient scope Access is valid, but limited to subset of data and or commands. User intervention needed. Also includes expired data subscriptions. Integration ERROR_INSUFFICIENT_SCOPE
Rate limit API is rate limited temporarily from OEM side, most likely 429 response codes, 403 also possible. Integration/Vehicle ERROR_RATE_LIMIT
No data Requests are yielding empty responses, could be unique to the vehicle. Not necessarily 500 style internal server error from the OEM. (Albeit similar) Vehicle ERROR_NO_DATA
Old data Our last known data point from the device is more than 96 hours old. That is, there is possibly a device data access issue or something similar. Vehicle ERROR_OLD_DATA
Start not working Start commands are returning error from OEM. Does not include (yet) the condition, where command is accepted but not executed. Status will remain this until first good start command. Vehicle ERROR_START_FAIL
Stop not working Stop commands are returning error from OEM. Does not include (yet) the condition, where command is accepted but not executed. Status will remain this until first good stop command. Vehicle ERROR_STOP_FAIL
Schedule not working Schedule commands are returning error from OEM. Does not include (yet) the condition, where command is accepted but not executed. Status will remain this until first good schedule command. Vehicle ERROR_SCHEDULE_FAIL
OK No error, situation normal. Integration/Vehicle OK