Workday Recruiting API
Recruiting API for managing job postings, candidates, applications, and hiring workflows. Supports interview feedback and prospect management.
Recruiting API for managing job postings, candidates, applications, and hiring workflows. Supports interview feedback and prospect management.
openapi: 3.1.0
info:
title: Workday Recruiting API
description: >-
Recruiting API for managing job postings, candidates, applications, and
hiring workflows. Supports interview feedback and prospect management.
version: v1
contact:
name: Workday Support
email: [email protected]
url: https://www.workday.com/en-us/customer-service/support.html
license:
name: Proprietary
url: https://www.workday.com/en-us/legal.html
servers:
- url: https://wd2-impl-services1.workday.com/ccx/api/recruiting/v1/{tenant}
description: Workday REST API Server
variables:
tenant:
default: tenant_name
description: The Workday tenant identifier
security:
- OAuth2:
- r_recruiting
- w_recruiting
paths:
/jobRequisitions:
get:
operationId: getJobRequisitions
summary: Get Job Requisitions
description: Returns a collection of job requisitions.
tags:
- Job Requisitions
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/search'
responses:
'200':
description: Successful response containing job requisitions.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/JobRequisition'
total:
type: integer
examples:
Getjobrequisitions200Example:
summary: Default getJobRequisitions 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
requisitionNumber: example_value
jobTitle: example_value
status: example_value
numberOfOpenings: 10
createdOn: '2026-01-15T10:30:00Z'
targetHireDate: '2026-01-15'
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/jobRequisitions/{ID}:
get:
operationId: getJobRequisitionById
summary: Get Job Requisition by Id
description: Returns details for a specific job requisition.
tags:
- Job Requisitions
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response containing job requisition details.
content:
application/json:
schema:
$ref: '#/components/schemas/JobRequisition'
examples:
Getjobrequisitionbyid200Example:
summary: Default getJobRequisitionById 200 response
x-microcks-default: true
value:
id: abc123
descriptor: example_value
requisitionNumber: example_value
jobTitle: example_value
jobProfile:
id: abc123
descriptor: example_value
href: https://www.example.com
supervisoryOrganization:
id: abc123
descriptor: example_value
href: https://www.example.com
hiringManager:
id: abc123
descriptor: example_value
href: https://www.example.com
recruiter:
id: abc123
descriptor: example_value
href: https://www.example.com
status: example_value
numberOfOpenings: 10
createdOn: '2026-01-15T10:30:00Z'
targetHireDate: '2026-01-15'
location:
id: abc123
descriptor: example_value
href: https://www.example.com
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/jobPostings:
get:
operationId: getJobPostings
summary: Get Job Postings
description: Returns a collection of job postings.
tags:
- Job Postings
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/search'
responses:
'200':
description: Successful response containing job postings.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/JobPosting'
total:
type: integer
examples:
Getjobpostings200Example:
summary: Default getJobPostings 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
title: Example Title
startDate: '2026-01-15'
endDate: '2026-01-15'
jobDescription: example_value
isInternal: true
isExternal: true
postedOn: '2026-01-15T10:30:00Z'
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/jobPostings/{ID}:
get:
operationId: getJobPostingById
summary: Get Job Posting by Id
description: Returns details for a specific job posting.
tags:
- Job Postings
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response containing job posting details.
content:
application/json:
schema:
$ref: '#/components/schemas/JobPosting'
examples:
Getjobpostingbyid200Example:
summary: Default getJobPostingById 200 response
x-microcks-default: true
value:
id: abc123
descriptor: example_value
title: Example Title
jobRequisition:
id: abc123
descriptor: example_value
href: https://www.example.com
startDate: '2026-01-15'
endDate: '2026-01-15'
jobDescription: example_value
location:
id: abc123
descriptor: example_value
href: https://www.example.com
isInternal: true
isExternal: true
postedOn: '2026-01-15T10:30:00Z'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/candidates:
get:
operationId: getCandidates
summary: Get Candidates
description: Returns a collection of candidates.
tags:
- Candidates
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/search'
responses:
'200':
description: Successful response containing candidates.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Candidate'
total:
type: integer
examples:
Getcandidates200Example:
summary: Default getCandidates 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
name: Example Title
email: [email protected]
phone: example_value
attachments:
- {}
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/candidates/{ID}:
get:
operationId: getCandidateById
summary: Get Candidate by Id
description: Returns details for a specific candidate.
tags:
- Candidates
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response containing candidate details.
content:
application/json:
schema:
$ref: '#/components/schemas/Candidate'
examples:
Getcandidatebyid200Example:
summary: Default getCandidateById 200 response
x-microcks-default: true
value:
id: abc123
descriptor: example_value
name: Example Title
email: [email protected]
phone: example_value
source:
id: abc123
descriptor: example_value
href: https://www.example.com
referredBy:
id: abc123
descriptor: example_value
href: https://www.example.com
attachments:
- id: abc123
descriptor: example_value
href: https://www.example.com
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/jobApplications:
get:
operationId: getJobApplications
summary: Get Job Applications
description: Returns a collection of job applications.
tags:
- Job Applications
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Successful response containing job applications.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/JobApplication'
total:
type: integer
examples:
Getjobapplications200Example:
summary: Default getJobApplications 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
status: example_value
appliedOn: '2026-01-15T10:30:00Z'
hiredOn: '2026-01-15T10:30:00Z'
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/jobApplications/{ID}:
get:
operationId: getJobApplicationById
summary: Get Job Application by Id
description: Returns details for a specific job application.
tags:
- Job Applications
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response containing job application details.
content:
application/json:
schema:
$ref: '#/components/schemas/JobApplication'
examples:
Getjobapplicationbyid200Example:
summary: Default getJobApplicationById 200 response
x-microcks-default: true
value:
id: abc123
descriptor: example_value
candidate:
id: abc123
descriptor: example_value
href: https://www.example.com
jobRequisition:
id: abc123
descriptor: example_value
href: https://www.example.com
status: example_value
stage:
id: abc123
descriptor: example_value
href: https://www.example.com
appliedOn: '2026-01-15T10:30:00Z'
hiredOn: '2026-01-15T10:30:00Z'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/prospects:
get:
operationId: getProspects
summary: Get Prospects
description: Returns a collection of recruiting prospects.
tags:
- Prospects
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/search'
responses:
'200':
description: Successful response containing prospects.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Prospect'
total:
type: integer
examples:
Getprospects200Example:
summary: Default getProspects 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
name: Example Title
email: [email protected]
phone: example_value
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://wd2-impl-services1.workday.com/ccx/oauth2/{tenant}/authorize
tokenUrl: https://wd2-impl-services1.workday.com/ccx/oauth2/{tenant}/token
scopes:
r_recruiting: Read recruiting data
w_recruiting: Write recruiting data
parameters:
ID:
name: ID
in: path
required: true
description: The Workday ID of the resource.
schema:
type: string
limit:
name: limit
in: query
required: false
description: The maximum number of objects in a single response.
schema:
type: integer
default: 20
maximum: 100
offset:
name: offset
in: query
required: false
description: The zero-based index of the first object in a response collection.
schema:
type: integer
default: 0
search:
name: search
in: query
required: false
description: Searches resources by name. The search is case-insensitive.
schema:
type: string
schemas:
JobRequisition:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
requisitionNumber:
type: string
example: example_value
jobTitle:
type: string
example: example_value
jobProfile:
$ref: '#/components/schemas/ResourceReference'
supervisoryOrganization:
$ref: '#/components/schemas/ResourceReference'
hiringManager:
$ref: '#/components/schemas/ResourceReference'
recruiter:
$ref: '#/components/schemas/ResourceReference'
status:
type: string
description: The status of the requisition (e.g., Open, Filled, Closed).
example: example_value
numberOfOpenings:
type: integer
example: 10
createdOn:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
targetHireDate:
type: string
format: date
example: '2026-01-15'
location:
$ref: '#/components/schemas/ResourceReference'
JobPosting:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
title:
type: string
description: The title of the job posting.
example: Example Title
jobRequisition:
$ref: '#/components/schemas/ResourceReference'
startDate:
type: string
format: date
example: '2026-01-15'
endDate:
type: string
format: date
example: '2026-01-15'
jobDescription:
type: string
example: example_value
location:
$ref: '#/components/schemas/ResourceReference'
isInternal:
type: boolean
example: true
isExternal:
type: boolean
example: true
postedOn:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
Candidate:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
name:
type: string
description: The full name of the candidate.
example: Example Title
email:
type: string
format: email
example: [email protected]
phone:
type: string
example: example_value
source:
$ref: '#/components/schemas/ResourceReference'
referredBy:
$ref: '#/components/schemas/ResourceReference'
attachments:
type: array
items:
$ref: '#/components/schemas/ResourceReference'
example: []
JobApplication:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
candidate:
$ref: '#/components/schemas/ResourceReference'
jobRequisition:
$ref: '#/components/schemas/ResourceReference'
status:
type: string
description: The application status (e.g., In Progress, Offer, Hired, Rejected).
example: example_value
stage:
$ref: '#/components/schemas/ResourceReference'
appliedOn:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
hiredOn:
type: string
format: date-time
example: '2026-01-15T10:30:00Z'
Prospect:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
name:
type: string
example: Example Title
email:
type: string
format: email
example: [email protected]
phone:
type: string
example: example_value
talentPool:
$ref: '#/components/schemas/ResourceReference'
source:
$ref: '#/components/schemas/ResourceReference'
ResourceReference:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
href:
type: string
format: uri
example: https://www.example.com
ErrorResponse:
type: object
properties:
error:
type: string
example: example_value
errors:
type: array
items:
type: object
properties:
error:
type: string
field:
type: string
example: []
responses:
Unauthorized:
description: Authentication credentials were missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
tags:
- name: Job Requisitions
description: Endpoints for managing job requisitions.
- name: Job Postings
description: Endpoints for managing job postings.
- name: Candidates
description: Endpoints for managing candidates.
- name: Job Applications
description: Endpoints for managing job applications.
- name: Prospects
description: Endpoints for managing recruiting prospects.