Skip to main content
GET
/
api
/
content
/
coursemembers
{
  "Records": [
    {}
  ],
  "CurrentPage": 123,
  "CurrentPageSize": 123,
  "CurrentOrderField": "<string>",
  "CurrentSortDirection": 123,
  "FirstItem": 123,
  "LastItem": 123,
  "TotalItems": 123,
  "TotalPages": 123,
  "HasNextPage": true,
  "HasPreviousPage": true
}
A CourseMember represents a customer’s enrolment in a Course. When a customer signs up to a course through the Members Portal they are automatically added as a CourseMember. Members can also be added manually via the Admin Panel or the API. Each CourseMember record tracks the member’s progress (LastCompletedLessonId, LastAccess) and their access status:
  • Approved — the member has been approved to access the course content. For public courses this is set automatically on sign-up; for private or paid courses an administrator may need to approve the enrolment.
  • Blocked — the member has been blocked from accessing the course.
Use CourseCompletedLesson records to query which individual lessons a member has completed.

Authentication

This endpoint requires OAuth2 authentication. Include a valid bearer token in the Authorization header. The authenticated user must be a full unrestricted administrator or have the CourseMember-List role.

Query Parameters

Pagination & Sorting

page
integer
default:"1"
The page number to retrieve.
size
integer
default:"25"
The number of records per page.
orderBy
string
The property name to sort results by (e.g. Name, CreatedOn).
dir
integer
Sort direction. 1 for ascending, -1 for descending.

Filters

CourseMember_Course
integer
Filter by iD of the course the member is enrolled in.
CourseMember_Course_Title
string
Filter by title of the course.
CourseMember_Coworker
integer
Filter by iD of the customer enrolled in the course.
CourseMember_Coworker_CoworkerType
string
Filter by whether the enrolled customer is an Individual (1) or a Company (2).
CourseMember_Coworker_FullName
string
Filter by full name of the enrolled customer.
CourseMember_Coworker_CompanyName
string
Filter by company name of the enrolled customer.
CourseMember_Coworker_TeamNames
string
Filter by comma-separated list of teams the enrolled customer belongs to.
CourseMember_Coworker_BillingName
string
Filter by billing name of the enrolled customer.
CourseMember_LastCompletedLesson
integer
Filter by iD of the most recently completed lesson for this member.
CourseMember_LastCompletedLesson_Title
string
Filter by title of the most recently completed lesson.
CourseMember_LastAccess
string
Filter by date and time the member last accessed the course.
CourseMember_Approved
boolean
Filter by whether the member has been approved to access the course content.
CourseMember_Blocked
boolean
Filter by whether the member has been blocked from accessing the course.

Range Filters

from_CourseMember_LastAccess
string
Filter by date and time the member last accessed the course greater than or equal to this value. Format: YYYY-MM-DDTHH:mm.
to_CourseMember_LastAccess
string
Filter by date and time the member last accessed the course less than or equal to this value. Format: YYYY-MM-DDTHH:mm.
from_CourseMember_CreatedOn
string
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
to_CourseMember_CreatedOn
string
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
from_CourseMember_UpdatedOn
string
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
to_CourseMember_UpdatedOn
string
Filter records updated on or before this date. Format: YYYY-MM-DDTHH:mm.

Code Examples

Simple listing

curl -X GET \
  "https://spaces.nexudus.com/api/content/coursemembers?page=1&size=15&orderBy=CreatedOn&dir=1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Filtering by CreatedOn

curl -X GET \
  "https://spaces.nexudus.com/api/content/coursemembers?CourseMember_CreatedOn=example-value&orderBy=CreatedOn&dir=1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Range filters

curl -X GET \
  "https://spaces.nexudus.com/api/content/coursemembers?from_CourseMember_UpdatedOn=2025-01-01T00:00&to_CourseMember_UpdatedOn=2025-12-31T23:59&orderBy=UpdatedOn&dir=-1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response

200

Records
CourseMember[]
The list of CourseMember records matching the query. See the Get one CourseMember endpoint for the full list of properties returned for each record.
CurrentPage
integer
Current page number.
CurrentPageSize
integer
Number of records per page.
CurrentOrderField
string
The field used for sorting.
CurrentSortDirection
integer
The sort direction (1 = ascending, -1 = descending).
FirstItem
integer
Index of the first item on the current page.
LastItem
integer
Index of the last item on the current page.
TotalItems
integer
Total number of matching records across all pages.
TotalPages
integer
Total number of pages.
HasNextPage
boolean
Whether there is a next page of results.
HasPreviousPage
boolean
Whether there is a previous page of results.
Example Response
{
  "Records": [
    {
      "CourseId": 0,
      "CourseTitle": null,
      "CoworkerId": 0,
      "CoworkerCoworkerType": null,
      "CoworkerFullName": null,
      "CoworkerCompanyName": null,
      "CoworkerTeamNames": null,
      "CoworkerBillingName": null,
      "LastCompletedLessonId": null,
      "LastCompletedLessonTitle": null,
      "LastAccess": null,
      "Approved": false,
      "Blocked": false,
      "Id": 87654321,
      "UpdatedOn": "2025-01-15T10:30:00Z",
      "CreatedOn": "2025-01-10T08:00:00Z",
      "UniqueId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "UpdatedBy": "admin@example.com",
      "IsNew": false,
      "SystemId": null,
      "ToStringText": "CourseMember Example",
      "LocalizationDetails": null,
      "CustomFields": null
    }
  ],
  "CurrentPageSize": 15,
  "CurrentPage": 1,
  "CurrentOrderField": "CreatedOn",
  "CurrentSortDirection": 1,
  "FirstItem": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "LastItem": 1,
  "PageNumber": 1,
  "PageSize": 15,
  "TotalItems": 1,
  "TotalPages": 1
}