Update key result

PUT /api/v3/key_results/{id}

Request conventions

API key or OAuth2 access token. See Authentication.

Use your account domain and token in copied requests. Request values and conditional fields must satisfy your account’s validation rules.

URL settings

The part before .aha.io. Leave blank to use the example domain.

ID or reference number of the key result

Request fields

Send only the fields you want to change inside a JSON record object. This applies to both PUT and PATCH.

Only writable fields for this endpoint are listed. Required flags reflect the endpoint schema; record and workspace validation also applies.

FieldTypeResponse field

Name of the record.

stringname

Position of the record relative to its siblings.

integerposition

Progress completed for the record.

numberprogress

Target value of the key result's metric.

stringtarget_metric

Starting value of the key result's metric.

stringstarting_metric

Current value of the key result's metric.

stringcurrent_metric

ID of the status assigned to the record.

stringstatus

ID of the user assigned to the record.

stringassigned_to_user

HTML description of the record.

stringdescription

Custom field values to set. Property names are custom field definition keys, and each value is one of the supported input formats below, depending on the field type. Attachment fields are read-only and can't be set.

objectcustom_fields

Users watching the record for update notifications. Items are merged into the existing collection: each item adds a record, or removes it with `_destroy: true`. Records not listed are left unchanged, and an empty array changes nothing.

arraywatchers

Response fields

Choose which fields to include in the response. Expand a field for examples and associated fields. Collections can only be returned on the top-level resource, not inside an associated resource.

Default response fields are returned until you select specific fields.

FieldTypeReturned by default

Unique record ID.

integerYes

URL to view the record in Aha!

stringYes

API URL for the record.

stringYes

Reference number of the record.

stringYes

Name of the record.

stringYes

Position of the record relative to its siblings.

integerNo

Progress completed for the record.

numberNo

Target value of the key result's metric.

stringNo

Starting value of the key result's metric.

stringNo

Current value of the key result's metric.

stringNo

Date and time when the record was created.

date-timeNo

Date and time when the record was last updated.

date-timeNo

Status assigned to the record.

StatusNo

User assigned to the record.

AssignedToUserNo

HTML description of the record.

NoteNo

Goal that contains the key result.

GoalNo

Custom field values. Property names are custom field definition keys, and each value is one of the supported formats below, depending on the field type. Omitted unless requested with the fields parameter or submitted in the request. Fields with no stored value are omitted.

objectNo

Users watching the record for update notifications. Omitted by default. Request the field for inline records with default sub-fields, or choose sub-fields (e.g., ?fields=watchers[default]). Capped at 25 records. Only available on the top-level resource.

CollectionNo

Search matches the start of a field path and includes matching associations’ subfields. Use a dotted path to search within a specific association.

Response field selection

Create and update responses also include fields submitted in the record body. Submitted association IDs return their associated response fields.

Return selected fields with a comma-separated fields parameter, or add a field to the defaults with fields=default,{field}. Expand an association above for its supported subfields and selection examples.

See field selection for details.

Response statuses

Error shape for 400, 401, 403, 404, 409

Type: object

error

Type: object

Required properties: status, code, message, request_id.

status

Type: integer

code

Type: string

message

Type: string

request_id

Type: string

Error shape for 422

Type: object

error

Type: object

Required properties: status, code, message, details, request_id.

status

Type: integer

Allowed values: 422

code

Type: string

Allowed values: "record.validation_failed", "record.cannot_delete"

message

Type: string

details

Type: array

Array item shape

Type: object

field

Type: string

message

Type: string

code

Type: string

request_id

Type: string

Response envelope and pagination

record: a single record. Fields are documented above.

Download the complete OpenAPI specification