Uplimit Session API

The Session API from Uplimit — 4 operation(s) for session.

OpenAPI Specification

uplimit-session-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 Session API
  version: 2025-08-18
servers:
- description: Uplimit
  url: https://uplimit.com/api/organization/
tags:
- name: Session
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:
      - Session
  /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:
      - Session
  /v1/ListSessionsInCourse:
    get:
      description: This API allows developers to list all sessions of a course.
      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: uplimitCourseId
        required: true
        schema:
          type: string
        style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_ListSessionsInCourse_get_200_response'
          description: The list of sessions in the course 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:
      - Session
  /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:
      - Session
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_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_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_EnrollUserIntoSession_post_200_response:
      example:
        success: true
      properties:
        success:
          type: boolean
      required:
      - success
    _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_ListSessionsInCourse_get_200_response:
      example:
        sessions:
        - enrollmentEnabled: true
          name: name
          startsAt: 2000-01-23 04:56:07+00:00
          uplimitSessionId: uplimitSessionId
          endsAt: 2000-01-23 04:56:07+00:00
        - enrollmentEnabled: true
          name: name
          startsAt: 2000-01-23 04:56:07+00:00
          uplimitSessionId: uplimitSessionId
          endsAt: 2000-01-23 04:56:07+00:00
        totalCount: 0.8008281904610115
      properties:
        sessions:
          items:
            $ref: '#/components/schemas/_v1_ListSessionsInCourse_get_200_response_sessions_inner'
          type: array
        totalCount:
          type: number
      required:
      - sessions
      - totalCount
    _v1_ListSessionsInCourse_get_200_response_sessions_inner:
      example:
        enrollmentEnabled: true
        name: name
        startsAt: 2000-01-23 04:56:07+00:00
        uplimitSessionId: uplimitSessionId
        endsAt: 2000-01-23 04:56:07+00:00
      properties:
        uplimitSessionId:
          description: Internal ID to identify the session across the Uplimit platform.
          type: string
        name:
          description: The name of the session.
          type: string
        startsAt:
          description: The start date of the session.
          format: date-time
          type: string
        endsAt:
          description: The end date of the session.
          format: date-time
          type: string
        enrollmentEnabled:
          description: Whether the session allows enrollments
          type: boolean
      required:
      - endsAt
      - enrollmentEnabled
      - name
      - startsAt
      - uplimitSessionId
    _v1_CreateUser_post_400_response:
      example:
        error: error
      properties:
        error:
          description: The error message.
          type: string
      required:
      - error
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http