Update requirement

PATCH /api/v3/requirements/{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 requirement

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

Start date of the record.

datestart_date

End date of the record.

dateend_date

Position of the record relative to its siblings.

integerposition

Initial work estimate for the record.

numberinitial_estimate

Detailed work estimate for the record.

numberdetailed_estimate

Remaining work estimate for the record.

numberremaining_estimate

Work completed for the record.

numberwork_done

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

ID of the feature associated with the requirement.

stringfeature

ID of the iteration associated with the record.

stringiteration

ID of the user who created the record.

stringcreated_by_user

ID of the team assigned to the record.

Availability depends on account settings.
stringteam

ID of the team status assigned to the record.

Availability depends on account settings.
stringteam_status

ID of the program increment associated with the record.

stringprogram_increment

ID of the time code assigned to the record. only available when timesheets are enabled for the account.

Availability depends on account settings.
stringtime_code

Tags associated with the requirement. 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.

arraytags

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

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

Name of the record.

stringYes

Reference number of the record.

stringYes

Date and time when the record was created.

date-timeNo

Date and time when the record was last updated.

date-timeNo

Start date of the record.

dateNo

End date of the record.

dateNo

Position of the record relative to its siblings.

integerNo

Initial work estimate for the record.

numberNo

Detailed work estimate for the record.

numberNo

Remaining work estimate for the record.

numberNo

Work completed for the record.

numberNo

Status assigned to the record.

StatusNo

User assigned to the record.

AssignedToUserNo

HTML description of the record.

NoteNo

Feature associated with the requirement.

FeatureNo

Iteration associated with the record.

IterationNo

User who created the record.

UserNo

Team assigned to the record.

Availability depends on account settings.
ProjectNo

Team status assigned to the record.

Availability depends on account settings.
StatusNo

Program increment associated with the record.

ProgramIncrementNo

Time code assigned to the record. Only available when timesheets are enabled for the account.

Availability depends on account settings.
TimeCodeNo

Tags associated with the requirement. Omitted by default. Request the field for inline records with default sub-fields, or choose sub-fields (e.g., ?fields=tags[default]). Capped at 25 records. Only available on the top-level resource.

CollectionNo

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

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