LearningApi

Search for enrollments by filtering on specific properties

post

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.

Query parameters
pageinteger · int32Optional

The request page of results

paer_pageinteger · int32Optional

(OBSOLETE) Left here for backwards compatibility please use the per_page parameter

per_pageinteger · int32Optional

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

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Body

Specify how to filter the search results for enrollments.

user_idsstring · uuid[]Optional

Limit the results to only enrollments for ANY of these users This field is ignored if no IDs are provided

syllabus_unique_namesstring[]Optional

Limit the results to only enrollments in syllabus' with ANY of these unique names. This field is ignored if no IDs are provided

org_idsstring · uuid[]Optional

Limit the results to only enrollments in ANY of these organizations (by ID). This field is ignored if no IDs are provided

enrollment_idsstring · uuid[]Optional

Limit the results to only enrollments with any of these enrollment Ids. This field is ignored if no IDs are provided

utc_activity_beforestring · date-timeOptional

Only return enrollments with a last activity date before this date

utc_activity_afterstring · date-timeOptional

Only return enrollments with a last activity date after this date

utc_enrolled_beforestring · date-timeOptional

Only return enrollments created before this date

utc_enrolled_afterstring · date-timeOptional

Only return enrollments created AFTER this date

utc_completed_beforestring · date-timeOptional

Only return enrollments completed before this date

utc_completed_afterstring · date-timeOptional

Only return enrollments completed AFTER this date

syllabus_idsstring · uuid[]Optional

Only return enrollments in any of these sylabus IDs. This field is ignored if no IDs are provided

Responses
200

Enrollment search results successfully returned

post
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.

get

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.

Query parameters
org_idstring · uuidOptional

Id of the organization to check permissions in for syllabus options

subscriber_idstring · uuidOptional

Id of the subscription that the section enrollments belong to

user_idstring · uuidOptional

If provided then subscriber ID must not be sent

syllabus_idstring · uuidOptional

Id of a syllabus that belongs to the enrollments

enrollment_idstring · uuidOptional

Id of a particular section enrollment

syllabus_unique_namestringOptional

Unique name of a syllabus that belongs to the enrollment

pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional

How many results to show per page

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of section enrollments

get
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

get

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.

Query parameters
org_idstring · uuidOptional

Id of the organization to check permissions in for syllabus options

subscriber_idstring · uuidOptional

Id of the subscription that the training plan enrollments belong to

user_idstring · uuidOptional
syllabus_idstring · uuidOptional

Id of a syllabus that belongs to the enrollments

enrollment_idstring · uuidOptional

Id of a particular training plan enrollment

syllabus_unique_namestringOptional

Unique name of a syllabus that belongs to the enrollment

pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional

How many results to show per page

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of training plan enrollments

get
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.

get
Query parameters
org_idstring · uuidRequired

Id of the organization to get the custom enrollment fields for

field_idstring · uuidOptional

Optional field id to filter by

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of custom enrollment fields

get
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

get

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.

Query parameters
org_idstring · uuidRequired

Id of an organization that the field is in

field_idstring · uuidRequired

Id of the custom enrollment field

syllabus_idstring · uuidOptional

Optional id of the syllabus to get the default field setting for

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Custom enrollment field and default setting

get
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

get

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.

Query parameters
enrollment_idstring · uuidOptional

Id of the enrollment to get the custom enrollment field values for

subscriber_idstring · uuidOptional

Id of the subscription to get the custom enrollment field values for

syllabus_idstring · uuidOptional

Id of the section or training plan to get the custom enrollment field values for

keystringOptional

Key of the custom enrollment field to get the value for

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of custom enrollment field values

get
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

post

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.

Query parameters
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Body

Contains id of the enrollment and the custom fields/values to set

enrollment_idstring · uuidRequired

Id of the enrollment to set custom fields/values for

Example: 00000000-0000-0000-0000-000000000000
Responses
200

Information about whether an error occurred (in the case of a nonexistent field being passed in, not an exception)

post
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"
    ]
  }
}

Drop an enrollment.

get

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.

Query parameters
enrollment_idstring · uuidRequired

Id of the enrollment to drop

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Enrollment id and whether the enrollment has been dropped

get
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"
    ]
  }
}

Allows a user to delete an enrollment.

get

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.

Query parameters
enrollment_idstring · uuidRequired

Id of the enrollment to delete

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Enrollment id and whether it has been deleted

get
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.

post

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.

Query parameters
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Body

Contains fields for creating a new enrollment

org_idstring · uuidRequired

Id of the enrollment's organization

Example: 00000000-0000-0000-0000-000000000000
user_idstring · uuidRequired

The user id to create the enrollment for

Example: 00000000-0000-0000-0000-000000000000
syllabus_idstring · uuidOptional

The syllabus id to create the enrollment in

Example: 00000000-0000-0000-0000-000000000000
syllabus_unique_namestringOptional

The syllabus unique name to create the enrollment in

membership_group_idsstring · uuid[]Required

Membership group ids to give the user a membership in

Responses
200

Id of created enrollment

post
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"
    ]
  }
}

Gets assignment statuses for a section enrollment.

get

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.

Query parameters
enrollment_idstring · uuidOptional

Section enrollment to get statuses for

subscription_idstring · uuidOptional

Id of the subscription for a section enrollment

section_idstring · uuidOptional

Id of the section for a section enrollment

assignment_idstring · uuidOptional

Optional assignment to filter by

pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional

How many results to show per page

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of assignment statuses

get
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.

get

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.

Query parameters
enrollment_idstring · uuidRequired

Id of the enrollment

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Url of completed certificate file

get
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"
    ]
  }
}

Gets relevant section information for a given syllabus.

get

Either a productid or a syllabus ID must be given but not both.

Query parameters
syllabus_idstring · uuidOptional

Id of the syllabus

product_idstring · uuidOptional

The Product ID from a catalog

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Section information

get
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.

post

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.

Query parameters
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Body
sectionsstring · uuid[]Required

List of section IDs of sections to return

Responses
200

List of Sections

post
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": []
  }
}

Returns the description for a given section

get
Query parameters
section_idstring · uuidRequired

Id of the section

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Section description

get
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"
    ]
  }
}

Returns the objectives for a given section

get
Query parameters
section_idstring · uuidRequired

Id of the section

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Section objectives

get
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"
    ]
  }
}

Student sessions in assignments

post

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.

Query parameters
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Body

Request Message for retrieving student sessions

user_idstring · uuidRequired

User ID of the student sessions being searched for being searched

Example: 00000000-0000-0000-0000-000000000000
org_idstring · uuidRequiredExample: 00000000-0000-0000-0000-000000000000
section_idstring · uuidOptional

If provided then the results will be limited to this one section id

Example: 00000000-0000-0000-0000-000000000000
from_datestring · date-timeRequired
to_datestring · date-timeOptional
Responses
200

Successfully returned the requested sessions

post
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": []
  }
}

Gets relevant training plan information for a given training plan id.

get
Query parameters
training_plan_idstring · uuidOptional

Id of the training plan

product_idstring · uuidOptional

A product id from any catalog this training plan is in

access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Training plan information

get
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"
    ]
  }
}

Returns the description for a given training plan

get
Query parameters
training_plan_idstring · uuidRequired
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Training plan description

get
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.

get
Query parameters
section_idstring · uuidRequired
pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of assignments

get
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"
      ]
    }
  }
]

Gets the details of an assignment based on its Id

get
Query parameters
assignment_idstring · uuidRequired
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Assignment information

get
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.

get
Query parameters
assignment_idstring · uuidRequired
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Assignment instructions

get
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"
    ]
  }
}
Deprecated

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.

get
Query parameters
org_idstring · uuidOptional
org_short_namestringOptional
pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of organizations

get
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.

post
Query parameters
pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Body

Contains information for retrieving catalog data

group_idstring · uuidRequired

Id of group or organization

Example: 00000000-0000-0000-0000-000000000000
publishing_modelinteger · enumOptional

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

Possible values:
catalog_access_optioninteger · enumOptional

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

Possible values:
Responses
200

Response containing list of catalogs

post
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"
    ]
  }
}

Returns details for the given catalog

get
Query parameters
catalog_idstring · uuidRequired
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Catalog information

get
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
}

Returns the description for a given catalog

get
Query parameters
catalog_idstring · uuidRequired
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Description of the catalog

get
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"
    ]
  }
}

Returns the credit hours for a given catalog

get
Query parameters
catalog_idstring · uuidRequired
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

Credit hours of the catalog

get
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.

get
Query parameters
catalog_idstring · uuidRequired
pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of categories

get
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.

get
Query parameters
catalog_idstring · uuidRequired
pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of syllabi

get
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 syllabi in a category

get

Gets a list of syllabus ids, names, and types for syllabi that belong to the given category. Results are ordered alphabetically by syllabus title.

Query parameters
category_idstring · uuidRequired
pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of syllabi

get
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"
      ]
    }
  }
]
Deprecated

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.

get
Query parameters
enrollment_idstring · uuidRequired
assignment_idstring · uuidRequired
pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Responses
200

List of test attempts

get
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"
      ]
    }
  }
]
Deprecated

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.

post
Query parameters
pageinteger · int32Optional

Which page of results to start on

per_pageinteger · int32Optional
access_tokenstringRequired

Use the AdminApi Authenticate method to get the access_token

Body

Contains information for filtering which SCORM CMI data to retrieve

enrollment_idstring · uuidRequired

Id of the enrollment to get SCORM data for

Example: 00000000-0000-0000-0000-000000000000
assignment_idstring · uuidRequired

Id of the assignment to get SCORM data for

Example: 00000000-0000-0000-0000-000000000000
cmi_element_namesstring[]Required

List of CMI element names to get data for

Responses
200

List of SCOs and corresponding CMI data

post
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"
      ]
    }
  }
]