courses
Query the course catalog and retrieve detailed course data including skills, students, lectures, exams, coupons, and invitations.
Instructions
Query the course catalog, course details, and course-related data including skills, students, lectures, exams, coupons, and invitations. Use this for course metadata, catalogs, and course-level data. For a specific user's course progress and completion status, use the dashboard tool with get_user_courses action. For browsing all content types (not just courses), use the content tool.
Sub-actions:
list: Search and filter the course catalog. Paginated.
list_user_courses: List courses for a specific user. Requires userId. Paginated.
list_categories: List course categories configured in the academy.
get: Get full details of a single course. Requires courseId.
get_skills: List skills taught by a course. Requires courseId.
get_students: List students enrolled in a course. Requires courseId. Paginated.
get_lectures: List lectures within a course. Requires courseId.
get_exams: List exams within a course. Requires courseId.
get_coupons: List coupons for a course. Requires courseId.
get_coupon: Get a specific coupon. Requires courseId and couponId.
get_invitations: List invitations for a course. Requires courseId.
Returns JSON: { data, _meta: { tool, action, returned, truncated? } }. When truncated is true, apply filters or pagination params to narrow results.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The sub-action to perform: 'list' for catalog, 'get' for course details, 'list_user_courses' for a user's courses, etc. | |
| userId | No | User ID. Required for: list_user_courses. Set external_id=true if passing an external ID. | |
| external_id | No | When true, treats userId as an external system ID instead of Schoox internal ID. Default: false. Used with list_user_courses. | |
| role | No | Filter students by role: student, professor, or dropped_out. Used with get_students. | |
| status | No | Course status filter: active or archived. Default: active. Used with list. | |
| search | No | Search courses by name (e.g. 'Safety Training'). Used with list. | |
| category_id | No | Course category ID (e.g. 1703). Use list_categories to discover available IDs. Used with list. | |
| language | No | ISO 639-1 language code to filter courses by content language (e.g. en, es, fr, de, ja, zh). | |
| start | No | Starting position for pagination (e.g. 0). Used with list, list_user_courses, get_students. | |
| enrolled | No | Filter to courses user is enrolled in: true or false. Used with list_user_courses. | |
| limit | No | Max results per page. Used with list, list_user_courses, get_students. | |
| courseId | No | Schoox course ID (e.g. 327827). Required for: get, get_skills, get_students, get_lectures, get_exams, get_coupons, get_coupon, get_invitations. | |
| onlyCompleted | No | When true, returns only users who completed the course. Used with get_students. | |
| couponId | No | Coupon ID. Required for: get_coupon (used with courseId to get a specific coupon). | |
| skills | No | Array of skill/metric IDs to find related courses (e.g. [101, 205]). Used with list. |