ts.dmd.update

Update demand attributes (partial update).

Update demand attributes (partial update).

Requires authentication

Description

Updates one or more fields of an existing demand. Only provided fields are changed; omitted fields remain unchanged.

Demand status transitions follow a defined lifecycle:

  • open -> in_progress, fulfilled, canceled
  • in_progress -> fulfilled, canceled
  • fulfilled (terminal state)
  • canceled (terminal state)

When setting status to canceled, provide a canceled_reason.

Parameters

NameTypeRequiredDefaultDescription
idstringYesDemand ID
titlestringNew title
descriptionstringNew description
typestringNew demand type
statusstringNew status: open, in_progress, fulfilled, canceled
prioritystringNew priority: low, medium, high, urgent
endeavour_idstringNew endeavour (empty string to unlink)
due_datestringDue date (ISO 8601, empty string to clear)
canceled_reasonstringReason for cancellation (when status=canceled)
metadataobjectMetadata to set (replaces existing)

Response

Returns the demand ID and list of fields that were updated.

{
  "id": "dmd_a1b2c3d4e5f6...",
  "updated_at": "2026-02-09T11:00:00Z",
  "updated_fields": [
    "status",
    "priority"
  ]
}

Errors

CodeDescription
not_authenticatedNo active login for this session
not_foundDemand with this ID does not exist
invalid_inputNo fields to update or invalid priority value
invalid_transitionInvalid status transition

Examples

Start working on a demand

Move a demand from open to in_progress.

Request:

{
  "id": "dmd_a1b2c3d4e5f6...",
  "status": "in_progress"
}

Response:

{
  "id": "dmd_a1b2c3d4e5f6...",
  "updated_at": "2026-02-09T11:00:00Z",
  "updated_fields": [
    "status"
  ]
}

Fulfill a demand

Mark a demand as fulfilled.

Request:

{
  "id": "dmd_a1b2c3d4e5f6...",
  "status": "fulfilled"
}

Response:

{
  "id": "dmd_a1b2c3d4e5f6...",
  "updated_at": "2026-02-09T12:00:00Z",
  "updated_fields": [
    "status"
  ]
}