Propose a Base schema change (add / update / delete / convert / reorder / restore)
base_field_change_requestPropose a Base schema change (add / update / delete / convert / reorder / restore)
Review is permission-aware for every operation, decided server-side: the change merges immediately when your key has write access on the Base's node and lands as a pending ChangeRequest otherwise — check the response's status. Pass requireReview to always propose instead. Worth doing on delete and convert when the data matters: delete soft-deletes the field's stored values with it (restore brings both back), and convert can drop values that do not fit the new type. Pick operation first, then supply only that operation's arguments — add needs slug+name; update needs fieldId+patch; delete/restore need fieldId; convert needs fieldId+newType; reorder needs the complete fieldIds order. Before a convert, bases_preview_field_conversion shows what the data would become.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New field display name (add only). | |
| slug | No | New field slug (add only). | |
| patch | No | Changes to apply, e.g. {"name":"Status","required":true} (update only). | |
| baseId | Yes | Base to change. | |
| fieldId | No | Target field id. | |
| message | No | Explanation for the reviewer. | |
| newType | No | Field type to convert to (convert only). | |
| options | No | Field type options, e.g. {"choices":[{"id":"live","name":"Live"}]} (add only). | |
| fieldIds | No | Complete field order (reorder only). Repeat the flag per field. | |
| playbook | No | Optional. The playbook you are following, as `kind:nodeId[:key]` from playbooks_search (e.g. `prompt:nod_123:log-visit`). Recorded on the change request so the person can see which playbook produced it. | |
| required | No | Mark the new field required (add only). | |
| autoMerge | No | Skip review and apply the schema change immediately if you have write access. Not a permission override — a changeRequest-level key still gets a pending CR. Default is permission-aware: merge when you can, otherwise propose. | |
| fieldType | No | New field type, defaults to text (add only). | |
| operation | Yes | What to do to the schema. Choose this before the other arguments. | |
| submittedBy | No | Producer label recorded on the change. | |
| requireReview | No | Always propose a pending ChangeRequest, even with write access. Worth passing on delete and convert when the field holds data you would not want dropped without a second look. | |
| targetSpaceId | No | Busabase space id. Call auth_verify first and ask the user which space to use when more than one is returned. | |
| selectChoiceMode | No | Converting into a select: create missing choices, or null the value out. Defaults to null_on_missing. |