---
title: "Replace the full column schema"
method: PUT
path: "/api/workspaces/{slug}/columns"
tags: ["Columns"]
---

# Replace the full column schema

`PUT /api/workspaces/{slug}/columns`

## Request

- Base URL: `https://trydock.ai`
- URL: `https://trydock.ai/api/workspaces/{slug}/columns`
- Auth: HTTP bearer

Idempotent full-array replacement. Editor role required. Position values must be contiguous from 0. Renaming a column key triggers comment-anchor migration so existing comments on the old key keep resolving. Use POST instead when only appending one column.

## Path parameters

- `slug` string, required

## Request body

- object
  - `columns` object[], required
    - `key` string, required
    - `label` string, required
    - `type` 'text' | 'longtext' | 'number' | 'status' | 'person' | 'date' | 'url' | 'checkbox' | 'select', required
    - `position` integer, required
    - `width` integer
    - `hidden` boolean
    - `wrap` boolean
    - `description` string
    - `options` object[]
      - `value` string, required
      - `label` string, required
      - `color` string

## Response `200`

Replaced.

- object
  - `columns` object[], required
    - `key` string, required
    - `label` string, required
    - `type` 'text' | 'longtext' | 'number' | 'status' | 'person' | 'date' | 'url' | 'checkbox' | 'select', required
    - `position` integer, required
    - `width` integer
    - `hidden` boolean
    - `wrap` boolean
    - `description` string
    - `options` object[]
      - `value` string, required
      - `label` string, required
      - `color` string

## Other responses

- `400`: Body shape failed validation, or position values aren't contiguous.
- `403`: Read-only role cannot modify columns.

## Changes

- **2026-11-05** `dd96ae96a412`: 2 info
  - added the new optional request property `columns/items/wrap`
  - added the optional property `columns/items/wrap` to the response with the `200` status
- **2026-11-05** `767beae124a8`: 1 breaking, 1 info
  - the `columns/items/description` response property's maxLength was increased from `280` to `4000` for the response status `200`
  - the `columns/items/description` request property's maxLength was increased from `280` to `4000`

[Operation history](https://skmtc.dev/trydock/apis/dock-rest-api/changes/api/workspaces/:slug/columns/put.md)

---

[API](https://skmtc.dev/trydock/apis/dock-rest-api.md) - [All operations](https://skmtc.dev/trydock/apis/dock-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trydock/apis/dock-rest-api/revisions/dd96ae96a412?raw)
