update_project
Partially update one project: name, description, status (PLANNING/ACTIVE/ON_HOLD/COMPLETED/CANCELLED), startDate, endDate, budget (number or null), color, retainedLogic (true: the remaining work of a started task waits on its links, so a late predecessor pushes it; false: a started task holds). Only supplied fields change. Caller must have project.edit on the project. Project progress is not writable here: it is derived from the progress of the tasks underneath, so it changes through update_task rather than through this tool.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | 2-255 chars. | |
| color | No | ||
| budget | No | ||
| status | No | ||
| endDate | No | ISO date - must be after startDate when both set. | |
| feeAmount | No | FIXED_FEE / MILESTONE: the sold fee, distinct from budget (the cost plan). | |
| projectId | Yes | ||
| startDate | No | ISO date. | |
| statusDate | No | ISO date the schedule is reported "as of" (MS Project Status Date, P6 Data Date). null clears, meaning today. | |
| description | No | ||
| billingModel | No | How the project bills: TIME_AND_MATERIALS (hours x rate), FIXED_FEE (feeAmount recognised by approved-hours share of estimatedHours, capped), RETAINER (retainerAmount per retainerPeriod, over-servicing above retainerIncludedHours), MILESTONE (milestoneSchedule amounts recognised as linked milestones complete). Changing it clears the other models' terms. | |
| retainedLogic | No | How a started task meets its links. true (retained logic): its remaining work waits on its incoming links, so a late predecessor pushes it. false (the default): it holds at its actual start. Takes effect on the next reschedule, and only while the server switch retained_logic_enabled is on. | |
| estimatedHours | No | FIXED_FEE: hours the fee was priced on. | |
| retainerAmount | No | RETAINER: fee per period. | |
| retainerPeriod | No | ||
| milestoneSchedule | No | MILESTONE: [{ label, amount, milestoneId? }], each milestone linked at most once. | |
| retainerIncludedHours | No | RETAINER: hours the fee covers per period. |