Workday Staffing API
API for managing staffing transactions including hires, terminations, transfers, and position management. Provides programmatic access to job profiles, positions, and organizational assignments.
API for managing staffing transactions including hires, terminations, transfers, and position management. Provides programmatic access to job profiles, positions, and organizational assignments.
openapi: 3.1.0
info:
title: Workday Integration Workday Staffing API
description: >-
API for managing staffing transactions including hires, terminations,
transfers, and position management. Provides programmatic access to job
profiles, positions, and organizational assignments.
version: v1
contact:
name: Workday API Support
email: api-support@workday.com
url: https://community.workday.com
license:
name: Proprietary
url: https://www.workday.com/en-us/legal/site-terms.html
servers:
- url: https://{baseUrl}/ccx/api/staffing/v1/{tenant}
description: Workday Staffing REST API server
variables:
baseUrl:
default: wd2-impl-services1.workday.com
tenant:
default: tenant
security:
- OAuth2:
- r:staffing
- w:staffing
paths:
/workers:
get:
operationId: getWorkers
summary: Workday Integration Retrieve workers and staffing information
description: >-
Returns a collection of workers and their current staffing information
including positions, jobs, and organizational assignments.
tags:
- Workers
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/search'
responses:
'200':
description: Successful response with workers
content:
application/json:
schema:
$ref: '#/components/schemas/WorkersResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/workers/{ID}:
get:
operationId: getWorkerById
summary: Workday Integration Retrieve a specific worker
description: >-
Returns the specified worker with their staffing details.
tags:
- Workers
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response with the worker
content:
application/json:
schema:
$ref: '#/components/schemas/Worker'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/positions:
get:
operationId: getPositions
summary: Workday Integration Retrieve positions
description: >-
Returns a collection of positions within the organization.
tags:
- Positions
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/search'
responses:
'200':
description: Successful response with positions
content:
application/json:
schema:
$ref: '#/components/schemas/PositionsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/positions/{ID}:
get:
operationId: getPositionById
summary: Workday Integration Retrieve a specific position
description: >-
Returns the specified position with its job profile and restrictions.
tags:
- Positions
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response with the position
content:
application/json:
schema:
$ref: '#/components/schemas/Position'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/jobProfiles:
get:
operationId: getJobProfiles
summary: Workday Integration Retrieve job profiles
description: >-
Returns a collection of job profiles configured in the tenant.
tags:
- Job Profiles
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- $ref: '#/components/parameters/search'
responses:
'200':
description: Successful response with job profiles
content:
application/json:
schema:
$ref: '#/components/schemas/JobProfilesResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/jobProfiles/{ID}:
get:
operationId: getJobProfileById
summary: Workday Integration Retrieve a specific job profile
description: >-
Returns the specified job profile with its details and qualifications.
tags:
- Job Profiles
parameters:
- $ref: '#/components/parameters/ID'
responses:
'200':
description: Successful response with the job profile
content:
application/json:
schema:
$ref: '#/components/schemas/JobProfile'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
components:
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://{baseUrl}/authorize
tokenUrl: https://{baseUrl}/oauth2/{tenant}/token
scopes:
r:staffing: Read staffing data
w:staffing: Write staffing data
parameters:
ID:
name: ID
in: path
required: true
schema:
type: string
limit:
name: limit
in: query
schema:
type: integer
default: 20
maximum: 100
offset:
name: offset
in: query
schema:
type: integer
default: 0
search:
name: search
in: query
schema:
type: string
responses:
Unauthorized:
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
Forbidden:
description: Insufficient permissions
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
ResourceReference:
type: object
properties:
id:
type: string
descriptor:
type: string
href:
type: string
format: uri
Worker:
type: object
properties:
id:
type: string
descriptor:
type: string
workerID:
type: string
workerType:
$ref: '#/components/schemas/ResourceReference'
position:
$ref: '#/components/schemas/ResourceReference'
jobProfile:
$ref: '#/components/schemas/ResourceReference'
supervisoryOrganization:
$ref: '#/components/schemas/ResourceReference'
hireDate:
type: string
format: date
terminationDate:
type: string
format: date
WorkersResponse:
type: object
properties:
total:
type: integer
data:
type: array
items:
$ref: '#/components/schemas/Worker'
Position:
type: object
properties:
id:
type: string
descriptor:
type: string
positionID:
type: string
jobProfile:
$ref: '#/components/schemas/ResourceReference'
supervisoryOrganization:
$ref: '#/components/schemas/ResourceReference'
isFilled:
type: boolean
worker:
$ref: '#/components/schemas/ResourceReference'
PositionsResponse:
type: object
properties:
total:
type: integer
data:
type: array
items:
$ref: '#/components/schemas/Position'
JobProfile:
type: object
properties:
id:
type: string
descriptor:
type: string
jobProfileName:
type: string
jobFamily:
$ref: '#/components/schemas/ResourceReference'
managementLevel:
$ref: '#/components/schemas/ResourceReference'
isActive:
type: boolean
JobProfilesResponse:
type: object
properties:
total:
type: integer
data:
type: array
items:
$ref: '#/components/schemas/JobProfile'
tags:
- name: Job Profiles
- name: Positions
- name: Workers