Workday Payroll Results API

API for retrieving payroll calculation results, payment details, and historical payroll data.

Documentation

Specifications

Examples

📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-pay-period-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-pay-run-result-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-payment-collection-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-payment-election-collection-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-payment-election-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-payment-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-payslip-collection-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-payslip-deduction-line-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-payslip-earning-line-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-payslip-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-payslip-tax-line-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-worker-ref-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-worker-result-collection-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/payroll-results-worker-result-example.json
📝
Example
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/examples/workday-payroll-get-worker-payslip-example.json

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-pay-period-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-pay-run-result-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-payment-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-payment-election-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-payment-election-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-payment-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-payslip-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-payslip-deduction-line-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-payslip-earning-line-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-payslip-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-payslip-tax-line-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-worker-ref-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-worker-result-collection-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-schema/payroll-results-worker-result-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-pay-period-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-pay-run-result-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-payment-collection-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-payment-election-collection-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-payment-election-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-payment-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-payslip-collection-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-payslip-deduction-line-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-payslip-earning-line-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-payslip-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-payslip-tax-line-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-worker-ref-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-worker-result-collection-structure.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/workday-payroll/refs/heads/main/json-structure/payroll-results-worker-result-structure.json

Other Resources

OpenAPI Specification

workday-payroll-payroll-results-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Workday Payroll Results API
  description: >-
    API for retrieving payroll calculation results, payment details, payslip
    data, and historical payroll information within the Workday platform.
  version: v1
  contact:
    name: Workday Support
    url: https://www.workday.com/en-us/company/customer-support.html
    email: [email protected]
  termsOfService: https://www.workday.com/en-us/legal.html
externalDocs:
  description: Workday Payroll Results API Documentation
  url: https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html
servers:
- url: https://api.workday.com/payroll-results/v1
  description: Workday Payroll Results Production
- url: https://{tenant}.workday.com/api/payroll-results/v1
  description: Workday Payroll Results Tenant-Specific
  variables:
    tenant:
      description: Workday tenant identifier
      default: your-tenant
tags:
- name: Payment Elections
  description: Manage worker payment election and distribution details
- name: Payment Results
  description: Retrieve payment processing results and details
- name: Payroll Summaries
  description: Access aggregated payroll result summaries
- name: Payslips
  description: Access worker payslip and pay statement data
security:
- bearerAuth: []
paths:
  /workers/{workerId}/payslips:
    get:
      operationId: listWorkerPayslips
      summary: Workday Payroll List Worker Payslips
      description: >-
        Retrieve all payslips for a specific worker, with optional filtering
        by date range or pay period.
      tags:
      - Payslips
      parameters:
      - $ref: '#/components/parameters/workerId'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      - name: fromDate
        in: query
        description: Filter payslips from this date
        schema:
          type: string
          format: date
        example: '2026-04-30'
      - name: toDate
        in: query
        description: Filter payslips up to this date
        schema:
          type: string
          format: date
        example: '2026-04-30'
      responses:
        '200':
          description: Collection of payslips
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayslipCollection'
              examples:
                ListWorkerPayslips200Example:
                  summary: Default listWorkerPayslips 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - id: ps_w100542_20260430
                      worker:
                        id: w_100542
                        descriptor: Weekly USD Pay Group
                      payPeriod:
                        startDate: '2026-04-30'
                        endDate: '2026-04-30'
                      paymentDate: '2026-04-30'
                      grossPay: 1.0
                      netPay: 1.0
                      totalEarnings: 5240.0
                      totalDeductions: 38210.8
                      totalTaxes: 29167.4
                      currency: USD
                      earnings:
                      - earningCode: REGULAR
                        currentAmount: 2840.0
                        currentHours: 40.0
                        rate: 32.5
                        yearToDateAmount: 8742.5
                      deductions:
                      - deductionCode: MEDICAL_PRETAX
                        employeeAmount: 287.5
                        employerAmount: 287.5
                        preTax: true
                        yearToDateEmployee: 8742.5
                        yearToDateEmployer: 8742.5
                      taxes:
                      - taxAuthority: Internal Revenue Service
                        taxType: FederalIncome
                        currentAmount: 2840.0
                        yearToDateAmount: 8742.5
                      yearToDateGross: 42850.0
                      yearToDateNet: 31420.65
                      yearToDateTaxes: 8742.5
                    total: 52
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workers/{workerId}/payslips/{payslipId}:
    get:
      operationId: getWorkerPayslip
      summary: Workday Payroll Get a Worker Payslip
      description: >-
        Retrieve detailed payslip information for a specific pay period,
        including earnings, deductions, taxes, and net pay.
      tags:
      - Payslips
      parameters:
      - $ref: '#/components/parameters/workerId'
      - $ref: '#/components/parameters/payslipId'
      responses:
        '200':
          description: Payslip details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payslip'
              examples:
                GetWorkerPayslip200Example:
                  summary: Default getWorkerPayslip 200 response
                  x-microcks-default: true
                  value:
                    id: ps_w100542_20260430
                    worker:
                      id: w_100542
                      descriptor: Weekly USD Pay Group
                    payPeriod:
                      startDate: '2026-04-30'
                      endDate: '2026-04-30'
                    paymentDate: '2026-04-30'
                    grossPay: 1.0
                    netPay: 1.0
                    totalEarnings: 5240.0
                    totalDeductions: 38210.8
                    totalTaxes: 29167.4
                    currency: USD
                    earnings:
                    - earningCode: REGULAR
                      currentAmount: 2840.0
                      currentHours: 40.0
                      rate: 32.5
                      yearToDateAmount: 8742.5
                    deductions:
                    - deductionCode: MEDICAL_PRETAX
                      employeeAmount: 287.5
                      employerAmount: 287.5
                      preTax: true
                      yearToDateEmployee: 8742.5
                      yearToDateEmployer: 8742.5
                    taxes:
                    - taxAuthority: Internal Revenue Service
                      taxType: FederalIncome
                      currentAmount: 2840.0
                      yearToDateAmount: 8742.5
                    yearToDateGross: 42850.0
                    yearToDateNet: 31420.65
                    yearToDateTaxes: 8742.5
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /payRuns/{payRunId}/results:
    get:
      operationId: getPayRunResults
      summary: Workday Payroll Get Pay Run Results
      description: >-
        Retrieve aggregated results for a completed pay run, including
        totals for earnings, deductions, taxes, and payments.
      tags:
      - Payroll Summaries
      parameters:
      - $ref: '#/components/parameters/payRunId'
      responses:
        '200':
          description: Pay run results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayRunResult'
              examples:
                GetPayRunResults200Example:
                  summary: Default getPayRunResults 200 response
                  x-microcks-default: true
                  value:
                    payRunId: pr_20260430_weekly_001
                    payPeriod:
                      startDate: '2026-04-30'
                      endDate: '2026-04-30'
                    paymentDate: '2026-04-30'
                    totalGrossPay: 245830.5
                    totalNetPay: 178452.3
                    totalDeductions: 38210.8
                    totalEmployerTaxes: 14583.7
                    totalEmployeeTaxes: 14583.7
                    workerCount: 87
                    currency: USD
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /payRuns/{payRunId}/results/workers:
    get:
      operationId: listPayRunWorkerResults
      summary: Workday Payroll List Worker-level Results for a Pay Run
      description: >-
        Retrieve individual worker results for a completed pay run,
        including each worker's gross pay, deductions, taxes, and net pay.
      tags:
      - Payroll Summaries
      parameters:
      - $ref: '#/components/parameters/payRunId'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          description: Collection of worker results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkerResultCollection'
              examples:
                ListPayRunWorkerResults200Example:
                  summary: Default listPayRunWorkerResults 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - worker:
                        id: w_100542
                        descriptor: Weekly USD Pay Group
                      grossPay: 1.0
                      netPay: 1.0
                      totalEarnings: 5240.0
                      totalDeductions: 38210.8
                      totalTaxes: 29167.4
                      currency: USD
                      paymentMethod: DirectDeposit
                    total: 52
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /payRuns/{payRunId}/results/workers/{workerId}:
    get:
      operationId: getPayRunWorkerResult
      summary: Workday Payroll Get a Worker Result for a Pay Run
      description: >-
        Retrieve detailed results for a specific worker within a completed
        pay run.
      tags:
      - Payroll Summaries
      parameters:
      - $ref: '#/components/parameters/payRunId'
      - $ref: '#/components/parameters/workerId'
      responses:
        '200':
          description: Worker result details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkerResult'
              examples:
                GetPayRunWorkerResult200Example:
                  summary: Default getPayRunWorkerResult 200 response
                  x-microcks-default: true
                  value:
                    worker:
                      id: w_100542
                      descriptor: Weekly USD Pay Group
                    grossPay: 1.0
                    netPay: 1.0
                    totalEarnings: 5240.0
                    totalDeductions: 38210.8
                    totalTaxes: 29167.4
                    currency: USD
                    paymentMethod: DirectDeposit
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /payRuns/{payRunId}/payments:
    get:
      operationId: listPayRunPayments
      summary: Workday Payroll List Payments for a Pay Run
      description: >-
        Retrieve all payment transactions generated by a completed pay run,
        including direct deposits and check payments.
      tags:
      - Payment Results
      parameters:
      - $ref: '#/components/parameters/payRunId'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/offset'
      responses:
        '200':
          description: Collection of payments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentCollection'
              examples:
                ListPayRunPayments200Example:
                  summary: Default listPayRunPayments 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - id: pmt_20260502_00045
                      worker:
                        id: w_100542
                        descriptor: Weekly USD Pay Group
                      payRunId: pr_20260430_weekly_001
                      paymentMethod: DirectDeposit
                      amount: 2500.0
                      currency: USD
                      paymentDate: '2026-04-30'
                      settlementDate: '2026-04-30'
                      status: Pending
                      bankAccount:
                        lastFourDigits: '4521'
                        bankName: Wells Fargo
                        accountType: Checking
                      checkNumber: '100482'
                    total: 52
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /payments/{paymentId}:
    get:
      operationId: getPayment
      summary: Workday Payroll Get a Payment
      description: >-
        Retrieve details of a specific payment transaction, including
        payment method, amount, and settlement status.
      tags:
      - Payment Results
      parameters:
      - $ref: '#/components/parameters/paymentId'
      responses:
        '200':
          description: Payment details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Payment'
              examples:
                GetPayment200Example:
                  summary: Default getPayment 200 response
                  x-microcks-default: true
                  value:
                    id: pmt_20260502_00045
                    worker:
                      id: w_100542
                      descriptor: Weekly USD Pay Group
                    payRunId: pr_20260430_weekly_001
                    paymentMethod: DirectDeposit
                    amount: 2500.0
                    currency: USD
                    paymentDate: '2026-04-30'
                    settlementDate: '2026-04-30'
                    status: Pending
                    bankAccount:
                      lastFourDigits: '4521'
                      bankName: Wells Fargo
                      accountType: Checking
                    checkNumber: '100482'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /workers/{workerId}/paymentElections:
    get:
      operationId: listWorkerPaymentElections
      summary: Workday Payroll List Worker Payment Elections
      description: >-
        Retrieve payment election details for a worker, including direct
        deposit accounts, distribution amounts, and payment preferences.
      tags:
      - Payment Elections
      parameters:
      - $ref: '#/components/parameters/workerId'
      responses:
        '200':
          description: Collection of payment elections
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentElectionCollection'
              examples:
                ListWorkerPaymentElections200Example:
                  summary: Default listWorkerPaymentElections 200 response
                  x-microcks-default: true
                  value:
                    data:
                    - id: pe_w100542_primary
                      order: 1
                      distributionType: Amount
                      amount: 2500.0
                      percentage: 100.0
                      accountType: Checking
                      bankName: Wells Fargo
                      lastFourDigits: '4521'
                      currency: USD
                      active: true
                    total: 52
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        OAuth 2.0 bearer token obtained through Workday authentication.
  parameters:
    workerId:
      name: workerId
      in: path
      required: true
      description: Unique identifier for the worker
      schema:
        type: string
      example: w_100542
    payslipId:
      name: payslipId
      in: path
      required: true
      description: Unique identifier for the payslip
      schema:
        type: string
      example: ps_w100542_20260430
    payRunId:
      name: payRunId
      in: path
      required: true
      description: Unique identifier for the pay run
      schema:
        type: string
      example: pr_20260430_weekly_001
    paymentId:
      name: paymentId
      in: path
      required: true
      description: Unique identifier for the payment
      schema:
        type: string
      example: pmt_20260502_00045
    limit:
      name: limit
      in: query
      description: Maximum number of results to return
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
      example: 20
    offset:
      name: offset
      in: query
      description: Number of results to skip for pagination
      schema:
        type: integer
        minimum: 0
        default: 0
      example: 0
  responses:
    Unauthorized:
      description: Authentication required or token expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            UnauthorizedExample:
              summary: Default Unauthorized response
              x-microcks-default: true
              value:
                error: INVALID_REQUEST
                message: Validation failed for the provided fields.
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            NotFoundExample:
              summary: Default NotFound response
              x-microcks-default: true
              value:
                error: INVALID_REQUEST
                message: Validation failed for the provided fields.
  schemas:
    Payslip:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the payslip
          example: ps_w100542_20260430
        worker:
          $ref: '#/components/schemas/WorkerRef'
        payPeriod:
          $ref: '#/components/schemas/PayPeriod'
        paymentDate:
          type: string
          format: date
          description: Date of payment
          example: '2026-04-30'
        grossPay:
          type: number
          format: double
          description: Total gross pay
          example: 1.0
        netPay:
          type: number
          format: double
          description: Total net pay
          example: 1.0
        totalEarnings:
          type: number
          format: double
          description: Sum of all earnings
          example: 5240.0
        totalDeductions:
          type: number
          format: double
          description: Sum of all deductions
          example: 38210.8
        totalTaxes:
          type: number
          format: double
          description: Sum of all tax withholdings
          example: 29167.4
        currency:
          type: string
          description: ISO 4217 currency code
          example: USD
        earnings:
          type: array
          items:
            $ref: '#/components/schemas/PayslipEarningLine'
          description: Itemized earnings
        deductions:
          type: array
          items:
            $ref: '#/components/schemas/PayslipDeductionLine'
          description: Itemized deductions
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/PayslipTaxLine'
          description: Itemized tax withholdings
        yearToDateGross:
          type: number
          format: double
          description: Year-to-date gross pay
          example: 42850.0
        yearToDateNet:
          type: number
          format: double
          description: Year-to-date net pay
          example: 31420.65
        yearToDateTaxes:
          type: number
          format: double
          description: Year-to-date tax withholdings
          example: 8742.5
    PayslipCollection:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Payslip'
        total:
          type: integer
          description: Total number of payslips
          example: 52
    PayslipEarningLine:
      type: object
      properties:
        earningCode:
          type: string
          description: Earning code descriptor
          example: REGULAR
        currentAmount:
          type: number
          format: double
          description: Current period amount
          example: 2840.0
        currentHours:
          type: number
          format: double
          description: Current period hours
          example: 40.0
        rate:
          type: number
          format: double
          description: Pay rate
          example: 32.5
        yearToDateAmount:
          type: number
          format: double
          description: Year-to-date amount for this earning
          example: 8742.5
    PayslipDeductionLine:
      type: object
      properties:
        deductionCode:
          type: string
          description: Deduction code descriptor
          example: MEDICAL_PRETAX
        employeeAmount:
          type: number
          format: double
          description: Employee contribution amount
          example: 287.5
        employerAmount:
          type: number
          format: double
          description: Employer contribution amount
          example: 287.5
        preTax:
          type: boolean
          description: Whether this deduction is pre-tax
          example: true
        yearToDateEmployee:
          type: number
          format: double
          description: Year-to-date employee amount
          example: 8742.5
        yearToDateEmployer:
          type: number
          format: double
          description: Year-to-date employer amount
          example: 8742.5
    PayslipTaxLine:
      type: object
      properties:
        taxAuthority:
          type: string
          description: Tax authority name
          example: Internal Revenue Service
        taxType:
          type: string
          description: Type of tax
          example: FederalIncome
        currentAmount:
          type: number
          format: double
          description: Current period tax amount
          example: 2840.0
        yearToDateAmount:
          type: number
          format: double
          description: Year-to-date tax amount
          example: 8742.5
    PayRunResult:
      type: object
      properties:
        payRunId:
          type: string
          description: Associated pay run identifier
          example: pr_20260430_weekly_001
        payPeriod:
          $ref: '#/components/schemas/PayPeriod'
        paymentDate:
          type: string
          format: date
          description: Payment date
          example: '2026-04-30'
        totalGrossPay:
          type: number
          format: double
          description: Aggregate gross pay
          example: 245830.5
        totalNetPay:
          type: number
          format: double
          description: Aggregate net pay
          example: 178452.3
        totalDeductions:
          type: number
          format: double
          description: Aggregate deductions
          example: 38210.8
        totalEmployerTaxes:
          type: number
          format: double
          description: Total employer tax obligations
          example: 14583.7
        totalEmployeeTaxes:
          type: number
          format: double
          description: Total employee tax withholdings
          example: 14583.7
        workerCount:
          type: integer
          description: Number of workers processed
          example: 87
        currency:
          type: string
          description: ISO 4217 currency code
          example: USD
    WorkerResult:
      type: object
      properties:
        worker:
          $ref: '#/components/schemas/WorkerRef'
        grossPay:
          type: number
          format: double
          description: Worker gross pay for this run
          example: 1.0
        netPay:
          type: number
          format: double
          description: Worker net pay for this run
          example: 1.0
        totalEarnings:
          type: number
          format: double
          description: Total earnings
          example: 5240.0
        totalDeductions:
          type: number
          format: double
          description: Total deductions
          example: 38210.8
        totalTaxes:
          type: number
          format: double
          description: Total taxes withheld
          example: 29167.4
        currency:
          type: string
          description: ISO 4217 currency code
          example: USD
        paymentMethod:
          type: string
          enum:
          - DirectDeposit
          - Check
          - Wire
          description: Method of payment
          example: DirectDeposit
    WorkerResultCollection:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WorkerResult'
        total:
          type: integer
          description: Total number of worker results
          example: 52
    Payment:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the payment
          example: pmt_20260502_00045
        worker:
          $ref: '#/components/schemas/WorkerRef'
        payRunId:
          type: string
          description: Associated pay run identifier
          example: pr_20260430_weekly_001
        paymentMethod:
          type: string
          enum:
          - DirectDeposit
          - Check
          - Wire
          description: Method of payment
          example: DirectDeposit
        amount:
          type: number
          format: double
          description: Payment amount
          example: 2500.0
        currency:
          type: string
          description: ISO 4217 currency code
          example: USD
        paymentDate:
          type: string
          format: date
          description: Date payment was issued
          example: '2026-04-30'
        settlementDate:
          type: string
          format: date
          description: Date payment was settled
          example: '2026-04-30'
        status:
          type: string
          enum:
          - Pending
          - Processed
          - Settled
          - Failed
          - Voided
          description: Current payment status
          example: Pending
        bankAccount:
          type: object
          properties:
            lastFourDigits:
              type: string
              description: Last four digits of the account number
              example: '4521'
            bankName:
              type: string
              description: Name of the financial institution
              example: Wells Fargo
            accountType:
              type: string
              enum:
              - Checking
              - Savings
              description: Type of bank account
              example: Checking
          description: Bank account details (masked)
        checkNumber:
          type: string
          description: Check number if payment method is check
          example: '100482'
    PaymentCollection:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Payment'
        total:
          type: integer
          description: Total number of payments
          example: 52
    PaymentElection:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the payment election
          example: pe_w100542_primary
        order:
          type: integer
          description: Priority order of the election
          example: 1
        distributionType:
          type: string
          enum:
          - Amount
          - Percentage
          - Remainder
          description: How payment is distributed
          example: Amount
        amount:
          type: number
          format: double
          description: Fixed amount (when distributionType is Amount)
          example: 2500.0
        percentage:
          type: number
          format: double
          description: Percentage of net pay (when distributionType is Percentage)
          example: 100.0
        accountType:
          type: string
          enum:
          - Checking
          - Savings
          description: Bank account type
          example: Checking
        bankName:
          type: string
          description: Financial institution name
          example: Wells Fargo
        lastFourDigits:
          type: string
          description: Last four digits of account number
          example: '4521'
        currency:
          type: string
          description: ISO 4217 currency code
          example: USD
        active:
          type: boolean
          description: Whether this election is currently active
          example: true
    PaymentElectionCollection:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PaymentElection'
        total:
          type: integer
          description: Total number of payment elections
          example: 52
    WorkerRef:
      type: object
      properties:
        id:
          type: string
          description: Worker identifier
          example: w_100542
        descriptor:
          type: string
          description: Worker display name
          example: Weekly USD Pay Group
    PayPeriod:
      type: object
      properties:
        startDate:
          type: string
          format: date
          description: Start date of the pay period
          example: '2026-04-30'
        endDate:
          type: string
          format: date
          description: End date of the pay period
          example: '2026-04-30'
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error code
          example: INVALID_REQUEST
        message:
          type: string
          description: Human-readable error message
          example: Validation failed for the provided fields.