---
title: "Create Applicant"
method: POST
path: "/ats/applicants"
tags: ["Applicants"]
---

# Create Applicant

`POST /ats/applicants`

Create Applicant

## Query parameters

- `raw` boolean

## Headers

- `x-apideck-consumer-id` string, required
- `x-apideck-app-id` string, required
- `x-apideck-service-id` string

## Request body

- Applicant
  - `id` string — A unique identifier for an object.
  - `name` string — The name of an applicant.
  - `salutation` string, nullable — A formal salutation for the person. For example, 'Mr', 'Mrs'
  - `first_name` string, nullable — The first name of the person.
  - `last_name` string, nullable — The last name of the person.
  - `middle_name` string, nullable — Middle name of the person.
  - `initials` string, nullable — The initials of the person, usually derived from their first, middle, and last names.
  - `birthday` string, date, nullable — The date of birth of the person.
  - `gender` 'male' | 'female' | 'unisex' | 'other' | 'not_specified', nullable — The gender represents the gender identity of a person.
  - `social_security_number` string, nullable — A unique identifier assigned by the government. This field is considered sensitive information and may be subject to special security and privacy restrictions.
  - `type` string
  - `cover_letter` string
  - `job_url` string, nullable
  - `photo_url` string, nullable — The URL of the photo of a person.
  - `headline` string — Typically a list of previous companies where the contact has worked or schools that the contact has attended
  - `title` string, nullable — The job title of the person.
  - `emails` Email[]
    - `id` string, nullable — Unique identifier for the email address
    - `email` string, email, nullable, required — Email address
    - `type` 'primary' | 'secondary' | 'work' | 'personal' | 'billing' | 'other', nullable — Email type
  - `custom_fields` CustomField[]
    - union
      - object
        - `id` string, nullable, required — Unique identifier for the custom field.
        - `name` string, nullable — Name of the custom field.
        - `ref_name` string, nullable — Display name of the record a reference-type custom field points at. `value` carries that record's id; this carries its human-readable name, so a consumer does not need a second lookup to render it.
        - `description` string, nullable — More information about the custom field
        - `value` union
          - string, nullable
          - number, nullable
          - boolean, nullable
          - object, nullable
          - union[]
            - union
              - …
      - object
        - `id` string, nullable — Unique identifier for the custom field.
        - `name` string, nullable, required — Name of the custom field.
        - `ref_name` string, nullable — Display name of the record a reference-type custom field points at. `value` carries that record's id; this carries its human-readable name, so a consumer does not need a second lookup to render it.
        - `description` string, nullable — More information about the custom field
        - `value` union
          - string, nullable
          - number, nullable
          - boolean, nullable
          - object, nullable
          - union[]
            - union
              - …
  - `phone_numbers` PhoneNumber[]
    - `id` string, nullable — Unique identifier of the phone number
    - `country_code` string, nullable — The country code of the phone number, e.g. +1
    - `area_code` string, nullable — The area code of the phone number, e.g. 323
    - `number` string, required — The phone number
    - `extension` string, nullable — The extension of the phone number
    - `type` 'primary' | 'secondary' | 'home' | 'work' | 'office' | 'mobile' | 'assistant' | 'fax' | 'direct-dial-in' | 'personal' | 'billing' | 'other', nullable — The type of phone number
  - `addresses` Address[]
    - `id` string, nullable — Unique identifier for the address.
    - `type` 'primary' | 'secondary' | 'home' | 'office' | 'shipping' | 'billing' | 'work' | 'other', nullable — The type of address.
    - `string` string, nullable — The address string. Some APIs don't provide structured address data.
    - `name` string, nullable — The name of the address.
    - `line1` string, nullable — Line 1 of the address e.g. number, street, suite, apt #, etc.
    - `line2` string, nullable — Line 2 of the address
    - `line3` string, nullable — Line 3 of the address
    - `line4` string, nullable — Line 4 of the address
    - `line5` string, nullable — Line 5 of the address
    - `street_number` string, nullable — Street number
    - `city` string, nullable — Name of city.
    - `state` string, nullable — Name of state
    - `postal_code` string, nullable — Zip code or equivalent.
    - `country` string, nullable — country code according to ISO 3166-1 alpha-2.
    - `latitude` string, nullable — Latitude of the address
    - `longitude` string, nullable — Longitude of the address
    - `county` string, nullable — Address field that holds a sublocality, such as a county
    - `contact_name` string, nullable — Name of the contact person at the address
    - `salutation` string, nullable — Salutation of the contact person at the address
    - `phone_number` string, nullable — Phone number of the address
    - `fax` string, nullable — Fax number of the address
    - `email` string, nullable — Email address of the address
    - `website` string, nullable — Website of the address
    - `notes` string, nullable — Additional notes
    - `row_version` string, nullable — A binary value used to detect updates to a object and prevent data conflicts. It is incremented each time an update is made to the object.
  - `websites` object[]
    - `id` string, nullable — Unique identifier for the website
    - `url` string, required — The website URL
    - `type` 'primary' | 'secondary' | 'work' | 'personal' | 'other', nullable — The type of website
  - `social_links` object[]
    - `id` string, nullable — Unique identifier of the social link
    - `url` string, required — URL of the social link, e.g. https://www.twitter.com/apideck
    - `type` string, nullable — Type of the social link, e.g. twitter
  - `stage_id` string
  - `recruiter_id` string
  - `coordinator_id` string
  - `application_ids` string[], nullable
  - `applications` string[], nullable — Deprecated: Use application_ids instead. Array of application IDs associated with the applicant.
  - `followers` string[], nullable
  - `sources` string[], nullable
  - `source_id` string
  - `confidential` boolean
  - `anonymized` boolean
  - `tags` string[], nullable
  - `archived` boolean, nullable
  - `last_interaction_at` string, date-time, nullable
  - `owner_id` string, nullable
  - `sourced_by` string, nullable
  - `cv_url` string
  - `record_url` string, nullable
  - `rejected_at` string, date-time, nullable
  - `custom_mappings` CustomMappings, nullable — When custom mappings are configured on the resource, the result is included here.
  - `deleted` boolean, nullable — Flag to indicate if the object is deleted.
  - `deleted_by` string, nullable — The user who deleted the object.
  - `deleted_at` string, date-time, nullable — The time at which the object was deleted.
  - `updated_by` string, nullable — The user who last updated the object.
  - `created_by` string, nullable — The user who created the object.
  - `updated_at` string, date-time, nullable — The date and time when the object was last updated.
  - `created_at` string, date-time, nullable — The date and time when the object was created.
  - `pass_through` object[] — The pass_through property allows passing service-specific, custom data or structured modifications in request body when creating or updating resources.
    - `service_id` string, required — Identifier for the service to which this pass_through should be applied.
    - `operation_id` string — Optional identifier for a workflow operation to which this pass_through should be applied. This is useful for Unify calls that are making more than one downstream request.
    - `extend_object` object — Simple object allowing any properties for direct extension.
    - `extend_paths` object[] — Array of objects for structured data modifications via paths.
      - `path` string, required — JSONPath string specifying where to apply the value.
      - `value` unknown, required

## Response `201`

Applicants

- CreateApplicantResponse
  - `status_code` integer, required — HTTP Response Status Code
  - `status` string, required — HTTP Response Status
  - `service` string, required — Apideck ID of service provider
  - `resource` string, required — Unified API resource name
  - `operation` string, required — Operation performed
  - `data` UnifiedId, required — A object containing a unique identifier for the resource that was created, updated, or deleted.
    - `id` string, required — The unique identifier of the resource
  - `_raw` Raw, nullable — Raw response from the integration when raw=true query param is provided

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `402` — Payment Required
- `404` — The specified resource was not found
- `422` — Unprocessable
- `default` — Unexpected error

## Changes

- **2026-08-12** `c360770f3665` — 1 info
  - added the new optional request property `custom_fields/items/ref_name`

[Change history](https://skmtc.dev/apideck-libraries/apis/ats-api/changes/ats/applicants/post.md)

---

[API](https://skmtc.dev/apideck-libraries/apis/ats-api.md) · [All operations](https://skmtc.dev/apideck-libraries/apis/ats-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/apideck-libraries/ats-api/revisions/e841c59f9651/schema)
