This page documents the canonical HTTP contract for this endpoint.
With dry_run=true, the response returns rows_candidate_count and does not mutate rows. A real rollback deletes manifest-tracked rows created by the import and returns requested/deleted/failed counts plus up to 25 sample IDs. Rows updated by upsert are not restored. Repeating a completed rollback returns already_rolled_back; a busy table mutation returns 409.
Path parameters
table_idrequiredstring
Target table ID.
task_idrequiredstring
CSV import task ID.
| Name | Type | Description |
|---|---|---|
| table_idrequired | string | Target table ID. |
| task_idrequired | string | CSV import task ID. |
Query parameters
dry_run· optionalboolean
Default false. When true, returns rows_candidate_count without deleting rows.
| Name | Type | Description |
|---|---|---|
| dry_run | boolean | Default false. When true, returns rows_candidate_count without deleting rows. |
Errors
| Status | Meaning |
|---|---|
| 401 | Invalid API key or missing auth. |
| 403 | Missing tables:write scope or table access denied. |
| 404 | Import manifest not found for this table/task pair. |
| 409 | Research Table rows are busy with another mutation. |
