List Courses
Returns a paginated list of published courses for the current location. Supports filtering by category name, keyword search, and a flag to only return courses marked for the home page.
A course is a structured learning programme created by the space operator, consisting of multiple lessons. Members can enrol, track progress,
and complete lessons through the portal.
Authentication
No authentication required.
Query Parameters
Number of courses per page.
Filter by category name. Omit to return courses across all categories.
Keyword filter applied to course name and description. URL-encoded.
When true, returns only courses flagged to appear on the portal home page.
Comma-separated list of field paths to include in the response. When provided, only the
specified fields are returned — useful for reducing payload size. Supports nested paths
using dot notation. Example: _shape=Courses.Records.Name,Courses.Records.Description,Categories.
Response
Returns a CourseList object containing available categories and a paginated list of course summaries.
Array of all available course category names for filtering.
Courses
ApiListResult<CourseStatus>
Paginated wrapper containing course records.
Array of course summaries for the current page.
Total number of matching courses.
Whether there are more pages after the current one.
Examples
Fetch first page of courses
GET /api/public/courses/v2?page=1&top=10
TypeScript Integration
import endpoints from '@/api/endpoints'
const { resource: courses } = useTypedData(
httpClient,
endpoints.courses.list({
page: 1,
top: 10,
categoryName: 'Marketing',
}),
)