Six months ago we wrote about moving to the Go programming language and replacing our Ruby on Rails backend. Step-by-step we have done that and now most of the ajax requests inside Toggl (especially m.toggl and Toggl Desktop) use our new Go API (Toggl API v8), which sits in it’s very own server separate from the clunky RoR application. Today we are ready to make the API public.
Our previous documentation was publicized on our own public web page and reporting bugs, asking questions, resolving issues went through our Support system with all the other problems regular users had. We wanted to make life a bit easier to our fellow developers and lo and behold! moved our documentation to Github - https://github.com/toggl/toggl_api_docs. We actually got this idea from Basecamp (no shame in admitting that), which published its Basecamp Next API documentation on Github.
Best things about having our documentation on Github:
- Issues – if you have a questions or problems you can create an issue at Github, watch its progress and get direct feedback from the API developers.
- Pull requests – if you find a bug in the documentation you can fork the repository, fix the bug and make a pull request. This way you don’t have to spend time reporting a bug, waiting for an answer and then the fix. We have tremendous respect for people who step up and take action! You can read more about pull requests from here.
- You can follow our repository and see all the updates in your Github feed
- Public commit history – you can see what functionality documentation was added and when. Pretty much reflects the API’s functionality implementation.
Help us towards a better API
So far we have implemented only those requests that are necessary for us. Which means some of the functionalities we had in API v6 may be missing. As we are actively implementing new API calls, we want to know what kind of functionalities you miss or would like to see. We anxiously await for our first Github issues.
Deprecating API v6
The arrival of the new API also means we are planning to remove the older public API v6. It will be removed September 1st 2013, so everyone using it should have enough time to update their applications and move over to the new API v8.