A brief introduction to the API and core data types.
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.
App specific requests
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.
Root endpoint, versions, and protocol
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.
CORS
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.
UUID as IDs
All IDs used by Timekit are UUIDs. A UUID looks like this: de305d54-75b4-431b-adb2-eb6b9e546014
Read more about uuids here
Timezones
The entire list of supported timezones we use is the timezone database 2021.5 https://github.com/tzinfo/tzinfo-data/releases
Examples:
- Europe/Copenhagen
- America/Los_Angeles
If you're getting a response of The customer.timezone must be a valid zone please refer to API Requests with incorrect Timezones
Undocumented attributes
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.