Al-Farabi Kazakh National University program_enrollments API

The program_enrollments API from Al-Farabi Kazakh National University — 8 operation(s) for program_enrollments.

Specifications

Other Resources

OpenAPI Specification

al-farabi-kazakh-national-university-program-enrollments-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Open edX agreements program_enrollments API
  description: APIs for access to Open edX information
  contact:
    email: dl@kaznu.kz
  version: v1
servers:
- url: https://open.kaznu.kz/api
security:
- Basic: []
tags:
- name: program_enrollments
paths:
  /program_enrollments/v1/integration-reset:
    post:
      operationId: program_enrollments_v1_integration-reset_create
      description: Reset enrollment and user data for organization
      tags:
      - program_enrollments
      responses:
        '201':
          description: ''
  /program_enrollments/v1/programs/enrollments/:
    get:
      operationId: program_enrollments_v1_programs_enrollments_list
      description: How to respond to a GET request to this endpoint
      tags:
      - program_enrollments
      responses:
        '200':
          description: ''
  /program_enrollments/v1/programs/readonly_access/:
    get:
      operationId: program_enrollments_v1_programs_readonly_access_list
      description: How to respond to a GET request to this endpoint
      tags:
      - program_enrollments
      responses:
        '200':
          description: ''
  /program_enrollments/v1/programs/{program_uuid}/courses/{course_id}/enrollments/:
    get:
      operationId: program_enrollments_v1_programs_courses_enrollments_list
      description: Get a list of students enrolled in a course within a program.
      tags:
      - program_enrollments
      parameters:
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        required: false
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        in: query
        required: false
        description: Number of results to return per page.
        schema:
          type: integer
      responses:
        '200':
          description: ''
    post:
      operationId: program_enrollments_v1_programs_courses_enrollments_create
      description: Enroll a list of students in a course in a program
      tags:
      - program_enrollments
      parameters:
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: ''
    put:
      operationId: program_enrollments_v1_programs_courses_enrollments_update
      description: Create or Update the program course enrollments of a list of learners
      tags:
      - program_enrollments
      parameters:
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
    patch:
      operationId: program_enrollments_v1_programs_courses_enrollments_partial_update
      description: Modify the program course enrollments of a list of learners
      tags:
      - program_enrollments
      parameters:
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
  /program_enrollments/v1/programs/{program_uuid}/courses/{course_id}/grades/:
    get:
      operationId: program_enrollments_v1_programs_courses_grades_list
      description: Defines the GET list endpoint for ProgramCourseGrade objects.
      tags:
      - program_enrollments
      parameters:
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        required: false
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        in: query
        required: false
        description: Number of results to return per page.
        schema:
          type: integer
      responses:
        '200':
          description: ''
  /program_enrollments/v1/programs/{program_uuid}/enrollments/:
    get:
      operationId: program_enrollments_v1_programs_enrollments_list
      description: Defines the GET list endpoint for ProgramEnrollment objects.
      tags:
      - program_enrollments
      parameters:
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        required: false
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        in: query
        required: false
        description: Number of results to return per page.
        schema:
          type: integer
      responses:
        '200':
          description: ''
    post:
      operationId: program_enrollments_v1_programs_enrollments_create
      description: Create program enrollments for a list of learners
      tags:
      - program_enrollments
      parameters:
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: ''
    put:
      operationId: program_enrollments_v1_programs_enrollments_update
      description: Create/update program enrollments for a list of learners
      tags:
      - program_enrollments
      parameters:
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
    patch:
      operationId: program_enrollments_v1_programs_enrollments_partial_update
      description: Update program enrollments for a list of learners
      tags:
      - program_enrollments
      parameters:
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
  /program_enrollments/v1/programs/{program_uuid}/overview/:
    get:
      operationId: program_enrollments_v1_programs_overview_read
      description: 'A view for getting data associated with a user''s course enrollments

        as part of a program enrollment.'
      tags:
      - program_enrollments
      parameters:
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CourseRunOverviewList'
  /program_enrollments/v1/users/{username}/programs/{program_uuid}/courses:
    get:
      operationId: program_enrollments_v1_users_programs_courses_list
      summary: Get an overview of each of a user's course enrollments associated with a program.
      description: "This endpoint exists to get an overview of each course-run enrollment\nthat a user has for course-runs within a given program.\nFields included are the title, upcoming due dates, etc.\nThis API endpoint is intended for use with the\n[Program Learner Portal MFE](https://github.com/openedx/frontend-app-learner-portal-programs).\n\nIt is important to note that the set of enrollments that this endpoint returns\nis different than a user's set of *program-course-run enrollments*.\nSpecifically, this endpoint may include course runs that are *within*\nthe specified program but were not *enrolled in* via the specified program.\n\n**Example Response:**\n```json\n{\n    \"next\": null,\n    \"previous\": null,\n    \"results\": [\n        {\n            \"course_run_id\": \"edX+AnimalsX+Aardvarks\",\n            \"display_name\": \"Astonishing Aardvarks\",\n            \"course_run_url\": \"https://courses.edx.org/courses/course-v1:edX+AnimalsX+Aardvarks/course/\",\n            \"start_date\": \"2017-02-05T05:00:00Z\",\n            \"end_date\": \"2018-02-05T05:00:00Z\",\n            \"course_run_status\": \"completed\"\n            \"emails_enabled\": true,\n            \"due_dates\": [\n                {\n                    \"name\": \"Introduction: What even is an aardvark?\",\n                    \"url\": \"https://courses.edx.org/courses/course-v1:edX+AnimalsX+Aardvarks/jump_to/\n                          block-v1:edX+AnimalsX+Aardvarks+type@chapter+block@1414ffd5143b4b508f739b563ab468b7\",\n                    \"date\": \"2017-05-01T05:00:00Z\"\n                },\n                {\n                    \"name\": \"Quiz: Aardvark or Anteater?\",\n                    \"url\": \"https://courses.edx.org/courses/course-v1:edX+AnimalsX+Aardvarks/jump_to/\n                            block-v1:edX+AnimalsX+Aardvarks+type@sequential+block@edx_introduction\",\n                    \"date\": \"2017-03-05T00:00:00Z\"\n                }\n            ],\n            \"micromasters_title\": \"Animals\",\n            \"certificate_download_url\": \"https://courses.edx.org/certificates/123\"\n        },\n        {\n            \"course_run_id\": \"edX+AnimalsX+Baboons\",\n            \"display_name\": \"Breathtaking Baboons\",\n            \"course_run_url\": \"https://courses.edx.org/courses/course-v1:edX+AnimalsX+Baboons/course/\",\n            \"start_date\": \"2018-02-05T05:00:00Z\",\n            \"end_date\": null,\n            \"course_run_status\": \"in_progress\"\n            \"emails_enabled\": false,\n            \"due_dates\": [],\n            \"micromasters_title\": \"Animals\",\n            \"certificate_download_url\": \"https://courses.edx.org/certificates/123\",\n            \"resume_course_run_url\": \"https://courses.edx.org/courses/course-v1:edX+AnimalsX+Baboons/jump_to/\n                                       block-v1:edX+AnimalsX+Baboons+type@sequential+block@edx_introduction\"\n        }\n    ]\n}\n```"
      tags:
      - program_enrollments
      parameters:
      - name: username
        in: path
        required: true
        schema:
          type: string
      - name: program_uuid
        in: path
        required: true
        schema:
          type: string
      - name: cursor
        in: query
        required: false
        description: The pagination cursor value.
        schema:
          type: string
      - name: page_size
        in: query
        required: false
        description: Number of results to return per page. Defaults to 10. Maximum is 25.
        schema:
          type: integer
      - name: username
        in: path
        required: true
        description: The username of the user for which enrollment overviews will be fetched. For now, this must be the requesting user; otherwise, 403 will be returned. In the future, global staff users may be able to supply other usernames.
        schema:
          type: string
      - name: program_uuid
        in: path
        required: true
        description: UUID of a program. Enrollments will be returned for course runs in this program.
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageOfCourseRunOverview'
        '401':
          description: The requester is not authenticated.
        '403':
          description: The requester cannot access the specified program and/or the requester may not retrieve this data for the specified user.
        '404':
          description: The requested program does not exist.
components:
  schemas:
    PageOfCourseRunOverview:
      required:
      - results
      type: object
      properties:
        previous:
          title: Previous
          description: Link to the previous page or results, or null if this is the first.
          type: string
          format: uri
          minLength: 1
        next:
          title: Next
          description: Link to the next page of results, or null if this is the last.
          type: string
          format: uri
          minLength: 1
        results:
          description: The list of result objects on this page.
          type: array
          items:
            $ref: '#/components/schemas/CourseRunOverview'
    CourseRunOverview:
      required:
      - course_run_id
      - display_name
      - course_run_url
      - start_date
      - end_date
      - course_run_status
      - due_dates
      type: object
      properties:
        course_run_id:
          title: Course run id
          description: ID for the course run.
          type: string
          minLength: 1
        display_name:
          title: Display name
          description: Display name of the course run.
          type: string
          minLength: 1
        resume_course_run_url:
          title: Resume course run url
          description: The absolute url that takes the user back to their position in the course run; if absent, user has not made progress in the course.
          type: string
          minLength: 1
        course_run_url:
          title: Course run url
          description: The absolute url for the course run.
          type: string
          minLength: 1
        start_date:
          title: Start date
          description: Start date for the course run; null if no start date.
          type: string
          format: date-time
        end_date:
          title: End date
          description: End date for the course run; null if no end date.
          type: string
          format: date-time
        course_run_status:
          title: Course run status
          description: The user's status of the course run.
          type: string
          enum:
          - in_progress
          - upcoming
          - completed
        emails_enabled:
          title: Emails enabled
          description: Boolean representing whether emails are enabled for the course;if absent, the bulk email feature is either not enable at the platformlevel or is not enabled for the course; if True or False, bulk emailfeature is enabled, and value represents whether or not user wantsto receive emails.
          type: boolean
        due_dates:
          description: List of subsection due dates for the course run. Due dates are only returned if the course run is in progress.
          type: array
          items:
            $ref: '#/components/schemas/DueDate'
        micromasters_title:
          title: Micromasters title
          description: Title of the MicroMasters program that the course run is a part of; if absent, the course run is not a part of a MicroMasters program.
          type: string
          minLength: 1
        certificate_download_url:
          title: Certificate download url
          description: URL to download a certificate, if available; if absent, certificate is not downloadable.
          type: string
          minLength: 1
    DueDate:
      required:
      - name
      - url
      - date
      type: object
      properties:
        name:
          title: Name
          type: string
          minLength: 1
        url:
          title: Url
          type: string
          minLength: 1
        date:
          title: Date
          type: string
          format: date-time
    CourseRunOverviewList:
      required:
      - course_runs
      type: object
      properties:
        course_runs:
          type: array
          items:
            $ref: '#/components/schemas/CourseRunOverview'
  securitySchemes:
    Basic:
      type: http
      scheme: basic