Skip to main content
Documentation

API Reference

Run column

HTTP ReferenceCLI Available
POST/api/tables/{table_id}/columns/{column_id}/run

Required scope: columns:run

Queue enrichment/processing for a column and receive an operationRunId for canonical progress polling.

Updated February 26, 2026

This page documents the canonical HTTP contract. Switch to the CLI example when you want the operator workflow.

Path parameters

  • table_idRequired

    string

    Target table ID.

  • column_idRequired

    string

    Target column ID.

Body parameters

  • scopeRequired

    string

    all, subset, row, firstN, or filtered.

  • rowIdsOptional

    array

    Required when scope=subset or scope=row.

  • firstNOptional

    number

    Required when scope=firstN. Can also cap filtered runs.

  • filtersOptional

    FilterObject

    Required when scope=filtered.

  • unprocessedOnlyOptional

    boolean

    Only queue rows whose target cell is still unprocessed. Defaults to true.

Definitions

FilterObject

Per-request filter expression used with scope="filtered" for column runs and estimates. This does not configure a column's saved auto-run condition.

Fields

  • modeRequired

    string

    Logical operator for combining rules. Use AND or OR.

  • filtersRequired

    array<object>

    Filter rule list evaluated against row data.

  • filters[].columnKeyRequired

    string

    Column key used in the condition.

  • filters[].operatorRequired

    string

    Comparison operator (for example equals or isNotEmpty).

  • filters[].valueOptional

    string | number | boolean

    Required for value-based operators such as equals.

FilterObject example

json
{
  "mode": "and",
  "filters": [
    { "columnKey": "linkedin_url", "operator": "isNotEmpty" },
    { "columnKey": "country", "operator": "equals", "value": "United States" }
  ]
}

Example

bash
curl -X POST "https://app.autotouch.ai/api/tables/67bd8c39c7d3e80f0a95b560/columns/67bd8cd8c7d3e80f0a95b58f/run" \
    -H "Authorization: Bearer stk_your_key_id.your_secret" \
    -H "Content-Type: application/json" \
    -d '{
      "scope":"filtered",
      "filters":{
        "mode":"and",
        "filters":[
          {"columnKey":"linkedin_url","operator":"isNotEmpty"},
          {"columnKey":"country","operator":"equals","value":"United States"}
        ]
      },
      "unprocessedOnly": true,
      "firstN": 200
    }'

Request body

json
{
    "scope": "filtered",
    "filters": {
      "mode": "and",
      "filters": [
        { "columnKey": "linkedin_url", "operator": "isNotEmpty" },
        { "columnKey": "country", "operator": "equals", "value": "United States" }
      ]
    },
    "unprocessedOnly": true,
    "firstN": 200
  }

Response example

json
{
    "operationRunId": "oprun_research_table_20260225_5fd85a73",
    "jobId": "bulk_20260225_5fd85a73",
    "queued": true,
    "totalRows": 200,
    "taskCount": 1,
    "batchMode": true
  }

Errors

  • 401

    Invalid API key or missing auth.

  • 403

    Missing columns:run scope or table access denied.

  • 400

    Invalid run scope payload (rowIds/firstN/filters mismatch).

  • 404

    Column or table not found.

Docs