--- name: courses-routes description: Handle 28 OpenAPI operation(s) under /api/v1/courses for the courses route group. --- # courses API Routes Handle 28 OpenAPI operation(s) under /api/v1/courses for the courses route group. Use the generated operation tools to make real API calls. Do not invent API responses. If a tool reports missing setup, return the exact setup field name to the caller. For write, update, or delete operations, state the intended action before calling the tool. ## Operations ### api_export_courses_batch_api_v1_courses_export_batch_post - Operation ID: `api_export_courses_batch_api_v1_courses_export_batch_post` - Route: `POST /api/v1/courses/export/batch` - Mode: WRITE - Summary: Export multiple courses as ZIP - Body: JSON request body accepted. ### api_analyze_import_package_api_v1_courses_import_analyze_post - Operation ID: `api_analyze_import_package_api_v1_courses_import_analyze_post` - Route: `POST /api/v1/courses/import/analyze` - Mode: WRITE - Summary: Analyze a course import package - Parameters: - `org_id` in `query` required - Body: JSON request body accepted. ### api_import_courses_api_v1_courses_import_post - Operation ID: `api_import_courses_api_v1_courses_import_post` - Route: `POST /api/v1/courses/import` - Mode: WRITE - Summary: Import courses from an analyzed package - Parameters: - `org_id` in `query` required - Body: JSON request body accepted. ### api_create_course_api_v1_courses_post - Operation ID: `api_create_course_api_v1_courses_post` - Route: `POST /api/v1/courses/` - Mode: WRITE - Summary: Create course - Parameters: - `org_id` in `query` required - Body: JSON request body accepted. ### api_create_course_thumbnail_api_v1_courses_course_uuid_thumbnail_put - Operation ID: `api_create_course_thumbnail_api_v1_courses_course_uuid_thumbnail_put` - Route: `PUT /api/v1/courses/{course_uuid}/thumbnail` - Mode: WRITE - Summary: Update course thumbnail - Parameters: - `course_uuid` in `path` required - Body: JSON request body accepted. ### api_get_course_api_v1_courses_course_uuid_get - Operation ID: `api_get_course_api_v1_courses_course_uuid_get` - Route: `GET /api/v1/courses/{course_uuid}` - Mode: READ - Summary: Get course by UUID - Parameters: - `course_uuid` in `path` required ### api_update_course_api_v1_courses_course_uuid_put - Operation ID: `api_update_course_api_v1_courses_course_uuid_put` - Route: `PUT /api/v1/courses/{course_uuid}` - Mode: WRITE - Summary: Update course - Parameters: - `course_uuid` in `path` required - Body: JSON request body accepted. ### api_delete_course_api_v1_courses_course_uuid_delete - Operation ID: `api_delete_course_api_v1_courses_course_uuid_delete` - Route: `DELETE /api/v1/courses/{course_uuid}` - Mode: WRITE - Summary: Delete course - Parameters: - `course_uuid` in `path` required ### api_get_course_by_id_api_v1_courses_id_course_id_get - Operation ID: `api_get_course_by_id_api_v1_courses_id_course_id_get` - Route: `GET /api/v1/courses/id/{course_id}` - Mode: READ - Summary: Get course by ID - Parameters: - `course_id` in `path` required ### api_get_course_meta_api_v1_courses_course_uuid_meta_get - Operation ID: `api_get_course_meta_api_v1_courses_course_uuid_meta_get` - Route: `GET /api/v1/courses/{course_uuid}/meta` - Mode: READ - Summary: Get course metadata - Parameters: - `course_uuid` in `path` required - `with_unpublished_activities` in `query` - `slim` in `query` ### api_get_course_by_orgslug_api_v1_courses_org_slug_org_slug_page_page_limit_limit - Operation ID: `api_get_course_by_orgslug_api_v1_courses_org_slug_org_slug_page_page_limit_limit` - Route: `GET /api/v1/courses/org_slug/{org_slug}/page/{page}/limit/{limit}` - Mode: READ - Summary: List courses for an organization - Parameters: - `page` in `path` required - `limit` in `path` required - `org_slug` in `path` required - `include_unpublished` in `query` ### api_get_courses_count_api_v1_courses_org_slug_org_slug_count_get - Operation ID: `api_get_courses_count_api_v1_courses_org_slug_org_slug_count_get` - Route: `GET /api/v1/courses/org_slug/{org_slug}/count` - Mode: READ - Summary: Count courses in an organization - Parameters: - `org_slug` in `path` required ### api_search_courses_api_v1_courses_org_slug_org_slug_search_get - Operation ID: `api_search_courses_api_v1_courses_org_slug_org_slug_search_get` - Route: `GET /api/v1/courses/org_slug/{org_slug}/search` - Mode: READ - Summary: Search courses - Parameters: - `org_slug` in `path` required - `query` in `query` required - `page` in `query` - `limit` in `query` ### api_clone_course_api_v1_courses_course_uuid_clone_post - Operation ID: `api_clone_course_api_v1_courses_course_uuid_clone_post` - Route: `POST /api/v1/courses/{course_uuid}/clone` - Mode: WRITE - Summary: Clone course - Parameters: - `course_uuid` in `path` required ### api_export_course_api_v1_courses_course_uuid_export_get - Operation ID: `api_export_course_api_v1_courses_course_uuid_export_get` - Route: `GET /api/v1/courses/{course_uuid}/export` - Mode: READ - Summary: Export course as ZIP - Parameters: - `course_uuid` in `path` required ### api_apply_course_contributor_api_v1_courses_course_uuid_apply_contributor_post - Operation ID: `api_apply_course_contributor_api_v1_courses_course_uuid_apply_contributor_post` - Route: `POST /api/v1/courses/{course_uuid}/apply-contributor` - Mode: WRITE - Summary: Apply as course contributor - Parameters: - `course_uuid` in `path` required ### api_get_course_updates_api_v1_courses_course_uuid_updates_get - Operation ID: `api_get_course_updates_api_v1_courses_course_uuid_updates_get` - Route: `GET /api/v1/courses/{course_uuid}/updates` - Mode: READ - Summary: List course updates - Parameters: - `course_uuid` in `path` required ### api_create_course_update_api_v1_courses_course_uuid_updates_post - Operation ID: `api_create_course_update_api_v1_courses_course_uuid_updates_post` - Route: `POST /api/v1/courses/{course_uuid}/updates` - Mode: WRITE - Summary: Create course update - Parameters: - `course_uuid` in `path` required - Body: JSON request body accepted. ### api_update_course_update_api_v1_courses_course_uuid_update_courseupdate_uuid_put - Operation ID: `api_update_course_update_api_v1_courses_course_uuid_update_courseupdate_uuid_put` - Route: `PUT /api/v1/courses/{course_uuid}/update/{courseupdate_uuid}` - Mode: WRITE - Summary: Update course update - Parameters: - `course_uuid` in `path` required - `courseupdate_uuid` in `path` required - Body: JSON request body accepted. ### api_delete_course_update_api_v1_courses_course_uuid_update_courseupdate_uuid_del - Operation ID: `api_delete_course_update_api_v1_courses_course_uuid_update_courseupdate_uuid_del` - Route: `DELETE /api/v1/courses/{course_uuid}/update/{courseupdate_uuid}` - Mode: WRITE - Summary: Delete course update - Parameters: - `course_uuid` in `path` required - `courseupdate_uuid` in `path` required ### api_get_course_contributors_api_v1_courses_course_uuid_contributors_get - Operation ID: `api_get_course_contributors_api_v1_courses_course_uuid_contributors_get` - Route: `GET /api/v1/courses/{course_uuid}/contributors` - Mode: READ - Summary: List course contributors - Parameters: - `course_uuid` in `path` required ### api_update_course_contributor_api_v1_courses_course_uuid_contributors_contributo - Operation ID: `api_update_course_contributor_api_v1_courses_course_uuid_contributors_contributo` - Route: `PUT /api/v1/courses/{course_uuid}/contributors/{contributor_user_id}` - Mode: WRITE - Summary: Update course contributor - Parameters: - `course_uuid` in `path` required - `contributor_user_id` in `path` required - `authorship` in `query` required - `authorship_status` in `query` required ### api_add_bulk_course_contributors_api_v1_courses_course_uuid_bulk_add_contributor - Operation ID: `api_add_bulk_course_contributors_api_v1_courses_course_uuid_bulk_add_contributor` - Route: `POST /api/v1/courses/{course_uuid}/bulk-add-contributors` - Mode: WRITE - Summary: Bulk add course contributors - Parameters: - `course_uuid` in `path` required - Body: JSON request body accepted. ### api_remove_bulk_course_contributors_api_v1_courses_course_uuid_bulk_remove_contr - Operation ID: `api_remove_bulk_course_contributors_api_v1_courses_course_uuid_bulk_remove_contr` - Route: `PUT /api/v1/courses/{course_uuid}/bulk-remove-contributors` - Mode: WRITE - Summary: Bulk remove course contributors - Parameters: - `course_uuid` in `path` required - Body: JSON request body accepted. ### api_get_course_user_rights_api_v1_courses_course_uuid_rights_get - Operation ID: `api_get_course_user_rights_api_v1_courses_course_uuid_rights_get` - Route: `GET /api/v1/courses/{course_uuid}/rights` - Mode: READ - Summary: Get course user rights - Parameters: - `course_uuid` in `path` required ### api_upload_migration_files_api_v1_courses_migrate_upload_post - Operation ID: `api_upload_migration_files_api_v1_courses_migrate_upload_post` - Route: `POST /api/v1/courses/migrate/upload` - Mode: WRITE - Summary: Upload migration files - Parameters: - `org_id` in `query` required - `temp_id` in `query` - Body: JSON request body accepted. ### api_suggest_structure_api_v1_courses_migrate_suggest_post - Operation ID: `api_suggest_structure_api_v1_courses_migrate_suggest_post` - Route: `POST /api/v1/courses/migrate/suggest` - Mode: WRITE - Summary: Suggest migration structure - Parameters: - `org_id` in `query` required - Body: JSON request body accepted. ### api_create_from_migration_api_v1_courses_migrate_create_post - Operation ID: `api_create_from_migration_api_v1_courses_migrate_create_post` - Route: `POST /api/v1/courses/migrate/create` - Mode: WRITE - Summary: Create course from migration - Parameters: - `org_id` in `query` required - Body: JSON request body accepted.