Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Model S REST API

This site may earn commission on affiliate links.

There are about 8 apps in the AppStore whose name follows the "xyz for Tesla" pattern. All these apps follow this naming convention because Apple actually recommended this naming pattern (presumably after rejecting an original name that included "Tesla" -- as they did for my app which used to be called QuickTesla). I suspect all these apps will be subject to this new Apple review team enforcement once they submit an update.
 
Hi Guys,
I have the opportunity to pass on some information to Tesla directly at a event in Fremont next month. This is the perfect opportunity to prepare a shortlist of features that we would like to see in the REST API. I for one would love to see full sunroof control back, and the ability to change charging amperage. If we can prepare a short list of stuff we want added, maybe this might get some traction, who knows...

Being able to see the number of free supercharging slots on your phone would be great even if it's provided in Tesla's default app and not through the public API.

Another important and useful feature that's missing from API is OAuth. A lot of users don't trust entering their credentials into a third-party app. OAuth solves that problem.
 
Hi Guys,
I have the opportunity to pass on some information to Tesla directly at a event in Fremont next month. This is the perfect opportunity to prepare a shortlist of features that we would like to see in the REST API. I for one would love to see full sunroof control back, and the ability to change charging amperage. If we can prepare a short list of stuff we want added, maybe this might get some traction, who knows...

How about official support and documentation? Many of you might not be aware that what's known in the community about the Tesla REST API is the result of a lot of reverse engineering, deduction, and guesswork. Having an official, openly supported API, following commonly-accepted industry practices for documentation and maintenance, would mean a lot in terms of stability for the ecosystem that's built up around it, and that's way more important in the long term than a feature that Tesla could add and remove on a whim. (We've seen that removal, without warning, with the sunroof percentage control and the removal of battery current information.)

My completely uneducated guess is that if you presented a list of requests, as things stand today, the answer would be "we don't officially support that", because, as far as I know, there's no commitment to even maintaining the existing API.

If it were me, I'd first try to get a commitment of support for third-party applications using the API. After that you can talk about adding features.

Bruce.
 
  • Like
Reactions: f8K37Sq31
How about official support and documentation? Many of you might not be aware that what's known in the community about the Tesla REST API is the result of a lot of reverse engineering, deduction, and guesswork. Having an official, openly supported API, following commonly-accepted industry practices for documentation and maintenance, would mean a lot in terms of stability for the ecosystem that's built up around it, and that's way more important in the long term than a feature that Tesla could add and remove on a whim. (We've seen that removal, without warning, with the sunroof percentage control and the removal of battery current information.)

My completely uneducated guess is that if you presented a list of requests, as things stand today, the answer would be "we don't officially support that", because, as far as I know, there's no commitment to even maintaining the existing API.

If it were me, I'd first try to get a commitment of support for third-party applications using the API. After that you can talk about adding features.

Bruce.
I agree. I think Tesla so far has tolerated 3rd-party developers' use of the unofficial API. I'm not sure if Tesla sees the value of 3rd-party apps. In fact, 3rd-party developers put a lot of pressure on their servers which is probably why they periodically block requests sent from AWS (haven't tested recently).
 
Last edited:
There are about 8 apps in the AppStore whose name follows the "xyz for Tesla" pattern. All these apps follow this naming convention because Apple actually recommended this naming pattern (presumably after rejecting an original name that included "Tesla" -- as they did for my app which used to be called QuickTesla). I suspect all these apps will be subject to this new Apple review team enforcement once they submit an update.

If you dig in with Apple (which I've done) they actually plan on rejecting all apps that are specific to a single market/vendor unless that vendor (Tesla in this case) submits or approves the app (against Tesla's policy). That means "FooBar" would be rejected if its an app for tesla users only even if it never mentioned tesla anywhere in the app. This is their interpretation of the mysterious PLA 1.2 section. So a name change does not appear to do the job. In theory, this means all third-party apps on the Apple app store will eventually get kicked out. This has already happened for some trying to update their apps and for some others submitting new apps.
 
If you dig in with Apple (which I've done) they actually plan on rejecting all apps that are specific to a single market/vendor unless that vendor (Tesla in this case) submits or approves the app (against Tesla's policy). That means "FooBar" would be rejected if its an app for tesla users only even if it never mentioned tesla anywhere in the app. This is their interpretation of the mysterious PLA 1.2 section. So a name change does not appear to do the job. In theory, this means all third-party apps on the Apple app store will eventually get kicked out. This has already happened for some trying to update their apps and for some others submitting new apps.
Thats pretty disappointing, but I'm sure people will find a way around it. For example I can see people marketing their apps as a "toolbox" for EVs and it supports every car API from Tesla to BMW or Leaf...
 
Thats pretty disappointing, but I'm sure people will find a way around it. For example I can see people marketing their apps as a "toolbox" for EVs and it supports every car API from Tesla to BMW or Leaf...

Yes, Apple actually recommended that these apps support multiple vendors to avoid the "single vendor focus" issue. The problem is most other vendors have no API or a much smaller user base. Its also much more work for those small vendors making the apps to do that, plus they may have to buy/drive cars for testing that they would not otherwise want to. The BMW i3 has an undocumented API but a fairly small base, others even less so.
 
If you dig in with Apple (which I've done) they actually plan on rejecting all apps that are specific to a single market/vendor unless that vendor (Tesla in this case) submits or approves the app (against Tesla's policy). That means "FooBar" would be rejected if its an app for tesla users only even if it never mentioned tesla anywhere in the app. This is their interpretation of the mysterious PLA 1.2 section. So a name change does not appear to do the job. In theory, this means all third-party apps on the Apple app store will eventually get kicked out. This has already happened for some trying to update their apps and for some others submitting new apps.
Does this also apply for apps to devices like Hue lighting? So that means that no one can make an app that does something with Hue lighting other than Philips?

But this is an especially stupid policy for apps for connected automobiles as you would have to think that everything is going to be unique to a specific brand of car.
 
The past few days, anyone else experiencing could_not_wake_buses error messages when sending a command to a sleeping vehicle? Pulling vehicle data (endpoint: /data) works fine, telemetry reports correctly, but not sending a command, and summon is unreliable. Even sending a wake_up command fails immediately with a false result with no impact, leaving no way to wake the car up remotely besides playing with the key fob when you're close by. Car firmware is 17.14.23 with always-on/connected setting enabled in the car.

If I wake the vehicle, things work fine. I'll see if I can wake the vehicle up some other way, but doesn't look promising.
 
@dpskipper, Another suggestion for Tesla API:

Is there any way to get a limited access security token with less permission than a user’s password? Specifically, I want to be able to control when a car charges, check its state of charge & location, and perhaps start the climate control systems, but I do not want to be able to unlock the doors or start the car.
  1. EVE Online provides a limited access API key for partially-trusted third party tools & web sites. The link includes a developer discussing their API key model, and it could provide inspiration for a similar limited access OAuth token for Tesla’s cloud service. The easiest solution is to do this automatically without user participation - I obtain the user’s credentials, ask the cloud service for an API key, then I throw away the user’s password.
  2. Ideally I could get an API key that does not expire.

Separately, I'd like to find a business development contact at Tesla to chat about their cloud service. But that may be asking you for a bit much.
 
Separately, I'd like to find a business development contact at Tesla to chat about their cloud service. But that may be asking you for a bit much.

I'm going to make a wild assumption being that you're from Redmond, WA that you're from Microsoft?

Either way, and just FYI -- if you're going to try and sell them some product or service, just be aware that there as an extremely strong N-I-H ("not invented here") syndrome at Tesla.
 
Has the climate reporting changed? For my car, and I know for others, the API wouldn't return a value unless the car was on or the climate system was on. But now, whenever I open the app it seems to have the inside and outside temps updated. Was this changed recently?
 
I have noticed two options codes on my new S75D that I have not seen elsewhere. Can anyone help me figure these out?

BR05 - Battery Range Upgrade (vs BR00=no range upgrade; BR01=range upgrade applied)
BTX7 - Battery Option Code (vs BTX4=90D, BTX5=75D, BTX6=100D)
 
All the BR0x are firmware limited batteries. BR05 started showing up in March on Inventory cars.

The BTX7 code is a new one that's appeared several times. I've posted about it in the CPO Program thread. I believe (but have no proof) that the BTX7 code is a 85kWh battery firmware limited to 75kWh. Tesla very briefly listed two new Inventory cars as 85kWh cars, both had the BTX7 code, but that was long after the last real 85kWh battery car was offered or produced. They were later changed to 75kWh listings. BTX7 also started showing up in March.

So take that with a grain of salt, but that would be my guess.
 
  • Informative
Reactions: brianman