x-cpod-domain: okr
OKRs
Objectives and Key Results.
Try in explorer
client.okrObjective
A high-level outcome with an owner.
REST path
/api/v1/okr/objectivesOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.okr.objectives.list()
// create:
await client.okr.objectives.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
app_id: "example app_id",
created_by: "rec_01HXEXAMPLE",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| period | string | Planning period this Objective belongs to (e.g. '2026-Q4'). |
| title | string | Short, action-oriented title for the Objective. |
| description | string | Longer narrative describing the intent and context of the Objective. |
| category | string | Strategic category this Objective contributes to. |
| owner_id | string | User ID of the person accountable for this Objective. Format: usr-<uuid>. |
| group_id | string | Group (department/team) that owns this Objective. Format: grp-<uuid>. |
| parent_objective_id | string | ID of the parent Objective for cascaded alignment. |
| key_result_ids | json | IDs of KeyResult records that contribute to this Objective. Format: krs-<uuid>. |
| status | string | Current lifecycle status of the Objective. |
| progress_pct | number | Aggregate progress percentage (0–100), computed from linked KeyResults. |
| weight | number | Relative importance of this Objective within its parent (e.g. 0.3 = 30%). |
| linked_project_ids | json | IDs of execution projects that contribute to this Objective. |
| dependencies | json | External dependencies that affect delivery of this Objective. |
| check_in_frequency | string | How often progress check-ins are expected for this Objective. |
| last_check_in_at | date-time | ISO 8601 timestamp of the most recent check-in. |
| tags | json | Free-form string tags for filtering and grouping. |
| version | number | Optimistic-lock version counter, incremented on each write. |
KeyResult
A measurable result rolling up to an Objective.
REST path
/api/v1/okr/key-resultsOperations
listgetcreateupdatedeleteSDK
// list — returns only your records; add filters/search:
await client.okr.keyResults.list()
// create:
await client.okr.keyResults.create({
id: "rec_01HXEXAMPLE",
tenant_id: "example tenant_id",
created_at: "2026-01-01T00:00:00Z",
updated_at: "2026-01-01T00:00:00Z",
app_id: "example app_id",
created_by: "rec_01HXEXAMPLE",
})| Field | Type | Description |
|---|---|---|
| id* | uuid | Server-assigned ULID with type prefix (e.g. per_…). |
| tenant_id* | string | Tenant scope — auto-stamped from the caller's JWT. |
| app_id | string | App scope. Stamped ONLY when the caller's JWT was minted for a specific Application (integration API keys). Absent for human-user sessions. Filters reads when present. |
| created_at* | date-time | Server stamp. |
| updated_at* | date-time | Server stamp; updated on every patch. |
| created_by | uuid | Person id from the caller's JWT (sub). |
| updated_by | uuid | Person id from the last writer's JWT (sub). |
| source | string | Provenance tag — defaults to 'edm'. |
| source_type | enum | Where the write originated. Defaults to 'api'.frontendbackendserversystemapi |
| is_deleted | boolean | Soft-delete flag. Excluded from default list queries. |
| deleted_at | date-time | Stamped when soft-deleted; null otherwise. |
| deleted_by | uuid | Person id who soft-deleted; null otherwise. |
| schema_version | number | Document schema version. Bumped on incompatible writes. |
| objective_id | string | ID of the Objective this KeyResult contributes to. |
| title | string | Short, descriptive title for this KeyResult. |
| metric_type | string | The measurement type that governs how progress is computed. |
| baseline | number | Starting value of the metric at the time this KeyResult was created. |
| target | number | The value the metric must reach for this KeyResult to be considered achieved. |
| current | number | Latest observed value of the metric. |
| unit | string | Human-readable unit label for the metric (e.g. 'MRR', '%', 'count', 'milestone'). |
| direction | string | Whether progress is made by the metric going up (increase) or down (decrease). |
| owner_id | string | User ID of the person accountable for this KeyResult. Format: usr-<uuid>. |
| data_source | string | How the current metric value is sourced. |
| connector_id | string | ID of the connector used to pull metric data automatically. Null for manual or query sources. |
| query | string | Metric query expression used when dataSource is 'query'. |
| progress_pct | number | Computed progress percentage (0–100) based on baseline, current, and target. |
| status | string | Current health status of this KeyResult. |
| last_update_at | date-time | ISO 8601 timestamp when the current metric value was last updated. |
| history | json | Ordered log of metric value snapshots over time. |
| tags | json | Free-form string tags for filtering and grouping. |
| version | number | Optimistic-lock version counter, incremented on each write. |