PI Objectives API¶
Retrieve Objective Groups, Objectives, and their linked board items and sub-items for a PI Board. Linked-item fields reflect the board's source system: ADO-connected boards expose tfsId / tfsURL; Jira-connected boards expose jiraId / jiraKey. Everything else is identical.
- Method: Legacy path-prefix —
https://rest.kendis.io/api/<companyPrefix>/…(details) - Auth: HTTP Basic —
email:API key - Envelope:
{ "data": [ … ] } - Scope: PI Board Objectives. For Strategic Themes / portfolio OKRs, see the Strategic Themes & OKRs API. For Risks, see the Risk API.
Quick reference¶
| Step | Action | Method | Path |
|---|---|---|---|
| 1 | List collections (only if filtering boards) | GET |
/api/<companyPrefix>/collections |
| 2 | List boards (gets boardId) |
GET |
/api/<companyPrefix>/boards |
| 3 | List objective groups | GET |
/api/<companyPrefix>/objective-groups |
All URLs: https://rest.kendis.io + the path above.
How it fits together¶
graph LR
A[GET /collections] --> B[GET /boards]
B --> C[GET /objective-groups?boardId=…]
C --> D[Objectives → linkedItems → subItems]
An Objective Group contains Objectives; each Objective has linkedItems (board items such as
Features), and each linked item can have subItems (e.g. User Stories). Completion roll-ups are
controlled by completionType, and team/sprint enrichment by
additionalColumns.
Don't extract board IDs from browser URLs
The URL in the app shows a session ID, not the board ID — they differ. Always fetch identifiers via List Collections and List Boards first.