Uplimit User API

The User API from Uplimit — 10 operation(s) for user.

OpenAPI Specification

uplimit-user-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 User API
  version: 2025-08-18
servers:
- description: Uplimit
  url: https://uplimit.com/api/organization/
tags:
- name: User
paths:
  /v1/CreateUser:
    post:
      description: 'This API creates a new user account on Uplimit and enrolls the user into your organization. If a user account with the same email already exists, we will just enroll that existing user into your organization. '
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/_v1_CreateUser_post_request'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_CreateUser_post_200_response'
          description: The user was created 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:
      - User
  /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:
      - User
  /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:
      - User
  /v1/GetUserInformation/{emailAddressOrUserId}:
    get:
      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.
      parameters:
      - description: The email address or uplimit User ID of the user.
        explode: false
        in: path
        name: emailAddressOrUserId
        required: true
        schema:
          description: The email address or uplimit User ID of the user.
          type: string
        style: simple
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_GetUserInformation__emailAddressOrUserId__get_200_response'
          description: Information about the user 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:
      - User
  /v1/ListActiveUsers:
    get:
      description: This API lists all active users in your organization on the Uplimit platform.
      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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_ListActiveUsers_get_200_response'
          description: The list of active users 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:
      - User
  /v1/ListInactiveUsers:
    get:
      description: This API lists all inactive users in your organization on the Uplimit platform.
      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
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_ListActiveUsers_get_200_response'
          description: The list of inactive users 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:
      - User
  /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:
      - User
  /v1/ToggleUserActivation:
    post:
      description: This API changes whether a user is active in your organization (i.e. sets their state to activated or deactivated).
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/_v1_ToggleUserActivation_post_request'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_EnrollUserIntoSession_post_200_response'
          description: The user activation was toggled 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:
      - User
  /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:
      - User
  /v1/AddUserAuthenticationMethod:
    post:
      description: This API creates a new user authentication method for a user within your organization.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/_v1_AddUserAuthenticationMethod_post_request'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/_v1_EnrollUserIntoSession_post_200_response'
          description: The user authentication method was added 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:
      - User
components:
  schemas:
    _v1_AddUserAuthenticationMethod_post_request:
      properties:
        emailAddress:
          description: The email address of the user.
          type: string
        authenticationMethod:
          description: The authentication method to add to the user.
          enum:
          - SAML
          - OAUTH2
          type: string
        customAuthenticationMethodProviderId:
          description: For SAML and OAUTH2, this is the provider ID (will be supplied by Uplimit to the developer).
          type: string
        authenticationSecret:
          description: The unique identity for the authentication method. For SAML, this is the SAML entity ID. For OAUTH2, this is the subject identifier (or sub).
          type: string
      required:
      - authenticationMethod
      - authenticationSecret
      - customAuthenticationMethodProviderId
      - emailAddress
    _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_ToggleUserActivation_post_request:
      properties:
        emailAddress:
          description: The email address of the user.
          type: string
        setIsActive:
          description: Whether to set the user as active or inactive.
          type: boolean
        subscriptionCommitmentId:
          description: (optional) The subscription commitment id to target. If not provided, the user will be activated on the default subscription commitment, or deactivated across all their subscription commitments.
          type: string
        doNotSendWelcomeEmail:
          description: (optional) Whether to send the welcome email to the user when reactivating them. If not provided, the welcome email will be sent. This option is ignored when deactivating the user.
          type: boolean
      required:
      - emailAddress
      - setIsActive
    _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_ListActiveUsers_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
          uplimitSubscriptionEnrollmentId: uplimitSubscriptionEnrollmentId
        - uplimitUserId: uplimitUserId
          firstName: firstName
          lastName: lastName
          emailAddress: emailAddress
          userHasValidSubscriptionEnrollment: true
          uplimitSubscriptionCommitmentId: uplimitSubscriptionCommitmentId
          userAccountIsActive: true
          uplimitActiveSubscriptionCommitmentIds:
          - uplimitActiveSubscriptionCommitmentIds
          - uplimitActiveSubscriptionCommitmentIds
          uplimitSubscriptionEnrollmentId: uplimitSubscriptionEnrollmentId
      properties:
        users:
          items:
            $ref: '#/components/schemas/_v1_GetUserInformation__emailAddressOrUserId__get_200_response'
          type: array
        totalCount:
          type: number
      required:
      - totalCount
      - users
    _v1_GetUserInformation__emailAddressOrUserId__get_200_response:
      example:
        uplimitUserId: uplimitUserId
        firstName: firstName
        lastName: lastName
        emailAddress: emailAddress
        userHasValidSubscriptionEnrollment: true
        uplimitSubscriptionCommitmentId: uplimitSubscriptionCommitmentId
        userAccountIsActive: true
        uplimitActiveSubscriptionCommitmentIds:
        - uplimitActiveSubscriptionCommitmentIds
        - uplimitActiveSubscriptionCommitmentIds
        uplimitSubscriptionEnrollmentId: uplimitSubscriptionEnrollmentId
      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
      required:
      - emailAddress
      - firstName
      - lastName
      - uplimitActiveSubscriptionCommitmentIds
      - uplimitSubscriptionCommitmentId
      - uplimitSubscriptionEnrollmentId
      - uplimitUserId
      - userAccountIsActive
      - userHasValidSubscriptionEnrollment
    _v1_CreateUser_post_400_response:
      example:
        error: error
      properties:
        error:
          description: The error message.
          type: string
      required:
      - error
    _v1_CreateUser_post_request:
      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
        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
        doNotSendWelcomeEmail:
          description: Whether to send the welcome email to the user. If not provided, the welcome email will be sent.
          type: boolean
      required:
      - emailAddress
      - firstName
      - lastName
    _v1_CreateUser_post_200_response:
      example:
        uplimitUserId: uplimitUserId
        uplimitSubscriptionEnrollmentId: uplimitSubscriptionEnrollmentId
      properties:
        uplimitSubscriptionEnrollmentId:
          description: Internal ID to identify the user's membership within your organization on Uplimit.
          type: string
        uplimitUserId:
          description: Internal ID to identify the user across the Uplimit platform.
          type: string
      required:
      - uplimitSubscriptionEnrollmentId
      - uplimitUserId
    _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