If they post it, they will be expected to support it. Support means costs. Sure it may be written down, but being written down for internal use and for public use are very different beasts.
They have already had to make adjustments to the API and ask people to modify their usage because people discovered it and have been polling their system in ways they didn’t expect which had unintended and negative consequences. Some of this was more the web socket connections, but the point stands. You can search the forums. It has been discussed ad nauseum, including I think some official response from Sense.
When the product was first released, it did not support calculating usage costs. In August of 2017 they started testing a basic cost function. They released that feature to production in September of 2017. Since then, they are probably 1 or 2 posts a week about how everyone thinks the cost calculations should be modified. How it should work. How it shouldn’t work. That feature which maybe was 20-40 hours of development time has probably cost them hundreds of hours in support having to explain it. Support it. Fix it etc… One little idea of a “simple” feature has spawned into hundreds of angry or frustrated posts on these forums. What is going to happen if they release a supported API? Anyone who suggests “all they have to do is document it and we’ll take the rest” is kidding themselves. Like anything else, it will just be a tech version of “If you give a mouse a cookie”
The # 1 priority of any company is to support the product that they have gone out to build. Sense developed a piece of hardware and supporting software. It functions in the way that they want it to. When they see fit, they add features. Based on this forum, they certainly ask for feedback from their customers and have implemented a lot of them when they feel they can support it. This is what makes them a great company in that they are interacting with their community. But we also need to remember that this community is only 4100 people strong and I would imagine a small sample of their overall customers. Out of that 4100, only 343 have been active in the last month. Not exactly a huge sample of the actual needs of their customer. They have to think about all the customers. Adding a “Public” API will absolutely incur costs. Software Dev time to fix bugs that they didn’t know about because they don’t use the API in the ways that new users will try. Customer Service time for the CS reps to field tickets regarding the API. Data ingress/egress costs for the added calls on their systems. Probably not substantial to begin with, but its money. A basic AWS API host is $3.50 per million requests.
I guess this is my really long way of saying, there are always costs. It is always easy for someone to say “this is how simple this would be” or “all you need to do is X” but saying it is different from doing it. Sense may release a Public or Commercially supported API some day. They may not. Thats up to them when they weigh the benefits and costs of such a tool or feature.