Getting Started¶
The Kendis API lets you read your planning data programmatically. This page walks you through your first successful request in a few minutes.
What you need¶
- A Kendis account with access to the data you want to read.
- A personal API key (generated from your profile — see Authentication).
- Your company identifier — either your subdomain or your company prefix, depending on the API method (see Base URLs & methods).
The 3-step flow for board data¶
Most board-scoped data follows the same discovery chain — you can't fetch items until you know which board they live on:
graph LR
A[List Collections] --> B[List Boards]
B --> C[Fetch Items / Objectives / Risks]
| Step | Why |
|---|---|
| 1. List Collections | Collections represent workspaces. You need a collection ID to scope boards. |
| 2. List Boards | Returns each board's id — the boardId every data endpoint needs. |
| 3. Fetch data | Call the items / objectives / risk endpoint with that boardId. |
Never copy IDs from the browser URL
The ID shown in the Kendis web app URL is a session ID, not a board ID — they are different (often off-by-one). Always obtain identifiers from List Collections and List Boards.
Your first request¶
Once you have a key, a single curl confirms everything is wired up:
curl -H "Authorization: Basic <base64-token>" \
"https://{yourcompany}.kendis.io/api/v1/strategic-themes?fields=all"
A 200 OK with a JSON body means your key, encoding, and subdomain are all correct. If you get a
401, revisit Authentication; for other codes see Errors.
Where to go next¶
-
Authentication
Generate a key and build the Basic auth header.
-
Base URLs & methods
Pick the right host for each API.
-
Conventions
Response envelopes, field selection, null handling.