Skip to main content
POST
/
v1
/
tables
/
{table_id}
/
columns
Create Table Columns
curl --request POST \
  --url https://api.extruct.ai/v1/tables/{table_id}/columns \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "column_configs": [
    {
      "name": "<string>",
      "key": "<string>",
      "kind": "input"
    }
  ],
  "insert_after": true
}
'
[
  {
    "id": "<string>",
    "created_at": "2023-11-07T05:31:56Z",
    "config": {
      "name": "<string>",
      "key": "<string>",
      "kind": "input"
    }
  }
]

Overview

This endpoint adds columns to an existing table. It is the normal way to grow a workflow step by step instead of locking the full schema upfront. This works especially well when you:
  • start with a minimal table and add enrichment later
  • test a few columns before rolling out the full workflow
  • add new scoring or research fields to a table that already has data

Example request

export EXTRUCT_API_TOKEN="YOUR_API_TOKEN"
export TABLE_ID="YOUR_TABLE_ID"

curl -X POST "https://api.extruct.ai/v1/tables/${TABLE_ID}/columns" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ${EXTRUCT_API_TOKEN}" \
  -d '{
    "column_configs": [
      {
        "kind": "agent",
        "name": "Description",
        "key": "description",
        "value": {
          "agent_type": "research_pro",
          "prompt": "Describe what the company does in 2 sentences.",
          "output_format": "text"
        }
      }
    ],
    "insert_after": true
  }'

Key parameters

  • table_id (required): target table identifier.
  • column_configs (required): list of new column config objects.
  • insert_after (optional): defaults to true; can be true, false, or a column ID string.

Success signal

A successful response includes updated column definitions for the table.

Common errors

401 Unauthorized

Check that your header is Authorization: Bearer ${EXTRUCT_API_TOKEN}.

404 Not Found

The table ID is invalid or unavailable in your workspace.

422 Unprocessable Entity

Most often caused by invalid column_configs shape or unsupported insert_after value.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

table_id
string
required

Body

application/json
column_configs
(InputColumnConfig · object | AgentColumnConfig · object | CriterionGradeColumnConfig · object | PeopleFinderColumnConfig · object | DiscoveryScoresColumnConfig · object | CompanyNameColumnConfig · object | CompanyWebsiteColumnConfig · object | CompanyProfileColumnConfig · object | EmailFinderColumnConfig · object | PhoneFinderColumnConfig · object | ReverseEmailLookupColumnConfig · object)[]
required
insert_after
default:true

Insert new columns after this column id. If true (default), insert in the end. If false, insert in the beginning.

Response

Successful Response

id
string
required
created_at
string<date-time>
required
config
InputColumnConfig · object
required