Workday Learning API

API for managing learning and development within the Workday Learning module. Provides access to course catalogs, learning assignments, enrollment data, and training completion records.

OpenAPI Specification

workday-integration-learning-openapi.yml Raw ↑
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: [email protected]
    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