Run Ai Column
Queue the column's cells for the given rows (RO-340); a background job fills them through the provider layer, one small AI call per row, charged as AI credits (task `ai_column`). Cells with a result are kept unless `force`. Show the cost first with `POST /ai-credits/estimate` (`action` `ai_column`, `items`). 429 `ai_credits_exhausted` / `ai_credits_user_limit` at the monthly allowance or the member's limit; 429 `ai_columns_daily_limit` past 500 cells a day per workspace.
API key access
leads:write scope with an API key (ro_pat_...). A signed-in session uses the caller's role./api/v1/ai-columns/{column_id}/runAccess token from /api/v1/auth/login, or an API key (ro_pat_..., RO-176) from /api/v1/workspaces/current/api-keys: the key implies its workspace and needs the route's scope. MCP connectors (/api/v1/mcp only) may use an OAuth access token (ro_oat_..., RO-284).
In: header
Path Parameters
The column.
uuidHeader Parameters
Id of the workspace to act on (must be a member).
The leads or companies to run it on (1-100).
1 <= items <= 100Run cells that already have a result again (default false: they are kept).
Response Body
curl -X POST "http://localhost:8000/api/v1/ai-columns/497f6eca-6276-4993-bfeb-53cbbbba6f08/run" \ -H "X-Workspace-Id: string" \ -H "Content-Type: application/json" \ -d '{ "ids": [ "497f6eca-6276-4993-bfeb-53cbbbba6f08" ] }'{
"column_id": "8f0515e3-00f6-4dd0-8153-321f1f40863d",
"queued": 0,
"cached": 0,
"missing": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string",
"input": null,
"ctx": {}
}
]
}