plans

updatePlanPhase

Update a plan phase, or many phases in one call. Each phase has its own versionTimestamp (its updated_at in epoch milliseconds): listPlanPhases and getPlan (phases[].versionTimestamp) return it for every phase in a plan, getPlanPhase for one, and every write returns the new one. Never pass the plan's own top-level versionTimestamp. A phase with date_mode 'auto' (the default) takes its dates from its tasks; set date_mode 'manual' to pin dates by hand, or 'auto' to make them follow the tasks again. Pass fields (for example ["id", "versionTimestamp"]) for a short answer; a note saying the dates were replaced by the tasks' range always comes back. To change many phases, send items: up to 200 entries of { phaseId, versionTimestamp, ...changes } per call (more than 200: split them into several calls of up to 200), each checked and written on its own and answered with one row per entry plus a summary.

post/tools/updatePlanPhase

Request

  • Base URL: https://api.stablebaseline.io/functions/v1/cloud-serve/api/v1
  • URL: https://api.stablebaseline.io/functions/v1/cloud-serve/api/v1/tools/updatePlanPhase
  • Auth: HTTP bearer

Request body

projectIdstring

Optional. Narrows a friendly-id lookup to one project. Only needed when a friendly id is ambiguous — TAS-/IMP-/PLN- ids are numbered per PROJECT, so the same id can exist in several. Ignored when the id is a UUID.

planIdstring

Optional. Narrows a friendly-id lookup to one plan, given as the plan's UUID or friendly id (such as PLN-3). Phase ids are numbered per plan, so PHA-2 exists in every plan and planId is what makes one unique. Ignored when phaseId is a UUID.

phaseIdstring

Required unless you send items. The phase's UUID or friendly id (such as PHA-7); with a friendly id, give planId too, since PHA- ids repeat in every plan.

versionTimestampnumber

Required unless you send items. The phase's own current versionTimestamp (its updated_at in epoch ms), as listPlanPhases, getPlan (phases[].versionTimestamp), getPlanPhase or your last write of it returned. Not the plan's.

namestring
descriptionstring
statusstring

Status: not_started, in_progress, completed, on_hold, cancelled.

prioritystring

Priority: low, medium, high, critical.

positionnumber
wbs_codestring
date_mode'auto' | 'manual'

auto: the phase's dates follow its tasks (earliest task start to latest task end, kept current). manual: the dates you set are kept. Switching to auto recomputes the dates at once when the phase has dated tasks.

start_datestring nullable

YYYY-MM-DD, or null to clear. While date_mode is 'auto' and the phase has dated tasks, the tasks' range wins and the reply carries a note saying so; send date_mode 'manual' with it to set it by hand.

end_datestring nullable

YYYY-MM-DD on or after start_date, or null to clear. While date_mode is 'auto' and the phase has dated tasks, the tasks' range wins and the reply carries a note saying so; send date_mode 'manual' with it to set it by hand.

color'#3b82f6' | '#f59e0b' | '#8b5cf6' | '#ec4899' | '#06b6d4' | '#14b8a6' | '#6366f1' | '#6b7280' | 'null' nullable

Phase color. Must be one of: #3b82f6 (Blue), #f59e0b (Amber), #8b5cf6 (Purple), #ec4899 (Pink), #06b6d4 (Cyan), #14b8a6 (Teal), #6366f1 (Indigo), #6b7280 (Gray). Red and green are reserved for blocked / done item statuses. Pass null to clear.

fieldsstring[]

Optional. Answer with only these fields instead of the whole phase, for example ["id", "versionTimestamp"]. Any of the phase's own fields (snake_case or camelCase) or of the keys around it in the full answer (versionTimestamp, href and, where present, url, title, trackingId, message). The id is always returned, and so is any notice that needs your attention (a note, such as a phase's dates following its tasks or an item's id changing with its type, and a date change's cascadePreview). Unknown names are ignored.

Response

Tool result (shape varies per tool — refer to the tool's docs for the exact return value).

object required

Changes

No recorded changes to this operation across all 1 revision of this API.