Lists

Configure Columns

Inspect, add, update, reorder, and delete List columns.

#Overview

Columns define the data model for a list. Use column IDs when reading rows, filtering rows, writing cells, or configuring targetable account behavior.

#Endpoints

Endpoint Description
GET /v1/lists/{tableId}/columns List columns and their IDs.
POST /v1/lists/{tableId}/columns Add a column.
GET /v1/lists/{tableId}/columns/{columnId} Get one column.
PATCH /v1/lists/{tableId}/columns/{columnId} Update a column.
DELETE /v1/lists/{tableId}/columns/{columnId} Delete a column.
PUT /v1/lists/{tableId}/columns/order Set column order.

#Example: Add Columns

Add one or more columns by sending a columns array. Each column needs a name and type. If source is omitted, the column is created as an input column.

{
  "userId": "usr_123",
  "columns": [
    {
      "name": "Status",
      "type": {
        "type": "enum",
        "options": [
          { "key": "pending", "label": "Pending", "color": "yellow" },
          { "key": "ready", "label": "Ready", "color": "green" },
          { "key": "error", "label": "Error", "color": "red" }
        ]
      },
      "source": { "type": "input" }
    },
    {
      "name": "Notes",
      "type": { "type": "text", "multiline": true }
    }
  ]
}
curl -X POST https://api.bigmind.ai/v1/lists/tbl_123/columns \
  -H "Authorization: Bearer sk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "usr_123",
    "columns": [
      {
        "name": "Status",
        "type": {
          "type": "enum",
          "options": [
            { "key": "pending", "label": "Pending", "color": "yellow" },
            { "key": "ready", "label": "Ready", "color": "green" },
            { "key": "error", "label": "Error", "color": "red" }
          ]
        },
        "source": { "type": "input" }
      }
    ]
  }'

#Example: Update a Column

Patch a column to rename it, update its type, update its source, or hide it.

{
  "userId": "usr_123",
  "name": "Review status",
  "hidden": false,
  "type": {
    "type": "enum",
    "options": [
      { "key": "pending", "label": "Pending", "color": "yellow" },
      { "key": "ready", "label": "Ready", "color": "green" },
      { "key": "error", "label": "Error", "color": "red" }
    ]
  }
}

#Example: Reorder Columns

Send the full ordered list of column IDs.

{
  "userId": "usr_123",
  "columnIds": ["account", "status", "notes", "targetable_people"]
}
curl -X PUT https://api.bigmind.ai/v1/lists/tbl_123/columns/order \
  -H "Authorization: Bearer sk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "usr_123",
    "columnIds": ["account", "status", "notes", "targetable_people"]
  }'

#Targetable Account Columns

Account-based lists can include a targetable account column. You can rename that column and configure whether domains must be unique. Delete, data type changes, and transform output changes are not available for this system column.

Enforce Unique Domains

When enforceUniqueDomains is enabled, every non-empty domain in the column must be unique. If the list already contains duplicate domains, remove the duplicate rows before enabling the setting.

#Example: Enable Unique Domains

{
  "userId": "usr_123",
  "type": {
    "type": "targetable-account",
    "config": {
      "enforceUniqueDomains": true
    }
  }
}
curl -X PATCH https://api.bigmind.ai/v1/lists/tbl_123/columns/account \
  -H "Authorization: Bearer sk_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "userId": "usr_123",
    "type": {
      "type": "targetable-account",
      "config": {
        "enforceUniqueDomains": true
      }
    }
  }'
Updated 5/14/2026