Al-Farabi Kazakh National University enrollment API

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

Operations 11

GET /enrollment/v1/course/{course_id} Read enrollment information for a particular course. #
GET /enrollment/v1/enrollment Gets a list of all course enrollments for a user. #
POST /enrollment/v1/enrollment Enrolls the currently logged-in user in a course. #
GET /enrollment/v1/enrollment/{course_id} Create, read, or update enrollment information for a user. #
GET /enrollment/v1/enrollment/{username},{course_id} Create, read, or update enrollment information for a user. #
GET /enrollment/v1/enrollment_allowed/ Returns the enrollments allowed for a given user email. #
POST /enrollment/v1/enrollment_allowed/ Creates an enrollment allowed for a given user email and course id. #
DELETE /enrollment/v1/enrollment_allowed/ Deletes an enrollment allowed for a given user email and course id. #
GET /enrollment/v1/enrollments/ **Use Cases** #
GET /enrollment/v1/roles/ #
POST /enrollment/v1/unenroll/ #

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/al-farabi-kazakh-national-university-enrollment-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

al-farabi-kazakh-national-university-enrollment-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Open edX Enrollment 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: enrollment
paths:
  /enrollment/v1/course/{course_id}:
    get:
      operationId: enrollment_v1_course_read
      summary: Read enrollment information for a particular course.
      description: HTTP Endpoint for retrieving course level enrollment information.
      tags:
      - enrollment
      parameters:
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
  /enrollment/v1/enrollment:
    get:
      operationId: enrollment_v1_enrollment_list
      summary: Gets a list of all course enrollments for a user.
      description: 'Returns a list for the currently logged in user, or for the user named by the ''user'' GET

        parameter. If the username does not match that of the currently logged in user, only

        courses for which the currently logged in user has the Staff or Admin role are listed.

        As a result, a course team member can find out which of their own courses a particular

        learner is enrolled in.


        Only the Staff or Admin role (granted on the Django administrative console as the staff

        or instructor permission) in individual courses gives the requesting user access to

        enrollment data. Permissions granted at the organizational level do not give a user

        access to enrollment data for all of that organization''s courses.


        Users who have the global staff permission can access all enrollment data for all

        courses.'
      tags:
      - enrollment
      responses:
        '200':
          description: ''
    post:
      operationId: enrollment_v1_enrollment_create
      summary: Enrolls the currently logged-in user in a course.
      description: 'Server-to-server calls may deactivate or modify the mode of existing enrollments. All other requests

        go through `add_enrollment()`, which allows creation of new and reactivation of old enrollments.'
      tags:
      - enrollment
      responses:
        '201':
          description: ''
  /enrollment/v1/enrollment/{course_id}:
    get:
      operationId: enrollment_v1_enrollment_read
      summary: Create, read, or update enrollment information for a user.
      description: 'HTTP Endpoint for all CRUD operations for a user course enrollment. Allows creation, reading, and

        updates of the current enrollment for a particular course.'
      tags:
      - enrollment
      parameters:
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
  /enrollment/v1/enrollment/{username},{course_id}:
    get:
      operationId: enrollment_v1_enrollment_read
      summary: Create, read, or update enrollment information for a user.
      description: 'HTTP Endpoint for all CRUD operations for a user course enrollment. Allows creation, reading, and

        updates of the current enrollment for a particular course.'
      tags:
      - enrollment
      parameters:
      - name: username
        in: path
        required: true
        schema:
          type: string
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
  /enrollment/v1/enrollment_allowed/:
    get:
      operationId: enrollment_v1_enrollment_allowed_list
      summary: Returns the enrollments allowed for a given user email.
      description: '**Example Requests**


        GET /api/enrollment/v1/enrollment_allowed?email=user@example.com


        **Parameters**


        - `email` (optional, string, _query_params_) - defaults to the calling user if not provided.


        **Responses**

        - 200: Success.

        - 403: Forbidden, you need to be staff.'
      tags:
      - enrollment
      responses:
        '200':
          description: ''
    post:
      operationId: enrollment_v1_enrollment_allowed_create
      summary: Creates an enrollment allowed for a given user email and course id.
      description: '**Example Request**


        POST /api/enrollment/v1/enrollment_allowed/'
      tags:
      - enrollment
      responses:
        '201':
          description: ''
    delete:
      operationId: enrollment_v1_enrollment_allowed_delete
      summary: Deletes an enrollment allowed for a given user email and course id.
      description: '**Example Request**


        DELETE /api/enrollment/v1/enrollment_allowed/'
      tags:
      - enrollment
      responses:
        '204':
          description: ''
  /enrollment/v1/enrollments/:
    get:
      operationId: enrollment_v1_enrollments_list
      summary: '**Use Cases**'
      description: "Get a list of all course enrollments, optionally filtered by a course ID or list of usernames.\n\n**Example Requests**\n\n    GET /api/enrollment/v1/enrollments\n\n    GET /api/enrollment/v1/enrollments?course_id={course_id}\n\n    GET /api/enrollment/v1/enrollments?username={username},{username},{username}\n\n    GET /api/enrollment/v1/enrollments?course_id={course_id}&username={username}\n\n    GET /api/enrollment/v1/enrollments?email={email},{email}\n\n**Query Parameters for GET**\n\n    * course_id: Filters the result to course enrollments for the course corresponding to the\n      given course ID. The value must be URL encoded. Optional.\n\n    * username: List of comma-separated usernames. Filters the result to the course enrollments\n      of the given users. Optional.\n\n    * email: List of comma-separated emails. Filters the result to the course enrollments\n      of the given users. Optional.\n\n    * page_size: Number of results to return per page. Optional.\n\n    * page: Page number to retrieve. Optional.\n\n**Response Values**\n\n    If the request for information about the course enrollments is successful, an HTTP 200 \"OK\" response\n    is returned.\n\n    The HTTP 200 response has the following values.\n\n    * results: A list of the course enrollments matching the request.\n\n        * created: Date and time when the course enrollment was created.\n\n        * mode: Mode for the course enrollment.\n\n        * is_active: Whether the course enrollment is active or not.\n\n        * user: Username of the user in the course enrollment.\n\n        * course_id: Course ID of the course in the course enrollment.\n\n    * next: The URL to the next page of results, or null if this is the\n      last page.\n\n    * previous: The URL to the next page of results, or null if this\n      is the first page.\n\n    If the user is not logged in, a 401 error is returned.\n\n    If the user is not global staff, a 403 error is returned.\n\n    If the specified course_id is not valid or any of the specified usernames\n    are not valid, a 400 error is returned.\n\n    If the specified course_id does not correspond to a valid course or if all the specified\n    usernames do not correspond to valid users, an HTTP 200 \"OK\" response is returned with an\n    empty 'results' field."
      tags:
      - enrollment
      parameters:
      - 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: ''
          content:
            application/json:
              schema:
                required:
                - results
                type: object
                properties:
                  next:
                    type:
                    - string
                    - 'null'
                    format: uri
                  previous:
                    type:
                    - string
                    - 'null'
                    format: uri
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/CourseEnrollmentsApiList'
  /enrollment/v1/roles/:
    get:
      operationId: enrollment_v1_roles_list
      description: Gets a list of all roles for the currently logged-in user, filtered by course_id if supplied
      tags:
      - enrollment
      responses:
        '200':
          description: ''
  /enrollment/v1/unenroll/:
    post:
      operationId: enrollment_v1_unenroll_create
      description: Unenrolls the specified user from all courses.
      tags:
      - enrollment
      responses:
        '201':
          description: ''
components:
  schemas:
    CourseEnrollmentsApiList:
      required:
      - course_id
      type: object
      properties:
        created:
          title: Created
          type:
          - string
          - 'null'
          format: date-time
          readOnly: true
        mode:
          title: Mode
          type: string
          maxLength: 100
          minLength: 1
        is_active:
          title: Is active
          type: boolean
        user:
          title: User
          type: string
          readOnly: true
        course_id:
          title: Course id
          type: string
          minLength: 1
  securitySchemes:
    Basic:
      type: http
      scheme: basic