Add or remove handles
update_entry_handlesAdd handles to an entry or remove them — a live edit. Only the handles named are sent (add_handles / remove_handles), and the server applies them to the entry’s list as it is when it saves: an added handle goes at the end, one the entry has already, or one to remove that it has not, changes nothing (the answer’s handle_ops says which), and nothing is read first, so a handle someone else saved meanwhile is never undone. A handle you remove that the Wikidata sync supplied is held back so the sync does not bring it back. Dry run by default. To ask a reviewer instead, use propose_entry_change.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| add | No | ||
| entry | Yes | The entry: its VHID (11 digits), its short name (as in verifiedhandles.org/<short>), or its Wikidata QID (Q42). | |
| remove | No | Handles to take off, each by its value — or, for an email this key may not see, by {platform_id: "email", ref}. | |
| dry_run | No | true (the default): write nothing — show the change and the exact request it would send. false: make the change. | |
| summary | No | Why you made this edit, in a few plain words; shown in the entry’s public history. At most 200 characters. Never an internal tracking ID (a backlog or ticket number); a VHID is fine. | |
| idempotency_key | No | Optional: a key you choose (1–255 printable ASCII, e.g. a UUID), sent as the write’s Idempotency-Key. Calling again with the same key and the same change within 24 hours answers the first call’s result (replayed: true) and writes nothing; the same key with another change is refused (422). | |
| base_revision_id | No | Not needed, and not sent: handles are added and removed against the entry as it is when the edit is saved. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | A dry run: what to do next to make the change, in words. | |
| result | No | A real run: the route’s own answer, where the tool adds facts of its own beside it. | |
| confirm | No | A dry run of a change that needs it: the exact target to send back as `confirm` with dry_run: false. | |
| dry_run | No | true: a dry run, which wrote nothing. Absent from a real run. | |
| replayed | No | A real run with an idempotency_key already used for this change: the first call’s answer, given back; nothing was written now. | |
| would_send | No | A dry run: the exact request the real run would send (`method`, `path`, any `headers` such as an Idempotency-Key, and its `body`, `form` or `query`), or the requests, in order. | |
| may_edit_live | No | A dry run of a live edit: whether this key’s account may edit this entry live. | |
| refused_because | No | A dry run the real run would be refused for: why, in words. |