Workday Benefits API
Benefits API for managing employee benefits, enrollments, and coverage. Provides endpoints for benefits administration workflows.
Benefits API for managing employee benefits, enrollments, and coverage. Provides endpoints for benefits administration workflows.
openapi: 3.1.0
info:
title: Workday Benefits API
description: >-
Benefits API for managing employee benefits, enrollments, and coverage.
Provides endpoints for benefits administration workflows.
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/benefits/v1/{tenant}
description: Workday REST API Server
variables:
tenant:
default: tenant_name
description: The Workday tenant identifier
security:
- OAuth2:
- r_benefits
- w_benefits
paths:
/workers/{ID}/benefitElections:
get:
operationId: getBenefitElections
summary: Get Benefit Elections
description: Returns current benefit elections for a worker.
tags:
- Benefit Elections
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Successful response containing benefit elections.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BenefitElection'
total:
type: integer
examples:
Getbenefitelections200Example:
summary: Default getBenefitElections 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
electionStatus: example_value
coverageBeginDate: '2026-01-15'
coverageEndDate: '2026-01-15'
employeeCost: 42.5
employerCost: 42.5
dependents:
- {}
beneficiaries:
- {}
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workers/{ID}/eligibleBenefitPlans:
get:
operationId: getEligibleBenefitPlans
summary: Get Eligible Benefit Plans
description: Returns benefit plans a worker is eligible for.
tags:
- Benefit Plans
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Successful response containing eligible benefit plans.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BenefitPlan'
total:
type: integer
examples:
Geteligiblebenefitplans200Example:
summary: Default getEligibleBenefitPlans 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
name: Example Title
benefitPlanType: example_value
isActive: true
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workers/{ID}/dependents:
get:
operationId: getDependents
summary: Get Dependents
description: Returns dependents for a worker.
tags:
- Dependents
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Successful response containing dependents.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Dependent'
total:
type: integer
examples:
Getdependents200Example:
summary: Default getDependents 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
fullName: example_value
dateOfBirth: '2026-01-15'
total: 10
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/workers/{ID}/changeBenefits:
post:
operationId: changeBenefits
summary: Change Benefits
description: Initiates a benefit change event for a worker.
tags:
- Benefit Elections
parameters:
- $ref: '#/components/parameters/ID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/BenefitChangeRequest'
examples:
ChangebenefitsRequestExample:
summary: Default changeBenefits request
x-microcks-default: true
value:
benefitEventType:
id: abc123
descriptor: example_value
href: https://www.example.com
eventDate: '2026-01-15'
reason:
id: abc123
descriptor: example_value
href: https://www.example.com
responses:
'201':
description: Benefit change initiated successfully.
content:
application/json:
schema:
type: object
properties:
id:
type: string
descriptor:
type: string
examples:
Changebenefits201Example:
summary: Default changeBenefits 201 response
x-microcks-default: true
value:
id: abc123
descriptor: example_value
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/benefitPlans:
get:
operationId: getBenefitPlans
summary: Get Benefit Plans
description: Returns a collection of benefit plans.
tags:
- Benefit Plans
parameters:
- $ref: '#/components/parameters/limit'
- $ref: '#/components/parameters/offset'
responses:
'200':
description: Successful response containing benefit plans.
content:
application/json:
schema:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/BenefitPlan'
total:
type: integer
examples:
Getbenefitplans200Example:
summary: Default getBenefitPlans 200 response
x-microcks-default: true
value:
data:
- id: abc123
descriptor: example_value
name: Example Title
benefitPlanType: example_value
isActive: true
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_benefits: Read benefits data
w_benefits: Write benefits 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:
BenefitElection:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
benefitPlan:
$ref: '#/components/schemas/ResourceReference'
coverageLevel:
$ref: '#/components/schemas/ResourceReference'
electionStatus:
type: string
description: The status of the election (e.g., Elected, Waived).
example: example_value
coverageBeginDate:
type: string
format: date
example: '2026-01-15'
coverageEndDate:
type: string
format: date
example: '2026-01-15'
employeeCost:
type: number
format: double
example: 42.5
employerCost:
type: number
format: double
example: 42.5
currency:
$ref: '#/components/schemas/ResourceReference'
dependents:
type: array
items:
$ref: '#/components/schemas/ResourceReference'
example: []
beneficiaries:
type: array
items:
$ref: '#/components/schemas/ResourceReference'
example: []
BenefitPlan:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
name:
type: string
example: Example Title
benefitPlanType:
type: string
description: >-
The type of benefit plan (e.g., Medical, Dental, Vision,
Life Insurance, 401k).
example: example_value
carrier:
$ref: '#/components/schemas/ResourceReference'
isActive:
type: boolean
example: true
Dependent:
type: object
properties:
id:
type: string
example: abc123
descriptor:
type: string
example: example_value
fullName:
type: string
example: example_value
relationship:
$ref: '#/components/schemas/ResourceReference'
dateOfBirth:
type: string
format: date
example: '2026-01-15'
gender:
$ref: '#/components/schemas/ResourceReference'
BenefitChangeRequest:
type: object
properties:
benefitEventType:
$ref: '#/components/schemas/ResourceReference'
eventDate:
type: string
format: date
example: '2026-01-15'
reason:
$ref: '#/components/schemas/ResourceReference'
required:
- benefitEventType
- eventDate
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: Benefit Elections
description: Endpoints for managing benefit elections.
- name: Benefit Plans
description: Endpoints for managing benefit plans.
- name: Dependents
description: Endpoints for managing worker dependents.