Update object type
update_objectRename or reconfigure a custom object type by key — change its label, plural, blurb, icon, shared-write mode, enabled flag, or display_field (the data key holding a record's display name; null resets to the 'name' default) — and/or set its sidebar-menu visibility (show_in_menu: navigation only — true pins the object into the web app's menu, false removes its menu row while the object stays fully usable everywhere else). A BUILT-IN object's identity is code-defined, so on a built-in key only two changes apply, alone or together: enabled and show_in_menu. enabled:false turns the object OFF for the whole workspace — its records vanish from every surface and the generic verbs refuse it until it's turned back on (nothing is deleted) — so it needs a preview call, then confirm:true; enabled:true turns it back on with no confirm. describe_schema's switchable says which objects have a switch (foundational objects and a feature's parts don't, and say so). Returns the updated object definition (a built-in or menu-only change returns the key + what changed).
When to use: When an admin wants to change a custom object's label, plural, blurb, icon, shared-write mode, or enabled flag — or its sidebar-menu visibility (show_in_menu, navigation only: the object stays fully usable off the menu). For a built-in object only enabled (off needs a confirm) and show_in_menu apply.
Example: Rename the Property object to Listing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | The object's stable key (from describe_schema). On a built-in key only enabled and/or show_in_menu apply; any other change is refused. | |
| icon | No | A key from Capable's curated object-icon set (e.g. landmark, factory, handshake, flask); an unknown key is rejected with suggestions. Null clears back to the neutral default. | |
| blurb | No | New one-sentence description of the object; null clears it. | |
| label | No | New singular display name. The key does not change. | |
| plural | No | New plural display name for lists and the menu. | |
| shared | No | true lets any non-viewer edit every record of this object; false lets only the record's owner, admins and managers edit it. | |
| confirm | No | Required (true) to turn a BUILT-IN object off: the first enabled:false call answers with a preview instead. Not needed for anything else. | |
| enabled | No | false turns the object off — it leaves the schema and menu and the generic verbs refuse it, records kept; true turns it back on. On a built-in key, false needs confirm:true (the first call previews); custom objects switch as before. | |
| show_in_menu | No | Whether the object appears in the web app's sidebar menu — an explicit per-object override of the bounded default. NAVIGATION only: it never changes what you or the app can do with the object (that's `enabled`). Composes with the other args on a custom key; on a built-in key it composes only with enabled. | |
| display_field | No | The data key holding a record's display name (a lowercase field key); null resets to the "name" default. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | ||
| note | No | ||
| label | No | ||
| object | No | ||
| updated | No | ||
| requires_confirm | No | ||
| records_affected_note | No |