Skip to main content

Remove duplicate table rows

Execute whole-table deduplication after reviewing the current dedupe preview.

POST/api/tables/{table_id}/dedupe
HTTP referenceScope tables:writeUpdated September 27, 2026

This page documents the canonical HTTP contract for this endpoint.

Use the preview route GET /api/tables/{table_id}/dedupe/{column_key}/stats first, then pass its duplicate count and plan fingerprint to detect a stale preview. The request model permits either value to be omitted, but omitting them removes that corresponding confirmation check. Scope is always the entire table; the first row by table position survives each duplicate group.

Path parameters

  • table_idrequired

    string

    Research Table ID.

Body parameters

  • column_keyrequired

    string

    Nonblank identity column key.

  • expectedDuplicateCount · optional

    integer|null

    Expected duplicate count from the preview, minimum 0.

  • expectedPlanFingerprint · optional

    string|null

    Optional 64-character SHA-256 hex fingerprint from the preview.

Errors

StatusMeaning
401Authentication is required.
403The caller lacks access to the resource or the tables:write scope.
422The request does not satisfy the route or typed request contract.
400The requested column does not exist on this table.
404The table was not found.
409The table changed since the supplied preview confirmation.
422The selected column is unsupported or the request is invalid.

Docs