> ## Documentation Index
> Fetch the complete documentation index at: https://docs.idmetagroup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Duplicate Detection — Mass Duplicate Detection Enrollment API

> Mass Duplicate Detection Enrollment for bulk-uploading face images into the reserved biometric duplicate-detection watchlist in one asynchronous batch.

Mass Duplicate Detection Enrollment mass-enrolls face images into the reserved biometric duplicate-detection watchlist. Enrollment is asynchronous: you submit a batch, get back an `uploadId`, then poll for the result.

**Base path:** `/api/v3/duplicate-detection`

<Info>
  Scope is limited to your authenticated company. Uploads and polling results apply to the duplicate-detection enrollment for your company.
</Info>

## Authentication

Use the same authentication as all other v3 endpoints:

* **Bearer token** (Sanctum) in the `Authorization` header
* **HMAC signature headers**

See [Introduction to the API](/api-reference/introduction) for how to create an API token.

## Endpoints

| Step | Method | Path                                             | Purpose                          |
| ---- | ------ | ------------------------------------------------ | -------------------------------- |
| 1    | `POST` | `/api/v3/duplicate-detection/faces`              | Upload up to 50 images per batch |
| 2    | `GET`  | `/api/v3/duplicate-detection/uploads/{uploadId}` | Poll until status is terminal    |

## Upload status values

Poll the upload status endpoint until `status` is `2`, `3`, or `4`.

| Value | Meaning                                          | Terminal? |
| ----- | ------------------------------------------------ | --------- |
| `0`   | Pending — queued, not yet started                | No        |
| `1`   | Processing — enrollment in progress              | No        |
| `2`   | Completed — all images enrolled                  | Yes       |
| `3`   | Failed — no images enrolled                      | Yes       |
| `4`   | Partially completed — some enrolled, some failed | Yes       |

## Recommended flow for large mass-enrollment runs

For high-volume mass-enrollment runs (for example, 300k selfies):

<Steps>
  <Step title="Chunk images into batches of 50">
    Split your image set into batches of up to 50 files per request.
  </Step>

  <Step title="Upload each batch">
    For each batch, call `POST /api/v3/duplicate-detection/faces` and store the returned `uploadId`.
  </Step>

  <Step title="Poll each upload">
    Poll `GET /api/v3/duplicate-detection/uploads/{uploadId}` until `status` is `2`, `3`, or `4`.
  </Step>
</Steps>

For request/response details, see:

* [Upload faces](/api-reference/duplicate-detection/upload-faces)
* [Poll upload status](/api-reference/duplicate-detection/poll-upload-status)
