Uplimit Enrollment API

The Enrollment API from Uplimit — 4 operation(s) for enrollment.

OpenAPI Specification

uplimit-enrollment-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: hello@uplimit.com
    name: Uplimit
    url: https://uplimit.com
  description: This API is used to manage organizations within the Uplimit platform. For more information, please reach out to your Uplimit Enterprise contact.
  title: Uplimit Organization Course Enrollment API
  version: 2025-08-18
servers:
- description: Uplimit
  url: https://uplimit.com/api/organization/
tags:
- name: Enrollment
paths:
  /v1/EnrollUserIntoSession:
    post:
      description: This API allows developers to add a user into a session. The user must have already been created with the Create User API (see above) before you can add this user.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/_v1_EnrollUserIntoSession_post_request'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_EnrollUserIntoSession_post_200_response'
          description: The user is enrolled into the session successfully.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request is invalid.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request is unauthorized.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: One or more of the resources required to fulfill the request were not found.
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request method is not allowed.
      security:
      - bearerAuth: []
      tags:
      - Enrollment
  /v1/EnrollUserIntoCourse:
    post:
      description: This API allows developers to add a user into a course. The user must have already been created with the Create User API (see above) before you can add this user. In general, prefer to use the EnrollUserIntoSession API instead of this API, because that is more specific and you can specify the exact session you want to enroll the user into, instead of relying on a policy.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/_v1_EnrollUserIntoCourse_post_request'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_EnrollUserIntoSession_post_200_response'
          description: The user is enrolled into a session of the course successfully.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request is invalid.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request is unauthorized.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: One or more of the resources required to fulfill the request were not found.
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request method is not allowed.
      security:
      - bearerAuth: []
      tags:
      - Enrollment
  /v1/ListEnrollmentsInSession:
    get:
      description: This API allows developers to list all active enrollments in a session.
      parameters:
      - explode: true
        in: query
        name: skip
        required: false
        schema:
          minimum: 0
          type: integer
        style: form
      - explode: true
        in: query
        name: take
        required: false
        schema:
          minimum: 0
          type: integer
        style: form
      - explode: true
        in: query
        name: uplimitSessionId
        required: true
        schema:
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_ListEnrollmentsInSession_get_200_response'
          description: The list of enrollments in the session is returned successfully.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request is invalid.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request is unauthorized.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: One or more of the resources required to fulfill the request were not found.
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request method is not allowed.
      security:
      - bearerAuth: []
      tags:
      - Enrollment
  /v1/UnenrollUserFromSession:
    post:
      description: This API allows developers to remove a user from a session. The user must currently be enrolled in the session to be eligible for unenrollment.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/_v1_UnenrollUserFromSession_post_request'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_EnrollUserIntoSession_post_200_response'
          description: The user is unenrolled from the session successfully.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request is invalid.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request is unauthorized.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: One or more of the resources required to fulfill the request were not found.
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_400_response'
          description: The request method is not allowed.
      security:
      - bearerAuth: []
      tags:
      - Enrollment
components:
  schemas:
    _v1_ListEnrollmentsInSession_get_200_response:
      example:
        totalCount: 0.8008281904610115
        users:
        - uplimitUserId: uplimitUserId
          firstName: firstName
          lastName: lastName
          emailAddress: emailAddress
          userHasValidSubscriptionEnrollment: true
          uplimitSubscriptionCommitmentId: uplimitSubscriptionCommitmentId
          userAccountIsActive: true
          uplimitActiveSubscriptionCommitmentIds:
          - uplimitActiveSubscriptionCommitmentIds
          - uplimitActiveSubscriptionCommitmentIds
          sessionCompletionStatus: PENDING
          uplimitSubscriptionEnrollmentId: uplimitSubscriptionEnrollmentId
          uplimitSessionEnrollmentId: uplimitSessionEnrollmentId
        - uplimitUserId: uplimitUserId
          firstName: firstName
          lastName: lastName
          emailAddress: emailAddress
          userHasValidSubscriptionEnrollment: true
          uplimitSubscriptionCommitmentId: uplimitSubscriptionCommitmentId
          userAccountIsActive: true
          uplimitActiveSubscriptionCommitmentIds:
          - uplimitActiveSubscriptionCommitmentIds
          - uplimitActiveSubscriptionCommitmentIds
          sessionCompletionStatus: PENDING
          uplimitSubscriptionEnrollmentId: uplimitSubscriptionEnrollmentId
          uplimitSessionEnrollmentId: uplimitSessionEnrollmentId
      properties:
        users:
          items:
            $ref: '#/components/schemas/_v1_ListEnrollmentsInSession_get_200_response_users_inner'
          type: array
        totalCount:
          type: number
      required:
      - totalCount
      - users
    _v1_EnrollUserIntoSession_post_200_response:
      example:
        success: true
      properties:
        success:
          type: boolean
      required:
      - success
    _v1_EnrollUserIntoSession_post_request:
      properties:
        emailAddress:
          description: The email address of the user.
          type: string
        sessionId:
          description: The ID of the session to enroll the user into. You must provide either this or uplimitSessionId.
          type: string
        uplimitSessionId:
          description: Internal ID to identify the session across the Uplimit platform.
          type: string
        subscriptionCommitmentId:
          description: Internal ID to identify the "group" the user belongs to within your organization. Leaving this blank will enroll the user into the default group.
          type: string
      required:
      - emailAddress
    _v1_UnenrollUserFromSession_post_request:
      properties:
        emailAddress:
          description: The email address of the user.
          type: string
        uplimitSessionId:
          description: Internal ID to identify the session across the Uplimit platform.
          type: string
      required:
      - emailAddress
      - uplimitSessionId
    _v1_ListEnrollmentsInSession_get_200_response_users_inner:
      example:
        uplimitUserId: uplimitUserId
        firstName: firstName
        lastName: lastName
        emailAddress: emailAddress
        userHasValidSubscriptionEnrollment: true
        uplimitSubscriptionCommitmentId: uplimitSubscriptionCommitmentId
        userAccountIsActive: true
        uplimitActiveSubscriptionCommitmentIds:
        - uplimitActiveSubscriptionCommitmentIds
        - uplimitActiveSubscriptionCommitmentIds
        sessionCompletionStatus: PENDING
        uplimitSubscriptionEnrollmentId: uplimitSubscriptionEnrollmentId
        uplimitSessionEnrollmentId: uplimitSessionEnrollmentId
      properties:
        emailAddress:
          description: The email address of the user.
          type: string
        firstName:
          description: The first name of the user.
          type: string
        lastName:
          description: The last name of the user.
          type: string
        userAccountIsActive:
          description: Whether the user is allowed to access the Uplimit platform.
          type: boolean
        userHasValidSubscriptionEnrollment:
          description: Whether the user is activated in your organization.
          type: boolean
        uplimitSubscriptionEnrollmentId:
          description: Internal ID to identify the user's membership within your organization on Uplimit.
          type: string
        uplimitSubscriptionCommitmentId:
          description: Internal ID to identify the "group" the user belongs to within your organization. Leaving this blank will enroll the user into the default group.
          type: string
        uplimitActiveSubscriptionCommitmentIds:
          description: All the active subscription commitment ids for this user within this organization.
          items:
            description: Internal ID to identify the "group" the user belongs to within your organization. Leaving this blank will enroll the user into the default group.
            type: string
          type: array
        uplimitUserId:
          description: Internal ID to identify the user across the Uplimit platform.
          type: string
        sessionCompletionStatus:
          description: Whether the user has completed the session according to pre-defined completion criteria.
          enum:
          - PENDING
          - COMPLETED
          type: string
        uplimitSessionEnrollmentId:
          description: The uplimit internal ID for the user enrollment in session.
          type: string
      required:
      - emailAddress
      - firstName
      - lastName
      - sessionCompletionStatus
      - uplimitActiveSubscriptionCommitmentIds
      - uplimitSessionEnrollmentId
      - uplimitSubscriptionCommitmentId
      - uplimitSubscriptionEnrollmentId
      - uplimitUserId
      - userAccountIsActive
      - userHasValidSubscriptionEnrollment
    _v1_CreateUser_post_400_response:
      example:
        error: error
      properties:
        error:
          description: The error message.
          type: string
      required:
      - error
    _v1_EnrollUserIntoCourse_post_request:
      properties:
        emailAddress:
          description: The email address of the user.
          type: string
        uplimitCourseId:
          description: Internal ID to identify the course across the Uplimit platform.
          type: string
        uplimitEnrollUserIntoCourseSessionSelectionPolicy:
          description: The policy to decide which session to enroll a user into when enrolling the user into a course.
          enum:
          - ENROLL_INTO_CLOSEST_SESSION_START_DATE_AFTER_TODAY_ENROLLABLE_SESSION_TIEBREAK_BY_SESSION_CREATION_DATE_ASCENDING
          type: string
        subscriptionCommitmentId:
          description: Internal ID to identify the "group" the user belongs to within your organization. Leaving this blank will enroll the user into the default group.
          type: string
      required:
      - emailAddress
      - uplimitCourseId
      - uplimitEnrollUserIntoCourseSessionSelectionPolicy
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http