I’m wondering if it would be possible to set the aggday with the API, either for existing or new goals.
I’ll admit that I’d use it to cheat and change custom settings without that high a premium plan, but I also want to use it to set it appropriately for an integration that hopefully I’m going to get around to finishing eventually.
Thanks. By “should” do you mean “desirable” or “expected”?
If you mean expected:This seems to be the update goal endpoint and it worked for setting title (which is listed there) but not if I did aggday (which isn’t). Is there something different I should be doing?
If you mean “desirable”: I wouldn’t ask you to put any work into making it possible until I actually write that integration.
I’d say expected, though with a degree of accident rather than intention for anything that’s not documented at api.beeminder.com
A lot is exposed through the API that isn’t strictly desirable and that maybe shouldn’t be available to everyone given the different premium subscriptions. But it would take some effort to restrict what you can do, and we haven’t yet done that. Not least because it’s your own goals you’re hacking and your custom stuff may help us understand missing features, etc.
PS: the easiest form of restriction would be to not even give out an API
auth_token unless you’re Bee Plus or higher, i.e. eligible to customise goal in the web interface.
Yes, “should” above means undocumented but I’d expect it to work on update (but not create). I did just do a sanity check and found that it does indeed set aggday if you pass in aggday to the goal update endpoint.
Aggday is weird arcane stuff with surprising results, so should definitely be used with care. That’s a thing that’s behind the paywall as much to protect users from it as anything. But I guess we assume that people who are willing and able to interface with the API are maybe more ready/capable of dealing with the consequences. That’s the theory anyway.
Thanks, knowing that it would work on update but not create was key. I’m finally writing this into an integration, and it’s working. I create a goal with
custom and then I immediately update it to set the custom settings I need.