Skip to content

PI Objectives · Troubleshooting

V1 API

For milestone and phase issues see Milestones & Phases troubleshooting.

Symptom Likely cause Resolution
404 {"error": "No PI board found with the given ID."} The ID was copied from the browser URL, the board belongs to another company, or the API user cannot open the board's collection Take {boardId} from GET /api/v1/boards. Open the board in Kendis as the same user to confirm access.
404 on /objectives/{keyOrId} or /key-results/{keyOrId} The key is on a different board (or a Strategic Theme), or an objective key was sent to a key-result route Use keys listed by this board's /objectives and /key-results routes
404 on /objective-groups/{groupId}/objectives The group is not on this board Use an id from this board's /objective-groups
400 "uses the legacy objectives view" The board's objectives live in the legacy objectives view Use the legacy endpoint for this board
400 "Invalid value for parameter '…'" A paging value such as pageLimit or startAt is not a whole number Send whole numbers, e.g. pageLimit=50
409 "has objectives but no objectives settings" The board's objectives settings are missing Contact Kendis support. Milestones and phases of the board can still be read (Milestones & Phases API).
A board returns zero counts and empty lists The board's Objectives screen has never been used Expected. okrEnabled / uncommittedObjectivesEnabled are also absent until it is
A Target key result has no baseline (or target, current) That value is not set, or is not a number Expected; only numeric values are returned
Parser finds no data key on a /pi-boards response These routes use capital Data Read Data. Note that GET /api/v1/boards uses lowercase data.
completionPct missing on a row The board's progress calculation produced no value for it (e.g. an objective group with no objectives) Treat as "not computable", not as 0
A Feature shows storyPoints: 0.0 but the board shows points The points are on its stories Read childrenSummary.totalStoryPoints with expand=children
childrenSummary / children missing expand not set Add ?expand=children
Fewer rows in Data than total on linked-items A linked card is no longer on the board Expected; total counts links, Data lists cards still on the board
Only 50 rows returned pageLimit is capped at 50 Page with startAt until startAt + Data.length >= total

Legacy endpoint

Symptom Likely cause Resolution
404 {"error": "Invalid company prefix in URL."} Wrong <companyPrefix>, or your user belongs to a different company Confirm the prefix with your Kendis administrator
401 Unauthorized Missing/invalid Authorization, revoked key, or Kendis password sent instead of the API key Regenerate the key in Profile → API Keys; re-encode email:apiKey to Base64; confirm the header reads Authorization: Basic <token> (not Bearer)
500 {"error": "No Session Board found"} boardId doesn't exist in your company, or your user can't access it Always fetch the board via List Boards and copy the exact id. Do not extract IDs from browser URLs — those are session IDs, not board IDs
Empty data: [] on /collections or /boards No collections/boards in your workspace, or your key's user has no access Open Kendis in the browser as the same user and confirm visibility
objective.completion always 0 or null Selected completionType doesn't match how the board is configured (e.g. 4/5 on a board with no Team mappings) Omit completionType and let the server pick 2 (or 6 for OKR boards)
Linked items missing tfsId / tfsURL The board is connected to Jira, not Azure DevOps Look for jiraId / jiraKey instead. See Compatibility notes
Linked items missing jiraId / jiraKey The board is connected to Azure DevOps Look for tfsId / tfsURL
teamsAndSprints missing on linked items additionalColumns not set Add &additionalColumns=1 to the request
teamsAndSprints present but empty array Item not assigned to any team / sprint on the board Confirm the assignment in the Kendis UI
bvActual / achievement always missing The board has BV Achievement disabled in its module configuration Enable in Kendis → Board → Module Configuration
Boards filter ignored Used singular collectionId in the query string Switch to plural collectionIds
collectionIds=X,Y returns no boards One of the collection IDs is wrong Re-fetch from List Collections and copy IDs verbatim
Sporadic 504 Gateway timeout on a large board Retry with backoff; for very large pulls, split by board and parallelise across boards rather than across objectives in one board
Request from kendis.io is denied Hitting <companyPrefix>.kendis.io/api/… directly Use rest.kendis.io/api/<companyPrefix>/… instead