This commit is contained in:
a2a-platform
2026-06-28 16:45:57 +00:00
commit 416af50961
40 changed files with 41629 additions and 0 deletions

291
skills/courses/SKILL.md Normal file
View File

@@ -0,0 +1,291 @@
---
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.