LearningApi
At least one user id or org id is required. The two can be mixed. In addition to userid and orgid search results can be filtered by other fields including the date enrolled and date completed. Please look at the model spec for the filter.
Results will be ordered by the enrollment date ({Nexport.WebApi.Model.v1.ApiEnrollmentItem.EnrollmentDate} from earliest to latest. ###Permissions Requires the View Section Enrollments and View Training Plan Enrollments Permission in the target user's owner organization or in the organization the enrollment belongs to. If a list of organizations is specified in the filter then you must have these permissions in all of the specified organizations.
The request page of results
(OBSOLETE) Left here for backwards compatibility please use the per_page parameter
Number of results to return on each page. If less than 1 or null the value will be reset to 30. If greater than 1000 then the the value will be reset to 1000
Use the AdminApi Authenticate method to get the access_token
Specify how to filter the search results for enrollments.
Limit the results to only enrollments for ANY of these users This field is ignored if no IDs are provided
Limit the results to only enrollments in syllabus' with ANY of these unique names. This field is ignored if no IDs are provided
Limit the results to only enrollments in ANY of these organizations (by ID). This field is ignored if no IDs are provided
Limit the results to only enrollments with any of these enrollment Ids. This field is ignored if no IDs are provided
Only return enrollments with a last activity date before this date
Only return enrollments with a last activity date after this date
Only return enrollments created before this date
Only return enrollments created AFTER this date
Only return enrollments completed before this date
Only return enrollments completed AFTER this date
Only return enrollments in any of these sylabus IDs. This field is ignored if no IDs are provided
Enrollment search results successfully returned
Not authorized to view subscriptions
Entity not found
Validation exception
POST /api/v1/LearningApi/SearchEnrollments HTTP/1.1
Host: www.nexportcampus.com
Content-Type: application/json
Accept: */*
Content-Length: 544
{
"user_ids": [
"00000000-0000-0000-0000-000000000000"
],
"syllabus_unique_names": [
"text"
],
"org_ids": [
"00000000-0000-0000-0000-000000000000"
],
"enrollment_ids": [
"00000000-0000-0000-0000-000000000000"
],
"utc_activity_before": "2025-09-13T09:48:23.257Z",
"utc_activity_after": "2025-09-13T09:48:23.257Z",
"utc_enrolled_before": "2025-09-13T09:48:23.257Z",
"utc_enrolled_after": "2025-09-13T09:48:23.257Z",
"utc_completed_before": "2025-09-13T09:48:23.257Z",
"utc_completed_after": "2025-09-13T09:48:23.257Z",
"syllabus_ids": [
"00000000-0000-0000-0000-000000000000"
]
}
{
"enrollments": [
{
"enrollment_id": "86cafa11-531d-4d0e-8837-6ebc3b59549e",
"enrollment_date": "2025-09-13T08:19:43.9821488Z",
"start_date": "2025-09-13T08:19:43.9821488Z",
"syllabus_id": "19a1647c-fd48-42f4-af09-3c589e9b75de",
"result": 0,
"phase": 0,
"user_id": "bf14cba2-e246-487b-a73b-3b1fcffae508"
},
{
"enrollment_id": "d38d029e-07b3-4fd9-aa46-23b049004092",
"enrollment_date": "2025-09-13T08:19:43.9821488Z",
"start_date": "2025-09-13T08:19:43.9821488Z",
"syllabus_id": "2c00f3f0-06e2-43d7-b76e-5f5ac030d235",
"result": 0,
"phase": 0,
"user_id": "157fa589-a28c-4525-b41d-9e4d309cbfe1"
},
{
"enrollment_id": "ec8c6135-1995-44c2-8d4a-d272ccafb26d",
"enrollment_date": "2025-09-13T08:19:43.9821488Z",
"start_date": "2025-09-13T08:19:43.9821488Z",
"syllabus_id": "07d06e20-1bbb-4f8a-8b5f-80e59ef5a825",
"result": 0,
"phase": 0,
"user_id": "30260e39-c0d1-49a2-a250-53df650b41b5"
}
],
"page": 1,
"page_size": 15,
"total_count": 3,
"api_error_entity": {
"error_code": 0,
"warning_messages": []
}
}
Returns a list of section enrollments based on the supplied search criteria. Must supply method with at least one of:
subscriber_id
syllabus_id
enrollment_id
syllabus_unique_name
If syllabus_id or enrollment_id is supplied, then org_id must also be supplied. Results are ordered by enrollment date from most recent to least recent. ###Permissions Requirements Requires the View Section Enrollments permission in the specified org or an ancestor, or the specified subscription org or an ancestor, or the enrollment subscription org or an ancestor.
Id of the organization to check permissions in for syllabus options
Id of the subscription that the section enrollments belong to
If provided then subscriber ID must not be sent
Id of a syllabus that belongs to the enrollments
Id of a particular section enrollment
Unique name of a syllabus that belongs to the enrollment
Which page of results to start on
How many results to show per page
Use the AdminApi Authenticate method to get the access_token
List of section enrollments
Not authorized to view section enrollments
Entity not found
If a required field is missing OR both userid AND subscriberid are provided
GET /api/v1/LearningApi/GetSectionEnrollments HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"section": {
"section_number": "text",
"section_ceus": "text",
"section_duration": "text",
"syllabus_id": "00000000-0000-0000-0000-000000000000",
"title": "text",
"unique_name": "text",
"utc_date_created": "2025-09-13T09:48:23.257Z",
"utc_date_last_modified": "2025-09-13T09:48:23.257Z",
"hidden": true,
"disable_certificates_for_student": true,
"allow_drops": true,
"auto_enroll_new_members": true,
"end_after_period_from_enrollment_start": true,
"enrollment_duration": 1,
"enrollment_start": "2025-09-13T09:48:23.257Z",
"enrollment_end": "2025-09-13T09:48:23.257Z",
"final_drop_date": "2025-09-13T09:48:23.257Z",
"training_start": "2025-09-13T09:48:23.257Z",
"training_end": "2025-09-13T09:48:23.257Z",
"disable_manual_enrollment": true,
"credit_hours": 1,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
},
"enrollment_day": 1,
"enrollment_month": 1,
"enrollment_year": 1,
"subscription_id": "00000000-0000-0000-0000-000000000000",
"title": "text",
"number": "text",
"assignment_count": 1,
"completed_assignment_count": 1,
"percent_assignments_complete": 1,
"weighted_score": 1,
"max_weighted_score": 1,
"enrollment_id": "00000000-0000-0000-0000-000000000000",
"enrollment_date": "2025-09-13T09:48:23.257Z",
"start_date": "2025-09-13T09:48:23.257Z",
"expiration_date": "2025-09-13T09:48:23.257Z",
"completion_date": "2025-09-13T09:48:23.257Z",
"syllabus_id": "00000000-0000-0000-0000-000000000000",
"unique_name": "text",
"first_activity_date": "2025-09-13T09:48:23.257Z",
"last_activity_date": "2025-09-13T09:48:23.257Z",
"result": 0,
"phase": 0,
"user_id": "00000000-0000-0000-0000-000000000000",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]
Returns a list of training plan enrollments based on the supplied search criteria. Must supply method with at least one of:
subscriber_id
user_id
syllabus_id
enrollment_id
syllabus_unique_name If syllabus_id or enrollment_id is supplied, then org_id must also be supplied. Results are ordered by enrollment date from most recent to least recent. Requires the View Training Plan Enrollments permission in the specified org or an ancestor, or the specified subscription org or an ancestor, or the enrollment subscription org or an ancestor. ###Permissions Requirements Requires the View Training Plan Enrollments permission in the specified org or an ancestor, or the specified subscription org or an ancestor, or the enrollment subscription org or an ancestor.
Id of the organization to check permissions in for syllabus options
Id of the subscription that the training plan enrollments belong to
Id of a syllabus that belongs to the enrollments
Id of a particular training plan enrollment
Unique name of a syllabus that belongs to the enrollment
Which page of results to start on
How many results to show per page
Use the AdminApi Authenticate method to get the access_token
List of training plan enrollments
Not authorized to view training plan enrollments
Entity not found
Validation exception
GET /api/v1/LearningApi/GetTrainingPlanEnrollments HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"subscription_id": "00000000-0000-0000-0000-000000000000",
"name": "text",
"percent_requirements_fulfilled": 1,
"ed2go_registration_key": "text",
"average_score": 1,
"grade_point_average": 1,
"enrollment_id": "00000000-0000-0000-0000-000000000000",
"enrollment_date": "2025-09-13T09:48:23.257Z",
"start_date": "2025-09-13T09:48:23.257Z",
"expiration_date": "2025-09-13T09:48:23.257Z",
"completion_date": "2025-09-13T09:48:23.257Z",
"syllabus_id": "00000000-0000-0000-0000-000000000000",
"unique_name": "text",
"first_activity_date": "2025-09-13T09:48:23.257Z",
"last_activity_date": "2025-09-13T09:48:23.257Z",
"result": 0,
"phase": 0,
"user_id": "00000000-0000-0000-0000-000000000000",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]
Gets all the custom enrollment fields available to an organization, or a field matching an id
in a given org. Will throw a CustomFieldNotFound exception if no custom profile field exists
with the given field id.
Id of the organization to get the custom enrollment fields for
Optional field id to filter by
Use the AdminApi Authenticate method to get the access_token
List of custom enrollment fields
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetCustomEnrollmentFields HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"field_id": "00000000-0000-0000-0000-000000000000",
"name": "text",
"key": "text",
"description": "text",
"type": 0,
"org_id": "00000000-0000-0000-0000-000000000000",
"org_short_name": "text",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]
Gets the default custom enrollment field setting for the given organization and field, and optionally filters by syllabus. Will throw a CustomFieldNotFound exception if no custom profile field exists with the given field id. Returns null if no default setting is found.
Id of an organization that the field is in
Id of the custom enrollment field
Optional id of the syllabus to get the default field setting for
Use the AdminApi Authenticate method to get the access_token
Custom enrollment field and default setting
Profile Field was not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetDefaultCustomEnrollmentFieldSetting HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"field_id": "00000000-0000-0000-0000-000000000000",
"name": "text",
"key": "text",
"default_value": "text",
"setting_org_id": "00000000-0000-0000-0000-000000000000",
"setting_org_short_name": "text",
"field_org_id": "00000000-0000-0000-0000-000000000000",
"field_org_short_name": "text",
"type": 0,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Gets all custom enrollment field values based on the given criteria, with DateTime fields being in UTC. Valid argument combinations are:
enrollment_id
subscriber_id and syllabus_id
enrollment_id and key
subscriber_id, syllabus_id, and key. ###Permissions Requirements Requires the View Section Enrollments permission in the enrollment organization.
Id of the enrollment to get the custom enrollment field values for
Id of the subscription to get the custom enrollment field values for
Id of the section or training plan to get the custom enrollment field values for
Key of the custom enrollment field to get the value for
Use the AdminApi Authenticate method to get the access_token
List of custom enrollment field values
Not authorized to view section enrollments
Entity not found
Validation exception
GET /api/v1/LearningApi/GetCustomEnrollmentFieldValues HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"name": "text",
"key": "text",
"value": "text",
"org_id": "00000000-0000-0000-0000-000000000000",
"org_short_name": "text",
"inherited_from_org_id": "00000000-0000-0000-0000-000000000000",
"inherited_from_org_short_name": "text",
"field_id": "00000000-0000-0000-0000-000000000000",
"type": 0,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]
Sets the custom enrollment field values for a subscription based on the enrollment id and key/value pairs in the request. ###Permissions Requires the Update Section Enrollments permission in the enrollment subscription organization.
Use the AdminApi Authenticate method to get the access_token
Contains id of the enrollment and the custom fields/values to set
Id of the enrollment to set custom fields/values for
00000000-0000-0000-0000-000000000000
Information about whether an error occurred (in the case of a nonexistent field being passed in, not an exception)
Not authorized to update section enrollments
Entity not found
Validation exception. See response body for more info.
POST /api/v1/LearningApi/SetCustomEnrollmentFieldValues HTTP/1.1
Host: www.nexportcampus.com
Content-Type: application/json
Accept: */*
Content-Length: 124
{
"enrollment_id": "00000000-0000-0000-0000-000000000000",
"custom_enrollment_field_values": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
{
"error": true,
"message": "text",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Allows a user to drop an enrollment. Will create a drop record on the user's transcript. Requires either the Drop Section Enrollments or Drop Training Plan Enrollments permission in the enrollment organization or an ancestor.
Id of the enrollment to drop
Use the AdminApi Authenticate method to get the access_token
Enrollment id and whether the enrollment has been dropped
Not authorized to drop enrollments, or enrollment does not allow drops
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/DropEnrollment HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"enrollment_id": "00000000-0000-0000-0000-000000000000",
"is_dropped_or_deleted": true,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Deleted Enrollments Will no longer be visible on the user's transcript, but will create a deleted record visible to admins. ###Permissions Requires either the Delete Section Enrollments or Drop Training Plan Enrollments permission in the enrollment organization or an ancestor. Customer service can delete section enrollments and system operators can delete training plan enrollments.
Id of the enrollment to delete
Use the AdminApi Authenticate method to get the access_token
Enrollment id and whether it has been deleted
Not authorized to delete enrollments
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/DeleteEnrollment HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"enrollment_id": "00000000-0000-0000-0000-000000000000",
"is_dropped_or_deleted": true,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Creates a enrollment with the information specified by request. ###Permissions Requires the Update Section Enrollments or Update Training Plan Enrollments permission based on the specified syllabus in the specified org or any ancestors. Also requires the Add Subscriptions and Add Memberships permissions if there is no pre-existing subscription or memberships. A membership is required in the syllabus organization or in an organization to which the catalog is shared.
Use the AdminApi Authenticate method to get the access_token
Contains fields for creating a new enrollment
Id of the enrollment's organization
00000000-0000-0000-0000-000000000000
The user id to create the enrollment for
00000000-0000-0000-0000-000000000000
The syllabus id to create the enrollment in
00000000-0000-0000-0000-000000000000
The syllabus unique name to create the enrollment in
Membership group ids to give the user a membership in
Id of created enrollment
Not authorized to create an enrollment
Entity not found or duplicate enrollment
Validation exception
POST /api/v1/LearningApi/CreateEnrollment HTTP/1.1
Host: www.nexportcampus.com
Content-Type: application/json
Accept: */*
Content-Length: 245
{
"org_id": "00000000-0000-0000-0000-000000000000",
"user_id": "00000000-0000-0000-0000-000000000000",
"syllabus_id": "00000000-0000-0000-0000-000000000000",
"syllabus_unique_name": "text",
"membership_group_ids": [
"00000000-0000-0000-0000-000000000000"
]
}
{
"enrollment_id": "00000000-0000-0000-0000-000000000000",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Use either enrollment_id OR both subscription_id and section_id. Can optionally filter by a specific assignment.
Results are ordered by assignment status creation date from most recent to least recent. ###Permissions Requires the View Enrollments permission in the enrollment/subscription org or an ancestor.
Section enrollment to get statuses for
Id of the subscription for a section enrollment
Id of the section for a section enrollment
Optional assignment to filter by
Which page of results to start on
How many results to show per page
Use the AdminApi Authenticate method to get the access_token
List of assignment statuses
Not authorized to view section enrollments
Entity not found
Validation exception
GET /api/v1/LearningApi/GetAssignmentStatuses HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"assignment_status_id": "00000000-0000-0000-0000-000000000000",
"phase": 0,
"result": 0,
"resubmit_required_reason": "text",
"academic_override": true,
"academic_override_reason": "text",
"utc_creation_date": "2025-09-13T09:48:23.257Z",
"utc_first_activity_date": "2025-09-13T09:48:23.257Z",
"utc_last_activity_date": "2025-09-13T09:48:23.257Z",
"utc_completion_date": "2025-09-13T09:48:23.257Z",
"academic_override_admin_id": "00000000-0000-0000-0000-000000000000",
"grade_given_by_id": "00000000-0000-0000-0000-000000000000",
"assignment_id": "00000000-0000-0000-0000-000000000000",
"enrollment_id": "00000000-0000-0000-0000-000000000000",
"user_id": "00000000-0000-0000-0000-000000000000",
"enrollment_score": 1,
"enrollment_max_score": 1,
"assignment_score": 1,
"assignment_max_score": 1,
"assignment_mastery_score": 1,
"assignment_weight": 1,
"assignment_weighted_score": 1,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]
Gets the url for a completed certificate for a given enrollment. If the enrollment has been deleted, it will attempt to get the certificate based on the transcript record for that enrollment.
Id of the enrollment
Use the AdminApi Authenticate method to get the access_token
Url of completed certificate file
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetCertificateUrl HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"certificate_url": "text",
"certificate_ready": true,
"certificate_not_assigned": true,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Either a productid or a syllabus ID must be given but not both.
Id of the syllabus
The Product ID from a catalog
Use the AdminApi Authenticate method to get the access_token
Section information
Section or Product ID is not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetSection HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"section_number": "text",
"section_ceus": "text",
"section_duration": "text",
"syllabus_id": "00000000-0000-0000-0000-000000000000",
"title": "text",
"unique_name": "text",
"utc_date_created": "2025-09-13T09:48:23.257Z",
"utc_date_last_modified": "2025-09-13T09:48:23.257Z",
"hidden": true,
"disable_certificates_for_student": true,
"allow_drops": true,
"auto_enroll_new_members": true,
"end_after_period_from_enrollment_start": true,
"enrollment_duration": 1,
"enrollment_start": "2025-09-13T09:48:23.257Z",
"enrollment_end": "2025-09-13T09:48:23.257Z",
"final_drop_date": "2025-09-13T09:48:23.257Z",
"training_start": "2025-09-13T09:48:23.257Z",
"training_end": "2025-09-13T09:48:23.257Z",
"disable_manual_enrollment": true,
"credit_hours": 1,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Gets a list of sections that matches the list of section IDs provided.
The number of returned sections may not match the number requested. If the list contains duplicates only one entry will be returned.
Use the AdminApi Authenticate method to get the access_token
List of section IDs of sections to return
List of Sections
Entity not found
List of IDs is empty List contains null oe empty value The list contains more than 1000 entries One or more Sections could not be found.
POST /api/v1/LearningApi/GetSections HTTP/1.1
Host: www.nexportcampus.com
Content-Type: application/json
Accept: */*
Content-Length: 131
{
"sections": [
"138cfdd5-bf56-48a2-9353-ab0925ec3497",
"a5ecb37b-dfdf-459b-8b96-59139b5231c8",
"66a7c8c2-95cb-4a4c-aa0e-a7c3c89dcad4"
]
}
{
"sections": [
{
"section_number": "SN 01 blIMB",
"section_ceus": ".2 CEUs",
"section_duration": "2 hours",
"id": "b73d7c2c-ad35-43dd-a07d-89d4e67785f6",
"syllabus_id": "b73d7c2c-ad35-43dd-a07d-89d4e67785f6",
"title": "Sample title",
"unique_name": "Sample name",
"utc_date_created": "2015-11-25T19:25:24.731+00:00",
"utc_date_last_modified": "2015-12-25T19:25:24.731+00:00",
"hidden": false,
"disable_certificates_for_student": false,
"allow_drops": false,
"auto_enroll_new_members": false,
"enrollment_duration": 3,
"enrollment_start": "2015-12-15T19:25:24.731+00:00",
"enrollment_end": "2016-04-23T19:25:24.731+00:00",
"final_drop_date": "2016-04-23T19:25:24.731+00:00",
"training_start": "2015-12-25T19:25:24.731+00:00",
"training_end": "2016-04-23T19:25:24.731+00:00",
"disable_manual_enrollment": false,
"credit_hours": 5,
"api_error_entity": {
"error_code": 0,
"warning_messages": []
}
},
{
"section_number": "SN 01 HJXfX",
"section_ceus": ".2 CEUs",
"section_duration": "2 hours",
"id": "fdd62cbf-c198-4701-b732-c0a361c4fbb0",
"syllabus_id": "fdd62cbf-c198-4701-b732-c0a361c4fbb0",
"title": "Sample title",
"unique_name": "Sample name",
"utc_date_created": "2015-11-25T19:25:24.731+00:00",
"utc_date_last_modified": "2015-12-25T19:25:24.731+00:00",
"hidden": false,
"disable_certificates_for_student": false,
"allow_drops": false,
"auto_enroll_new_members": false,
"enrollment_duration": 3,
"enrollment_start": "2015-12-15T19:25:24.731+00:00",
"enrollment_end": "2016-04-23T19:25:24.731+00:00",
"final_drop_date": "2016-04-23T19:25:24.731+00:00",
"training_start": "2015-12-25T19:25:24.731+00:00",
"training_end": "2016-04-23T19:25:24.731+00:00",
"disable_manual_enrollment": false,
"credit_hours": 5,
"api_error_entity": {
"error_code": 0,
"warning_messages": []
}
},
{
"section_number": "SN 01 UxlZx",
"section_ceus": ".2 CEUs",
"section_duration": "2 hours",
"id": "bb6b4154-8574-4fba-b1c9-4f230f8b26b7",
"syllabus_id": "bb6b4154-8574-4fba-b1c9-4f230f8b26b7",
"title": "Sample title",
"unique_name": "Sample name",
"utc_date_created": "2015-11-25T19:25:24.731+00:00",
"utc_date_last_modified": "2015-12-25T19:25:24.731+00:00",
"hidden": false,
"disable_certificates_for_student": false,
"allow_drops": false,
"auto_enroll_new_members": false,
"enrollment_duration": 3,
"enrollment_start": "2015-12-15T19:25:24.731+00:00",
"enrollment_end": "2016-04-23T19:25:24.731+00:00",
"final_drop_date": "2016-04-23T19:25:24.731+00:00",
"training_start": "2015-12-25T19:25:24.731+00:00",
"training_end": "2016-04-23T19:25:24.731+00:00",
"disable_manual_enrollment": false,
"credit_hours": 5,
"api_error_entity": {
"error_code": 0,
"warning_messages": []
}
},
{
"section_number": "SN 01 RTQQk",
"section_ceus": ".2 CEUs",
"section_duration": "2 hours",
"id": "2c760d8c-df8f-4fb3-96a9-72454079b3f4",
"syllabus_id": "2c760d8c-df8f-4fb3-96a9-72454079b3f4",
"title": "Sample title",
"unique_name": "Sample name",
"utc_date_created": "2015-11-25T19:25:24.731+00:00",
"utc_date_last_modified": "2015-12-25T19:25:24.731+00:00",
"hidden": false,
"disable_certificates_for_student": false,
"allow_drops": false,
"auto_enroll_new_members": false,
"enrollment_duration": 3,
"enrollment_start": "2015-12-15T19:25:24.731+00:00",
"enrollment_end": "2016-04-23T19:25:24.731+00:00",
"final_drop_date": "2016-04-23T19:25:24.731+00:00",
"training_start": "2015-12-25T19:25:24.731+00:00",
"training_end": "2016-04-23T19:25:24.731+00:00",
"disable_manual_enrollment": false,
"credit_hours": 5,
"api_error_entity": {
"error_code": 0,
"warning_messages": []
}
}
],
"api_error_entity": {
"error_code": 0,
"warning_messages": []
}
}
Id of the section
Use the AdminApi Authenticate method to get the access_token
Section description
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetSectionDescription HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"description": "text",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Id of the section
Use the AdminApi Authenticate method to get the access_token
Section objectives
Section not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetSectionObjectives HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"objectives": "text",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Returns the student sessions in section assignments.
An Assignment Session accounts for the time a student spends in an assignment. If a student is in an assignment and is inactive for more than 10 minutes then a new session will be recording on their next activity.
###Permissions The API user must have the "Can View Enrollments" permission on the given org.
Use the AdminApi Authenticate method to get the access_token
Request Message for retrieving student sessions
User ID of the student sessions being searched for being searched
00000000-0000-0000-0000-000000000000
00000000-0000-0000-0000-000000000000
If provided then the results will be limited to this one section id
00000000-0000-0000-0000-000000000000
Successfully returned the requested sessions
The user or organization were not found
Validation exception. See response body for more info.
POST /api/v1/LearningApi/GetStudentSessions HTTP/1.1
Host: www.nexportcampus.com
Content-Type: application/json
Accept: */*
Content-Length: 216
{
"user_id": "15b7120f-1354-4d8d-bbf7-768f1e184693",
"org_id": "3f8c08bc-e009-471c-802c-09f0d814bf59",
"from_date": "2025-08-14T08:19:44.0871481Z",
"to_date": "2025-09-03T08:19:44.0871481Z",
"paging": {
"page": 1,
"per_page": 15
}
}
{
"sessions": [],
"page": 5,
"page_size": 15,
"total_count": 28,
"api_error_entity": {
"error_code": 0,
"warning_messages": []
}
}
Id of the training plan
A product id from any catalog this training plan is in
Use the AdminApi Authenticate method to get the access_token
Training plan information
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetTrainingPlan HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"org_id": "00000000-0000-0000-0000-000000000000",
"name": "text",
"root_requirement_id": "00000000-0000-0000-0000-000000000000",
"syllabus_id": "00000000-0000-0000-0000-000000000000",
"title": "text",
"unique_name": "text",
"utc_date_created": "2025-09-13T09:48:23.257Z",
"utc_date_last_modified": "2025-09-13T09:48:23.257Z",
"hidden": true,
"disable_certificates_for_student": true,
"allow_drops": true,
"auto_enroll_new_members": true,
"end_after_period_from_enrollment_start": true,
"enrollment_duration": 1,
"enrollment_start": "2025-09-13T09:48:23.257Z",
"enrollment_end": "2025-09-13T09:48:23.257Z",
"final_drop_date": "2025-09-13T09:48:23.257Z",
"training_start": "2025-09-13T09:48:23.257Z",
"training_end": "2025-09-13T09:48:23.257Z",
"disable_manual_enrollment": true,
"credit_hours": 1,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Use the AdminApi Authenticate method to get the access_token
Training plan description
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetTrainingPlanDescription HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"description": "text",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Gets a list of assignments for the corresponding section.
Assignments are sorted first by display order from lowest to highest,
then by the date they were added from most least recent to most recent.
Which page of results to start on
Use the AdminApi Authenticate method to get the access_token
List of assignments
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetAssignments HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"assignment_id": "00000000-0000-0000-0000-000000000000",
"title": "text",
"pacing_duration_hours": 1,
"weight": 1,
"due_date_deduction": 1,
"due_date_strategy": 0,
"utc_due_date": "2025-09-13T09:48:23.257Z",
"utc_start_date": "2025-09-13T09:48:23.257Z",
"lock_out_hours": 1,
"utc_date_modified": "2025-09-13T09:48:23.257Z",
"utc_date_added": "2025-09-13T09:48:23.257Z",
"grading_strategy": 0,
"max_score": 1,
"mastery_score": 1,
"display_order": 1,
"assignment_type": "text",
"attempt_limit": 1,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]
Use the AdminApi Authenticate method to get the access_token
Assignment information
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetAssignment HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"assignment_id": "00000000-0000-0000-0000-000000000000",
"title": "text",
"pacing_duration_hours": 1,
"weight": 1,
"due_date_deduction": 1,
"due_date_strategy": 0,
"utc_due_date": "2025-09-13T09:48:23.257Z",
"utc_start_date": "2025-09-13T09:48:23.257Z",
"lock_out_hours": 1,
"utc_date_modified": "2025-09-13T09:48:23.257Z",
"utc_date_added": "2025-09-13T09:48:23.257Z",
"grading_strategy": 0,
"max_score": 1,
"mastery_score": 1,
"display_order": 1,
"assignment_type": "text",
"attempt_limit": 1,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Returns instructions for a given assignment.
The text for the instructions will be the raw VTL template.
Use the AdminApi Authenticate method to get the access_token
Assignment instructions
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetAssignmentInstructions HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"assignment_instructions": "text",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
OBSOLETE
Use AdminApi/GetOrganizations instead
Returns a list of sub organizations (as well as the parent organization)
corresponding to the given id or short name. Each item in the list will contain
the org id, org name, and org short name.
Results are in alphabetical order by org name.
Which page of results to start on
Use the AdminApi Authenticate method to get the access_token
List of organizations
Entity not found
Validation exception
GET /api/v1/LearningApi/GetOrganizations HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"org_id": "00000000-0000-0000-0000-000000000000",
"name": "text",
"short_name": "text",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]
Returns information about catalogs matching the specified search criteria.
Results are ordered alphabetically by catalog name.
Which page of results to start on
Use the AdminApi Authenticate method to get the access_token
Contains information for retrieving catalog data
Id of group or organization
00000000-0000-0000-0000-000000000000
The publishing model for the catalogs. Will grab all by default if not specified. AvailableToMembers=0; ForSaleInMarketPlace=1; Hidden=2;0 = AvailableToMembers, 1 = ForSaleInMarketPlace, 2 = Hidden
The accessing option for listing the catalogs. Default to shared catalogs if not specified. Shared=0; Owned=1; Both=2;0 = Shared, 1 = Owned, 2 = Both
Response containing list of catalogs
Entity not found
Validation exception. See response body for more info.
POST /api/v1/LearningApi/GetCatalogs HTTP/1.1
Host: www.nexportcampus.com
Content-Type: application/json
Accept: */*
Content-Length: 98
{
"group_id": "00000000-0000-0000-0000-000000000000",
"publishing_model": 0,
"catalog_access_option": 0
}
{
"catalogs": [
{
"org_id": "00000000-0000-0000-0000-000000000000",
"org_name": "text",
"org_short_name": "text",
"catalog_id": "00000000-0000-0000-0000-000000000000",
"is_enabled": true,
"name": "text",
"date_created": "2025-09-13T09:48:23.257Z",
"owner_id": "00000000-0000-0000-0000-000000000000",
"owner_name": "text",
"modified_by_id": "00000000-0000-0000-0000-000000000000",
"last_modified": "2025-09-13T09:48:23.257Z",
"pricing_model": 0,
"access_time_limit": "text",
"publishing_model": 0
}
],
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Use the AdminApi Authenticate method to get the access_token
Catalog information
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetCatalog HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"org_id": "00000000-0000-0000-0000-000000000000",
"org_name": "text",
"org_short_name": "text",
"catalog_id": "00000000-0000-0000-0000-000000000000",
"is_enabled": true,
"name": "text",
"date_created": "2025-09-13T09:48:23.257Z",
"owner_id": "00000000-0000-0000-0000-000000000000",
"owner_name": "text",
"modified_by_id": "00000000-0000-0000-0000-000000000000",
"last_modified": "2025-09-13T09:48:23.257Z",
"pricing_model": 0,
"access_time_limit": "text",
"publishing_model": 0
}
Use the AdminApi Authenticate method to get the access_token
Description of the catalog
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetCatalogDescription HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"description": "text",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Use the AdminApi Authenticate method to get the access_token
Credit hours of the catalog
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetCatalogCreditHours HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
{
"credit_hours": 1,
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
Returns a list of categories for a given catalog.
Results are ordered by the category creation date from most recent to least recent.
Which page of results to start on
Use the AdminApi Authenticate method to get the access_token
List of categories
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetCategories HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"category_id": "00000000-0000-0000-0000-000000000000",
"name": "text",
"catalog_id": "00000000-0000-0000-0000-000000000000",
"org_id": "00000000-0000-0000-0000-000000000000",
"parent_category_id": "00000000-0000-0000-0000-000000000000",
"date_created": "2025-09-13T09:48:23.257Z"
}
]
Gets a list of syllabus ids, names, and types for syllabi that belong to the catalog.
Results are ordered alphabetically by syllabus title.
Which page of results to start on
Use the AdminApi Authenticate method to get the access_token
List of syllabi
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetCatalogSyllabi HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"syllabus_id": "00000000-0000-0000-0000-000000000000",
"syllabus_name": "text",
"syllabus_type": 0,
"product_id": "00000000-0000-0000-0000-000000000000",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]
Gets a list of syllabus ids, names, and types for syllabi that belong to the given category. Results are ordered alphabetically by syllabus title.
Which page of results to start on
Use the AdminApi Authenticate method to get the access_token
List of syllabi
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetCategorySyllabi HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"syllabus_id": "00000000-0000-0000-0000-000000000000",
"syllabus_name": "text",
"syllabus_type": 0,
"product_id": "00000000-0000-0000-0000-000000000000",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]
OBSOLETE
Use AssessmentApi/GetTestAttempts instead
Gets a list of test attempts for the given section enrollment and assignment.
Results are ordered by attempt index from highest (most recent attempt) to lowest (least recent attempt).
Requires at least one of the following:
User has View Section Enrollments permission in enrollment organization or an ancestor
OR
User has Update Section Enrollments permission in enrollment organization or an ancestor
OR
User is an instructor for the section that the assignment is in.
Which page of results to start on
Use the AdminApi Authenticate method to get the access_token
List of test attempts
Not authorized to view test attempts
Entity not found
Validation exception. See response body for more info.
GET /api/v1/LearningApi/GetTestAttempts HTTP/1.1
Host: www.nexportcampus.com
Accept: */*
[
{
"attempt_id": "00000000-0000-0000-0000-000000000000",
"attempt_index": 1,
"start_date": "2025-09-13T09:48:23.257Z",
"last_time_left_update": "2025-09-13T09:48:23.257Z",
"finish_date": "2025-09-13T09:48:23.257Z",
"allow_relaunch": true,
"time_left": "text",
"num_questions": 1,
"is_complete": true,
"score": 1,
"comments": "text",
"proctor_response_item": {
"proctor_id": "00000000-0000-0000-0000-000000000000",
"proctor_user_id": "00000000-0000-0000-0000-000000000000",
"proctor_code": "text",
"proctor_first_name": "text",
"proctor_last_name": "text",
"organization_access_code_id": "00000000-0000-0000-0000-000000000000",
"access_code": "text",
"date_proctored": "2025-09-13T09:48:23.257Z",
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
},
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]
OBSOLETE
Use ScormApi/GetCmiData instead
Gets data for the specified SCORM CMI fields based on the element names.
Results are ordered alphabetically by SCO ID.
Requires the View Section Enrollments permission in the enrollment organization or an ancestor.
Which page of results to start on
Use the AdminApi Authenticate method to get the access_token
Contains information for filtering which SCORM CMI data to retrieve
Id of the enrollment to get SCORM data for
00000000-0000-0000-0000-000000000000
Id of the assignment to get SCORM data for
00000000-0000-0000-0000-000000000000
List of CMI element names to get data for
List of SCOs and corresponding CMI data
Not authorized to view section enrollments
Entity not found
Validation exception. See response body for more info.
POST /api/v1/LearningApi/GetCmiData HTTP/1.1
Host: www.nexportcampus.com
Content-Type: application/json
Accept: */*
Content-Length: 140
{
"enrollment_id": "00000000-0000-0000-0000-000000000000",
"assignment_id": "00000000-0000-0000-0000-000000000000",
"cmi_element_names": [
"text"
]
}
[
{
"title": "text",
"sco_id": "text",
"start_date_utc": "2025-09-13T09:48:23.257Z",
"exit_date_utc": "2025-09-13T09:48:23.257Z",
"cmi_fields": [
{
"cmi_element_name": "text",
"cmi_element_value": "text",
"error_message": "text"
}
],
"api_error_entity": {
"error_code": 0,
"error_message": "text",
"warning_messages": [
"text"
]
}
}
]