Is there a concrete API Specification?

I’m attempting to make myself a little library for Clockify API interaction in Rust and while the docs do give “examples” of what the API may return, they don’t actually specify what it does return. Is there a specification of all the fields that are possible for the given endpoints as well as their expected types? (integer, float, string, boolean, possible to be null)

Hi there,

I have reached out to the team to see if we may have the documentation that collects all possible responses from API, but unfortunately, we don’t have one.

In case you want to find entire documentation for API requests, please do find it on this page.

I hope this helps. Cheers!

yeah I don’t have any problems sending requests to the API and receiving back information. The page you linked isn’t the entire documentation for the API requests as its just extremely basic "how-to"s on sending a generic api request in various languages.

So the issue isn’t me being able to make requests, or receive back responses. It’s knowing what I’m going to be receiving. Just seems kinda weird to have an api available that no one can use properly without trying to reverse engineer it.

Hi there,

Thank you very much for bringing this to our attention. Currently, we don’t have a more detailed API documentation, that said, we’ll definitely be keeping this idea in mind, especially if more users show interest in it.

Feel free to let us know if you have any other ideas. Cheers!

Hey John, thanks for the reply. I’m working on writing up a spec in the OpenAPI specification as it stands and muddling my way through. Let me know if you guys decide to pursue this further and I’ll share what I’ve got so far. I’ll likely release it as part of my little tool I’m making anyway. As a side note, if the API is documented, then people can make libs to interact with it in various languages, then more people can easily access the api, then more people will use the api, then more people will use the service. Its a self feeding circle.

Hi John,

I was also trying to prepare a little wrapper around the API just for my needs and also fighted with the sparse documentation available. It was rather a try-and-error development which is not really satisfying so I stopped after having reached the minimum needed. Also testing was not possible without spec.
I would as well be really interested in a conclusive documentation and I somehow wonder how the clockify team can develop without having one.
I don’t think that reverse engineering should be the way to go - what if the API changes without notice?
But anyway, I am interested in any bit of documentation concerning and I really would appreciate if you could share your outcome.

Best regards,
Holger