---
title: "Add jobs to a candidate"
method: POST
path: "/candidates/{candidateId}/applications"
tags: ["Candidate API:Job Applications"]
---

# Add jobs to a candidate

`POST /candidates/{candidateId}/applications`

## Path parameters

- `candidateId` integer, required

## Request body

- AddCandidateJobOrderCommand
  - `jobId` integer[], required
  - `source` string, nullable

## Response `201`

Created

- JobApplicationListRepresentation
  - `items` JobApplicationSummaryModel[], nullable
    - `applicationId` integer, required
    - `jobTitle` string, nullable
    - `jobReference` string, nullable
    - `manual` boolean
    - `source` string, nullable
    - `rating` integer, nullable
    - `status` JobApplicationStatusModel
      - `statusId` integer, required
      - `name` string, required
      - `active` boolean
      - `rejected` boolean
      - `default` boolean
      - `defaultRejected` boolean
      - `workflow` JobApplicationWorkflowModel
        - `stage` string, required — Name of the workflow stage
        - `stageIndex` integer, nullable — Position in the workflow
        - `step` integer, nullable — [Obsolete] Please reference stageIndex instead
        - `progress` 'Started' | 'InProgress' | 'Complete', string
    - `review` JobApplicationReviewModel
      - `stage` 'Submitted' | 'Viewed' | 'Accepted' | 'Rejected', string, required
      - `submittedAt` string, date-time, nullable
      - `submittedBy` UserNameModel
        - `userId` integer, required
        - `firstName` string, nullable
        - `lastName` string, nullable
        - `position` string, nullable
        - `email` string, nullable
        - `phone` string, nullable
        - `mobile` string, nullable
        - `inactive` boolean
        - `deleted` boolean
      - `reviewedAt` string, date-time, nullable
      - `reviewedBy` ContactNameModel
        - `contactId` integer, required — Unique identifier for the contact
        - `firstName` string, nullable — First name
        - `lastName` string, nullable — Last name
        - `position` string, nullable — Position or job title
        - `salutation` string, nullable — Salutation/honorific/title
        - `unsubscribed` boolean
        - `email` string, nullable — Primary email address
        - `phone` string, nullable — Phone number
        - `mobile` string, nullable — Mobile/cell number
        - `mobileNormalized` string, nullable — Mobile/cell normalized number
        - `inactive` boolean — Contact is no longer with the company
        - `status` StatusModel
          - `statusId` integer, required
          - `name` string, required
          - `active` boolean
          - `default` boolean
        - `owner` UserNameModel
          - `userId` integer, required
          - `firstName` string, nullable
          - `lastName` string, nullable
          - `position` string, nullable
          - `email` string, nullable
          - `phone` string, nullable
          - `mobile` string, nullable
          - `inactive` boolean
          - `deleted` boolean
    - `candidate` CandidateNameModel
      - `candidateId` integer, required — Candidate Id
      - `firstName` string, nullable — First name
      - `lastName` string, nullable — Last name
      - `email` string, nullable — Primary email address
      - `phone` string, nullable — Contact phone number
      - `mobile` string, nullable — Mobile/cell number
      - `mobileNormalized` string, nullable — Mobile/cell normalized number
      - `contactMethod` string, nullable — Preferred contact method
      - `salutation` string, nullable — Salutation/honorific/title
      - `unsubscribed` boolean
      - `address` AddressModel
        - `street` string[], nullable
        - `city` string, nullable
        - `state` string, nullable
        - `postalCode` string, nullable
        - `country` string, nullable
        - `countryCode` string, nullable
      - `status` StatusModel
        - `statusId` integer, required
        - `name` string, required
        - `active` boolean
        - `default` boolean
      - `rating` string, nullable — Internal rating of the candidate
      - `source` string, nullable — The source of the candidate
      - `seeking` 'Yes' | 'Maybe' | 'No', string
    - `job` JobOrderTitleModel
      - `jobId` integer, required
      - `jobTitle` string, nullable
      - `location` JobOrderLocationModel
        - `locationId` integer, required
        - `name` string, required
        - `area` JobOrderLocationAreaModel
          - `areaId` integer, required
          - `name` string, required
      - `company` CompanyNameModel
        - `companyId` integer, required — Unique identifier for the company
        - `name` string, nullable — Company name
        - `status` StatusModel
          - `statusId` integer, required
          - `name` string, required
          - `active` boolean
          - `default` boolean
        - `owner` UserNameModel
          - `userId` integer, required
          - `firstName` string, nullable
          - `lastName` string, nullable
          - `position` string, nullable
          - `email` string, nullable
          - `phone` string, nullable
          - `mobile` string, nullable
          - `inactive` boolean
          - `deleted` boolean
      - `contact` ContactNameModel
        - `contactId` integer, required — Unique identifier for the contact
        - `firstName` string, nullable — First name
        - `lastName` string, nullable — Last name
        - `position` string, nullable — Position or job title
        - `salutation` string, nullable — Salutation/honorific/title
        - `unsubscribed` boolean
        - `email` string, nullable — Primary email address
        - `phone` string, nullable — Phone number
        - `mobile` string, nullable — Mobile/cell number
        - `mobileNormalized` string, nullable — Mobile/cell normalized number
        - `inactive` boolean — Contact is no longer with the company
        - `status` StatusModel
          - `statusId` integer, required
          - `name` string, required
          - `active` boolean
          - `default` boolean
        - `owner` UserNameModel
          - `userId` integer, required
          - `firstName` string, nullable
          - `lastName` string, nullable
          - `position` string, nullable
          - `email` string, nullable
          - `phone` string, nullable
          - `mobile` string, nullable
          - `inactive` boolean
          - `deleted` boolean
      - `status` StatusModel
        - `statusId` integer, required
        - `name` string, required
        - `active` boolean
        - `default` boolean
      - `source` string, nullable
      - `owner` UserNameModel
        - `userId` integer, required
        - `firstName` string, nullable
        - `lastName` string, nullable
        - `position` string, nullable
        - `email` string, nullable
        - `phone` string, nullable
        - `mobile` string, nullable
        - `inactive` boolean
        - `deleted` boolean
    - `jobAd` JobAdSummaryModel
      - `adId` integer, required
      - `state` string, nullable
      - `title` string, nullable
      - `reference` string, nullable
      - `summary` string, nullable
      - `bulletPoints` string[], nullable
      - `owner` UserNameModel
        - `userId` integer, required
        - `firstName` string, nullable
        - `lastName` string, nullable
        - `position` string, nullable
        - `email` string, nullable
        - `phone` string, nullable
        - `mobile` string, nullable
        - `inactive` boolean
        - `deleted` boolean
      - `postAt` string, date-time, nullable
      - `expireAt` string, date-time, nullable
    - `owner` UserNameModel
      - `userId` integer, required
      - `firstName` string, nullable
      - `lastName` string, nullable
      - `position` string, nullable
      - `email` string, nullable
      - `phone` string, nullable
      - `mobile` string, nullable
      - `inactive` boolean
      - `deleted` boolean
    - `createdBy` UserNameModel
      - `userId` integer, required
      - `firstName` string, nullable
      - `lastName` string, nullable
      - `position` string, nullable
      - `email` string, nullable
      - `phone` string, nullable
      - `mobile` string, nullable
      - `inactive` boolean
      - `deleted` boolean
    - `createdAt` string, date-time, nullable
    - `updatedBy` UserNameModel
      - `userId` integer, required
      - `firstName` string, nullable
      - `lastName` string, nullable
      - `position` string, nullable
      - `email` string, nullable
      - `phone` string, nullable
      - `mobile` string, nullable
      - `inactive` boolean
      - `deleted` boolean
    - `updatedAt` string, date-time, nullable
  - `totalCount` integer, required
  - `links` PageLinks
    - `first` string, uri, nullable
    - `prev` string, uri, nullable
    - `next` string, uri, nullable
    - `last` string, uri, nullable

## Other responses

- `409` — Job application already exists

---

[API](https://skmtc.net/jobadder/apis/jobadder-api.md) · [All operations](https://skmtc.net/jobadder/apis/jobadder-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/jobadder/jobadder-api/revisions/9f43f6a6ee6e/schema)
