SmartRecruiters Jobs API
The Jobs API from SmartRecruiters — 5 operation(s) for jobs.
The Jobs API from SmartRecruiters — 5 operation(s) for jobs.
openapi: 3.0.3
info:
title: SmartRecruiters Candidate Applications Jobs API
description: The SmartRecruiters Candidate API enables customers to import, export, read, and update candidate data. Provides full candidate profile management including personal information, application history, notes, and attachments.
version: 1.0.0
contact:
name: SmartRecruiters Developer Support
url: https://developers.smartrecruiters.com/
servers:
- url: https://api.smartrecruiters.com
description: SmartRecruiters Production API
security:
- ApiKey: []
tags:
- name: Jobs
paths:
/jobs:
get:
operationId: listJobs
summary: List Jobs
description: Returns a paginated list of jobs. Supports filtering by status, department, location, hiring manager, and other criteria.
tags:
- Jobs
parameters:
- name: q
in: query
required: false
description: Full-text search query
schema:
type: string
- name: limit
in: query
required: false
description: Maximum number of results to return
schema:
type: integer
default: 10
maximum: 100
- name: offset
in: query
required: false
description: Number of results to skip for pagination
schema:
type: integer
default: 0
- name: status
in: query
required: false
description: Filter by job status
schema:
type: string
enum:
- CREATED
- SOURCING
- INTERVIEW
- OFFER
- HIRED
- CANCELLED
- name: department
in: query
required: false
description: Filter by department ID
schema:
type: string
responses:
'200':
description: List of jobs
content:
application/json:
schema:
$ref: '#/components/schemas/JobListResult'
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'429':
description: Too many requests
post:
operationId: createJob
summary: Create Job
description: Creates a new job in the SmartRecruiters system.
tags:
- Jobs
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/JobCreate'
responses:
'201':
description: Job created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
/jobs/{jobId}:
get:
operationId: getJob
summary: Get Job
description: Retrieves detailed information about a specific job.
tags:
- Jobs
parameters:
- name: jobId
in: path
required: true
description: The unique job identifier
schema:
type: string
responses:
'200':
description: Job details
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Job not found
patch:
operationId: updateJob
summary: Update Job
description: Updates properties of an existing job.
tags:
- Jobs
parameters:
- name: jobId
in: path
required: true
description: The unique job identifier
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/JobUpdate'
responses:
'200':
description: Job updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Job not found
/jobs/{jobId}/status:
put:
operationId: updateJobStatus
summary: Update Job Status
description: Updates the status of a job, moving it through the hiring workflow.
tags:
- Jobs
parameters:
- name: jobId
in: path
required: true
description: The unique job identifier
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- status
properties:
status:
type: string
enum:
- SOURCING
- INTERVIEW
- OFFER
- HIRED
- CANCELLED
responses:
'200':
description: Job status updated
content:
application/json:
schema:
$ref: '#/components/schemas/Job'
'400':
description: Bad request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Job not found
/jobs/{jobId}/hiring-team:
get:
operationId: getJobHiringTeam
summary: Get Job Hiring Team
description: Returns the hiring team members assigned to a specific job.
tags:
- Jobs
parameters:
- name: jobId
in: path
required: true
description: The unique job identifier
schema:
type: string
responses:
'200':
description: Hiring team members
content:
application/json:
schema:
type: object
properties:
jobOwner:
$ref: '#/components/schemas/TeamMember'
hiringManagers:
type: array
items:
$ref: '#/components/schemas/TeamMember'
recruiters:
type: array
items:
$ref: '#/components/schemas/TeamMember'
coordinators:
type: array
items:
$ref: '#/components/schemas/TeamMember'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Job not found
/jobs/{jobId}/candidates:
get:
operationId: listJobCandidates
summary: List Job Candidates
description: Returns a paginated list of candidates who have applied to a specific job.
tags:
- Jobs
parameters:
- name: jobId
in: path
required: true
description: The unique job identifier
schema:
type: string
- name: status
in: query
required: false
description: Filter by candidate status
schema:
type: string
- name: limit
in: query
required: false
schema:
type: integer
default: 10
- name: offset
in: query
required: false
schema:
type: integer
default: 0
responses:
'200':
description: List of candidates for the job
content:
application/json:
schema:
$ref: '#/components/schemas/CandidateListResult'
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Job not found
components:
schemas:
Job:
type: object
properties:
id:
type: string
description: Unique job identifier
title:
type: string
description: Job title
refNumber:
type: string
description: External reference number
createdOn:
type: string
format: date-time
updatedOn:
type: string
format: date-time
status:
type: string
enum:
- CREATED
- SOURCING
- INTERVIEW
- OFFER
- HIRED
- CANCELLED
department:
type: object
properties:
id:
type: string
label:
type: string
location:
type: object
properties:
id:
type: string
city:
type: string
country:
type: string
region:
type: string
remote:
type: boolean
industry:
type: object
properties:
id:
type: string
label:
type: string
function:
type: object
properties:
id:
type: string
label:
type: string
experienceLevel:
type: object
properties:
id:
type: string
label:
type: string
typeOfEmployment:
type: object
properties:
id:
type: string
label:
type: string
hiringTeam:
type: object
properties:
jobOwner:
$ref: '#/components/schemas/TeamMember'
hiringManagers:
type: array
items:
$ref: '#/components/schemas/TeamMember'
recruiters:
type: array
items:
$ref: '#/components/schemas/TeamMember'
numberOfOpenings:
type: integer
CandidateListResult:
type: object
properties:
limit:
type: integer
offset:
type: integer
totalFound:
type: integer
content:
type: array
items:
type: object
properties:
id:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
status:
type: string
appliedOn:
type: string
format: date-time
JobCreate:
type: object
required:
- title
- department
- location
properties:
title:
type: string
refNumber:
type: string
department:
type: object
properties:
id:
type: string
location:
type: object
properties:
id:
type: string
remote:
type: boolean
industry:
type: object
properties:
id:
type: string
function:
type: object
properties:
id:
type: string
experienceLevel:
type: object
properties:
id:
type: string
typeOfEmployment:
type: object
properties:
id:
type: string
jobAd:
type: object
properties:
sections:
type: object
properties:
jobDescription:
type: object
properties:
text:
type: string
qualifications:
type: object
properties:
text:
type: string
JobListResult:
type: object
properties:
limit:
type: integer
offset:
type: integer
totalFound:
type: integer
content:
type: array
items:
$ref: '#/components/schemas/Job'
JobUpdate:
type: object
properties:
title:
type: string
refNumber:
type: string
department:
type: object
properties:
id:
type: string
TeamMember:
type: object
properties:
id:
type: string
name:
type: string
email:
type: string
format: email
role:
type: string
securitySchemes:
ApiKey:
type: apiKey
in: header
name: X-SmartToken
OAuth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: https://www.smartrecruiters.com/identity/oauth/token
scopes:
candidates.read: Read candidate data
candidates.write: Write candidate data