Token Move
token_moveSet an existing token's absolute position through REST. Use token_add to create a token or map_switch to change the active map. The bridge rejects SPECTATOR/unknown roles; upstream requires DM or the controlling player.
Instructions
Set an existing token's absolute position through REST. Use token_add to create a token or map_switch to change the active map. The bridge rejects SPECTATOR/unknown roles; upstream requires DM or the controlling player. The same coordinates produce the same position, but repeated writes may produce notifications. Returns persisted=true,broadcast_confirmed=false; REST does not itself emit map.changed. On both REST and WS token.move, PLAYER must use the current campaign map; DM may use any map of this campaign. Upstream applies control, plane, and session-state restrictions; returned token fields may be null. Newer servers require whole-square coordinates and may clamp the footprint at map edges. Read the returned position rather than assuming the requested one. Inspect events_poll or the VTT before assuming others saw the move; this result is not a correlated broadcast ACK. 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 |
|---|---|---|---|
| x | Yes | Absolute horizontal position in map units; upstream requires 0 <= x < map width. | |
| y | Yes | Absolute vertical position in map units; upstream requires 0 <= y < map height. | |
| map_id | Yes | Map ID containing the existing token. On both REST and WS token.move, PLAYER must use the current campaign map; DM may use any map of this campaign. | |
| token_id | Yes | Existing token ID on that map; this is not a character or creature ID. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||