openapi: 3.1.0 info: title: Workday Integration Workday Absence Management Absence Types Mentorships API description: API for managing employee leave requests, absence types, and time-off balances. Retrieves eligible absence types for employees and supports validation of leave category selections. version: v1 contact: name: Workday API Support email: api-support@workday.com url: https://community.workday.com license: name: Proprietary url: https://www.workday.com/en-us/legal/site-terms.html servers: - url: https://{baseUrl}/ccx/api/absenceManagement/v1/{tenant} description: Workday Absence Management REST API server variables: baseUrl: default: wd2-impl-services1.workday.com description: The Workday data center hostname tenant: default: tenant description: The Workday tenant name security: - OAuth2: - r:absenceManagement - w:absenceManagement tags: - name: Mentorships paths: /mentorships: get: operationId: getMentorships summary: Workday Integration Retrieve mentorships description: Returns a collection of active and completed mentorship relationships. tags: - Mentorships parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with mentorships content: application/json: schema: $ref: '#/components/schemas/MentorshipsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /createMentorshipForMe: post: operationId: createMentorshipForMe summary: Workday Integration Create a mentorship for the current user description: Creates a mentorship relationship where the current authenticated user is the mentee. tags: - Mentorships requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MentorshipRequest' responses: '201': description: Mentorship created successfully content: application/json: schema: $ref: '#/components/schemas/Mentorship' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /createMentorshipForWorker: post: operationId: createMentorshipForWorker summary: Workday Integration Create a mentorship for a worker description: Creates a mentorship relationship for the specified worker. tags: - Mentorships requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MentorshipForWorkerRequest' responses: '201': description: Mentorship created successfully content: application/json: schema: $ref: '#/components/schemas/Mentorship' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /mentorships/{ID}/close: post: operationId: closeMentorship summary: Workday Integration Close a mentorship description: Closes an active mentorship relationship. tags: - Mentorships parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Mentorship closed successfully content: application/json: schema: $ref: '#/components/schemas/Mentorship' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /mentorships/{ID}/edit: post: operationId: editMentorship summary: Workday Integration Edit a mentorship description: Modifies an existing mentorship relationship. tags: - Mentorships parameters: - $ref: '#/components/parameters/ID' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MentorshipEditRequest' responses: '200': description: Mentorship updated successfully content: application/json: schema: $ref: '#/components/schemas/Mentorship' '400': $ref: '#/components/responses/BadRequest' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' components: schemas: MentorshipRequest: type: object required: - mentor properties: mentor: $ref: '#/components/schemas/ResourceReference' topic: type: string MentorshipsResponse: type: object properties: total: type: integer data: type: array items: $ref: '#/components/schemas/Mentorship' ResourceReference: type: object properties: id: type: string descriptor: type: string href: type: string format: uri ErrorResponse: type: object properties: error: type: string MentorshipEditRequest: type: object properties: topic: type: string endDate: type: string format: date MentorshipForWorkerRequest: type: object required: - mentor - mentee properties: mentor: $ref: '#/components/schemas/ResourceReference' mentee: $ref: '#/components/schemas/ResourceReference' topic: type: string Mentorship: type: object properties: id: type: string descriptor: type: string mentor: $ref: '#/components/schemas/ResourceReference' mentee: $ref: '#/components/schemas/ResourceReference' status: type: string startDate: type: string format: date endDate: type: string format: date responses: Forbidden: description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: Invalid request parameters content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' parameters: offset: name: offset in: query schema: type: integer default: 0 ID: name: ID in: path required: true schema: type: string limit: name: limit in: query schema: type: integer default: 20 maximum: 100 securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://{baseUrl}/authorize tokenUrl: https://{baseUrl}/oauth2/{tenant}/token refreshUrl: https://{baseUrl}/oauth2/{tenant}/token scopes: r:absenceManagement: Read absence data w:absenceManagement: Write absence data