---
title: "duplicate applicants"
method: GET
path: "/v2/applicants/{id}/duplicates"
tags: ["Applicants"]
---

# duplicate applicants

`GET /v2/applicants/{id}/duplicates`

Returns the duplicate applicants.

## Path parameters

- `id` string, required

## Query parameters

- `exclude_final_stages` boolean

## Response `200`

OK

- Applicants
  - `applicants` object[]
    - `id` string — Applicants ID
    - `email` string — Applicants Email Address
    - `key` string — Unique key used to identify an Applicant
    - `name` string — Applicants Full Name
    - `first_name` string — Applicants First Name
    - `last_name` string — Applicants Last Name
    - `phone_number` string — Applicants Phone Number
    - `normalized_phone_number` string — Applicants Phone Number
    - `phone_number_country_code` string — Applicants Phone Number country code
    - `data` object — Applicant extra information
    - `created_at` string, date-time — Date when the Applicant was created
    - `updated_at` string, date-time, nullable — Date when the Applicant was last updated
    - `receive_automated_emails` boolean — Whether the Applciant receives automated emails or not.
    - `number_opted_out` boolean — Deprecated. Whether the Applicant has opted out of sms or not. Use the granular `consent_sms_transactional` / `consent_sms_marketing` / `consent_calls_transactional` / `consent_calls_marketing` fields instead.
    - `referral_id` string, nullable — Referral ID
    - `wx_external_id` string, nullable — WX Worker ID
    - `rejection_reason` string, nullable — Manually set reason for rejection.
    - `created_from_ip` string, nullable — IP Address collected when application form was submitted. IPv4 or IPv6 format
    - `application_locale` string, nullable — Locale the applicant used when submitting the application.
    - `geo_coded_location` object, nullable — Geo-coded location of applicant
      - `latitude` number, double
      - `longitude` number, double
    - `labels` object[]
      - `title` string — Name of the Label
      - `completed` boolean — Was the label marked as done.
      - `completed_at` string, date-time — DateTime the Label was marked as done.
    - `is_duplicate` boolean — Applicants has been marked as a duplicate.
    - `duplicate_id` string, nullable — UUID that links duplicate applicants
    - `file_upload_requests` object[]
      - `id` number — ID of the file upload request.
      - `recollection_reason` 'blurry' | 'corrupt' | 'incorrect' | 'expired' | 'custom' — Reason it is being recollected.
      - `created_at` string, date-time — Date when the File Upload Request was created
      - `document_name` string — File Upload Request Document Name
    - `metadata` object
      - `temporary` boolean — Whether or not applicant is a test applicant.
    - `i9_status` object
      - `status` 'awaiting_employee' | 'awaiting_employer' | 'pending' | 'complete' | 'opted_out' | 'awaiting_authorized_representative' — The status of the i9 Form
      - `last_form_update` string, date-time — The DateTime the form was last updated at.
      - `landed_at` string, date-time — The DateTime the applicant filled out the i9 Form.
    - `addresses` object[]
      - `street_name` string — Address street name
      - `address_2` string — Address two name
      - `city` string — Address city name
      - `state` string — Address state name
      - `zipcode` string — Address zipcode
      - `country` string — Address country
      - `latitude` number — Address latitude
      - `longitude` number — Address longitude
    - `last_transitioned_at` string, date-time, nullable — DateTime the applicant was last transitioned from one stage to another.
    - `timezone` string, nullable — Timezone of the applicant
    - `background_checks` union[]
      - union
        - object
          - `status` 'clear' | 'consider' | 'negative' | 'non_negative' | 'complete' | 'pending' | 'suspended' | 'dispute' | 'canceled' — Checkr background check status
          - `title` string — Title of the background check.
          - `updated_at` string, date-time — Last updated_at for the background check.
          - `candidate_id` string — The candidate ID of the applicant from the background check provider.
          - `report_id` string — The report ID of the background check from the background check provider.
          - `vendor` 'checkr'
        - object
          - `title` string — Title of the background check.
          - `applicant_id` string — The applicant ID of the applicant from the background check provider.
          - `updated_at` string, date-time — Last updated_at for the background check.
          - `status` 'no bgc' | 'pending' | 'consented' | 'not consented' | 'clear' | 'consider' | 'withdrawn' | 'paused' | 'reopened' — Onfido background check status
          - `check_id` string — The report ID of the background check from the background check provider.
          - `vendor` 'onfido'
    - `document_signatures` object[]
      - `signature_id` string — Document Signing ID
      - `status` 'unopened' | 'opened' | 'signed' | 'admin_reviewed' — Document Signing Status
      - `vendor` 'hellosign' | 'docusign' — Document Signing Vendor
      - `file_url` string, uri, nullable — The URL of the signed document
    - `partner_data` object[] — Partner-specific data. Each element is an object with a single key (the partner name, e.g. "AI Interview") whose value is an array. For each completed package, the array will have one element. The completed package object will only have keys "statuses" and "details". The array will always end with one applicant-level entry with keys "statuses", "details", "labels", and "metadata".
    - `can_receive_sms` boolean
    - `consent_sms_transactional` boolean — AXHE-3408: Applicant has opted in to transactional SMS about their current application.
    - `consent_sms_marketing` boolean — AXHE-3408: Applicant has opted in to marketing SMS about future opportunities.
    - `consent_calls_transactional` boolean — AXHE-3408: Applicant has opted in to calls about their current application.
    - `consent_calls_marketing` boolean — AXHE-3408: Applicant has opted in to calls about future opportunities or retention programs.
    - `consent_sms_transactional_at` string, date-time, nullable — Timestamp of the most recent change to consent_sms_transactional.
    - `consent_sms_marketing_at` string, date-time, nullable — Timestamp of the most recent change to consent_sms_marketing.
    - `consent_calls_transactional_at` string, date-time, nullable — Timestamp of the most recent change to consent_calls_transactional.
    - `consent_calls_marketing_at` string, date-time, nullable — Timestamp of the most recent change to consent_calls_marketing.
    - `phone_platform` 'sms' | 'whats_app'
    - `work_availability` 'sunday_morning' | 'sunday_afternoon' | 'sunday_evening' | 'monday_morning' | 'monday_afternoon' | 'monday_evening' | 'tuesday_morning' | 'tuesday_afternoon' | 'tuesday_evening' | 'wednesday_morning' | 'wednesday_afternoon' | 'wednesday_evening' | 'thursday_morning' | 'thursday_afternoon' | 'thursday_evening' | 'friday_morning' | 'friday_afternoon' | 'friday_evening' | 'saturday_morning' | 'saturday_afternoon' | 'saturday_evening'
    - `date_of_birth` string, date
    - `team_or_solo` 'team' | 'solo'
    - `funnel` object
      - `id` string — The ID for the funnel
      - `title` string — Name of the funnel the applicant is currently in.
      - `custom_id` string — A custom ID for the funnel
      - `opening_pay_rate` OpeningPayRate
        - `compensation` string, nullable — The pay rate
        - `compensation_currency_code` string — The currency of the pay rate
        - `compensation_type` 'hour' | 'day' | 'month' | 'year' — How often the pay occurs
        - `compensation_min` string, nullable — The minimum pay range
      - `opening_owner` string, nullable — The ID of the user that owns the funnel
      - `opening_owner_email` string, nullable — The email of the user that owns the funnel
      - `location` Location
        - `name` string, required — The name of the location
        - `id` string, required — Unique identifier for the location
        - `latitude` number — The latitude of the location
        - `longitude` number — The longitude of the location
        - `customer_attributes` CustomerAttribute[], nullable — List of customer attributes for the location
          - `value` string, required — Value of the attribute
          - `type` string, required — Human-readable display name of the attribute
          - `key` string, nullable — Machine-readable identifier for the attribute (e.g. JOB_CODE). Optional — not all endpoints that embed customer_attributes populate this field yet (e.g. openings, locations, and location groups currently return only type and value).
        - `location_group` LocationGroup, required
          - `name` string, required — The name of the location group
          - `id` string, required — Unique identifier for the location group
          - `customer_attributes` CustomerAttribute[], nullable — List of customer attributes for the location group
            - `value` string, required — Value of the attribute
            - `type` string, required — Human-readable display name of the attribute
            - `key` string, nullable — Machine-readable identifier for the attribute (e.g. JOB_CODE). Optional — not all endpoints that embed customer_attributes populate this field yet (e.g. openings, locations, and location groups currently return only type and value).
    - `stage` object
      - `id` string — The ID for the stage
      - `title` string — Name of the stage the applicant is currently in
      - `parent_id` string, nullable — The stage parent ID for the funnel
      - `type` string — The stage type
      - `portal_title` string, nullable — Title of the stage shown in the AX Portal if configured
      - `is_hiring_stage` boolean — Indicator for whether the stage marks the applicant being hired
    - `assessments` object[]
      - `id` string — The ID for the Assessment
      - `completed_at` string, datetime — When the assessment was completed
      - `file_url` string, nullable — URL to download the assessment file, if applicable
      - `score` integer — Score achieved in the assessment
      - `status` string — Status of the assessment
      - `system_type` string — System type of the assessment
      - `title` string — Title of the assessment
  - `pagination` PaginationWithCursor
    - `first` integer — The first available page
    - `last` integer — The last available page
    - `previous` integer, nullable — The previous page
    - `current` integer — The current page
    - `next` integer, nullable — The next available page
    - `current_cursor` string — Cursor value for the current page
    - `next_cursor` string — Cursor value for the next page

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/fountain/apis/hire-public-api.md) · [All operations](https://skmtc.net/fountain/apis/hire-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fountain/hire-public-api/revisions/5f406c0e9462/schema)
