🛠️ Prerequisites
To use the Kadence API, you'll need:
Global Admin access to generate API credentials
👉 New to Kadence? Sign up or book a demo
📚 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
These examples demonstrate how to:
Authenticate via OAuth 2.0
Fetch and manage users, bookings, and resources
Parse response payloads
🔐 Authentication: OAuth 2.0
Kadence uses OAuth 2.0 Client Credentials Flow for secure API access.
Step 1: Get Your Credentials
Ask a Global Admin in your Kadence account to:
Navigate to Settings → API Keys → Add API Key
Add a name and description and click the “Create API key” button when complete.
We recommend that you add a meaningful name and associated description to help you identify how the key is being used.
You’ll be navigated to the API key details page when your API key has been created. From this page, you can find the Client Identifier and Secret.
Step 2: Request an Access Token
Follow the steps below to request a token to communicate with our API:
Send a POST request to the Kadence Auth endpoint with your Client Identifier and Client Secret.
URL | |
Method | POST |
Content type | application/x-www-form-urlencoded |
Body | grant_type=client_credentials&client_id={API_KEY_IDENTIFIER}&client_secret={API_KEY_SECRET}&scope=public |
For ease of reading you can see the post body in the table below:
Key | Value |
grant_type | client_credentials |
client_id | Insert your client identifier |
client_secret | Insert your client secret |
scope | public |
Step 3: Handle the Response
If you have successfully authenticated you’ll receive a HTTP 200 - OK status code and accompanying JSON payload containing your authentication token.
{ "token_type": "Bearer", "expires_in": 43200, "access_token": "ABCDEFGHIJKLMNOPQRSTUVWXYZ" }Use this token in your request headers:
Authorization: Bearer YOUR_ACCESS_TOKEN
In the event you are unable to authenticate you’ll receive a response with an HTTP 401 - Not Authorised status code and accompanying error message.
{ "error": "invalid_client", "error_description": "Client authentication failed", "message": "Client authentication failed" }Check that your client credentials are correct.
Token Expiry
Refresh tokens are not supported
To get a new token, repeat the Client Credentials flow
🚦 Rate Limiting
To protect Kadence services and ensure a reliable experience for all customers, the Kadence API enforces rate limiting.
Rate Limit Details
Each application or developer is limited to 2,500 requests per hour
Rate limit information is returned in the response headers of every API request
Rate Limit Headers
Header | Example Value | Description |
|
| The maximum number of API requests allowed per hour |
|
| The number of requests remaining in the current window |
|
| A Unix timestamp indicating when rate limiting resets |
📌 If you exceed the rate limit, requests will be temporarily blocked until the reset time indicated in the headers.
⚡ Quick Start Guides
To help developers get up and running faster, Kadence provides Quick Start Guides that walk through common API use cases.
Currently available guides include:
📅 Retrieve bookings
✅ Check in to and check out of bookings
➕ Create a booking
🗺️ Display space availability on a floorplan
We’ll continue to add more guides as the Kadence REST API expands.
📬 API Response Format
All responses follow standard HTTP status codes
Custom headers prefixed with X- may be included
Body content is JSON-formatted
👉 For status code reference, see: MDN HTTP Status Codes
🆘 Getting Help
If you encounter an issue while using the Kadence API, we're here to help. To speed up troubleshooting and resolution, please include as much detail as possible in your support request.
What to Include in Your Request
A clear summary of what you're trying to achieve using the Kadence API
The API request(s) you've made:
Endpoint URL
Request headers and body (if applicable)
Response status code, headers, and body
A detailed description of:
What you expected to happen
What actually happened
If applicable, include the Kadence Trace ID from the response header
X-WX-TraceIf unavailable, please include the approximate time the issue occurred
If the issue is intermittent, include a frequency estimate (e.g. "3 out of 10 times")
Providing this information up front helps us resolve your issue faster and more accurately.
Please email this information to [email protected]
💬 Need Help?
For support, reach out to:
📩 [email protected]
Check our service status at:
For more helpful articles see:
📚 Kadence Help Center
