Jobs
Manage job postings, job requests, and track applicants.
Get All Jobs
GET
/api/recruitment/jobsGet all jobs with optional filters.
{
"jobs": [
{
"id": "...",
"title": "Software Engineer",
"department": "Engineering",
"location": "Remote",
"employmentType": "full-time",
"salaryRangeMin": 80000,
"salaryRangeMax": 120000,
"status": "open",
"openings": 3,
"createdBy": { "id": "...", "name": "HR" }
}
]
}
Create Job
POST
/api/recruitment/jobsCreate a new job posting.
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Required | Job title |
department | string | Optional | Department |
location | string | Optional | Job location |
employmentType | string | Optional | Type (full-time/part-time/contract/internship) |
salaryRangeMin | number | Optional | Minimum salary |
salaryRangeMax | number | Optional | Maximum salary |
salaryType | string | Optional | Salary type (per-annum/per-month/per-day/per-hour) |
currency | string | Optional | Currency code |
openings | number | Optional | Number of openings |
description | string | Optional | Job description |
requiredSkills | string[] | Optional | Required skills |
autoCloseDate | string | Optional | Auto-close date (ISO) |
{
"job": {
"id": "...",
"title": "Software Engineer",
"status": "draft"
}
}
Get Job
GET
/api/recruitment/jobs/[id]Get a specific job posting.
{
"job": { ... job object }
}
Update Job
PATCH
/api/recruitment/jobs/[id]Update a job posting.
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Optional | Job title |
status | string | Optional | Status (draft/open/closed) |
department | string | Optional | Department |
location | string | Optional | Location |
{
"job": { ... updated job }
}
Delete Job
DELETE
/api/recruitment/jobs/[id]Delete a job posting.
{
"success": true
}
Get Job Candidates
GET
/api/recruitment/jobs/[id]/candidatesGet all candidates for a specific job.
{
"candidates": [
{
"id": "...",
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"stage": "screening",
"source": "LinkedIn"
}
]
}
Request Job
POST
/api/recruitment/jobs/requestRequest HR to create a job posting.
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Required | Job title |
department | string | Optional | Department |
location | string | Optional | Location |
{
"request": {
"id": "...",
"status": "requested"
}
}
Get Job Requests
GET
/api/recruitment/jobs/requestGet all job requests.
{
"requests": [...]
}
Get My Tasks
GET
/api/recruitment/jobs/my-tasksGet jobs assigned to current user.
{
"jobs": [...]
}
Get My Requests
GET
/api/recruitment/jobs/my-requestsGet job requests created by current user.
{
"requests": [...]
}
Get All Requests
GET
/api/recruitment/jobs/all-requestsGet all job requests (HR only).
{
"requests": [...]
}