---
title: "Creates an item in the ICapture candidate queue"
method: POST
path: "/Entity/ICaptureCandidate"
tags: ["Entity"]
---

# Creates an item in the ICapture candidate queue

`POST /Entity/ICaptureCandidate`

If valid, the candidate will be placed in a queue to be processed by the Infinity ICapture service.
A 'Candidate API'data source must be setup and active in Infinity for it to be processed.
If the data source is not active, records will still be accepted but remain in the queue.
            
A Surname is required.
            
Comments and Summary must not exceed the max upload size configured in Infinity.
            
A CV must not exceed the max upload size configured in Infinity.
            
A maximimum of 5 attachments can be uploaded.
All Attachments must not exceed the max upload size configured in Infinity.
            
The max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB)

All id fields must match active reference data from the /Reference methods

## Request body

- ICaptureCandidateRequest — Model to create an ICapture Candidate
  - `TitleId` integer, nullable
  - `Forename` string, nullable
  - `Middlename` string, nullable
  - `Surname` string, required
  - `KnownAs` string, nullable
  - `GenderId` integer, nullable
  - `MaritalStatusId` integer, nullable
  - `DateOfBirth` string, date-time, nullable
  - `NationalityId` integer, nullable
  - `SecondNationalityId` integer, nullable
  - `ThirdNationalityId` integer, nullable
  - `FourthNationalityId` integer, nullable
  - `EthnicOriginId` integer, nullable
  - `CountryOfOriginId` integer, nullable
  - `AddressLine1` string, nullable
  - `AddressLine2` string, nullable
  - `AddressLine3` string, nullable
  - `Town` string, nullable
  - `Postcode` string, nullable
  - `CountryId` integer, nullable
  - `HomePhoneNumber` string, nullable
  - `WorkPhoneNumber` string, nullable
  - `MobileNumber` string, nullable
  - `HomeEmailAddress` string, nullable
  - `LinkedInPublicUrl` string, nullable
  - `WebId` string, nullable
  - `IsPermanent` boolean
  - `PermanentExpectedRate` ICaptureCandidateExpectedRateRequest
    - `Min` number
    - `Max` number
    - `RateIntervalId` integer, nullable
  - `IsContract` boolean
  - `ContractExpectedRate` ICaptureCandidateExpectedRateRequest
    - `Min` number
    - `Max` number
    - `RateIntervalId` integer, nullable
  - `IsTemporary` boolean
  - `TemporaryExpectedRate` ICaptureCandidateExpectedRateRequest
    - `Min` number
    - `Max` number
    - `RateIntervalId` integer, nullable
  - `ExpectedRateCurrencyId` integer, nullable
  - `PreferredLocation` string, nullable
  - `AvailabilityDate` string, date-time, nullable
  - `HasOwnTransport` boolean
  - `Relocate` boolean
  - `Comments` string, nullable
  - `Summary` string, nullable
  - `CV` string, byte, nullable — A Base64 CV document to attach to the candidate. The document cannot exceed the max upload size configured in Infinity.
  - `EmploymentHistory` ICaptureCandidateEmploymentHistoryRequest[], nullable
    - `CompanyName` string, nullable
    - `Location` string, nullable
    - `JobTitle` string, nullable
    - `LineManager` string, nullable
    - `JobType` 'Unknown' | 'Permanent' | 'Contract' | 'Temporary' | 'TemporaryToPerm' | 'ContractToPermanent' | 'FixedTerm'
    - `StartDate` string, date-time, nullable
    - `EndDate` string, date-time, nullable
  - `JobTitles` integer[], nullable
  - `Attributes` ICaptureCandidateAttributeRequest[], nullable
    - `Id` integer
    - `ScoreId` integer, nullable
  - `ChildAttributes` ICaptureCandidateAttributeRequest[], nullable
    - `Id` integer
    - `ScoreId` integer, nullable
  - `QualificationsAndCertifications` ICaptureCandidateQualificationAndCertificationRequest[], nullable
    - `Id` integer
    - `TypeId` integer, nullable
    - `LevelId` integer, nullable
  - `Sources` integer[], nullable
  - `ShortlistJobCodes` string[], nullable — A list of valid job codes to shortlist the candidate against e.g. JO0000000112
  - `Attachments` ICaptureCandidateAttachmentRequest[], nullable — A list of Base64 documents to attach to the candidate. The document cannot exceed the max upload size configured in Infinity.
    - `Name` string, required
    - `Content` string, byte, required — A Base64 document to attach to the candidate. The document cannot exceed the max upload size configured in Infinity.

## Response `200`

OK

- integer

## Other responses

- `400` — BadRequest
- `401` — Unauthorized
- `404` — NotFound

---

[API](https://skmtc.dev/vslcloud/apis/infinity-api.md) · [All operations](https://skmtc.dev/vslcloud/apis/infinity-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vslcloud/infinity-api/revisions/54661781612a/schema)
