Al-Farabi Kazakh National University courseware API

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

Specifications

Other Resources

OpenAPI Specification

al-farabi-kazakh-national-university-courseware-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Open edX agreements courseware 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: courseware
paths:
  /courseware/celebration/{course_key_string}:
    post:
      operationId: courseware_celebration_create
      description: Handle a POST request.
      tags:
      - courseware
      parameters:
      - name: course_key_string
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: ''
  /courseware/course/{course_key_string}:
    get:
      operationId: courseware_course_read
      summary: '**Use Cases**'
      description: "Request details for a course\n\n**Example Requests**\n\n    GET /api/courseware/course/{course_key}\n\n**Response Values**\n\n    Body consists of the following fields:\n\n    * access_expiration: An object detailing when access to this course will expire\n        * expiration_date: (str) When the access expires, in ISO 8601 notation\n        * masquerading_expired_course: (bool) Whether this course is expired for the masqueraded user\n        * upgrade_deadline: (str) Last chance to upgrade, in ISO 8601 notation (or None if can't upgrade anymore)\n        * upgrade_url: (str) Upgrade linke (or None if can't upgrade anymore)\n    * celebrations: An object detailing which celebrations to render\n        * first_section: (bool) If the first section celebration should render\n            Note: Also uses information from frontend so this value is not final\n        * streak_length_to_celebrate: (int) The streak length to celebrate for the learner\n        * streak_discount_enabled: (bool) If the frontend should render an upgrade discount for hitting the streak\n        * weekly_goal: (bool) If the weekly goal celebration should render\n    * course_goals:\n        * selected_goal:\n            * days_per_week: (int) The number of days the learner wants to learn per week\n            * subscribed_to_reminders: (bool) Whether the learner wants email reminders about their goal\n        * weekly_learning_goal_enabled: Flag indicating if this feature is enabled for this call\n    * effort: A textual description of the weekly hours of effort expected\n        in the course.\n    * end: Date the course ends, in ISO 8601 notation\n    * enrollment: Enrollment status of authenticated user\n        * mode: `audit`, `verified`, etc\n        * is_active: boolean\n    * enrollment_end: Date enrollment ends, in ISO 8601 notation\n    * enrollment_start: Date enrollment begins, in ISO 8601 notation\n    * entrance_exam_data: An object containing information about the course's entrance exam\n        * entrance_exam_current_score: (float) The users current score on the entrance exam\n        * entrance_exam_enabled: (bool) If the course has an entrance exam\n        * entrance_exam_id: (str) The block id for the entrance exam if enabled. Will be a section (chapter)\n        * entrance_exam_minimum_score_pct: (float) The minimum score a user must receive on the entrance exam\n            to unlock the remainder of the course. Returned as a float (i.e. 0.7 for 70%)\n        * entrance_exam_passed: (bool) Indicates if the entrance exam has been passed\n    * id: A unique identifier of the course; a serialized representation\n        of the opaque key identifying the course.\n    * language: The language code for the course\n    * media: An object that contains named media items.  Included here:\n        * course_image: An image to show for the course.  Represented\n          as an object with the following fields:\n            * uri: The location of the image\n    * name: Name of the course\n    * offer: An object detailing upgrade discount information\n        * code: (str) Checkout code\n        * expiration_date: (str) Expiration of offer, in ISO 8601 notation\n        * original_price: (str) Full upgrade price without checkout code; includes currency symbol\n        * discounted_price: (str) Upgrade price with checkout code; includes currency symbol\n        * percentage: (int) Amount of discount\n        * upgrade_url: (str) Checkout URL\n    * org: Name of the organization that owns the course\n    * related_programs: A list of objects that contains program data related to the given course including:\n        * progress: An object containing program progress:\n            * complete: (int) Number of complete courses in the program (a course is completed if the user has\n                earned a certificate for any of the nested course runs)\n            * in_progress: (int) Number of courses in the program that are in progress (a course is in progress if\n                the user has enrolled in any of the nested course runs)\n            * not_started: (int) Number of courses in the program that have not been started\n        * slug: (str) The program type\n        * title: (str) The title of the program\n        * url: (str) The link to the program's landing page\n        * uuid: (str) A unique identifier of the program\n    * short_description: A textual description of the course\n    * start: Date the course begins, in ISO 8601 notation\n    * start_display: Readably formatted start of the course\n    * start_type: Hint describing how `start_display` is set. One of:\n        * `\"string\"`: manually set by the course author\n        * `\"timestamp\"`: generated from the `start` timestamp\n        * `\"empty\"`: no start date is specified\n    * pacing: Course pacing. Possible values: instructor, self\n    * user_timezone: User's chosen timezone setting (or null for browser default)\n    * user_has_passing_grade: Whether or not the effective user's grade is equal to or above the courses minimum\n        passing grade\n    * course_exit_page_is_active: Flag for the learning mfe on whether or not the course exit page should display\n    * certificate_data: data regarding the effective user's certificate for the given course\n    * verify_identity_url: URL for a learner to verify their identity. Only returned for learners enrolled in a\n        verified mode. Will update to reverify URL if necessary.\n    * linkedin_add_to_profile_url: URL to add the effective user's certificate to a LinkedIn Profile.\n    * user_needs_integrity_signature: Whether the user needs to sign the integrity agreement for the course\n    * learning_assistant_enabled: Whether the Xpert Learning Assistant is enabled for the requesting user\n\n**Parameters:**\n\n    requested_fields (optional) comma separated list:\n        If set, then only those fields will be returned.\n    username (optional) username to masquerade as (if requesting user is staff)\n\n**Returns**\n\n    * 200 on success with above fields.\n    * 400 if an invalid parameter was sent or the username was not provided\n      for an authenticated request.\n    * 403 if a user who does not have permission to masquerade as\n      another user specifies a username other than their own.\n    * 404 if the course is not available or cannot be seen."
      tags:
      - courseware
      parameters:
      - name: course_key_string
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CourseInfo'
  /courseware/resume/{course_key_string}:
    get:
      operationId: courseware_resume_read
      description: Return response to a GET request.
      tags:
      - courseware
      parameters:
      - name: course_key_string
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
  /courseware/sequence/{usage_key_string}:
    get:
      operationId: courseware_sequence_read
      description: Return response to a GET request.
      tags:
      - courseware
      parameters:
      - name: usage_key_string
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
components:
  schemas:
    CertificateData:
      required:
      - cert_status
      - cert_web_view_url
      - download_url
      - certificate_available_date
      type: object
      properties:
        cert_status:
          title: Cert status
          type: string
          minLength: 1
        cert_web_view_url:
          title: Cert web view url
          type: string
          minLength: 1
        download_url:
          title: Download url
          type: string
          minLength: 1
        certificate_available_date:
          title: Certificate available date
          type: string
          format: date-time
    CourseGoals:
      required:
      - selected_goal
      type: object
      properties:
        selected_goal:
          title: Selected goal
          type: object
          additionalProperties:
            type: string
            nullable: true
        weekly_learning_goal_enabled:
          title: Weekly learning goal enabled
          type: boolean
          default: false
    CourseInfo:
      required:
      - access_expiration
      - content_type_gating_enabled
      - course_goals
      - effort
      - end
      - enrollment
      - enrollment_start
      - enrollment_end
      - entrance_exam_data
      - id
      - license
      - language
      - media
      - name
      - offer
      - related_programs
      - short_description
      - start
      - start_display
      - start_type
      - pacing
      - user_timezone
      - show_calculator
      - can_access_proctored_exams
      - notes
      - marketing_url
      - celebrations
      - user_has_passing_grade
      - course_exit_page_is_active
      - certificate_data
      - verify_identity_url
      - verification_status
      - linkedin_add_to_profile_url
      - is_integrity_signature_enabled
      - user_needs_integrity_signature
      - learning_assistant_enabled
      type: object
      properties:
        access_expiration:
          title: Access expiration
          type: object
          additionalProperties:
            type: string
            nullable: true
        content_type_gating_enabled:
          title: Content type gating enabled
          type: boolean
        course_goals:
          $ref: '#/components/schemas/CourseGoals'
        effort:
          title: Effort
          type: string
          minLength: 1
        end:
          title: End
          type: string
          format: date-time
        enrollment:
          title: Enrollment
          type: object
          additionalProperties:
            type: string
            nullable: true
        enrollment_start:
          title: Enrollment start
          type: string
          format: date-time
        enrollment_end:
          title: Enrollment end
          type: string
          format: date-time
        entrance_exam_data:
          title: Entrance exam data
          type: object
          additionalProperties:
            type: string
            nullable: true
        id:
          title: Id
          type: string
          minLength: 1
        license:
          title: License
          type: string
          minLength: 1
        language:
          title: Language
          type: string
          minLength: 1
          nullable: true
        media:
          $ref: '#/components/schemas/courseware_api'
        name:
          title: Name
          type: string
          minLength: 1
        offer:
          title: Offer
          type: object
          additionalProperties:
            type: string
            nullable: true
        related_programs:
          type: array
          items:
            $ref: '#/components/schemas/CourseProgram'
        short_description:
          title: Short description
          type: string
          minLength: 1
        start:
          title: Start
          type: string
          format: date-time
        start_display:
          title: Start display
          type: string
          minLength: 1
        start_type:
          title: Start type
          type: string
          minLength: 1
        pacing:
          title: Pacing
          type: string
          minLength: 1
        user_timezone:
          title: User timezone
          type: string
          minLength: 1
        show_calculator:
          title: Show calculator
          type: boolean
        can_access_proctored_exams:
          title: Can access proctored exams
          type: boolean
        notes:
          title: Notes
          type: object
          additionalProperties:
            type: string
            nullable: true
        marketing_url:
          title: Marketing url
          type: string
          minLength: 1
        celebrations:
          title: Celebrations
          type: object
          additionalProperties:
            type: string
            nullable: true
        user_has_passing_grade:
          title: User has passing grade
          type: boolean
        course_exit_page_is_active:
          title: Course exit page is active
          type: boolean
        certificate_data:
          $ref: '#/components/schemas/CertificateData'
        verify_identity_url:
          title: Verify identity url
          type: string
          format: uri
          minLength: 1
        verification_status:
          title: Verification status
          type: string
          minLength: 1
        linkedin_add_to_profile_url:
          title: Linkedin add to profile url
          type: string
          format: uri
          minLength: 1
        is_integrity_signature_enabled:
          title: Is integrity signature enabled
          type: boolean
        user_needs_integrity_signature:
          title: User needs integrity signature
          type: boolean
        learning_assistant_enabled:
          title: Learning assistant enabled
          type: boolean
    courseware_api:
      type: object
      properties:
        uri:
          title: Uri
          type: string
          readOnly: true
    CourseProgram:
      required:
      - slug
      - title
      - url
      - uuid
      type: object
      properties:
        progress:
          title: Progress
          type: string
          readOnly: true
        slug:
          title: Slug
          type: string
          minLength: 1
        title:
          title: Title
          type: string
          minLength: 1
        url:
          title: Url
          type: string
          format: uri
          minLength: 1
        uuid:
          title: Uuid
          type: string
          format: uuid
  securitySchemes:
    Basic:
      type: http
      scheme: basic