openapi: 3.0.3 info: title: Workday Absence Management Accruals Labor Demand API description: Track employee attendance, absences, leave requests, and time off balances in the Workday platform. Supports entering time off, requesting leave of absence, managing accrual balances, and processing return-from-leave events. version: v1 contact: name: Workday Developer Support url: https://developer.workday.com x-generated-from: documentation x-last-validated: '2026-05-03' servers: - url: https://{tenant}.workday.com/api/absence-management/v1 description: Workday tenant-specific Absence Management REST API variables: tenant: default: your-tenant description: Your Workday tenant identifier security: - BearerAuth: [] tags: - name: Labor Demand description: Operations for managing labor demand data paths: /laborDemand: get: operationId: listLaborDemand summary: List Labor Demand description: Returns labor demand instances for scheduling planning. tags: - Labor Demand parameters: - name: organizationId in: query required: false description: Filter by scheduling organization ID schema: type: string - name: startDate in: query required: false description: Start date for labor demand retrieval schema: type: string format: date - name: endDate in: query required: false description: End date for labor demand retrieval schema: type: string format: date responses: '200': description: Labor demand retrieved successfully content: application/json: schema: $ref: '#/components/schemas/LaborDemandResponse' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createLaborDemand summary: Create Labor Demand description: Creates a new labor demand entry for workforce planning. tags: - Labor Demand requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LaborDemandInput' responses: '201': description: Labor demand created successfully content: application/json: schema: $ref: '#/components/schemas/LaborDemand' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' components: schemas: LaborDemandResponse: type: object properties: total: type: integer data: type: array items: $ref: '#/components/schemas/LaborDemand' ErrorResponse: type: object properties: error: type: string message: type: string details: type: array items: type: object properties: field: type: string message: type: string LaborDemandInput: type: object description: Input for creating a labor demand entry properties: organizationId: type: string description: Scheduling organization ID date: type: string format: date description: Date for the demand hour: type: integer description: Hour of the day (0-23) minimum: 0 maximum: 23 requiredHeadcount: type: integer description: Number of workers required jobProfileId: type: string description: Job profile ID (optional) required: - organizationId - date - requiredHeadcount LaborDemand: type: object description: A labor demand entry for workforce planning properties: id: type: string description: Unique ID of the labor demand entry organizationId: type: string description: Scheduling organization ID date: type: string format: date description: Date for the labor demand hour: type: integer description: Hour of the day (0-23) for the demand minimum: 0 maximum: 23 requiredHeadcount: type: integer description: Number of workers required example: 5 jobProfileId: type: string description: Job profile/role required notes: type: string description: Optional notes responses: Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: Bad request - invalid input content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: OAuth 2.0 Bearer token authentication