Skip to main content
GET
/
api
/
content
/
courses
{
  "Records": [
    {}
  ],
  "CurrentPage": 123,
  "CurrentPageSize": 123,
  "CurrentOrderField": "<string>",
  "CurrentSortDirection": 123,
  "FirstItem": 123,
  "LastItem": 123,
  "TotalItems": 123,
  "TotalPages": 123,
  "HasNextPage": true,
  "HasPreviousPage": true
}
A Course is a structured learning module published to customers through the Members Portal. Courses are organised into sections (milestones) and lessons (individual content units). They can be used for internal training, community building, or self-learning offers. Courses belong to a Location and are assigned a Host (a customer or administrator) who is responsible for its content. You can control who can access a course using the Visibility field:
VisibilityMeaning
PublicVisible and accessible to everyone on the Members Portal
HiddenNot listed on the Members Portal but accessible via a direct link
PrivateOnly accessible to members who have been explicitly added
PaidRequires purchase via the linked TariffId pricing plan
Courses can optionally display a community discussion group (HasCommunityGroup), be featured on the portal home page (ShowInHomePage), and be grouped together under a GroupName for easier navigation.

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 Course-List role.

Enums

ValueName
1Public
2Hidden
3Private
4Paid

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

Course_Business
integer
Filter by iD of the Location this course belongs to.
Course_Business_Name
string
Filter by location name.
Course_Business_Address
string
Filter by location address.
Course_Business_TownCity
string
Filter by location town or city.
Course_Business_PostalCode
string
Filter by location postal code.
Course_Host
integer
Filter by iD of the coworker or administrator who hosts this course.
Course_Host_FullName
string
Filter by host full name.
Course_Host_CompanyName
string
Filter by host company name.
Course_Host_TeamNames
string
Filter by comma-separated list of teams the host belongs to.
Course_Title
string
Filter by course title displayed on the Members Portal.
Course_SummaryText
string
Filter by short summary displayed under the course title on the Members Portal (up to ~400 characters).
Course_FullDescription
string
Filter by full course description shown in the ‘What’s this course about?’ section when customers open the course.
Course_ShowOverview
boolean
Filter by whether to display the overview section on the course page.
Course_HasCommunityGroup
boolean
Filter by whether the course has an associated community discussion group on the Members Portal.
Course_OverviewText
string
Filter by overview text displayed below the full description on the course page.
Course_ImageFileName
string
Filter by stored filename of the course thumbnail image (read-only; use NewImageUrl to set).
Course_NewImageUrl
string
Filter by uRL of a new thumbnail image to upload (JPG/JPEG, PNG, or GIF, max 10 MB).
Course_ClearImage
boolean
Filter by set to true to remove the existing thumbnail image.
Course_LargeImageFileName
string
Filter by stored filename of the course banner/large image (read-only; use NewLargeImageUrl to set).
Course_NewLargeImageUrl
string
Filter by uRL of a new banner/large image to upload (JPG/JPEG, PNG, or GIF, max 10 MB).
Course_ClearLargeImage
boolean
Filter by set to true to remove the existing banner/large image.
Course_Active
boolean
Filter by whether the course is active and available to customers.
Course_GroupName
string
Filter by optional group label used to cluster related courses together on the Members Portal.
Course_DisplayOrder
integer
Filter by position of the course in listing pages; lower numbers appear first.
Course_ShowInHomePage
boolean
Filter by whether the course is featured on the Members Portal home page.
Course_Visibility
integer
Filter by access control for the course: Public (1), Hidden from listing but accessible via link (2), Private/invite-only (3), or Paid via TariffId (4).
Course_Tariff
integer
Filter by iD of the pricing plan (tariff) required to access this course when Visibility is Paid.
Course_Tariff_Name
string
Filter by pricing plan name.
Course_Tariff_InvoiceEvery
integer
Filter by billing frequency of the pricing plan (in months).
Course_Tariff_InvoiceEveryWeeks
integer
Filter by billing frequency of the pricing plan (in weeks).
Course_Tariff_Price
number
Filter by price of the pricing plan.
Course_Tariff_Currency_Code
string
Filter by currency code of the pricing plan (e.g. USD, GBP).

Range Filters

from_Course_DisplayOrder
integer
Filter by position of the course in listing pages; lower numbers appear first greater than or equal to this value.
to_Course_DisplayOrder
integer
Filter by position of the course in listing pages; lower numbers appear first less than or equal to this value.
from_Course_TariffInvoiceEvery
integer
Filter by billing frequency of the pricing plan (in months) greater than or equal to this value.
to_Course_TariffInvoiceEvery
integer
Filter by billing frequency of the pricing plan (in months) less than or equal to this value.
from_Course_TariffInvoiceEveryWeeks
integer
Filter by billing frequency of the pricing plan (in weeks) greater than or equal to this value.
to_Course_TariffInvoiceEveryWeeks
integer
Filter by billing frequency of the pricing plan (in weeks) less than or equal to this value.
from_Course_TariffPrice
number
Filter by price of the pricing plan greater than or equal to this value.
to_Course_TariffPrice
number
Filter by price of the pricing plan less than or equal to this value.
from_Course_CreatedOn
string
Filter records created on or after this date. Format: YYYY-MM-DDTHH:mm.
to_Course_CreatedOn
string
Filter records created on or before this date. Format: YYYY-MM-DDTHH:mm.
from_Course_UpdatedOn
string
Filter records updated on or after this date. Format: YYYY-MM-DDTHH:mm.
to_Course_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/courses?page=1&size=15&orderBy=Title&dir=1" \
  -H "Authorization: Bearer YOUR_TOKEN"

Filtering by Title

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

Range filters

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

Response

200

Records
Course[]
The list of Course records matching the query. See the Get one Course endpoint for the full list of properties returned for each record.
Partial records — The listing endpoint returns a summary representation of each Course. The following fields are not included in the Records[] response: FullDescription, ShowOverview, OverviewText, Active, ShowInHomePage, Visibility.To get all fields, fetch the full record using the Get one Course endpoint.Important for updates: When updating a record via PUT, always retrieve the full record with a GET request first, apply your changes to that complete data, and then send the updated record. Do not use data from a listing response as the base for a PUT request, as missing fields may be unintentionally cleared.
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": [
    {
      "BusinessId": 0,
      "BusinessName": null,
      "BusinessAddress": null,
      "BusinessTownCity": null,
      "BusinessPostalCode": null,
      "HostId": 0,
      "HostFullName": null,
      "HostCompanyName": null,
      "HostTeamNames": null,
      "Title": "",
      "SummaryText": null,
      "FullDescription": null,
      "ShowOverview": false,
      "HasCommunityGroup": false,
      "OverviewText": null,
      "ImageFileName": null,
      "NewImageUrl": null,
      "ClearImageFile": null,
      "LargeImageFileName": null,
      "NewLargeImageUrl": null,
      "ClearLargeImageFile": null,
      "Active": false,
      "GroupName": null,
      "DisplayOrder": 0,
      "ShowInHomePage": false,
      "Visibility": 0,
      "TariffId": null,
      "TariffName": null,
      "TariffInvoiceEvery": null,
      "TariffInvoiceEveryWeeks": null,
      "TariffPrice": null,
      "TariffCurrencyCode": null,
      "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": "Course Example",
      "LocalizationDetails": null,
      "CustomFields": null
    }
  ],
  "CurrentPageSize": 15,
  "CurrentPage": 1,
  "CurrentOrderField": "Title",
  "CurrentSortDirection": 1,
  "FirstItem": 1,
  "HasNextPage": false,
  "HasPreviousPage": false,
  "LastItem": 1,
  "PageNumber": 1,
  "PageSize": 15,
  "TotalItems": 1,
  "TotalPages": 1
}