---
title: "Create ATS Candidate"
method: POST
path: "/api/v2/core/ats-systems/{systemId}/ats-candidates"
tags: ["ATS Candidate"]
---

# Create ATS Candidate

`POST /api/v2/core/ats-systems/{systemId}/ats-candidates`

## Request

- Base URL: `https://apiv2.eightfold.ai`
- URL: `https://apiv2.eightfold.ai/api/v2/core/ats-systems/{systemId}/ats-candidates`
- Auth: none declared. Required headers: `Authorization`
- TypeScript: <https://skmtc.dev/eightfold/apis/api-server-v2-service-service/docs/api/v2/core/ats-systems/:systemId/ats-candidates/post.ts> (a function with typed inputs; its response is checked against the schema)

To add a new ats candidate in the system, send the candidate information in the payload. ats candidate id will be sent back in case of a successful response

## Path parameters

- `systemId` string, required

## Headers

- `Authorization` string, required

## Request body

- CreateATSProfileSchema
  - `locationCountry` string, nullable: location country of candidate
  - `contactConsent` string, nullable: Contact consent for candidate. Valid inputs: applied_only, all, country_only
  - `isAnonymized` boolean, nullable: is anonymized candidate
  - `scheduledInterviews` ATSScheduledInterview[], nullable: scheduled interviews of candidate
    - `organizer` string, nullable: Organizer
    - `status` string, nullable: Status
    - `endTs` integer, nullable: End Timestamp
    - `interviewType` string, nullable: Interview Type
    - `interviewers` string[], nullable: Interviewers
    - `startTs` integer, nullable: Start Timestamp
    - `location` string, nullable: Location of interview
    - `comment` string, nullable: Comment
    - `referenceId` string, nullable: Reference ID
  - `skills` string[], nullable: skills of candidate
  - `location` string, nullable: location of candidate
  - `address` string, nullable: address of candidate
  - `firstName` string, required: first name of candidate
  - `emails` string, nullable, required: email of candidate
  - `detailTags` AtsTag[], nullable: detail tags of candidate
    - `tag` string, nullable, required: tag of candidate
    - `jobId` string, nullable: job id for a tag
    - `creator` string, nullable: creator of tag
    - `tagSubtype` string, nullable: tag subtype
    - `tagType` string, nullable: tag type
    - `creationTs` integer, nullable: creation timestamp of tag
  - `attachments` AtsAttachment[], nullable: Attachments of candidate
    - `isBase64` boolean, nullable: Denotes if the attachment base64 encoded
    - `fileName` string, required: File name of the attachment
    - `lastModifiedTs` integer, nullable: Last Modified timestamp of the attachment
    - `applicationMetadata` AtsAttachmentApplicationMetadata[], nullable: application_metadata
      - `applicationId` string, required: application id for an attachment
    - `attachmentContent` string, nullable, required: Content of the attachment
    - `attachmentId` string, required: Attachment id of the attachment
    - `attachmentType` string, nullable, required: Attachment type. Valid inputs: resume, others, photo, cover_letter
  - `resumeContent` AtsContent
    - `extension` string, nullable: extension
    - `content` string, nullable: content
    - `isBase64` boolean, nullable: is base 64 encoded?
  - `visaStatuses` string[], nullable: visa statuses of candidate
  - `veteranStatusStr` string, nullable: String value for veteran status of the candidate
  - `education` AtsEducation[], nullable: education of candidate
    - `endTs` integer, nullable: ending timestamp
    - `verificationStatus` string, nullable: verification status of the education details
    - `degreeExternalId` string, nullable: external id of the degree
    - `attachmentIds` string[], nullable: List of attachment ids of the education
    - `startTs` integer, nullable, required: starting timestamp of education
    - `degree` string, nullable, required: degree
    - `major` string, nullable, required: major
    - `verificationBy` string, nullable: email of the verifier
    - `location` string, nullable, required: location
    - `isCurrent` boolean, nullable: is current education
    - `schoolExternalId` string, nullable: external id of the school
    - `majorExternalId` string, nullable: external id of the major
    - `verificationTs` integer, nullable: verification timestamp
    - `school` string, nullable, required: school
    - `nameAlias` string, nullable: name of the candidate in the records if different from the name in the profile
    - `isGraduated` boolean, nullable: graduation status of the candidate
    - `description` string, nullable, required: description
  - `isInternal` boolean, nullable: is internal candidate
  - `customInfo` object, nullable: custom info of candidate
  - `autoGenerateCandidateId` boolean, nullable: When true, auto-generate the candidate_id; only supported for system_id=talent_tracking and only when candidateId is not provided. Must not be set for other systems.
  - `courseAttendance` LmsCourseAttendance[], nullable: course attandance of candidate
    - `durationHours` number, float, nullable: Duration of the course (in hours)
    - `percentageCompletion` number, float, nullable: Percentage Completion
    - `isInternal` boolean, nullable: Is Internal
    - `pointsEarned` number, float, nullable: Points Earned
    - `courseType` string, nullable: Course type
    - `difficulty` string, nullable: difficulty
    - `courseUrl` string, nullable: Course Url
    - `title` string, nullable: Title. Note: Course Id or title must be present.
    - `completionTs` integer, nullable: Completion Timestamp
    - `lmsCourseId` string, nullable: LMS Course Id. Note: Course Id or title must be present.
    - `medium` string, nullable: medium
    - `language` string, nullable: Language
    - `dueTs` integer, nullable: Due Timestamp
    - `assignedBy` string, nullable: Email of who assigned this course
    - `status` string, nullable: status
    - `startTs` integer, nullable: Start timestamp
    - `isMandatory` boolean, nullable: is course attendance mandatory ?
    - `provider` string, nullable: provider
    - `verified` string, nullable: verified
    - `description` string, nullable: description
  - `systemId` string, nullable: system if of candidate
  - `urls` string[], nullable: urls of candidate
  - `candidateId` string, nullable: ATS Candidate id. Omit when autoGenerateCandidateId is true.
  - `title` string, nullable: title of candidate
  - `displayTags` string[], nullable: display tags for candidate
  - `tags` string[], nullable: tags of candidate
  - `veteranStatus` boolean, nullable: Boolean value for veteran status of the candidate
  - `highestEducationLevel` string, nullable: highest education level of candidate
  - `certifications` AtsCertification[], nullable: certifications for candidate
    - `locationCountry` string, nullable: Country where certification was issued
    - `verificationStatus` string, nullable: verification status of a certification
    - `licenseNo` string, nullable: License number of a certification
    - `skills` string[], nullable: Skills associated with the certification
    - `validFromTs` integer, nullable: validtion from timestamp of a certification
    - `comments` string, nullable: Comments on the certification
    - `allText` string, nullable: All text associated with the certification
    - `endTs` integer, nullable: ending timestamp of a certification
    - `verificationBy` string, nullable: email of the verifier
    - `certificateName` string, nullable, required: certificate name of a certification
    - `verificationTs` integer, nullable: verification timestamp
    - `status` string, nullable: Status of the certification
    - `certificateType` string, nullable: Type of the certification
    - `proficiency` string, nullable: proficiency of a certification
    - `validToTs` integer, nullable: validation till timestamp of a certification
    - `attachmentIds` string[], nullable: List of attachment ids of a certification
    - `startTs` integer, nullable: starting timestamp of a certification
    - `certificateExternalId` string, nullable: external id for the type of certification
    - `locationState` string, nullable: State where certification was issued
    - `issuingAuthority` string, nullable: issuing authority of a certification
    - `description` string, nullable: Description of the certification
  - `lastActivityTs` integer, nullable, required: last activity time stamp of candidate
  - `summary` string, nullable: summary of candidate
  - `photoContent` AtsContent
    - `extension` string, nullable: extension
    - `content` string, nullable: content
    - `isBase64` boolean, nullable: is base 64 encoded?
  - `applications` AtsApplication[], nullable: applications of candidates
    - `locationCountry` string, nullable: location country of an application
    - `reason` string, nullable: reason for an application
    - `location` string, nullable: location of an application
    - `visaStatuses` string[], nullable: list of visa status
    - `veteranStatusStr` string, nullable: String value for veteran status of the applicant
    - `jobs` Jobs[], nullable: Jobs related to an application.
      - `atsJobId` string, nullable: ATS Job id
      - `name` string, nullable: Name
    - `hiredTs` integer, nullable: hired timestamp of an applicant
    - `lastModifiedTs` integer, nullable, required: last modified timestamp of an application
    - `customInfo` object, nullable: custom info for an application
    - `note` AtsNote
      - `subject` string, nullable: subject of a note
      - `to` string, nullable: email of reciever
      - `noteType` string, nullable: Note type of an ats note. Valid inputs: email, note, other
      - `visibility` string, nullable: visibility of a note
      - `creator` string, nullable: creator of a note
      - `cc` string[], nullable: email address for cc
      - `body` string, nullable: body of a note
      - `sender` string, nullable: email of sender
      - `creationTs` integer, nullable: creation timestamp of a note
    - `systemId` string, nullable: system id of an application
    - `creditor` string, nullable: creditor of an application
    - `candidateId` string, nullable, required: candidate id of an applicant
    - `rejectedTs` integer, nullable: rejected timestamp of an applicant
    - `veteranStatus` boolean, nullable: Boolean value for veteran status of the applicant
    - `applicationTs` integer, nullable, required: application timestamp
    - `pastStages` AtsStage[], nullable: past stages of an application
      - `stage` string, nullable: stage
      - `user` AtsUser, required
        - `userId` string, nullable: user id
        - `email` string, nullable: email of user
        - `name` string, nullable: name of user
        - `atsRoles` string[], nullable: list of ats roles
      - `reason` string, required: reason
      - `wfSubStage` string, required: wf sub stage
      - `wfStage` string, required: wf stage
      - `stageTs` integer, required: stage timestamp
    - `sourceName` string, nullable: source name of an application
    - `isProspect` boolean, nullable: is prospective applicant
    - `scorecards` AtsScorecard[], nullable: scorecards for an application
      - `overallRatingLabel` string, nullable: overall rating label
      - `overallRating` string, nullable: Overall rating. Valid inputs: strong_yes, yes, mixed, no, strong_no
      - `submittedBy` AtsUser
        - `userId` string, nullable: user id
        - `email` string, nullable: email of user
        - `name` string, nullable: name of user
        - `atsRoles` string[], nullable: list of ats roles
      - `submittedAt` integer, nullable: submitted at timestamp
      - `interviewedAt` integer, nullable: interview at timestamp
      - `attributes` ATSScoreCardAttribute[], nullable: attributes
        - `rating` string, nullable: Rating. Valid inputs: strong_yes, yes, mixed, no, strong_no
        - `answer` string, nullable: Answer
        - `note` string, nullable: Note
        - `question` string, nullable: Question
        - `rating_label` string, nullable: Rating label
      - `description` string, nullable: description of interview
      - `interviewName` string, nullable: interview name
    - `jobSystemId` string, nullable: job system id for an application
    - `disabilityStatus` boolean, nullable: disability status of an applicant
    - `currentStage` AtsStage
      - `stage` string, nullable: stage
      - `user` AtsUser, required
        - `userId` string, nullable: user id
        - `email` string, nullable: email of user
        - `name` string, nullable: name of user
        - `atsRoles` string[], nullable: list of ats roles
      - `reason` string, required: reason
      - `wfSubStage` string, required: wf sub stage
      - `wfStage` string, required: wf stage
      - `stageTs` integer, required: stage timestamp
    - `status` string, nullable: Status of application.Valid inputs: active, hired, rejected, converted, withdrawn
    - `races` string[], nullable: list of races of an applicant
    - `sourceType` string, nullable: source type of an application
    - `gender` string, nullable: gender of an applicant
    - `questions` AtsQuestionAnswer[], nullable: questions
      - `formName` string, nullable: form name for the question
      - `choices` string[], nullable: choices of a question
      - `explanation` string, nullable: explaination of the question
      - `answer` string[], nullable: answer to the question
      - `formType` string, nullable: form type for the question
      - `questionId` string, required: question id
      - `displayOrder` string, nullable: display order of the question
      - `formId` string, nullable: form id for the question
      - `type` string, nullable: Type of question. Valid inputs: text, choice, dropdown, date, multi_value, numeric
      - `question` string, nullable: question data
    - `rejectedBy` string, nullable: applicant rejected by
    - `disabilityStatusStr` string, nullable: disability status of an applicant
    - `applicationId` string, required: application id
  - `disabilityStatus` boolean, nullable: disability status
  - `phones` string, nullable: comma separated phone numbers of candidate
  - `experience` AtsExperience[], nullable: experience of candidate
    - `endTs` integer, nullable: end_ts of exp
    - `industry` string, nullable: industry of work
    - `isInternal` boolean, nullable, required: is internal employee
    - `department` string, nullable: department of work
    - `startTs` integer, nullable, required: start_ts of exp
    - `location` string, nullable, required: location of work
    - `company` string, nullable, required: company of a candidate
    - `isCurrent` boolean, nullable, required: is currentely employed
    - `description` string, nullable: description of the post/company
    - `title` string, nullable, required: title of post
  - `races` string[], nullable: race of candidate
  - `dateOfBirth` string, nullable: date of birth of candidate
  - `project` AtsProject[], nullable: project of candidate
    - `endTs` integer, nullable: ending timestamp of a project
    - `links` string[], nullable: links for a project
    - `startTs` integer, nullable, required: start timestamp of a project
    - `skills` string[], nullable: skills
    - `company` string, nullable, required: company of a project
    - `contributors` string[], nullable: contributors to a project
    - `description` string, nullable: description
    - `title` string, nullable, required: title of a project
  - `notes` AtsNote[], nullable: notes of candidates
    - `subject` string, nullable: subject of a note
    - `to` string, nullable: email of reciever
    - `noteType` string, nullable: Note type of an ats note. Valid inputs: email, note, other
    - `visibility` string, nullable: visibility of a note
    - `creator` string, nullable: creator of a note
    - `cc` string[], nullable: email address for cc
    - `body` string, nullable: body of a note
    - `sender` string, nullable: email of sender
    - `creationTs` integer, nullable: creation timestamp of a note
  - `gender` string, nullable: gender of candidate
  - `questions` AtsQuestionAnswer[], nullable: questions of candidate
    - `formName` string, nullable: form name for the question
    - `choices` string[], nullable: choices of a question
    - `explanation` string, nullable: explaination of the question
    - `answer` string[], nullable: answer to the question
    - `formType` string, nullable: form type for the question
    - `questionId` string, required: question id
    - `displayOrder` string, nullable: display order of the question
    - `formId` string, nullable: form id for the question
    - `type` string, nullable: Type of question. Valid inputs: text, choice, dropdown, date, multi_value, numeric
    - `question` string, nullable: question data
  - `skillDetails` ATSSkillDetail[], nullable: skill details of candidate
    - `skillGroups` ATSSkillGroup[], nullable: Skill groups
      - `proficiency` string, nullable: Proficiency
      - `skillGroup` string, nullable: Skill Group
    - `proficiency` string, nullable: Proficiency. Note: proficiency must be specified only for each skill group when skill groups are present
    - `evaluationTimestamp` integer, nullable: Evaluation timestamp
    - `dataSource` string, nullable: Data source of the skill
    - `skill` string, nullable: Skill
  - `disabilityStatusStr` string, nullable: disability status of an applicant
  - `lastName` string, nullable: last name of candidate

## Response `200`

OK

- ProfileAsyncSchema
  - `transactionId` string, nullable

---

[API](https://skmtc.dev/eightfold/apis/api-server-v2-service-service.md) - [All operations](https://skmtc.dev/eightfold/apis/api-server-v2-service-service/llms.txt) - [OpenAPI document](https://skmtc.dev/eightfold/apis/api-server-v2-service-service/revisions/9a8b3a927e93?raw)
