openapi: 3.1.0 info: title: Workday Absence Management API description: >- Absence Management API for managing leave balances, time-off requests, leaves of absence, and eligible absence types for workers. 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/absenceManagement/v1/{tenant} description: Workday REST API Server variables: tenant: default: tenant_name description: The Workday tenant identifier security: - OAuth2: - r_absence - w_absence paths: /workers/{ID}/eligibleAbsenceTypes: get: operationId: getEligibleAbsenceTypes summary: Get Eligible Absence Types description: Returns the absence types a worker is eligible for. tags: - Absence Types parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response containing eligible absence types. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/AbsenceType' total: type: integer examples: Geteligibleabsencetypes200Example: summary: Default getEligibleAbsenceTypes 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value absenceTypeCategory: example_value unit: example_value total: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /workers/{ID}/requestTimeOff: post: operationId: requestTimeOff summary: Request Time Off description: Submits a time-off request for a worker. tags: - Time Off parameters: - $ref: '#/components/parameters/ID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TimeOffRequest' examples: RequesttimeoffRequestExample: summary: Default requestTimeOff request x-microcks-default: true value: days: - date: '2026-01-15' dailyQuantity: 42.5 comment: example_value responses: '201': description: Time-off request created successfully. content: application/json: schema: $ref: '#/components/schemas/TimeOffEntry' examples: Requesttimeoff201Example: summary: Default requestTimeOff 201 response x-microcks-default: true value: id: abc123 descriptor: example_value date: '2026-01-15' dailyQuantity: 42.5 unit: id: abc123 descriptor: example_value href: https://www.example.com timeOffType: id: abc123 descriptor: example_value href: https://www.example.com status: example_value '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /workers/{ID}/timeOffEntries: get: operationId: getTimeOffEntries summary: Get Time Off Entries description: Returns time-off entries for a worker. tags: - Time Off parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - name: fromDate in: query description: Filters entries on or after this date. schema: type: string format: date example: '2026-01-15' - name: toDate in: query description: Filters entries on or before this date. schema: type: string format: date example: '2026-01-15' responses: '200': description: Successful response containing time-off entries. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/TimeOffEntry' total: type: integer examples: Gettimeoffentries200Example: summary: Default getTimeOffEntries 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value date: '2026-01-15' dailyQuantity: 42.5 status: example_value total: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /workers/{ID}/timeOffBalances: get: operationId: getTimeOffBalances summary: Get Time Off Balances description: Returns time-off plan balances for a worker. tags: - Time Off parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response containing time-off balances. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/TimeOffBalance' total: type: integer examples: Gettimeoffbalances200Example: summary: Default getTimeOffBalances 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value balance: 42.5 unit: example_value asOfDate: '2026-01-15' total: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /workers/{ID}/leaveOfAbsences: get: operationId: getLeavesOfAbsence summary: Get Leaves of Absence description: Returns leaves of absence for a worker. tags: - Leave of Absence parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response containing leave of absence records. content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/LeaveOfAbsence' total: type: integer examples: Getleavesofabsence200Example: summary: Default getLeavesOfAbsence 200 response x-microcks-default: true value: data: - id: abc123 descriptor: example_value startDate: '2026-01-15' estimatedEndDate: '2026-01-15' actualEndDate: '2026-01-15' status: example_value lastDayOfWork: '2026-01-15' firstDayOfWork: '2026-01-15' total: 10 '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' x-microcks-operation: delay: 0 dispatcher: FALLBACK /workers/{ID}/requestLeaveOfAbsence: post: operationId: requestLeaveOfAbsence summary: Request Leave of Absence description: Initiates a leave of absence request for a worker. tags: - Leave of Absence parameters: - $ref: '#/components/parameters/ID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/LeaveOfAbsenceRequest' examples: RequestleaveofabsenceRequestExample: summary: Default requestLeaveOfAbsence request x-microcks-default: true value: leaveType: id: abc123 descriptor: example_value href: https://www.example.com firstDayOfLeave: '2026-01-15' estimatedLastDayOfLeave: '2026-01-15' lastDayOfWork: '2026-01-15' firstDayBackAtWork: '2026-01-15' reason: id: abc123 descriptor: example_value href: https://www.example.com comment: example_value responses: '201': description: Leave of absence request created successfully. content: application/json: schema: $ref: '#/components/schemas/LeaveOfAbsence' examples: Requestleaveofabsence201Example: summary: Default requestLeaveOfAbsence 201 response x-microcks-default: true value: id: abc123 descriptor: example_value leaveType: id: abc123 descriptor: example_value href: https://www.example.com startDate: '2026-01-15' estimatedEndDate: '2026-01-15' actualEndDate: '2026-01-15' status: example_value lastDayOfWork: '2026-01-15' firstDayOfWork: '2026-01-15' '400': $ref: '#/components/responses/BadRequest' '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_absence: Read absence data w_absence: Write absence data parameters: ID: name: ID in: path required: true description: The Workday ID of the worker. 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: AbsenceType: type: object properties: id: type: string description: The Workday ID of the absence type. example: abc123 descriptor: type: string description: A display descriptor for the absence type. example: example_value absenceTypeCategory: type: string description: The category of the absence type (e.g., Vacation, Sick). example: example_value unit: type: string description: The unit of measurement (e.g., Hours, Days). example: example_value TimeOffRequest: type: object properties: days: type: array items: type: object properties: date: type: string format: date description: The date for time off. dailyQuantity: type: number format: double description: The quantity of time off for the day. comment: type: string description: A comment for the time-off day. timeOffType: $ref: '#/components/schemas/ResourceReference' description: The list of days included in the time-off request. example: [] required: - days TimeOffEntry: type: object properties: id: type: string description: The Workday ID of the time-off entry. example: abc123 descriptor: type: string example: example_value date: type: string format: date description: The date of the time off. example: '2026-01-15' dailyQuantity: type: number format: double description: The quantity of time off taken. example: 42.5 unit: $ref: '#/components/schemas/ResourceReference' timeOffType: $ref: '#/components/schemas/ResourceReference' status: type: string description: The status of the time-off entry. example: example_value TimeOffBalance: type: object properties: id: type: string example: abc123 descriptor: type: string example: example_value timeOffPlan: $ref: '#/components/schemas/ResourceReference' balance: type: number format: double description: The current balance. example: 42.5 unit: type: string description: The unit of the balance (e.g., Hours, Days). example: example_value asOfDate: type: string format: date description: The effective date of the balance. example: '2026-01-15' LeaveOfAbsence: type: object properties: id: type: string example: abc123 descriptor: type: string example: example_value leaveType: $ref: '#/components/schemas/ResourceReference' startDate: type: string format: date description: The start date of the leave. example: '2026-01-15' estimatedEndDate: type: string format: date description: The estimated end date of the leave. example: '2026-01-15' actualEndDate: type: string format: date description: The actual end date of the leave. example: '2026-01-15' status: type: string description: The status of the leave (e.g., In Progress, Completed). example: example_value lastDayOfWork: type: string format: date example: '2026-01-15' firstDayOfWork: type: string format: date example: '2026-01-15' LeaveOfAbsenceRequest: type: object properties: leaveType: $ref: '#/components/schemas/ResourceReference' firstDayOfLeave: type: string format: date example: '2026-01-15' estimatedLastDayOfLeave: type: string format: date example: '2026-01-15' lastDayOfWork: type: string format: date example: '2026-01-15' firstDayBackAtWork: type: string format: date example: '2026-01-15' reason: $ref: '#/components/schemas/ResourceReference' comment: type: string example: example_value required: - leaveType - firstDayOfLeave 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: BadRequest: description: The request was invalid or malformed. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 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: Absence Types description: Endpoints for managing absence types. - name: Time Off description: Endpoints for managing time-off requests and entries. - name: Leave of Absence description: Endpoints for managing leaves of absence.