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.