openapi: 3.1.0 info: title: Workday Integration Workday Learning API description: >- API for managing learning and development within the Workday Learning module. Provides access to course catalogs, learning assignments, enrollment data, and training completion records. 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/learning/v1/{tenant} description: Workday Learning REST API server variables: baseUrl: default: wd2-impl-services1.workday.com tenant: default: tenant security: - OAuth2: - r:learning paths: /learningCourses: get: operationId: getLearningCourses summary: Workday Integration Retrieve learning courses description: >- Returns a collection of learning courses available in the catalog. tags: - Courses parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/search' responses: '200': description: Successful response with learning courses content: application/json: schema: $ref: '#/components/schemas/CoursesResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' /learningCourses/{ID}: get: operationId: getLearningCourseById summary: Workday Integration Retrieve a specific learning course description: >- Returns the specified learning course with its content and configuration. tags: - Courses parameters: - $ref: '#/components/parameters/ID' responses: '200': description: Successful response with the learning course content: application/json: schema: $ref: '#/components/schemas/Course' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /workers/{ID}/learningAssignments: get: operationId: getWorkerLearningAssignments summary: Workday Integration Retrieve learning assignments for a worker description: >- Returns the learning assignments for the specified worker. tags: - Assignments parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with learning assignments content: application/json: schema: $ref: '#/components/schemas/AssignmentsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' /workers/{ID}/learningCompletions: get: operationId: getWorkerLearningCompletions summary: Workday Integration Retrieve learning completions for a worker description: >- Returns the learning completion records for the specified worker. tags: - Completions parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' responses: '200': description: Successful response with learning completions content: application/json: schema: $ref: '#/components/schemas/CompletionsResponse' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' components: securitySchemes: OAuth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://{baseUrl}/authorize tokenUrl: https://{baseUrl}/oauth2/{tenant}/token scopes: r:learning: Read learning data parameters: ID: name: ID in: path required: true schema: type: string limit: name: limit in: query schema: type: integer default: 20 maximum: 100 offset: name: offset in: query schema: type: integer default: 0 search: name: search in: query schema: type: string responses: Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 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' schemas: ErrorResponse: type: object properties: error: type: string ResourceReference: type: object properties: id: type: string descriptor: type: string href: type: string format: uri Course: type: object properties: id: type: string descriptor: type: string title: type: string description: type: string courseType: $ref: '#/components/schemas/ResourceReference' duration: type: string isActive: type: boolean CoursesResponse: type: object properties: total: type: integer data: type: array items: $ref: '#/components/schemas/Course' AssignmentsResponse: type: object properties: total: type: integer data: type: array items: type: object properties: id: type: string course: $ref: '#/components/schemas/ResourceReference' assignedDate: type: string format: date dueDate: type: string format: date status: type: string CompletionsResponse: type: object properties: total: type: integer data: type: array items: type: object properties: id: type: string course: $ref: '#/components/schemas/ResourceReference' completionDate: type: string format: date grade: type: string tags: - name: Assignments - name: Completions - name: Courses