Skip to content

PI Objectives V1 · Field reference

Object shapes returned by the V1 endpoints. Fields with no value are omitted. This includes completionPct: it is left out when the board's progress calculation produces no value for a row, for example an objective group with no objectives. Treat a missing completionPct as "not computable", not as 0.

Every Group, Objective and Key Result carries a numeric level (1 group, 2 objective, 3 key result) and a type string ("Objective Group", "Objective", "Key Result"), so a flat-table consumer such as Power BI can group rows without tracking which endpoint produced them.

PI Board

Field Type Description
id string Board ID, use as {boardId}
type string Always PI Board
title string Board name
state object { id, title }, the current board state (e.g. Draft, Planning, Tracking)
okrEnabled boolean true when the board runs in OKR mode (objectives can carry key results and weights). Omitted when the board has no objectives settings yet.
uncommittedObjectivesEnabled boolean true when the board shows uncommitted (stretch) objectives. Omitted when the board has no objectives settings yet.
counts object objectiveGroups, objectives, keyResults on the board. Milestones and phases are not counted here; read total from the Milestones & Phases API.

Objective Group

Always returned

Field Type Description
id string Group ID (groups have no key)
level number Always 1
type string Always Objective Group
title string Group name
groupType string TeamGroup or CustomGroup
team object Team groups only: { id, title, label }
completionPct number Group completion, 0 to 100, as shown on the board
status object See status
objectivesCount number Number of objectives in the group

Optional (via fields): bvPlan, bvActual (business value totals for the group as the board computes them), description, sequence, createdBy, updatedBy, createdOn, updatedOn.

Objective

Always returned

Field Type Description
id string Internal ID
level number Always 2
type string Always Objective
key string Objective key, e.g. OBJ-205
title string Objective title
completionPct number Completion, 0 to 100, as shown on the board
objType string Committed or Uncommitted
status object See status
groups array Every group the objective belongs to: { id, title, groupType, weightage }, where weightage is the objective's weight inside that group
completionCriteria string How the objective's own linked cards are rolled up. See values.
linkedItemsWeight number Weight of the objective's own linked cards against its key results in the OKR formula
keyResultsCount number Number of key results
linkedItemsCount number Number of cards linked directly to the objective

Optional (via fields): keyResults (references { id, key, title }), description, bvPlan, bvActual, sequence, customFields, createdBy, updatedBy, createdOn, updatedOn.

Key Result

Always returned

Field Type Description
id string Internal ID
level number Always 3
type string Always Key Result
key string Key result key, e.g. KR-311
title string Key result title
completionPct number Completion, 0 to 100, as shown on the board
criteria string Target or By Items
metric object Target only: baseline, target and current as numbers (e.g. 60.0), and unit as a string (e.g. %). A value that is not set or not numeric is omitted, never returned as "" or 0.
completionCriteria string By Items only. See values.
weightage number Weight of the key result inside its objective
objective object The parent objective: { id, key, title }
status object See status
linkedItemsCount number Number of cards linked to the key result

Optional (via fields): description, bvPlan, bvActual, sequence, customFields, createdBy, updatedBy, createdOn, updatedOn.

Linked card

Returned by the linked-items endpoints of objectives and key results (the Milestones & Phases API returns the same shape). The shape is the same for Jira and Azure DevOps boards.

Field Type Description
id string Kendis internal ID of the card, stable across re-syncs
kendisKey string The card's Kendis key. Present only for cards created in Kendis.
almKey string The card's key in the connected tool: Jira issue key (e.g. FEA-412) or Azure DevOps work item ID (e.g. 20417). Present only for synced cards.
title string Card title
description string Card description as stored (may contain HTML)
cardType string Kendis card level: Feature, UserStory, Epic
almType string Issue or work item type in the connected tool (e.g. Epic, Story, Bug). Omitted for Kendis-only cards.
status object See status
storyPoints number The card's own story point estimate; 0.0 when not estimated
url string Deep link to the card in the connected tool. Present only for synced cards.
isEnabler boolean Present and true for enabler cards
dueDate number Due date, epoch milliseconds
teamsAndSprints array Where the card sits on the board. See entry. Empty for cards in the backlog.
createdOn, updatedOn number Epoch milliseconds
childrenSummary object Only with expand=children. See childrenSummary.
children array Only with expand=children: the card's sub-items in the same card shape (without children)

teamsAndSprints entry

One entry per placement of the card on the board.

{
  "team":   { "id": "<team-id>", "title": "Team Claims", "label": "CLM" },
  "sprint": { "id": "<sprint-id>", "title": "Iteration 3", "label": "S3", "startDate": 1777852800000, "endDate": 1778803200000, "isIPSprint": false }
}

childrenSummary

Field Description
totalItems / doneItems Number of sub-items, and how many are in a Done status
totalStoryPoints / doneStoryPoints Story points over the sub-items, and the Done share
progressPct doneItems / totalItems × 100; 0.0 when there are no sub-items
progressPctByStoryPoints doneStoryPoints / totalStoryPoints × 100; 0.0 when there are no points

Status

{ "id": "<status-id>", "status": "In Progress", "category": "InProgress" }

category is one of ToDo, InProgress, Done, Misc.

Different key from the legacy endpoint

The V1 status object names the display value status. The legacy /objective-groups endpoint names it title.

Completion criteria values

Value Meaning
LINKED_ITEM_STATUS Share of linked cards whose status is Done
CHILDREN_LINKED_ITEM_STATUS Share of the linked cards' sub-items whose status is Done
CHILDREN_LINKED_ITEM_ESTIMATE Share of the sub-items' story points that are Done
TEAM_STORY_STATUS As CHILDREN_LINKED_ITEM_STATUS, counting only the group's team
TEAM_STORY_ESTIMATE As CHILDREN_LINKED_ITEM_ESTIMATE, counting only the group's team
ROLLUP_BY_STATUS Leaf roll-up by status across all linked cards
ROLLUP_BY_STORY_POINTS Leaf roll-up by story points across all linked cards

Custom fields

customFields lists the admin-defined fields of the board's Objective layout (on objectives) or Key Result layout (on key results). Each entry has id, title, type and value; value is null when the item has no value. User-picker values are returned as { id, fullName }.