This commit is contained in:
a2a-platform
2026-06-29 00:38:27 +00:00
parent c8cea595f2
commit e45ff7e55d
30 changed files with 2437 additions and 2292 deletions

View File

@@ -11,8 +11,28 @@ Use the generated operation tools to make real API calls. Do not invent API resp
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.
Deployment context for this LearnHouse instance:
- It runs single-organization tenancy.
- Existing organization: A2A Cloud Academy
- Default `org_slug`: `default`
- Default `org_id`: `1`
- When listing courses and the user does not provide pagination, use `page=1` and `limit=50`.
- When creating a course, use query parameter `org_id=1` unless the user explicitly provides another org ID.
- Course creation must send multipart form fields `name`, `description`, `public`, and `about`. If the user only gives a title, use it as `name`, provide short `description` and `about` values, and set `public=false` unless the user asks for a public course.
## Operations
### 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: multipart form fields `name`, `description`, `public`, and `about`.
### api_export_courses_batch_api_v1_courses_export_batch_post
- Operation ID: `api_export_courses_batch_api_v1_courses_export_batch_post`
@@ -21,6 +41,25 @@ For write, update, or delete operations, state the intended action before callin
- Summary: Export multiple courses as ZIP
- Body: JSON request body accepted.
### 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_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_analyze_import_package_api_v1_courses_import_analyze_post
- Operation ID: `api_analyze_import_package_api_v1_courses_import_analyze_post`
@@ -31,35 +70,78 @@ For write, update, or delete operations, state the intended action before callin
- `org_id` in `query` required
- Body: JSON request body accepted.
### api_import_courses_api_v1_courses_import_post
### api_create_from_migration_api_v1_courses_migrate_create_post
- Operation ID: `api_import_courses_api_v1_courses_import_post`
- Route: `POST /api/v1/courses/import`
- Operation ID: `api_create_from_migration_api_v1_courses_migrate_create_post`
- Route: `POST /api/v1/courses/migrate/create`
- Mode: WRITE
- Summary: Import courses from an analyzed package
- Summary: Create course from migration
- Parameters:
- `org_id` in `query` required
- Body: JSON request body accepted.
### api_create_course_api_v1_courses_post
### api_suggest_structure_api_v1_courses_migrate_suggest_post
- Operation ID: `api_create_course_api_v1_courses_post`
- Route: `POST /api/v1/courses/`
- Operation ID: `api_suggest_structure_api_v1_courses_migrate_suggest_post`
- Route: `POST /api/v1/courses/migrate/suggest`
- Mode: WRITE
- Summary: Create course
- Summary: Suggest migration structure
- Parameters:
- `org_id` in `query` required
- Body: JSON request body accepted.
### api_create_course_thumbnail_api_v1_courses_course_uuid_thumbnail_put
### api_upload_migration_files_api_v1_courses_migrate_upload_post
- Operation ID: `api_create_course_thumbnail_api_v1_courses_course_uuid_thumbnail_put`
- Route: `PUT /api/v1/courses/{course_uuid}/thumbnail`
- Operation ID: `api_upload_migration_files_api_v1_courses_migrate_upload_post`
- Route: `POST /api/v1/courses/migrate/upload`
- Mode: WRITE
- Summary: Update course thumbnail
- Summary: Upload migration files
- Parameters:
- `org_id` in `query` required
- `temp_id` in `query`
- Body: JSON request body accepted.
### 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_get_course_by_orgslug_api_v1_courses_org_slug_org_2dfd4569fc
- 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_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_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
- Body: JSON request body accepted.
### api_get_course_api_v1_courses_course_uuid_get
@@ -80,23 +162,73 @@ For write, update, or delete operations, state the intended action before callin
- `course_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_course_api_v1_courses_course_uuid_delete
### api_apply_course_contributor_api_v1_courses_course_uu_a35b28139c
- Operation ID: `api_delete_course_api_v1_courses_course_uuid_delete`
- Route: `DELETE /api/v1/courses/{course_uuid}`
- 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: Delete course
- Summary: Apply as course contributor
- Parameters:
- `course_uuid` in `path` required
### api_get_course_by_id_api_v1_courses_id_course_id_get
### api_add_bulk_course_contributors_api_v1_courses_cours_3da08940ff
- 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
- 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_id` in `path` required
- `course_uuid` in `path` required
- Body: JSON request body accepted.
### api_remove_bulk_course_contributors_api_v1_courses_co_3117ba4aab
- 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_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_get_course_contributors_api_v1_courses_course_uui_f1e2d0838a
- 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_u_803ac35801
- 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_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_get_course_meta_api_v1_courses_course_uuid_meta_get
@@ -109,65 +241,45 @@ For write, update, or delete operations, state the intended action before callin
- `with_unpublished_activities` in `query`
- `slim` in `query`
### api_get_course_by_orgslug_api_v1_courses_org_slug_org_slug_page_page_limit_limit
### api_get_course_user_rights_api_v1_courses_course_uuid_rights_get
- 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}`
- 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: List courses for an organization
- Summary: Get course user rights
- Parameters:
- `page` in `path` required
- `limit` in `path` required
- `org_slug` in `path` required
- `include_unpublished` in `query`
- `course_uuid` in `path` required
### api_get_courses_count_api_v1_courses_org_slug_org_slug_count_get
### api_create_course_thumbnail_api_v1_courses_course_uui_dc5e5c11d8
- 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`
- Operation ID: `api_create_course_thumbnail_api_v1_courses_course_uuid_thumbnail_put`
- Route: `PUT /api/v1/courses/{course_uuid}/thumbnail`
- Mode: WRITE
- Summary: Clone course
- Summary: Update course thumbnail
- Parameters:
- `course_uuid` in `path` required
- Body: JSON request body accepted.
### api_export_course_api_v1_courses_course_uuid_export_get
### api_delete_course_update_api_v1_courses_course_uuid_u_686f93b204
- 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`
- 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: Apply as course contributor
- Summary: Delete course update
- Parameters:
- `course_uuid` in `path` required
- `courseupdate_uuid` in `path` required
### api_update_course_update_api_v1_courses_course_uuid_u_01971e1e0f
- 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_get_course_updates_api_v1_courses_course_uuid_updates_get
@@ -187,105 +299,3 @@ For write, update, or delete operations, state the intended action before callin
- 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.