Update a library block
PATCH/v1/library/entries/{entryId}
Renames or re-tags a library entry, and/or REPLACES its content with a block of a trip (fromTrip: the same capture as saving; the block must be of the entry's type, else 422 root_type_mismatch; needs trips:read). A refresh is refused with 409 being_edited while the entry is open in the builder. Pass the updatedAt you read as expectedUpdatedAt to refuse a stale write with a 409. Undo with POST /changes/{changeId}/revert.
Permissions: catalog:write · Kind: write · Cost: 1 unit · MCP tool update_library_entry
Undoable: the response carries Bymundi-Change-Id; revert it with POST /v1/changes/{changeId}/revert.
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
entryId |
uuid | yes |
Body
| Field | Type | Required | Description |
|---|---|---|---|
title |
string | max 200 chars | |
tags |
string[] | Replaces the tags; lowercased. max 20 items | |
fromTrip |
object | ||
fromTrip.tripId |
uuid | yes | |
fromTrip.blockId |
string | yes | The block's id or its short ref from get_itinerary. max 64 chars |
expectedUpdatedAt |
datetime |
Response 200
| Field | Type | Required | Description |
|---|---|---|---|
object |
"library_entry" | yes | |
id |
uuid | yes | |
title |
string | yes | |
rootType |
string | yes | |
tags |
string[] | yes | |
updatedAt |
string | yes | |
snapshot |
object | yes |
Errors
Errors are problem details. Besides the refusals described above, any call like this one can return:
invalid_request— Invalid requestunauthorized— Missing or invalid API keyinsufficient_scope— Missing permissionrate_limited— Rate limit reachednot_found— Not foundidempotency_key_reused— Idempotency-Key reusedrequest_in_progress— Request in progress