Al-Farabi Kazakh National University team API

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

OpenAPI Specification

al-farabi-kazakh-national-university-team-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Open edX agreements team 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: team
paths:
  /team/v0/bulk_team_membership/{course_id}:
    get:
      operationId: team_v0_bulk_team_membership_read
      description: Download CSV with team membership data for given course run.
      tags:
      - team
      parameters:
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
    post:
      operationId: team_v0_bulk_team_membership_create
      description: Process uploaded CSV to modify team memberships for given course run.
      tags:
      - team
      parameters:
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '201':
          description: ''
  /team/v0/team_membership/:
    get:
      operationId: team_v0_team_membership_list
      description: GET /api/team/v0/team_membership
      tags:
      - team
      parameters:
      - name: page
        in: query
        required: false
        description: A page number within the paginated result set.
        schema:
          type: integer
      - 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:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                    format: uri
                    nullable: true
                  previous:
                    type: string
                    format: uri
                    nullable: true
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Membership'
    post:
      operationId: team_v0_team_membership_create
      description: POST /api/team/v0/team_membership
      tags:
      - team
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Membership'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
  /team/v0/team_membership/{team_id},{username}:
    get:
      operationId: team_v0_team_membership_read
      description: GET /api/team/v0/team_membership/{team_id},{username}
      tags:
      - team
      parameters:
      - name: team_id
        in: path
        required: true
        schema:
          type: string
      - name: username
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Membership'
    delete:
      operationId: team_v0_team_membership_delete
      description: DELETE /api/team/v0/team_membership/{team_id},{username}
      tags:
      - team
      parameters:
      - name: team_id
        in: path
        required: true
        schema:
          type: string
      - name: username
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
  /team/v0/teams/:
    get:
      operationId: team_v0_teams_list
      description: GET /api/team/v0/teams/
      tags:
      - team
      parameters:
      - name: page
        in: query
        required: false
        description: A page number within the paginated result set.
        schema:
          type: integer
      - 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:
                - count
                - results
                type: object
                properties:
                  count:
                    type: integer
                  next:
                    type: string
                    format: uri
                    nullable: true
                  previous:
                    type: string
                    format: uri
                    nullable: true
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/CourseTeam'
    post:
      operationId: team_v0_teams_create
      description: POST /api/team/v0/teams/
      tags:
      - team
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CourseTeam'
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CourseTeam'
  /team/v0/teams/{team_id}:
    get:
      operationId: team_v0_teams_read
      description: Retrieves the specified resource using the RetrieveModelMixin.
      tags:
      - team
      parameters:
      - name: team_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CourseTeam'
    patch:
      operationId: team_v0_teams_partial_update
      description: Checks for validation errors, then updates the model using the UpdateModelMixin.
      tags:
      - team
      parameters:
      - name: team_id
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/merge-patch+json:
            schema:
              $ref: '#/components/schemas/CourseTeam'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CourseTeam'
    delete:
      operationId: team_v0_teams_delete
      description: DELETE /api/team/v0/teams/{team_id}
      tags:
      - team
      parameters:
      - name: team_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: ''
  /team/v0/teams/{team_id}/assignments:
    get:
      operationId: team_v0_teams_assignments_list
      description: GET v0/teams/{team_id_pattern}/assignments
      tags:
      - team
      parameters:
      - name: team_id
        in: path
        required: true
        schema:
          type: string
      - name: page
        in: query
        required: false
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        in: query
        required: false
        description: Number of results to return per page.
        schema:
          type: integer
      responses:
        '200':
          description: ''
  /team/v0/topics/:
    get:
      operationId: team_v0_topics_list
      description: GET /api/team/v0/topics/?course_id={course_id}
      tags:
      - team
      parameters:
      - name: page
        in: query
        required: false
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        in: query
        required: false
        description: Number of results to return per page.
        schema:
          type: integer
      responses:
        '200':
          description: ''
  /team/v0/topics/{topic_id},{course_id}:
    get:
      operationId: team_v0_topics_read
      description: GET /api/team/v0/topics/{topic_id},{course_id}/
      tags:
      - team
      parameters:
      - name: topic_id
        in: path
        required: true
        schema:
          type: string
      - name: course_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
components:
  schemas:
    CourseTeam:
      required:
      - name
      - description
      - country
      type: object
      properties:
        id:
          title: Id
          type: string
          readOnly: true
          minLength: 1
        discussion_topic_id:
          title: Discussion topic id
          type: string
          format: slug
          pattern: ^[-a-zA-Z0-9_]+$
          readOnly: true
          minLength: 1
        name:
          title: Name
          type: string
          maxLength: 255
          minLength: 1
        course_id:
          title: Course id
          type: string
          readOnly: true
          minLength: 1
        topic_id:
          title: Topic id
          type: string
          maxLength: 255
        date_created:
          title: Date created
          type: string
          format: date-time
          readOnly: true
        description:
          title: Description
          type: string
          maxLength: 300
          minLength: 1
        country:
          title: Country
          type: string
        language:
          title: Language
          description: Код альтернативного языка команды по стандарту  ISO 639-1.
          type: string
          enum:
          - aa
          - ab
          - af
          - ak
          - sq
          - am
          - ar
          - an
          - hy
          - as
          - av
          - ae
          - ay
          - az
          - ba
          - bm
          - eu
          - be
          - bn
          - bh
          - bi
          - bs
          - br
          - bg
          - my
          - ca
          - ch
          - ce
          - zh
          - zh_HANS
          - zh_HANT
          - cu
          - cv
          - kw
          - co
          - cr
          - cs
          - da
          - dv
          - nl
          - dz
          - en
          - eo
          - et
          - ee
          - fo
          - fj
          - fi
          - fr
          - fy
          - ff
          - ka
          - de
          - gd
          - ga
          - gl
          - gv
          - el
          - gn
          - gu
          - ht
          - ha
          - he
          - hz
          - hi
          - ho
          - hr
          - hu
          - ig
          - is
          - io
          - ii
          - iu
          - ie
          - ia
          - id
          - ik
          - it
          - jv
          - ja
          - kl
          - kn
          - ks
          - kr
          - kk
          - km
          - ki
          - rw
          - ky
          - kv
          - kg
          - ko
          - kj
          - ku
          - lo
          - la
          - lv
          - li
          - ln
          - lt
          - lb
          - lu
          - lg
          - mk
          - mh
          - ml
          - mi
          - mr
          - ms
          - mg
          - mt
          - mn
          - na
          - nv
          - nr
          - nd
          - ng
          - ne
          - nn
          - nb
          - 'no'
          - ny
          - oc
          - oj
          - or
          - om
          - os
          - pa
          - fa
          - pi
          - pl
          - pt
          - ps
          - qu
          - rm
          - ro
          - rn
          - ru
          - sg
          - sa
          - si
          - sk
          - sl
          - se
          - sm
          - sn
          - sd
          - so
          - st
          - es
          - sc
          - sr
          - ss
          - su
          - sw
          - sv
          - ty
          - ta
          - tt
          - te
          - tg
          - tl
          - th
          - bo
          - ti
          - to
          - tn
          - ts
          - tk
          - tr
          - tw
          - ug
          - uk
          - ur
          - uz
          - ve
          - vi
          - vo
          - cy
          - wa
          - wo
          - xh
          - yi
          - yo
          - za
          - zu
        last_activity_at:
          title: Last activity at
          type: string
          format: date-time
          readOnly: true
        membership:
          type: array
          items:
            $ref: '#/components/schemas/UserMembership'
          readOnly: true
        organization_protected:
          title: Organization protected
          type: boolean
    UserMembership:
      required:
      - user
      type: object
      properties:
        user:
          title: User
          type: string
        date_joined:
          title: Date joined
          type: string
          format: date-time
          readOnly: true
        last_activity_at:
          title: Last activity at
          type: string
          format: date-time
          readOnly: true
    Membership:
      required:
      - user
      - team
      type: object
      properties:
        user:
          title: User
          type: string
        team:
          title: Team
          type: string
        date_joined:
          title: Date joined
          type: string
          format: date-time
          readOnly: true
        last_activity_at:
          title: Last activity at
          type: string
          format: date-time
          readOnly: true
  securitySchemes:
    Basic:
      type: http
      scheme: basic