Skip to main content

LearnUpon

LearnUpon is a cloud-based learning management system (LMS) built for mid-sized to large enterprises that need to train employees, customers, and partners from a single centralized platform. It streamlines how organizations create, manage, deliver, and track training programs — including employee onboarding, customer education, compliance courses, and partner enablement. LearnUpon supports a wide range of content formats (including SCORM, video, and presentations), 20+ languages, mobile access, and integrations with popular HRIS and CRM systems such as Salesforce and Workday. Its robust reporting and analytics tools provide detailed insights into learner performance, course completion rates, and training effectiveness. The LearnUpon REST API enables organizations to programmatically manage users, groups, enrollments, courses, and reporting data, making it easy to integrate LearnUpon with other business systems and automate training workflows.

LearnUpon icon

Power end-to-end data operations for your LearnUpon API with Nexla. Our bi-directional LearnUpon connector is purpose-built for LearnUpon, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to LearnUpon or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your LearnUpon workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

LearnUpon uses HTTP Basic Authentication over HTTPS/TLS to secure API access. You will need a portal-specific API username and API key to authenticate — these credentials are separate from your LearnUpon admin login credentials.

LearnUpon Portal Requirements

  • An active LearnUpon account with admin-level access to at least one portal.

  • API access must be enabled for your portal. If you are unsure whether API access has been activated on your account, contact LearnUpon support to request it.

Generate LearnUpon API Keys

LearnUpon generates a single set of API credentials per portal. Each set consists of an API username and an API key, which together function as the username and password for HTTP Basic Authentication.

Important

A LearnUpon portal can have only one active set of API keys at a time. Generating a new set of keys will immediately invalidate any previously issued keys. Before generating new keys, verify that no existing integrations rely on the current API credentials.

To generate API keys for your LearnUpon portal:

  1. Sign in to your LearnUpon portal as an administrator.

  2. Navigate to Settings in the left-hand navigation menu.

  3. Select Integrations from the Settings submenu.

  4. Click API Keys within the Integrations section.

  5. Click the Generate New Keys button to create a new API username and API key for your portal.

  6. Copy and securely store both the API Username and the API Key that are displayed. These values will be required when configuring the Nexla credential.

The API Username and API Key are only shown in full immediately after generation. Store them in a secure location (such as a password manager) before navigating away from the page.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter your LearnUpon portal subdomain in the Subdomain field (or the full base URL if prompted). Your subdomain is the portion of your LearnUpon portal URL before .learnupon.com — for example, if your portal URL is https://acme.learnupon.com, your subdomain is acme. Nexla will construct API requests to https://{subdomain}.learnupon.com/api/v1.

  4. Enter the API Username value obtained from your LearnUpon portal's Settings > Integrations > API Keys page in the API Username field. This is the API-specific username — not your admin login email.

  5. Enter the API Key value obtained from your LearnUpon portal in the API Key (or Password) field. This key acts as the password for HTTP Basic Authentication and authenticates Nexla's requests to the LearnUpon API.

    For additional details about the LearnUpon API and authentication, refer to the official LearnUpon API documentation.

  6. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the LearnUpon connector tile, then select the credential that will be used to connect to the LearnUpon instance, and click Next; or, create a new LearnUpon credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common LearnUpon endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Get Users

Retrieve all users registered in your LearnUpon portal, with pagination support, including user profile fields such as name, email, and role.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/users. Response data is extracted from $.users[*]. Results are paginated — use the Page Size parameter to control how many records are returned per page (max 50).
  • Configure the following parameters: Page Size — number of users to return per page (max 50).

The LearnUpon API paginates results. Nexla handles pagination automatically based on the configured page size. For large portals, use the maximum page size of 50 to minimize the number of API calls per run.

Get Enrollments

Retrieve course enrollment records from your LearnUpon portal, with optional filtering by user, course, and enrollment status.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/enrollments. Response data is extracted from $.enrollments[*].
  • Configure the following parameters: User ID — filter enrollments by a specific LearnUpon user ID (optional). Course ID — filter enrollments by a specific course ID (optional). Enrollment Status — filter by status. Options: In Progress, Passed, Failed, Pending. Page Size — number of enrollments per page (max 50).

Use the Enrollment Status filter to focus on specific completion states. For example, select "Passed" to retrieve only learners who have successfully completed a course, or leave all filters blank to retrieve the full enrollment dataset.

Get Courses

Retrieve all courses defined in your LearnUpon portal, including course names, descriptions, and configuration details.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/courses. Response data is extracted from $.courses[*]. Results are paginated.
  • Configure the following parameters: Page Size — number of courses to return per page (max 50).

This endpoint returns the course catalog for your portal. Use the course IDs from this dataset as input for the Get Enrollments endpoint to correlate enrollment data with specific courses.

Get Exam Results

Retrieve exam enrollment results for a specific exam module, including pass/fail status and scores for each learner who attempted the exam.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/exams/{exam_id}/enrollments. Response data is extracted from $.enrollments[*].
  • Configure the following parameters: Exam ID — the numeric ID of the exam module to retrieve results for (required). Page Size — number of exam results per page (max 50).

The Exam ID is required. You can find the exam module ID from the LearnUpon admin portal or by first running the Get Courses endpoint and identifying the associated exam IDs from the course data.

Get Exam Question Answers

Retrieve all learner answers to individual questions for a specific exam, enabling detailed analysis of question-level performance and response patterns.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/exams/{exam_id}/enrollment_questions. Response data is extracted from $.enrollment_questions[*].
  • Configure the following parameters: Exam ID — the numeric ID of the exam to retrieve learner answers for (required). Page Size — number of records per page (max 50).

This endpoint provides question-level detail, useful for identifying commonly missed questions or analyzing learner knowledge gaps across your training content.

Get Groups

Retrieve all learner groups defined in your LearnUpon portal, including group names and configuration settings.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/groups. Response data is extracted from $.groups[*]. Results are paginated.
  • Configure the following parameters: Page Size — number of groups to return per page (max 50).

Use the group IDs returned by this endpoint as input for the Get Group Memberships endpoint to retrieve user-group assignment data.

Get Group Memberships

Retrieve user-group membership records from your LearnUpon portal, with optional filtering by group ID to focus on a specific group.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/group_memberships. Response data is extracted from $.group_memberships[*].
  • Configure the following parameters: Group ID — filter memberships by a specific group ID (optional). Page Size — number of memberships per page (max 50).

Leave the Group ID blank to retrieve all group memberships across the portal. This endpoint is useful for syncing LearnUpon group assignments with external HR or access management systems.

Get Learning Paths

Retrieve all learning paths defined in your LearnUpon portal, including path names and the courses included in each path.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/learning_paths. Response data is extracted from $.learning_paths[*]. Results are paginated.
  • Configure the following parameters: Page Size — number of learning paths to return per page (max 50).

Use the learning path IDs from this endpoint as input for the Get Learning Path Enrollments endpoint to retrieve user enrollment data for each path.

Get Learning Path Enrollments

Retrieve all user enrollments for a specific learning path, including enrollment status and completion data for each learner assigned to the path.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/learning_path_enrollments. Response data is extracted from $.learning_path_enrollments[*].
  • Configure the following parameters: Learning Path ID — filter enrollments by a specific learning path ID (optional). Page Size — number of records per page (max 50).

Filtering by Learning Path ID is recommended for large portals with many learning paths. Leave it blank to retrieve all learning path enrollment records across the entire portal.

Get Audit Trails

Retrieve audit trail events for compliance monitoring, including user actions, login events, and administrative changes, filtered by date range.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/audit_trails. Response data is extracted from $.trails[*].
  • Configure the following parameters: From Date — start date filter for audit trail events (format: YYYY-MM-DD). To Date — end date filter (format: YYYY-MM-DD). Page Size — number of audit records per page (max 50).

Date filters are strongly recommended for this endpoint to avoid retrieving the full audit history on each run. Use incremental date windows to support ongoing compliance monitoring and audit reporting workflows.

Get Certifications

Retrieve all certificates issued to learners in your LearnUpon portal, including certificate details, issue dates, and the associated learner and course.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/certifications. Response data is extracted from $.certifications[*]. Results are paginated.
  • Configure the following parameters: Page Size — number of certifications to return per page (max 50).

This endpoint is useful for compliance reporting, credentialing systems, and HR integrations that track employee certification status.

Get Live Learning Events

Retrieve all live learning (instructor-led training) events and their associated sessions from your LearnUpon portal.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/live_learning_events. Response data is extracted from $.live_learning_events[*]. Results are paginated.
  • Configure the following parameters: Page Size — number of live learning events to return per page (max 50).

Each live learning event record includes associated session details. Use this endpoint to track ILT attendance, session scheduling, and instructor-led training completion alongside online course data.

Get Gamification Leaderboard

Retrieve the gamification leaderboard rankings for your LearnUpon portal, showing learner engagement scores and relative rankings.

  • Issues a GET request to https://{subdomain}.learnupon.com/api/v1/leaderboards. Response data is extracted from $.leaderboards[*]. Results are paginated.
  • Configure the following parameters: Page Size — number of leaderboard entries to return per page (max 50).

Gamification must be enabled in your LearnUpon portal for this endpoint to return data. This endpoint is useful for learner engagement analytics and incentive program reporting.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

LearnUpon data sources can also be manually configured to ingest data from any valid LearnUpon API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

The LearnUpon REST API base URL follows the format https://{subdomain}.learnupon.com/api/v1 (e.g., /users, /enrollments, /courses, /groups, /reports/course_completion). Responses wrap the primary data collection in a named top-level array — for example, $.users[*] for the /users endpoint — and may include pagination metadata (such as total_count or page) that can be preserved via the Metadata path setting. Authorization headers are not required, as Nexla automatically applies the HTTP Basic Authentication credentials configured in your LearnUpon credential. For a complete list of available endpoints, refer to the official LearnUpon API documentation.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new LearnUpon data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the LearnUpon destination, and select the Send to Destination option from the menu. Select the LearnUpon connector from the list of available destination connectors, then select the credential that will be used to connect to the LearnUpon organization, and click Next; or, create a new LearnUpon credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common LearnUpon endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create User

Create a new user account in your LearnUpon portal by sending a POST request with the required user details.

  • Issues a POST request to https://{subdomain}.learnupon.com/api/v1/users. The request body should include user fields such as first name, last name, email address, and password.
  • No additional parameters are required to configure this template beyond ensuring the Nexset data contains the required user fields.

Email addresses must be unique within the LearnUpon portal. If a user with the specified email already exists, the API will return an error. Consider using the Update User endpoint for existing users.

Update User

Update an existing user record in your LearnUpon portal by specifying the user ID and sending updated field values in the request body.

  • Issues a PUT request to https://{subdomain}.learnupon.com/api/v1/users/{user_id}. The user ID is passed as a path parameter.
  • Configure the following parameters: User ID — the numeric ID of the LearnUpon user to update (required).

The User ID must correspond to an existing user in the portal. Use the Get Users source endpoint to retrieve user IDs, or reference a lookup containing user IDs from a previous data flow step.

Create Enrollment

Enroll a user in a course in your LearnUpon portal by sending a POST request with the required user and course identifiers.

  • Issues a POST request to https://{subdomain}.learnupon.com/api/v1/enrollments. The request body should include the user ID and course ID to create the enrollment.
  • No additional parameters are required to configure this template beyond ensuring the Nexset data contains valid user IDs and course IDs.

Both the user ID and course ID must be valid existing records in the portal. Consider using the Get Users and Get Courses source endpoints to retrieve the required IDs before running this destination.

Create Group Membership

Add a user to a group in your LearnUpon portal by sending a POST request with the user ID and group ID.

  • Issues a POST request to add a group membership record in LearnUpon. The request body should include the user ID and the ID of the group to which the user should be added.
  • No additional parameters are required to configure this template beyond ensuring the Nexset data contains valid user IDs and group IDs.

Use the Get Groups source endpoint to retrieve group IDs before running this destination. Adding a user to a group may automatically trigger course assignments if the group has associated learning assignments configured.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to send a test payload to the LearnUpon API. The result will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the destination is configured correctly before saving.

Manual configuration

LearnUpon destinations can also be manually configured to send data to any valid LearnUpon API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

The LearnUpon API accepts JSON-formatted request bodies for write operations. The base URL follows the format https://{subdomain}.learnupon.com/api/v1 (e.g., /users to create users, /enrollments to enroll users in courses, /groups/{group_id}/memberships to add users to groups). For update or upsert operations, include the ID of the object to be updated at the end of the URL. Authorization headers are not required, as Nexla automatically applies the HTTP Basic Authentication credentials configured in your LearnUpon credential.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured LearnUpon endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to LearnUpon until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.