Haven’t had time until now to explore on what is new as Tesla continues to push updates. The latest version as of this post is v3.9.1 which is what there I decompiled and when compared to the earlier version (I had posted (v3.8.2), there three new REST API’s outlined below.
Service data from the car – not sure what exactly does this will. Need to try it.
"VEHICLE_SERVICE_DATA": {
"TYPE": "GET",
"URI": "api/1/vehicles/{vehicle_id}/service_data",
"AUTH": true
}
Now, when I call that, I get a 200OK response (see below), so it is accepting the request, and that includes the bearer code in the header as expected. I don’t see anything interesting back, but that could be because my car is not in service. Maybe someone who has their vehicle in the service center can try and validate this.
{
"response": {}
}
The next new API is a POST, for reports; and calling this just sends a 200OK back, but I don’t know what it is for. It seems very similar to the SEND_LOG method.
"SEND_REPORT": {
"TYPE": "POST",
"URI": "api/1/reports",
"AUTH": true
}
The next two set of APIs seem quite interesting and related t AutoPilot upgrade. It might be that these could be in app purchases – checking the eligibility, and then allowing one to purchase.
"UPGRADE_ELIGIBILITY": {
"TYPE": "GET",
"URI": "api/1/vehicles/{vehicle_id}/eligible_upgrades",
"AUTH": true
},
"AUTOPILOT_UPGRADE_URL": {
"TYPE": "GET",
"URI": "api/1/vehicles/{vehicle_id}/purchase_url",
"AUTH": true
}
When I try and call the Purchase_URL, I get a HTTP 400, and seems like I am missing some parameters – other than the headers.
{
"error": "bad_request",
"error_description": "The data given to this server does not meet our criteria."
}
And calling the eligible_upgrades I get a ‘false’. Now I already have AutoPilot, so this might make sense. And given this seems to be a key-value pair, I am guessing there will be other things that Tesla would add over time to up-sell.
{
"autopilot": false
}
The final new API is related to energy sites, and something I of course don’t have or have an interest, but sharing here if someone does care. 🙂
"CALENDAR_HISTORY_DATA": {
"TYPE": "GET",
"URI": "api/1/energy_sites/{site_id}/calendar_history",
"AUTH": true
}
I am not publishing the full API here as there aren’t significant changes. You of course can see the older post which has the details.