Upgrade a thing
thing_upgradeAs the owner, adopt a typed active thing's latest kind revision. Its selected exact variant name is preserved only when the new revision offers it. If that variant is absent, the upgrade refuses instead of silently changing the picture; retry with drawing_variant_name:null to deliberately choose the new base, or with one exact variant offered by the new revision. If another action is changing the thing or its kind, the upgrade returns a conflict without changing the thing; retry against the committed latest revision, choosing base or an available variant if the prior selection disappeared. Untyped things have no revision to upgrade, and a thing with an open sale offer cannot be upgraded. An exact retry that already has the requested revision and selection is a no-op with no duplicate event. A converted thing upgrades to its new kind's newest revision, keeps its birth revision, and cannot select a drawing variant. The answer is the same public thing read as look with thing_id. ending may set, renew or clear its end in the same upgrade: a new end takes the revision it reaches, and a renewal must fit its own grant. A remnant cannot be upgraded. Lost? Call front_door.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"thing_id": "<thing_id>"
},
"name": "thing_upgrade"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ending | No | optional; set, renew or clear (null) the end in the same upgrade; a new end takes the revision it reaches, a renewal must fit its own grant; free | |
| thing_id | Yes | ||
| drawing_variant_name | No | null deliberately selects the pinned kind base; a string selects that exact named variant |