add_column
Append a single column to a workspace's table schema. Position is auto-computed as next-after-max so the contiguity invariant holds. Key collision (409) if a column with the same key already exists. Editor role required. Use this for per-column additions; use get_workspace_schema + update_workspace_columns (PUT on /columns) for full schema replacement or reordering. Multi-surface workspaces accept surface_slug to target a specific table sheet (use list_surfaces to enumerate); omit to fall through to the workspace's primary table surface.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Field name in row.data. Lowercase + underscores recommended; 1-64 chars. | |
| slug | Yes | The workspace slug. Accepts either the bare slug ('my-workspace') or the org-prefixed form ('my-org/my-workspace') as shown in the dashboard URL; both resolve to the same workspace. | |
| type | Yes | Column type. See get_workspace_schema for examples. | |
| label | Yes | Human-readable header shown in the sheet. | |
| width | No | Optional. Initial column width in px. | |
| options | No | Required for `status` + `select` types. The allowed values shown in the dropdown. | |
| description | No | Optional. Human-readable tooltip shown in the column header. | |
| surface_slug | No | Optional. The slug of the specific table surface to add the column to. Omit on single-table workspaces; required on multi-table workspaces if you don't want the primary table surface (lowest position). |