openapi: 3.1.0 info: title: Workday Payroll API description: >- Payroll API for managing pay groups, pay group details, tax rates, payroll inputs, and pay components. 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/payroll/v1/{tenant} description: Workday REST API Server variables: tenant: default: tenant_name description: The Workday tenant identifier security: - OAuth2: - r_payroll - w_payroll paths: /payGroups: get: operationId: getPayGroups summary: Get Pay Groups description: Returns a collection of pay groups. tags: - Pay Groups parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response containing pay groups. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/PayGroup' total: type: integer examples: Getpaygroups200Example: summary: Default getPayGroups 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value name: Example Title isActive: true total: 10 '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /payGroups/{ID}: get: operationId: getPayGroupById summary: Get Pay Group by Id description: Returns details for a specific pay group. tags: - Pay Groups parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response containing pay group details. content: application/json: schema: $ref: '#/components/schemas/PayGroup' examples: Getpaygroupbyid200Example: summary: Default getPayGroupById 200 response x-microcks-default: true value: id: abc123 descriptor: example_value name: Example Title country: id: abc123 descriptor: example_value href: https://www.example.com payFrequency: id: abc123 descriptor: example_value href: https://www.example.com currency: id: abc123 descriptor: example_value href: https://www.example.com isActive: true '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /payGroups/{ID}/payGroupDetails: get: operationId: getPayGroupDetails summary: Get Pay Group Details description: Returns detailed information for a pay group including pay periods. tags: - Pay Groups parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response containing pay group details. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/PayGroupDetail' total: type: integer examples: Getpaygroupdetails200Example: summary: Default getPayGroupDetails 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value payPeriodStartDate: '2026-01-15' payPeriodEndDate: '2026-01-15' payDate: '2026-01-15' payRunStatus: example_value total: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /workers/{ID}/payrollInputs: get: operationId: getPayrollInputs summary: Get Payroll Inputs description: Returns payroll inputs for a worker. tags: - Payroll Inputs parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response containing payroll inputs. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/PayrollInput' total: type: integer examples: Getpayrollinputs200Example: summary: Default getPayrollInputs 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value inputType: example_value amount: 42.5 startDate: '2026-01-15' endDate: '2026-01-15' comment: example_value total: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /workers/{ID}/paySlips: get: operationId: getPaySlips summary: Get Pay Slips description: Returns pay slips for a worker. tags: - Pay Slips parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response containing pay slips. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/PaySlip' total: type: integer examples: Getpayslips200Example: summary: Default getPaySlips 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value payPeriodStartDate: '2026-01-15' payPeriodEndDate: '2026-01-15' payDate: '2026-01-15' grossPay: 42.5 netPay: 42.5 totalDeductions: 42.5 totalTaxes: 42.5 total: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' 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_payroll: Read payroll data w_payroll: Write payroll data parameters: ID: name: ID in: path required: true description: The Workday ID of the resource. 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: PayGroup: type: object properties: id: type: string example: abc123 descriptor: type: string example: example_value name: type: string example: Example Title country: $ref: '#/components/schemas/ResourceReference' payFrequency: $ref: '#/components/schemas/ResourceReference' currency: $ref: '#/components/schemas/ResourceReference' isActive: type: boolean example: true PayGroupDetail: type: object properties: id: type: string example: abc123 descriptor: type: string example: example_value payPeriodStartDate: type: string format: date example: '2026-01-15' payPeriodEndDate: type: string format: date example: '2026-01-15' payDate: type: string format: date example: '2026-01-15' payRunStatus: type: string example: example_value PayrollInput: type: object properties: id: type: string example: abc123 descriptor: type: string example: example_value inputType: type: string example: example_value payComponent: $ref: '#/components/schemas/ResourceReference' amount: type: number format: double example: 42.5 currency: $ref: '#/components/schemas/ResourceReference' startDate: type: string format: date example: '2026-01-15' endDate: type: string format: date example: '2026-01-15' comment: type: string example: example_value PaySlip: type: object properties: id: type: string example: abc123 descriptor: type: string example: example_value payPeriodStartDate: type: string format: date example: '2026-01-15' payPeriodEndDate: type: string format: date example: '2026-01-15' payDate: type: string format: date example: '2026-01-15' grossPay: type: number format: double example: 42.5 netPay: type: number format: double example: 42.5 totalDeductions: type: number format: double example: 42.5 totalTaxes: type: number format: double example: 42.5 currency: $ref: '#/components/schemas/ResourceReference' payGroup: $ref: '#/components/schemas/ResourceReference' 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: 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: Pay Groups description: Endpoints for managing pay groups and pay periods. - name: Payroll Inputs description: Endpoints for managing payroll inputs. - name: Pay Slips description: Endpoints for accessing pay slips.