Deduplicate rows by the combined value of one or more columns.
Rows are grouped by their values in columnNames; within each group the
oldest row is kept and the newer duplicates are removed (“delete”) or have
their values merged into the kept row first (“merge”). Every name in
columnNames must be an existing column on the list — unknown columns
return 400 with the list of valid columns. Runs asynchronously: responds
202 with a taskId.
Authorizations
Company API key - scoped to a specific company. Generate from the Integrations page in your dashboard.
Path Parameters
Body
Columns to dedupe on and strategy
Request body for deduplicating a list. Rows are grouped by their combined values in columnNames; within each duplicate group the OLDEST row is kept. All names in columnNames must be existing columns on the list — an unknown column returns 400. Runs asynchronously and responds 202 with a taskId.
Column NAMES (as in the list headers) whose combined value identifies a duplicate. Must be non-empty, and every name must exist on the list (else 400).
Company ID that owns the list. Required when authenticating with a personal access key (pak_…) — the key is not tied to a specific company so the server cannot infer it. Required when authenticating with a company API key only if the key belongs to a user who has access to multiple companies; otherwise it defaults to the key's company. Optional for JWT (dashboard) auth — defaults to the user's active company.
How to handle duplicates: "delete" (soft-delete the newer duplicates, default) or "merge" (combine field values into the kept row before deleting the others).
Response
Deduplication started in the background
Acknowledgement that deduplication has started in the background.

