openapi: 3.1.0 info: title: Workday Payroll Input Deductions Input Batches 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: Input Batches description: Manage batch submissions of payroll input data paths: /inputBatches: get: operationId: listInputBatches summary: Workday Payroll List Input Batches description: Retrieve all payroll input batch submissions, including their processing status and validation results. tags: - Input Batches parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - name: status in: query description: Filter by batch status schema: type: string enum: - Pending - Validating - Validated - Processing - Completed - Failed example: Pending responses: '200': description: Collection of input batches content: application/json: schema: $ref: '#/components/schemas/InputBatchCollection' examples: ListInputBatches200Example: summary: Default listInputBatches 200 response x-microcks-default: true value: data: - id: ib_20260428_00007 name: April 2026 Bonus Batch status: Pending recordCount: 100 validRecords: 98 failedRecords: 2 submittedOn: '2026-04-30T16:45:00Z' completedOn: '2026-04-30T16:45:00Z' submittedBy: payroll.admin@example.com total: 52 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: operationId: createInputBatch summary: Workday Payroll Create an Input Batch description: Submit a batch of payroll input records for processing, supporting earnings, deductions, and time-off entries in bulk. tags: - Input Batches requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateInputBatchRequest' examples: CreateInputBatchRequestExample: summary: Default createInputBatch request x-microcks-default: true value: name: April 2026 Bonus Batch records: - workerId: w_100542 inputType: Earning earningCode: REGULAR deductionCode: MEDICAL_PRETAX amount: 2500.0 hours: 40.0 effectiveDate: '2026-04-30' responses: '201': description: Input batch created content: application/json: schema: $ref: '#/components/schemas/InputBatch' examples: CreateInputBatch201Example: summary: Default createInputBatch 201 response x-microcks-default: true value: id: ib_20260428_00007 name: April 2026 Bonus Batch status: Pending recordCount: 100 validRecords: 98 failedRecords: 2 submittedOn: '2026-04-30T16:45:00Z' completedOn: '2026-04-30T16:45:00Z' submittedBy: payroll.admin@example.com '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /inputBatches/{batchId}: get: operationId: getInputBatch summary: Workday Payroll Get an Input Batch description: Retrieve details and status of a specific input batch submission. tags: - Input Batches parameters: - $ref: '#/components/parameters/batchId' responses: '200': description: Input batch details content: application/json: schema: $ref: '#/components/schemas/InputBatch' examples: GetInputBatch200Example: summary: Default getInputBatch 200 response x-microcks-default: true value: id: ib_20260428_00007 name: April 2026 Bonus Batch status: Pending recordCount: 100 validRecords: 98 failedRecords: 2 submittedOn: '2026-04-30T16:45:00Z' completedOn: '2026-04-30T16:45:00Z' submittedBy: payroll.admin@example.com '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' 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. BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/Error' examples: BadRequestExample: summary: Default BadRequest 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: InputBatchCollection: type: object properties: data: type: array items: $ref: '#/components/schemas/InputBatch' total: type: integer description: Total number of input batches example: 52 InputRecord: type: object required: - workerId - inputType properties: workerId: type: string description: Worker identifier example: w_100542 inputType: type: string enum: - Earning - Deduction - TimeOff description: Type of input record example: Earning earningCode: type: string description: Earning code (for Earning type) example: REGULAR deductionCode: type: string description: Deduction code (for Deduction type) example: MEDICAL_PRETAX amount: type: number format: double description: Amount example: 2500.0 hours: type: number format: double description: Hours (for time-based entries) example: 40.0 effectiveDate: type: string format: date description: Effective date example: '2026-04-30' InputBatch: type: object properties: id: type: string description: Unique identifier for the input batch example: ib_20260428_00007 name: type: string description: Batch name example: April 2026 Bonus Batch status: type: string enum: - Pending - Validating - Validated - Processing - Completed - Failed description: Current batch status example: Pending recordCount: type: integer description: Number of records in the batch example: 100 validRecords: type: integer description: Number of records that passed validation example: 98 failedRecords: type: integer description: Number of records that failed validation example: 2 submittedOn: type: string format: date-time description: When the batch was submitted example: '2026-04-30T16:45:00Z' completedOn: type: string format: date-time description: When batch processing completed example: '2026-04-30T16:45:00Z' submittedBy: type: string description: User who submitted the batch example: payroll.admin@example.com 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. CreateInputBatchRequest: type: object required: - name - records properties: name: type: string description: Batch name example: April 2026 Bonus Batch records: type: array items: $ref: '#/components/schemas/InputRecord' description: Input records to process parameters: batchId: name: batchId in: path required: true description: Unique identifier for the input batch schema: type: string example: ib_20260428_00007 offset: name: offset in: query description: Number of results to skip for pagination schema: type: integer minimum: 0 default: 0 example: 0 limit: name: limit in: query description: Maximum number of results to return schema: type: integer minimum: 1 maximum: 100 default: 20 example: 20 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