---
title: "Poll a smart-column run"
method: GET
path: "/business/lists/{listId}/smart-columns/{jobId}/status"
tags: ["Smart columns"]
---

# Poll a smart-column run

`GET /business/lists/{listId}/smart-columns/{jobId}/status`

## Request

- Base URL: `https://api.tryfuse.ai/api/v1`
- URL: `https://api.tryfuse.ai/api/v1/business/lists/{listId}/smart-columns/{jobId}/status`
- Auth: HTTP basic

Progress of one smart-column run: the `jobId` returned by create, rerun, or a prompt edit. `status` moves from `pending` to `processing` and ends as `completed`, `partially_completed` (some rows failed), `failed` or `cancelled` (superseded by a newer run or a prompt edit). `processedRows`, `successfulRows` and `failedRows` count against `totalRows`, and `creditsUsed` is what the run has consumed so far at `creditsPerRow`. `mode` says why the run exists: `initial` for the column's first run, `all` or `new_only` for a rerun, `refresh` for the re-run a prompt edit starts, `single_row` for an automation. Poll every few seconds until the status is terminal; the values are then on `GET /business/lists/{listId}/rows` under `columnValues[columnId]`. Free to call.

Errors:
- `404` `LIST_NOT_FOUND` — No list with that id belongs to you.
- `404` `JOB_NOT_FOUND` — No run with that jobId exists on this list.
- `422` `VALIDATION_FAILED` — The path, query or body failed validation; `param` names the offending field and `message` says why.
- `429` `RATE_LIMITED` — More than 120 requests per minute or 10,000 per day on the lists bucket, which every /business/lists endpoint shares; retry after Retry-After.
- `500` `UNEXPECTED_ERROR` — The request could not be completed; quote request_id to support.

Requires one of the following token scopes: lists.

## Path parameters

- `listId` string, required: Id of the list that owns the smart column.
- `jobId` string, required: Id of the smart-column run to poll, as returned in `jobId` by the create or rerun call that started it.

## Response `200`

Success

- object
  - `job` object, required
    - `id` string, required: Id of this run — the jobId create or rerun returned.
    - `status` 'pending' | 'processing' | 'completed' | 'failed' | 'partially_completed' | 'cancelled', required: pending and processing are in progress; completed, partially_completed (some rows failed), failed and cancelled (superseded by a newer run or a prompt edit) are terminal.
    - `mode` 'initial' | 'all' | 'new_only' | 'refresh' | 'single_row', required: Why the run exists: initial (column creation), all / new_only (rerun), refresh (prompt edit), single_row (automation).
    - `runOn` 'first_1' | 'first_10' | 'first_100' | 'first_1000' | 'all', required: Row budget the run was started with.
    - `totalRows` integer, required: Rows the run covers.
    - `processedRows` integer, required: Rows finished so far (successful + failed).
    - `successfulRows` integer, required: Rows that received a value.
    - `failedRows` integer, required: Rows the engine could not compute.
    - `creditsUsed` integer, required: Credits consumed by this run so far.
    - `creditsPerRow` integer, required: Credits charged per computed row at the rate that applied when the run started.
    - `createdAt` string, date-time, required: When the run was created.
    - `startedAt` string, date-time, nullable, required: When processing began; null while pending.
    - `completedAt` string, date-time, nullable, required: When the run finished; null until then and for a cancelled run.
    - `cancelledAt` string, date-time, nullable, required: When the run was cancelled by a newer run or a prompt edit; null otherwise.

## Other responses

- `400`: Error
- `401`: Error
- `402`: Error
- `403`: Error
- `404`: Error
- `409`: Error
- `422`: Error
- `429`: Error
- `500`: Error

---

[API](https://skmtc.dev/fuseai/apis/fuse-business-api.md) · [All operations](https://skmtc.dev/fuseai/apis/fuse-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fuseai/apis/fuse-business-api/revisions/50d95e0536f4?raw)
