Nodes
Get Tree Document
A node’s write document: valid input to PUT .../tree/{branch}/push.
Read, edit state, set message, and push the whole document back.
Pushing it back unchanged is a no-op (unchanged: true).
stateis exactly what push stores. Push replaces all five sections, so always send the document you read, not a hand-written subset.- Fields starting with
_(_title,_description,_snapshot_commit_id,_from_title,_to_title) are read-only annotations; push ignores them. statusis read-only context (parents, ingress/egress, counts).expected_head_commitis the branch head this document was read at; if the branch has moved since, push returns 409.
GET
Get Tree Document
Authorizations
Response
Successful Response
GET /tree/{branch}. Valid input to PUT /tree/{branch}/push as returned:
edit state, set message, send it back. expected_head_commit is the
branch head this document was read at; a stale one is rejected with 409.
Read at a commit (GET .../commits/{commit_id}/tree) the document is
read-only: it has no expected_head_commit, so push rejects it (422).