openapi: 3.1.0 info: title: Workday Payroll Input Deductions Earnings API description: API for submitting and managing payroll input data within the Workday platform, including one-time payments, payroll adjustments, supplemental earnings, and batch input submissions. version: v1 contact: name: Workday Support url: https://www.workday.com/en-us/company/customer-support.html email: support@workday.com termsOfService: https://www.workday.com/en-us/legal.html servers: - url: https://api.workday.com/payroll-input/v1 description: Workday Payroll Input Production - url: https://{tenant}.workday.com/api/payroll-input/v1 description: Workday Payroll Input Tenant-Specific variables: tenant: description: Workday tenant identifier default: your-tenant security: - bearerAuth: [] tags: - name: Earnings description: Manage earning codes and worker earnings paths: /workers/{workerId}/earnings: get: operationId: listWorkerEarnings summary: Workday Payroll List Worker Earnings description: Retrieve all earnings records for a specific worker, including regular pay, overtime, bonuses, and other earning types. tags: - Earnings parameters: - $ref: '#/components/parameters/workerId' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Collection of worker earnings content: application/json: schema: $ref: '#/components/schemas/EarningCollection' examples: ListWorkerEarnings200Example: summary: Default listWorkerEarnings 200 response x-microcks-default: true value: data: - id: ern_20260430_00301 earningCode: id: REGULAR descriptor: Weekly USD Pay Group amount: 2500.0 hours: 40.0 rate: 32.5 effectiveDate: '2026-04-30' payPeriod: startDate: '2026-04-30' endDate: '2026-04-30' total: 52 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /earningCodes: get: operationId: listEarningCodes summary: Workday Payroll List Earning Codes description: Retrieve all configured earning codes that define types of compensation such as regular pay, overtime, and bonuses. tags: - Earnings parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Collection of earning codes content: application/json: schema: $ref: '#/components/schemas/EarningCodeCollection' examples: ListEarningCodes200Example: summary: Default listEarningCodes 200 response x-microcks-default: true value: data: - id: REGULAR descriptor: Weekly USD Pay Group type: Regular taxable: true active: true total: 52 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: 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. details: - field: amount 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. details: - field: amount message: Validation failed for the provided fields. schemas: 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' EarningCode: type: object properties: id: type: string description: Unique identifier for the earning code example: REGULAR descriptor: type: string description: Display name of the earning code example: Weekly USD Pay Group type: type: string enum: - Regular - Overtime - Bonus - Commission - Holiday - PTO - Supplemental - Other description: Category of the earning example: Regular taxable: type: boolean description: Whether this earning is subject to taxation example: true active: type: boolean description: Whether the earning code is currently active example: true Earning: type: object properties: id: type: string description: Unique earning record identifier example: ern_20260430_00301 earningCode: $ref: '#/components/schemas/EarningCodeRef' amount: type: number format: double description: Earning amount example: 2500.0 hours: type: number format: double description: Hours worked for this earning example: 40.0 rate: type: number format: double description: Pay rate for this earning example: 32.5 effectiveDate: type: string format: date description: Effective date of the earning example: '2026-04-30' payPeriod: $ref: '#/components/schemas/PayPeriod' EarningCodeRef: type: object properties: id: type: string description: Earning code identifier example: REGULAR descriptor: type: string description: Earning code display name example: Weekly USD Pay Group 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. details: type: array items: type: object properties: field: type: string message: type: string description: Detailed error information EarningCollection: type: object properties: data: type: array items: $ref: '#/components/schemas/Earning' total: type: integer description: Total number of earnings example: 52 EarningCodeCollection: type: object properties: data: type: array items: $ref: '#/components/schemas/EarningCode' total: type: integer description: Total number of earning codes example: 52 parameters: workerId: name: workerId in: path required: true description: Unique identifier for the worker (Workday ID) schema: type: string example: w_100542 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 securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 bearer token obtained through Workday authentication. externalDocs: description: Workday Payroll Input API Documentation url: https://community.workday.com/sites/default/files/file-hosting/productionapi/index.html