13 endpoints

# Recruitment

Job postings, candidates and CVs, the hiring pipeline, and converting a hire into an employee.

## Job Postings

GET`/recruitment/postings`List Job PostingsList job postings for the company.

POST`/recruitment/postings`Create Job PostingCreate a posting. Postings default to draft; send status open to publish immediately, which also stamps published_at.

PUT`/recruitment/postings/{uuid}`Update Job PostingUpdate a posting, including publishing it (status open) or closing it. Publishing stamps published_at the first time.

## Candidates

POST`/recruitment/candidates`Create CandidateAdd a candidate to the talent pool. GDPR consent is required.

POST`/recruitment/candidates/{uuid}/cv`Upload Candidate CVUpload or replace a candidate CV as multipart form data. PDF, Word, RTF or plain text, up to 10 MB. Replacing a CV removes the previous file.

GET`/recruitment/candidates/{uuid}/cv`Get Candidate CV LinkReturns short-lived presigned URLs for the CV. The bucket is private, so the file itself is never served directly.

DELETE`/recruitment/candidates/{uuid}/cv`Delete Candidate CVRemoves the CV record and the stored file.

## Applications

GET`/recruitment/applications`List ApplicationsList applications across all postings. employee_id is set once the application has been converted.

POST`/recruitment/applications`Add Candidate to a PostingCreates an application at the applied stage for a candidate and posting.

PUT`/recruitment/applications/{uuid}/stage`Move Application StageMove an application to another stage. Moving to hired sets the status to hired; rejected and withdrawn record the reason and timestamp.

POST`/recruitment/applications/{uuid}/convert`Convert a Hired Application to an EmployeeCreates the employee record from a hired application and links the two. Only a hired application can be converted, and it can only be converted once. A start date in the future creates the employee as a pending starter (status pending, excluded from headcount) who becomes active on their start date via the employees:activate-pending command. Name and email are taken from the candidate, and job title, department, hiring manager, employment type and salary currency default from the posting.

## Interviews

GET`/recruitment/interviews`List InterviewsList scheduled interviews.

POST`/recruitment/interviews`Schedule InterviewSchedule an interview against an application.

---

**URL:** https://cube-hr.co.uk/docs/recruitment
