This API reference is focused on server-to-server integrations. If all you need is to make your resources bookable through our widget, please refer to our setting up your first project article.
For a general introduction to working with the API please refer to our API articles.
All endpoints documented here are app specific. This means that all results are from entities located the under the specific app you are requesting for. You can have more than one app on Timekit so keep an eye on which App API-Key you are including in your request since it will determine which app context your requests are made in. You can read more about Timekit apps in our introduction glossary
The Timekit API is organized around REST. Our API is designed to follow common HTTP conventions including response codes to indicate both errors and successful requests. Standard HTTP verbs (GET, POST, PUT, DELETE) are used for all methods, no exceptions.
JSON will be returned in all responses from the API, including error messages.
All API calls should be made to
https://api.timekit.io/v2 (note the explicit versioning). The current public version of the API is version 2 and is the only publicly supported version (calls to v1 will result in 404 Not Found).
HTTP over TLS 1.2 is enforced for all calls, so non-secure calls will result in a 301 Moved Permanently pointing to the https URI.
Our API is intended to be consumed both by browser clients (e.g. SPAs) and servers and supports cross-origin resource sharing. As of right now, JSONP is not supported, but we'd love to hear from you if it's of interest.
All IDs used by Timekit are UUIDs. A UUID looks like this: de305d54-75b4-431b-adb2-eb6b9e546014
Read more about uuids here
All timezones must be defined by their Area/Location name from the IANA TZ database, for reference see https://en.wikipedia.org/wiki/Tz_database
Some of the endpoints referenced here will return more data than specified in this reference. Do not rely on any undocumented data, since it will be subject to change without notice.