🛠️ Prerequisites
Before getting started:
You must have a Kadence account
A Global Admin must generate an API key
Need help? Follow the API Getting Started Guide.
All datetime values must be in UTC and follow the format YYYY-MM-DDThh:mm:ss.
📚 API Documentation & Sample Code
Explore the API
Visit our full API specification: https://api.kadence.co/
You'll find:
Full list of available endpoints
Request/response examples
Supported query parameters
Sample Applications
View example code and starter projects on GitHub: https://github.com/wearekadence/kadence-public-api-examples
🔑 Step 1: Get an Access Token
Use your API key to obtain a bearer token via OAuth 2.0 client credentials grant.
See our Authentication section for example request and response bodies.
✅ Prerequisites
Before getting started:
You must create an API Key
The user must already have a booking
The booking must be eligible for check-in (future, not checked in yet)
You must have the booking ID and user ID
🔐 Step 1: Create an API Key
To authenticate requests, you'll need to:
Create an API Key in Kadence (admin only)
Generate a token using Client Credentials Flow
🛠️ See our [Getting Started Guide] for step-by-step instructions.
👤 Step 2: Find the User
Use the v1/public/users endpoint to look up a user by email, first name, or last name.
Example request:
GET <https://api.onkadence.co/v1/public/[email protected]>
Example response:
{ "hydra:member": [ { ... "id": "01GTBV1CT3BM8A42SEJ2J5F4EG", "email": "[email protected]", "firstName": "John", "lastName": "Smith", ... } ], "hydra:totalItems": 1 }Save the userId from this response to use in later steps.
📅 Step 3: Find the Booking
Use v1/public/users/{userId}/bookings to find the user's booking.
You can filter by:
startDate,endDatetypestatus=booked
Example request:
GET <https://api.onkadence.co/v1/public/users/{userId}/bookings?type=desk&status=booked&startDate=2023-01-01&endDate=2023-01-02>Example response:
{ "hydra:member": [ { ... "id": "01GTBV1CT3BM8A42SEJ2J5F4EG", "startDate": "2023-01-01T09:00:00+00:00", "endDate": "2023-01-01T17:00:00+00:00", "status": "booked", "type": "desk", "building": "/v1/public/buildings/01GTBV1CT3BM8A42SEJ2J5F4EG" } ], "hydra:totalItems": 1 }✅ Step 4: Check In to a Booking
Use the v1/public/bookings/{bookingId}/check-in endpoint.
This endpoint requires:
userId(who is performing the check-in)Optional
method(how the check-in happened)
Example:
https://api.onkadence.co/v1/public/bookings/{bookingId}/check-in🧠 You may want to use a service account as the userId making the check-in call or you may want it to appear as if the user themselves had checked in
✅ Supported Check-in Methods
Method | Description |
| User checked in via door system |
| User connected to corporate Wi-Fi |
| User's location reported in building |
| Occupancy sensor detected presence |
⛔ Self-Certification Warning
If self-certification is enabled, the API will not allow check-in unless the user has completed their self-certification.
🔁 Step 5: Check Out of a Booking
To check out a user, use v1/public/bookings/{bookingId}/check-out.
This endpoint requires:
A checked-in booking
The
userIdperforming the actionOptional
methodfor how the checkout occurred
Example:
https://api.onkadence.co/v1/public/bookings/{bookingId}/check-out✅ Supported Check-out Methods
Method | Description |
| User checked out via door system |
| User disconnected from corporate Wi-Fi |
| User's location reported outside building |
| Occupancy sensor presence gone |
💬 Need Help?
For support, reach out to:
📩 [email protected]
Check our service status at:
For more helpful articles see:
📚 Kadence Help Center
