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: support@workday.com 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.