Skip to navigation

Update Key Result

Setting score here records a check-in with no note, so the history never misses a score; to say why it moved, post a check-in instead, which does the same with a note. A Final grade set on the scorecard still outranks either: while there is one, it stays the score.

A key may change any key result. A signed-in session changes what the app lets its person: everything, if they may edit the objective (see updateObjective); score alone, if the key result is theirs or one of their teams’. Anything else is 403 forbidden.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Path parameters

keyResultIdstringRequired

Request

This endpoint expects an object.
titlestringOptional
scoredoubleOptional

A new score, 0.0 to 1.0, is recorded as a check-in with no note, by the caller (a key’s maker, for a key), and the activity feed says the key result was scored, as the dashboard’s score grid does. The same score again records nothing. null clears it; any check-in or scorecard grade it has then shows again.

weightdoubleOptional
0.01 to 100.
priorityenumOptional

A key result’s priority, and the dimension scores are averaged by, so a workspace can see how it did on what mattered most rather than only in aggregate. Objectives have none: a priority’s average takes each objective on its key results of that priority alone, with the objective’s own weight.

Allowed values:
draftbooleanOptional

false publishes it.

sortOrderintegerOptional
ownerUserIdslist of stringsOptional
ownerTeamIdslist of stringsOptional

Response

This endpoint returns an object.
idstring
objectiveIdstring
titlestring
weightdouble
Relative weight within its own objective, 0.01 to 100.
priorityenum

A key result’s priority, and the dimension scores are averaged by, so a workspace can see how it did on what mattered most rather than only in aggregate. Objectives have none: a priority’s average takes each objective on its key results of that priority alone, with the objective’s own weight.

Allowed values:
draftboolean

Still being worked out, not yet agreed. A label only: a draft is seen, scored, rolled up and checked in on like any other.

sortOrderinteger
Its place among its objective's key results, lowest first.
ownerUserIdslist of strings
Members of the workspace who own it, directly.
ownerTeamIdslist of strings

Teams of the workspace that own it; their members count as owners.

createdAtdatetime
updatedAtdatetime
scoredoubleOptional

Google-style grade from 0.0 to 1.0, or absent until it has been scored. 0.7 and up is delivered for an ambitious goal, 0.4 to 0.7 is progress, and under 0.4 is missed.

A Final grade set on the scorecard is the score. Until there is one, the score is the newest of the key result’s other scorecard grades and its latest check-in. A score reset on the scorecard (noScore) empties that cell only and leaves this alone. It is what the dashboard’s lists show, and what the objective’s score rolls up.

lastCheckInAtdatetimeOptional

When it was last checked in on: its newest check-in’s recordedAt, so a check-in recorded late counts at its date. Absent if it has never been checked in on. How long it has gone quiet.

metricobjectOptional

The connected metric that drives its score, absent if none. Each number the metric hears becomes a check-in, and a person’s own check-in stands only until the metric next moves. Sources are set up on the key result’s page in the app, not through the API.

Errors

403
Forbidden Error
404
Not Found Error
422
Validation Error
429
Too Many Requests Error