Workday Absence Management API
Absence Management API for managing leave balances, time-off requests, leaves of absence, and eligible absence types for workers.
Absence Management API for managing leave balances, time-off requests, leaves of absence, and eligible absence types for workers.
openapi: 3.1.0
info:
title: Workday Absence Management API
description: >-
Absence Management API for managing leave balances, time-off requests,
leaves of absence, and eligible absence types for workers.
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/absenceManagement/v1/{tenant}
description: Workday REST API Server
variables:
tenant:
default: tenant_name
description: The Workday tenant identifier
security:
- OAuth2:
- r_absence
- w_absence
paths:
/workers/{ID}/eligibleAbsenceTypes:
get:
operationId: getEligibleAbsenceTypes
summary: Get Eligible Absence Types
description: Returns the absence types a worker is eligible for.
tags:
- Absence Types
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Successful response containing eligible absence types.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/AbsenceType'
total:
type: integer
examples:
Geteligibleabsencetypes200Example:
summary: Default getEligibleAbsenceTypes 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
absenceTypeCategory: example_value
unit: example_value
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workers/{ID}/requestTimeOff:
post:
operationId: requestTimeOff
summary: Request Time Off
description: Submits a time-off request for a worker.
tags:
- Time Off
parameters:
- $ref: '#/components/parameters/ID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TimeOffRequest'
examples:
RequesttimeoffRequestExample:
summary: Default requestTimeOff request
x-microcks-default: true
value:
days:
- date: '2026-01-15'
dailyQuantity: 42.5
comment: example_value
responses:
'201':
description: Time-off request created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/TimeOffEntry'
examples:
Requesttimeoff201Example:
summary: Default requestTimeOff 201 response
x-microcks-default: true
value:
id: abc123
descriptor: example_value
date: '2026-01-15'
dailyQuantity: 42.5
unit:
id: abc123
descriptor: example_value
href: https://www.example.com
timeOffType:
id: abc123
descriptor: example_value
href: https://www.example.com
status: example_value
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workers/{ID}/timeOffEntries:
get:
operationId: getTimeOffEntries
summary: Get Time Off Entries
description: Returns time-off entries for a worker.
tags:
- Time Off
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
- name: fromDate
in: query
description: Filters entries on or after this date.
schema:
type: string
format: date
example: '2026-01-15'
- name: toDate
in: query
description: Filters entries on or before this date.
schema:
type: string
format: date
example: '2026-01-15'
responses:
'200':
description: Successful response containing time-off entries.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TimeOffEntry'
total:
type: integer
examples:
Gettimeoffentries200Example:
summary: Default getTimeOffEntries 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
date: '2026-01-15'
dailyQuantity: 42.5
status: example_value
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workers/{ID}/timeOffBalances:
get:
operationId: getTimeOffBalances
summary: Get Time Off Balances
description: Returns time-off plan balances for a worker.
tags:
- Time Off
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Successful response containing time-off balances.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/TimeOffBalance'
total:
type: integer
examples:
Gettimeoffbalances200Example:
summary: Default getTimeOffBalances 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
balance: 42.5
unit: example_value
asOfDate: '2026-01-15'
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workers/{ID}/leaveOfAbsences:
get:
operationId: getLeavesOfAbsence
summary: Get Leaves of Absence
description: Returns leaves of absence for a worker.
tags:
- Leave of Absence
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Successful response containing leave of absence records.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/LeaveOfAbsence'
total:
type: integer
examples:
Getleavesofabsence200Example:
summary: Default getLeavesOfAbsence 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
startDate: '2026-01-15'
estimatedEndDate: '2026-01-15'
actualEndDate: '2026-01-15'
status: example_value
lastDayOfWork: '2026-01-15'
firstDayOfWork: '2026-01-15'
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workers/{ID}/requestLeaveOfAbsence:
post:
operationId: requestLeaveOfAbsence
summary: Request Leave of Absence
description: Initiates a leave of absence request for a worker.
tags:
- Leave of Absence
parameters:
- $ref: '#/components/parameters/ID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LeaveOfAbsenceRequest'
examples:
RequestleaveofabsenceRequestExample:
summary: Default requestLeaveOfAbsence request
x-microcks-default: true
value:
leaveType:
id: abc123
descriptor: example_value
href: https://www.example.com
firstDayOfLeave: '2026-01-15'
estimatedLastDayOfLeave: '2026-01-15'
lastDayOfWork: '2026-01-15'
firstDayBackAtWork: '2026-01-15'
reason:
id: abc123
descriptor: example_value
href: https://www.example.com
comment: example_value
responses:
'201':
description: Leave of absence request created successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/LeaveOfAbsence'
examples:
Requestleaveofabsence201Example:
summary: Default requestLeaveOfAbsence 201 response
x-microcks-default: true
value:
id: abc123
descriptor: example_value
leaveType:
id: abc123
descriptor: example_value
href: https://www.example.com
startDate: '2026-01-15'
estimatedEndDate: '2026-01-15'
actualEndDate: '2026-01-15'
status: example_value
lastDayOfWork: '2026-01-15'
firstDayOfWork: '2026-01-15'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
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_absence: Read absence data
w_absence: Write absence data
parameters:
ID:
name: ID
in: path
required: true
description: The Workday ID of the worker.
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
schemas:
AbsenceType:
type: object
properties:
id:
type: string
description: The Workday ID of the absence type.
example: abc123
descriptor:
type: string
description: A display descriptor for the absence type.
example: example_value
absenceTypeCategory:
type: string
description: The category of the absence type (e.g., Vacation, Sick).
example: example_value
unit:
type: string
description: The unit of measurement (e.g., Hours, Days).
example: example_value
TimeOffRequest:
type: object
properties:
days:
type: array
items:
type: object
properties:
date:
type: string
format: date
description: The date for time off.
dailyQuantity:
type: number
format: double
description: The quantity of time off for the day.
comment:
type: string
description: A comment for the time-off day.
timeOffType:
$ref: '#/components/schemas/ResourceReference'
description: The list of days included in the time-off request.
example: []
required:
- days
TimeOffEntry:
type: object
properties:
id:
type: string
description: The Workday ID of the time-off entry.
example: abc123
descriptor:
type: string
example: example_value
date:
type: string
format: date
description: The date of the time off.
example: '2026-01-15'
dailyQuantity:
type: number
format: double
description: The quantity of time off taken.
example: 42.5
unit:
$ref: '#/components/schemas/ResourceReference'
timeOffType:
$ref: '#/components/schemas/ResourceReference'
status:
type: string
description: The status of the time-off entry.
example: example_value
TimeOffBalance:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
timeOffPlan:
$ref: '#/components/schemas/ResourceReference'
balance:
type: number
format: double
description: The current balance.
example: 42.5
unit:
type: string
description: The unit of the balance (e.g., Hours, Days).
example: example_value
asOfDate:
type: string
format: date
description: The effective date of the balance.
example: '2026-01-15'
LeaveOfAbsence:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
leaveType:
$ref: '#/components/schemas/ResourceReference'
startDate:
type: string
format: date
description: The start date of the leave.
example: '2026-01-15'
estimatedEndDate:
type: string
format: date
description: The estimated end date of the leave.
example: '2026-01-15'
actualEndDate:
type: string
format: date
description: The actual end date of the leave.
example: '2026-01-15'
status:
type: string
description: The status of the leave (e.g., In Progress, Completed).
example: example_value
lastDayOfWork:
type: string
format: date
example: '2026-01-15'
firstDayOfWork:
type: string
format: date
example: '2026-01-15'
LeaveOfAbsenceRequest:
type: object
properties:
leaveType:
$ref: '#/components/schemas/ResourceReference'
firstDayOfLeave:
type: string
format: date
example: '2026-01-15'
estimatedLastDayOfLeave:
type: string
format: date
example: '2026-01-15'
lastDayOfWork:
type: string
format: date
example: '2026-01-15'
firstDayBackAtWork:
type: string
format: date
example: '2026-01-15'
reason:
$ref: '#/components/schemas/ResourceReference'
comment:
type: string
example: example_value
required:
- leaveType
- firstDayOfLeave
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:
BadRequest:
description: The request was invalid or malformed.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
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: Absence Types
description: Endpoints for managing absence types.
- name: Time Off
description: Endpoints for managing time-off requests and entries.
- name: Leave of Absence
description: Endpoints for managing leaves of absence.