Skip to content

Strategic Themes & OKRs — Field reference

Pass fields as ?fields=key,title or ?fields=all. Omit fields= for a minimal set (id, key, title). Fields with no value are omitted.

Portfolio Theme fields

Field Type Description
id string Portfolio Theme ID
key string Portfolio Theme key (e.g. portfolio-10)
title string Portfolio Theme name
status object { status: "title", id: "..." }
linkedThemes array Linked Strategic Theme IDs

Strategic Theme fields

Field Type Description
id string Strategic Theme ID
key string Strategic Theme key (e.g. CV-20)
title string Strategic Theme name
status object { status: "title", id: "..." }
owners array Owner IDs
color string Strategic Theme colour hex code
summary string Short summary
description string Full description

Objective Group fields

Field Type Description
id string Objective Group ID
level int Hierarchy level — always 1 for Objective Groups (always returned)
type string Entity kind — always "Objective Group" (always returned)
title string Objective Group name
completionPct number Group completion percentage (0–100)
objectivesCount int Number of Objectives in the group
sequence number Display order
status object { status: "title", id: "..." }
bvPlan number Planned business value
bvActual number Actual business value
completionCriteria string Completion calculation method — see values
association string Comma-joined list of linked Departments, Batches, and Program Boards (mirrors the XLS export's Association column)

Objective fields

Field Type Description
id string Objective ID
level int Hierarchy level — always 2 (always returned)
type string Entity kind — always "Objective" (always returned). Use objType for the parsed subtype.
key string Objective key (e.g. OBJ-329)
title string Objective title
completionPct number Completion percentage (0–100)
timePeriod string Time period (e.g. H1 2026, Q2 2026)
endTimePeriod string End time period (when configured in the objective layout)
status object { status: "title", id: "..." }
description string Objective description
bvPlan number Planned business value
bvActual number Actual business value
completionCriteria string Completion method — see values
sequence number Display order
groupName string Parent Objective Group name
groupId string Parent Objective Group ID
groupType string Group type: TeamGroup or CustomGroup
keyResultsCount int Number of Key Results and child Objectives
linkedItems array Linked items [{ id, linkType }]
linkedItemDetails array Resolved backlog item details [{ id, key, title, url, status }]
objType string Parsed Objective subtype: "Committed", "Stretch", "Uncommitted"
startDate number Start date (epoch ms) from the configured Start Date field
endDate number End date (epoch ms) from the configured End Date field
responsible object { id, fullName } of the user assigned as responsible
association string Comma-joined list of linked Departments, Batches, and Program Boards
lastComment string Plain-text content of the most recent comment
lastCommentOn number Timestamp of the most recent comment (epoch ms)
createdBy string Creator user
updatedBy string Last updater user
createdOn number Creation timestamp (epoch ms)
updatedOn number Last update timestamp (epoch ms)
customFields array Custom fields [{ id, title, type, value }] — see Custom fields

Key Result fields

Field Type Description
id string Key Result ID
level int Hierarchy level — always 3 (always returned)
type string Entity kind — always "Key Result" (always returned)
key string Key Result key (e.g. KR-141)
title string Key Result title
completionPct number Completion percentage (0–100)
criteria string Progress criteria (e.g. By Items, Target, By Objectives)
timePeriod string Time period
endTimePeriod string End time period (when configured in the KR layout)
status object { status: "title", id: "..." }
description string Key Result description
bvPlan number Planned business value
bvActual number Actual business value
sequence number Display order
metric object { baseline, target, current, unit } (for Target-based Key Results)
linkedItems array Linked items [{ id, linkType }]
linkedItemDetails array Resolved backlog item details [{ id, key, title, url, status }]
startDate number Start date (epoch ms)
endDate number End date (epoch ms)
responsible object { id, fullName } of the user assigned as responsible
association string Comma-joined list of linked Departments, Batches, and Program Boards
lastComment string Plain-text content of the most recent comment
lastCommentOn number Timestamp of the most recent comment (epoch ms)
createdBy string Creator user
updatedBy string Last updater user
createdOn number Creation timestamp (epoch ms)
updatedOn number Last update timestamp (epoch ms)
customFields array Custom fields [{ id, title, type, value }] — see Custom fields

type value (V1.1 change)

Previously type returned the raw internal type string (e.g. "Objective-Committed", "KR"). It now returns the entity kind ("Objective Group" / "Objective" / "Key Result") so a multi-endpoint flat-table consumer (e.g. PowerBI) can group rows without inspecting which endpoint produced them. For the previous Objective subtype value ("Committed" / "Stretch"), request ?fields=objType. The raw internal type string is no longer exposed.

Completion criteria values

These appear in the completionCriteria field on Objectives and Objective Groups:

Value Description
ROLLUP_BY_STATUS Completion based on done/total leaf-level children by status
ROLLUP_BY_STORY_POINTS Completion based on done/total story points of leaf-level children
LINKED_ITEM_STATUS Completion based on status of directly linked items
CHILDREN_LINKED_ITEM_STATUS Completion based on children of linked items by status
CHILDREN_LINKED_ITEM_ESTIMATE Completion based on children of linked items by estimate

Custom fields

When ?fields=all or ?fields=customFields is requested, custom fields defined in the objective layout are returned as an array. Each entry has { id, title, type, value }. The type is the field's persisted type token (lowercased); the value shape depends on the type.

"customFields": [
  { "id": "64f1a2b3...", "title": "Priority Score", "type": "textfield",  "value": "85" },
  { "id": "64f1a2b4...", "title": "Team Lead",      "type": "userpicker", "value": { "id": "690cb37331dd81412133d626", "fullName": "Jane Doe" } },
  { "id": "64f1a2b5...", "title": "Tags",           "type": "multiselect","value": ["Backend", "Infrastructure"] },
  { "id": "64f1a2b6...", "title": "Target Date",    "type": "datepicker", "value": "2026-03-25T11:43:00.000Z" }
]
type value shape Notes
textfield string Plain text as-is
simpleEditor string Rich-text source as-is
singleselect string The selected option's title (not the option object)
multiselect array of strings Array of selected option titles
datepicker string (ISO 8601) UTC ISO timestamp, e.g. "2026-03-25T11:43:00.000Z"
userpicker object { id, fullName } only — see security note below
status string The status title
colorpicker string Colour value (hex / CSS)
image-uploader string Image URL or identifier as stored

If the objective layout has no custom fields defined, the array is empty. Custom fields the user hasn't filled in are omitted (the API does not emit value: null entries).

Security note on userpicker (V1.1)

Earlier builds returned the full persisted User object for userpicker custom fields, which inadvertently included tenant-internal data (paymentDetails, planPrice, nextPaymentDate, MFA settings, AI-token allocations, …). From V1.1 onwards the response is restricted to { id, fullName }, matching the dedicated top-level responsible field. Any future Map-shaped field type that isn't yet handled returns null rather than the raw persisted object — fail-safe for downstream consumers.