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:
Visibility
Meaning
Public
Visible and accessible to everyone on the Members Portal
Hidden
Not listed on the Members Portal but accessible via a direct link
Private
Only accessible to members who have been explicitly added
Paid
Requires 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.
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.
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).
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.