get_courses
Lists all courses for a LearnWorlds school, sorted newest first with paginated results. Use it to retrieve the full course catalog, filter by access or categories, and build reports.
Instructions
🟢 READ-ONLY · GET /v2/courses
Get all courses. Returns a list of all courses of the school. The courses are in sorted order, with the most recently created course appearing first, and the list is paginated, with a limit of 50 courses per page.
Behavior: read-only lookup against the live school; creates, changes and deletes nothing. Auth (admin API token + Lw-Client id) is injected server-side, never by the model; calls are throttled to stay under LearnWorlds' 30-per-10s cap and retried on 429/5xx.
Parameters: results are paged — walk them with page.
Returns: HTTP <status> followed by the LearnWorlds JSON response body. A non-2xx reply surfaces as a tool error with that status and the API error payload — 401 bad/expired token, 403 not permitted, 404 no such record, 422 rejected input.
Use when: safe to call speculatively for lookups and reporting. Not for changing anything — use the matching 🟡 write tool. Related Courses tools: create_course, create_course_section, get_contents_course, get_course, get_course_grades.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Filter by the page number. In case page number is higher than the maximum one, the results of last page will be returned | |
| access | No | Filter by course access. This can be an array of strings if you want to query with multiple access values or just a string. Possible values are: paid, free, coming_soon, private, draft, enrollment_closed | |
| categories | No | Filter by course categories. For several categories, a comma separated string can be provided. |