Workday Benefits Benefit Enrollments API

Manage employee benefit enrollments and elections

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-schema/workday-benefits-benefit-plan-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-schema/workday-benefits-benefit-enrollment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-schema/workday-benefits-benefit-enrollment-request-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-schema/workday-benefits-dependent-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-schema/workday-benefits-benefit-event-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-schema/workday-benefits-time-off-plan-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-schema/workday-benefits-employee-benefits-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-structure/workday-benefits-benefit-plan-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-structure/workday-benefits-benefit-enrollment-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-structure/workday-benefits-benefit-enrollment-request-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-structure/workday-benefits-dependent-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-structure/workday-benefits-benefit-event-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-structure/workday-benefits-time-off-plan-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-benefits/refs/heads/main/json-structure/workday-benefits-employee-benefits-structure.json

Other Resources

OpenAPI Specification

workday-benefits-benefit-enrollments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Workday Benefits Benefit Enrollments API
  description: The Workday Benefits API provides RESTful access to employee benefits management capabilities including health insurance enrollments, retirement plans, life insurance, dependent management, time off policies, and benefits administration. The API enables organizations to programmatically manage employee benefit programs, process enrollments, and integrate benefits data with other systems.
  version: v40.2
  contact:
    name: Workday Developer Support
    url: https://community.workday.com/
  x-generated-from: documentation
servers:
- url: https://{tenant}.workday.com/api/benefits/v1
  description: Workday tenant REST API endpoint
  variables:
    tenant:
      default: wd2-impl-services1
      description: Your Workday tenant hostname
security:
- oauth2: []
tags:
- name: Benefit Enrollments
  description: Manage employee benefit enrollments and elections
paths:
  /benefitEnrollments:
    get:
      operationId: listBenefitEnrollments
      summary: Workday List Benefit Enrollments
      description: Retrieves a collection of employee benefit enrollments and elections.
      tags:
      - Benefit Enrollments
      parameters:
      - name: limit
        in: query
        description: Maximum number of records to return
        schema:
          type: integer
          default: 100
        example: 100
      - name: offset
        in: query
        description: Number of records to skip
        schema:
          type: integer
          default: 0
        example: 0
      - name: employeeId
        in: query
        description: Filter enrollments by employee ID
        schema:
          type: string
        example: EMP-12345
      - name: planId
        in: query
        description: Filter enrollments by benefit plan ID
        schema:
          type: string
        example: BP-HEALTH-001
      responses:
        '200':
          description: A list of benefit enrollments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenefitEnrollmentsResponse'
              examples:
                ListBenefitEnrollments200Example:
                  summary: Default listBenefitEnrollments 200 response
                  x-microcks-default: true
                  value:
                    total: 250
                    data:
                    - id: ENR-001
                      employeeId: EMP-12345
                      planId: BP-HEALTH-001
                      coverageLevel: EMPLOYEE_PLUS_FAMILY
                      effectiveDate: '2026-01-01'
                      status: ACTIVE
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createBenefitEnrollment
      summary: Workday Create Benefit Enrollment
      description: Creates a new employee benefit enrollment election.
      tags:
      - Benefit Enrollments
      requestBody:
        description: Benefit enrollment details
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BenefitEnrollmentRequest'
            examples:
              CreateBenefitEnrollmentExample:
                summary: Create benefit enrollment request
                x-microcks-default: true
                value:
                  employeeId: EMP-12345
                  planId: BP-HEALTH-001
                  coverageLevel: EMPLOYEE_PLUS_FAMILY
                  effectiveDate: '2026-01-01'
                  dependentIds:
                  - DEP-001
                  - DEP-002
      responses:
        '201':
          description: Benefit enrollment created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenefitEnrollment'
              examples:
                CreateBenefitEnrollment201Example:
                  summary: Default createBenefitEnrollment 201 response
                  x-microcks-default: true
                  value:
                    id: ENR-002
                    employeeId: EMP-12345
                    planId: BP-HEALTH-001
                    coverageLevel: EMPLOYEE_PLUS_FAMILY
                    effectiveDate: '2026-01-01'
                    status: PENDING
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /benefitEnrollments/{enrollmentId}:
    get:
      operationId: getBenefitEnrollment
      summary: Workday Get Benefit Enrollment
      description: Retrieves a specific benefit enrollment by ID.
      tags:
      - Benefit Enrollments
      parameters:
      - name: enrollmentId
        in: path
        required: true
        description: Benefit enrollment identifier
        schema:
          type: string
        example: ENR-001
      responses:
        '200':
          description: A benefit enrollment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BenefitEnrollment'
              examples:
                GetBenefitEnrollment200Example:
                  summary: Default getBenefitEnrollment 200 response
                  x-microcks-default: true
                  value:
                    id: ENR-001
                    employeeId: EMP-12345
                    planId: BP-HEALTH-001
                    coverageLevel: EMPLOYEE_PLUS_FAMILY
                    effectiveDate: '2026-01-01'
                    status: ACTIVE
                    employeePremium: 150.0
                    currency: USD
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: URI_PARTS
        dispatcherRules: enrollmentId
components:
  schemas:
    BenefitEnrollmentRequest:
      title: Benefit Enrollment Request
      description: Request to create or update a benefit enrollment
      type: object
      properties:
        employeeId:
          type: string
          description: Employee identifier
        planId:
          type: string
          description: Benefit plan identifier
        coverageLevel:
          type: string
          enum:
          - EMPLOYEE_ONLY
          - EMPLOYEE_PLUS_SPOUSE
          - EMPLOYEE_PLUS_CHILDREN
          - EMPLOYEE_PLUS_FAMILY
          description: Desired coverage level
        effectiveDate:
          type: string
          format: date
          description: Enrollment effective date
        dependentIds:
          type: array
          items:
            type: string
          description: List of dependent IDs to enroll
        waiveReason:
          type: string
          description: Reason for waiving coverage (if applicable)
      required:
      - employeeId
      - planId
      - coverageLevel
      - effectiveDate
    BenefitEnrollment:
      title: Benefit Enrollment
      description: An employee benefit enrollment election
      type: object
      properties:
        id:
          type: string
          description: Unique enrollment identifier
        employeeId:
          type: string
          description: Employee identifier
        planId:
          type: string
          description: Benefit plan identifier
        coverageLevel:
          type: string
          enum:
          - EMPLOYEE_ONLY
          - EMPLOYEE_PLUS_SPOUSE
          - EMPLOYEE_PLUS_CHILDREN
          - EMPLOYEE_PLUS_FAMILY
          description: Coverage level selected
        effectiveDate:
          type: string
          format: date
          description: Enrollment effective date
        endDate:
          type: string
          format: date
          description: Enrollment end date
        status:
          type: string
          enum:
          - ACTIVE
          - PENDING
          - CANCELLED
          - WAIVED
          description: Enrollment status
        employeePremium:
          type: number
          description: Employee monthly premium amount
        currency:
          type: string
          description: Currency code
        dependentIds:
          type: array
          items:
            type: string
          description: List of enrolled dependent IDs
      required:
      - id
      - employeeId
      - planId
      - coverageLevel
      - effectiveDate
      - status
    BenefitEnrollmentsResponse:
      title: Benefit Enrollments Response
      description: Paginated response containing a list of benefit enrollments
      type: object
      properties:
        total:
          type: integer
          description: Total number of enrollments
        data:
          type: array
          items:
            $ref: '#/components/schemas/BenefitEnrollment'
      required:
      - total
      - data
    ErrorResponse:
      title: Error Response
      description: Standard error response
      type: object
      properties:
        error:
          type: string
          description: Error code
        message:
          type: string
          description: Human-readable error message
        details:
          type: array
          items:
            type: string
          description: Additional error details
      required:
      - error
      - message
  responses:
    Unauthorized:
      description: Authentication credentials are missing or invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: UNAUTHORIZED
            message: Valid authentication credentials are required
    BadRequest:
      description: Invalid request parameters or body
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: BAD_REQUEST
            message: Invalid request body
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: NOT_FOUND
            message: The requested resource does not exist
    Forbidden:
      description: Insufficient permissions to access the resource
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error: FORBIDDEN
            message: You do not have permission to perform this action
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://{tenant}.workday.com/ccx/oauth2/{tenant}/token
          scopes:
            benefits: Access to Workday Benefits API