Update / overwrite project (DESTRUCTIVE)
update_projectUpdate an existing Railyard project by merging top-level fields or replacing the full document, with revision checks to prevent overwriting concurrent changes.
Instructions
Save changes to an existing project via a full-document PUT. DESTRUCTIVE: the saved document REPLACES the stored one. By default (merge=true) the given project fields are shallow-merged over the current document (only the top-level keys you supply are replaced, e.g. pass just {racks:[…]} to swap the racks) — recommended. With merge=false, project is taken as the entire new document and must be a complete, valid project. The project's real id is always preserved. Concurrent browser or MCP saves are guarded by revision checks: a stale update is refused instead of overwriting newer work.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The project's id (prj_…) or slug identifying which project to update. | |
| org | No | Organisation to target: an org id (org_…), slug, or name. Defaults to RAILYARD_ORG, or to your first (personal) org if that is unset. Use list_orgs to see the options. | |
| merge | No | true (default): shallow-merge over the current doc. false: replace the whole document. | |
| project | Yes | Project fields. With merge=true, a partial set of top-level keys to overwrite (e.g. {name, racks, catalogue}). With merge=false, the complete project document. | |
| revision | No | Revision returned by get_project. When present, the update is refused if the project changed since that read. When omitted, update_project safely reads the latest revision immediately before saving. |