Character Update
character_updateUpdate an existing character sheet with a partial patch, preserving all unspecified fields. Provide only name, data, or tokenImageUrl; nested data merges recursively.
Instructions
Patch an existing sheet while preserving unspecified fields (owner or campaign DM). Use character_get first; use token_hp_update for a signed HP change and character_create for a new sheet. data is a request-field object, e.g. {"data":{"hp":{"current":5}}}. Only name/data/tokenImageUrl are allowed at the top level. Nested data dictionaries merge recursively after a GET; arrays/scalars replace whole values and null is an explicit value, not deletion. The caller calculates rules values using the sheet's own gameSystem. Updates are locked only within this process; concurrent browser saves may be lost. Reapplying values is stable absent concurrent edits, but upstream update side effects are not guaranteed idempotent. REST errors retain diagnostics. Returns {ok:true,data} on success; tool-body failures return {ok:false,error} with optional diagnostic data. Argument-schema errors are MCP errors.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Nonempty request patch containing only name, data, tokenImageUrl. Sheet changes go inside data as an object; arrays replace, null is explicit. | |
| character_id | Yes | Existing sheet ID to modify; upstream enforces owner or campaign DM access. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||