v1

latestOpenAPI 3.0.3Proprietary2026-08-0656136286.9 KB
Contacts Tables

Run Column on Contacts Table

Populate or refresh a column's data for some or all rows in the table. This is asynchronous — the call returns immediately with status: "processing"; poll Get Contacts Table for isProcessing and per-column row-status counts to know when it's done, then read the values via Get Contacts Table Entities.

runScope values:

  • all — every row, including already-processed ones (re-runs / refreshes). Most expensive.
  • missing — only rows that have never been run for this column. Cheapest, safe to call repeatedly.
  • specific — only the entityIds you pass. Also how you implement "run for this page" — fetch the page via Get Contacts Table Entities, then pass those IDs here.

Billing: Charged per row processed, per the column's credit tier. Re-running with all charges again for rows that already have data.

post/v3/contacts/tables/{table_id}/columns/{column_id}/run

Path parameters

table_idstring required

The table's ID.

column_idstring required

The column's ID.

Request body

runScope'all' | 'missing' | 'specific' required

Controls which rows a column operation applies to. all re-runs every row, including already-processed ones. missing only runs rows that don't have a value for this column yet. specific requires entityIds.

entityIdsstring[]

Required when runScope is specific.

Example request

{
  "owner": {
    "email": "user@example.com"
  }
}

Response

Column run started

Example response

{
  "data": {
    "columnId": "c1",
    "status": "processing"
  },
  "billing": {
    "creditsCharged": 3,
    "resultsReturned": 1
  }
}