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

11
README.md Normal file
View File

@@ -0,0 +1,11 @@
# learnhouse
Generated A2APack agent for LearnHouse.
- Source OpenAPI: https://learnhouse.a2acloud.io/openapi.json
- Generated operations: 422
- Main skill: `auto`
- Routing mode: DeepAgents subagents across 35 route groups
The generated code is intentionally editable. Tune prompts, operation
grouping, auth names, and safety policy before publishing serious agents.

12
a2a.yaml Normal file
View File

@@ -0,0 +1,12 @@
name: learnhouse-agent
version: 1.2.7
entrypoint: agent:Learnhouse
description: LearnHouse is an open-source platform tailored for learning experiences.
runtime:
resources:
cpu: 200m
memory: 512Mi
egress:
allow_hosts:
- learnhouse.a2acloud.io
deny_internet_by_default: true

433
agent.py Normal file

File diff suppressed because one or more lines are too long

36647
openapi.json Normal file

File diff suppressed because it is too large Load Diff

7
requirements.txt Normal file
View File

@@ -0,0 +1,7 @@
# a2a-pack is installed by the platform base image.
deepagents>=0.5.0
langchain>=0.3
langchain-openai>=0.2
langchain-core>=0.3
langgraph>=0.6
httpx>=0.27

200
skills/activities/SKILL.md Normal file
View File

@@ -0,0 +1,200 @@
---
name: activities-routes
description: Handle 20 OpenAPI operation(s) under /api/v1/activities for the activities route group.
---
# activities API Routes
Handle 20 OpenAPI operation(s) under /api/v1/activities for the activities 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_create_activity_api_v1_activities_post
- Operation ID: `api_create_activity_api_v1_activities_post`
- Route: `POST /api/v1/activities/`
- Mode: WRITE
- Summary: Create activity
- Body: JSON request body accepted.
### api_get_activity_versions_api_v1_activities_activity_uuid_versions_get
- Operation ID: `api_get_activity_versions_api_v1_activities_activity_uuid_versions_get`
- Route: `GET /api/v1/activities/{activity_uuid}/versions`
- Mode: READ
- Summary: List activity versions
- Parameters:
- `activity_uuid` in `path` required
- `limit` in `query`
- `offset` in `query`
### api_get_activity_version_api_v1_activities_activity_uuid_versions_version_number
- Operation ID: `api_get_activity_version_api_v1_activities_activity_uuid_versions_version_number`
- Route: `GET /api/v1/activities/{activity_uuid}/versions/{version_number}`
- Mode: READ
- Summary: Get activity version
- Parameters:
- `activity_uuid` in `path` required
- `version_number` in `path` required
### api_get_activity_state_api_v1_activities_activity_uuid_state_get
- Operation ID: `api_get_activity_state_api_v1_activities_activity_uuid_state_get`
- Route: `GET /api/v1/activities/{activity_uuid}/state`
- Mode: READ
- Summary: Get activity state
- Parameters:
- `activity_uuid` in `path` required
### api_restore_activity_version_api_v1_activities_activity_uuid_versions_version_nu
- Operation ID: `api_restore_activity_version_api_v1_activities_activity_uuid_versions_version_nu`
- Route: `POST /api/v1/activities/{activity_uuid}/versions/{version_number}/restore`
- Mode: WRITE
- Summary: Restore activity version
- Parameters:
- `activity_uuid` in `path` required
- `version_number` in `path` required
### api_get_editor_bootstrap_api_v1_activities_activity_uuid_editor_bootstrap_get
- Operation ID: `api_get_editor_bootstrap_api_v1_activities_activity_uuid_editor_bootstrap_get`
- Route: `GET /api/v1/activities/{activity_uuid}/editor-bootstrap`
- Mode: READ
- Summary: Editor bootstrap payload
- Parameters:
- `activity_uuid` in `path` required
### api_get_activity_api_v1_activities_activity_uuid_get
- Operation ID: `api_get_activity_api_v1_activities_activity_uuid_get`
- Route: `GET /api/v1/activities/{activity_uuid}`
- Mode: READ
- Summary: Get activity by UUID
- Parameters:
- `activity_uuid` in `path` required
### api_update_activity_api_v1_activities_activity_uuid_put
- Operation ID: `api_update_activity_api_v1_activities_activity_uuid_put`
- Route: `PUT /api/v1/activities/{activity_uuid}`
- Mode: WRITE
- Summary: Update activity
- Parameters:
- `activity_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_activity_api_v1_activities_activity_uuid_delete
- Operation ID: `api_delete_activity_api_v1_activities_activity_uuid_delete`
- Route: `DELETE /api/v1/activities/{activity_uuid}`
- Mode: WRITE
- Summary: Delete activity
- Parameters:
- `activity_uuid` in `path` required
### api_get_activityby_id_api_v1_activities_id_activity_id_get
- Operation ID: `api_get_activityby_id_api_v1_activities_id_activity_id_get`
- Route: `GET /api/v1/activities/id/{activity_id}`
- Mode: READ
- Summary: Get activity by ID
- Parameters:
- `activity_id` in `path` required
### api_get_chapter_activities_api_v1_activities_chapter_chapter_id_get
- Operation ID: `api_get_chapter_activities_api_v1_activities_chapter_chapter_id_get`
- Route: `GET /api/v1/activities/chapter/{chapter_id}`
- Mode: READ
- Summary: List chapter activities
- Parameters:
- `chapter_id` in `path` required
### api_create_video_activity_api_v1_activities_video_post
- Operation ID: `api_create_video_activity_api_v1_activities_video_post`
- Route: `POST /api/v1/activities/video`
- Mode: WRITE
- Summary: Create video activity
- Body: JSON request body accepted.
### api_create_external_video_activity_api_v1_activities_external_video_post
- Operation ID: `api_create_external_video_activity_api_v1_activities_external_video_post`
- Route: `POST /api/v1/activities/external_video`
- Mode: WRITE
- Summary: Create external video activity
- Body: JSON request body accepted.
### api_create_documentpdf_activity_api_v1_activities_documentpdf_post
- Operation ID: `api_create_documentpdf_activity_api_v1_activities_documentpdf_post`
- Route: `POST /api/v1/activities/documentpdf`
- Mode: WRITE
- Summary: Create PDF document activity
- Body: JSON request body accepted.
### api_update_video_activity_api_v1_activities_video_activity_uuid_put
- Operation ID: `api_update_video_activity_api_v1_activities_video_activity_uuid_put`
- Route: `PUT /api/v1/activities/video/{activity_uuid}`
- Mode: WRITE
- Summary: Update hosted video activity
- Parameters:
- `activity_uuid` in `path` required
- Body: JSON request body accepted.
### api_update_external_video_activity_api_v1_activities_external_video_activity_uui
- Operation ID: `api_update_external_video_activity_api_v1_activities_external_video_activity_uui`
- Route: `PUT /api/v1/activities/external_video/{activity_uuid}`
- Mode: WRITE
- Summary: Update external video activity
- Parameters:
- `activity_uuid` in `path` required
- Body: JSON request body accepted.
### api_update_documentpdf_activity_api_v1_activities_documentpdf_activity_uuid_put
- Operation ID: `api_update_documentpdf_activity_api_v1_activities_documentpdf_activity_uuid_put`
- Route: `PUT /api/v1/activities/documentpdf/{activity_uuid}`
- Mode: WRITE
- Summary: Update PDF document activity
- Parameters:
- `activity_uuid` in `path` required
- Body: JSON request body accepted.
### api_list_activity_usergroups_api_v1_activities_activity_uuid_usergroups_get
- Operation ID: `api_list_activity_usergroups_api_v1_activities_activity_uuid_usergroups_get`
- Route: `GET /api/v1/activities/{activity_uuid}/usergroups`
- Mode: READ
- Summary: List user groups assigned to a locked activity
- Parameters:
- `activity_uuid` in `path` required
### api_add_activity_usergroup_api_v1_activities_activity_uuid_usergroups_usergroup_
- Operation ID: `api_add_activity_usergroup_api_v1_activities_activity_uuid_usergroups_usergroup_`
- Route: `POST /api/v1/activities/{activity_uuid}/usergroups/{usergroup_uuid}`
- Mode: WRITE
- Summary: Grant a user group access to a locked activity
- Parameters:
- `activity_uuid` in `path` required
- `usergroup_uuid` in `path` required
### api_remove_activity_usergroup_api_v1_activities_activity_uuid_usergroups_usergro
- Operation ID: `api_remove_activity_usergroup_api_v1_activities_activity_uuid_usergroups_usergro`
- Route: `DELETE /api/v1/activities/{activity_uuid}/usergroups/{usergroup_uuid}`
- Mode: WRITE
- Summary: Revoke a user group's access to a locked activity
- Parameters:
- `activity_uuid` in `path` required
- `usergroup_uuid` in `path` required

405
skills/admin/SKILL.md Normal file
View File

@@ -0,0 +1,405 @@
---
name: admin-routes
description: Handle 37 OpenAPI operation(s) under /api/v1/admin/{org_slug} for the admin route group.
---
# admin API Routes
Handle 37 OpenAPI operation(s) under /api/v1/admin/{org_slug} for the admin 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_admin_issue_token_api_v1_admin_org_slug_auth_token_post
- Operation ID: `api_admin_issue_token_api_v1_admin_org_slug_auth_token_post`
- Route: `POST /api/v1/admin/{org_slug}/auth/token`
- Mode: WRITE
- Summary: Issue a user token
- Parameters:
- `org_slug` in `path` required
- Body: JSON request body accepted.
### api_admin_check_course_access_api_v1_admin_org_slug_courses_course_uuid_access_u
- Operation ID: `api_admin_check_course_access_api_v1_admin_org_slug_courses_course_uuid_access_u`
- Route: `GET /api/v1/admin/{org_slug}/courses/{course_uuid}/access/{user_id}`
- Mode: READ
- Summary: Check user course access
- Parameters:
- `org_slug` in `path` required
- `course_uuid` in `path` required
- `user_id` in `path` required
### api_admin_bulk_unenroll_api_v1_admin_org_slug_enrollments_bulk_unenroll_post
- Operation ID: `api_admin_bulk_unenroll_api_v1_admin_org_slug_enrollments_bulk_unenroll_post`
- Route: `POST /api/v1/admin/{org_slug}/enrollments/bulk/unenroll`
- Mode: WRITE
- Summary: Bulk unenroll users from a course
- Parameters:
- `org_slug` in `path` required
- Body: JSON request body accepted.
### api_admin_enroll_user_api_v1_admin_org_slug_enrollments_user_id_course_uuid_post
- Operation ID: `api_admin_enroll_user_api_v1_admin_org_slug_enrollments_user_id_course_uuid_post`
- Route: `POST /api/v1/admin/{org_slug}/enrollments/{user_id}/{course_uuid}`
- Mode: WRITE
- Summary: Enroll user in course
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- `course_uuid` in `path` required
### api_admin_unenroll_user_api_v1_admin_org_slug_enrollments_user_id_course_uuid_de
- Operation ID: `api_admin_unenroll_user_api_v1_admin_org_slug_enrollments_user_id_course_uuid_de`
- Route: `DELETE /api/v1/admin/{org_slug}/enrollments/{user_id}/{course_uuid}`
- Mode: WRITE
- Summary: Unenroll user from course
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- `course_uuid` in `path` required
### api_admin_get_user_enrollments_api_v1_admin_org_slug_enrollments_user_id_get
- Operation ID: `api_admin_get_user_enrollments_api_v1_admin_org_slug_enrollments_user_id_get`
- Route: `GET /api/v1/admin/{org_slug}/enrollments/{user_id}`
- Mode: READ
- Summary: Get user enrollments
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
### api_admin_get_user_progress_api_v1_admin_org_slug_progress_user_id_course_uuid_g
- Operation ID: `api_admin_get_user_progress_api_v1_admin_org_slug_progress_user_id_course_uuid_g`
- Route: `GET /api/v1/admin/{org_slug}/progress/{user_id}/{course_uuid}`
- Mode: READ
- Summary: Get user progress in course
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- `course_uuid` in `path` required
### api_admin_complete_activity_api_v1_admin_org_slug_progress_user_id_activities_ac
- Operation ID: `api_admin_complete_activity_api_v1_admin_org_slug_progress_user_id_activities_ac`
- Route: `POST /api/v1/admin/{org_slug}/progress/{user_id}/activities/{activity_uuid}/complete`
- Mode: WRITE
- Summary: Mark activity as completed
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- `activity_uuid` in `path` required
### api_admin_uncomplete_activity_api_v1_admin_org_slug_progress_user_id_activities_
- Operation ID: `api_admin_uncomplete_activity_api_v1_admin_org_slug_progress_user_id_activities_`
- Route: `DELETE /api/v1/admin/{org_slug}/progress/{user_id}/activities/{activity_uuid}/complete`
- Mode: WRITE
- Summary: Undo activity completion
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- `activity_uuid` in `path` required
### api_admin_complete_course_api_v1_admin_org_slug_progress_user_id_course_uuid_com
- Operation ID: `api_admin_complete_course_api_v1_admin_org_slug_progress_user_id_course_uuid_com`
- Route: `POST /api/v1/admin/{org_slug}/progress/{user_id}/{course_uuid}/complete`
- Mode: WRITE
- Summary: Mark entire course as completed
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- `course_uuid` in `path` required
### api_admin_get_all_user_progress_api_v1_admin_org_slug_progress_user_id_get
- Operation ID: `api_admin_get_all_user_progress_api_v1_admin_org_slug_progress_user_id_get`
- Route: `GET /api/v1/admin/{org_slug}/progress/{user_id}`
- Mode: READ
- Summary: Get all user progress
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
### api_admin_get_user_trail_detail_api_v1_admin_org_slug_trails_user_id_get
- Operation ID: `api_admin_get_user_trail_detail_api_v1_admin_org_slug_trails_user_id_get`
- Route: `GET /api/v1/admin/{org_slug}/trails/{user_id}`
- Mode: READ
- Summary: Get user trail with full progress breakdown
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
### api_admin_get_user_course_trail_detail_api_v1_admin_org_slug_trails_user_id_cour
- Operation ID: `api_admin_get_user_course_trail_detail_api_v1_admin_org_slug_trails_user_id_cour`
- Route: `GET /api/v1/admin/{org_slug}/trails/{user_id}/courses/{course_uuid}`
- Mode: READ
- Summary: Get user trail breakdown for a single course
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- `course_uuid` in `path` required
### api_admin_get_user_certificates_api_v1_admin_org_slug_certifications_user_id_get
- Operation ID: `api_admin_get_user_certificates_api_v1_admin_org_slug_certifications_user_id_get`
- Route: `GET /api/v1/admin/{org_slug}/certifications/{user_id}`
- Mode: READ
- Summary: Get user certificates
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
### api_admin_provision_user_api_v1_admin_org_slug_users_post
- Operation ID: `api_admin_provision_user_api_v1_admin_org_slug_users_post`
- Route: `POST /api/v1/admin/{org_slug}/users`
- Mode: WRITE
- Summary: Provision a user
- Parameters:
- `org_slug` in `path` required
- Body: JSON request body accepted.
### api_admin_remove_user_api_v1_admin_org_slug_users_user_id_delete
- Operation ID: `api_admin_remove_user_api_v1_admin_org_slug_users_user_id_delete`
- Route: `DELETE /api/v1/admin/{org_slug}/users/{user_id}`
- Mode: WRITE
- Summary: Remove a user from the organization
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
### api_admin_update_user_profile_api_v1_admin_org_slug_users_user_id_patch
- Operation ID: `api_admin_update_user_profile_api_v1_admin_org_slug_users_user_id_patch`
- Route: `PATCH /api/v1/admin/{org_slug}/users/{user_id}`
- Mode: WRITE
- Summary: Update a user's profile
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- Body: JSON request body accepted.
### api_admin_get_user_by_email_api_v1_admin_org_slug_users_by_email_email_get
- Operation ID: `api_admin_get_user_by_email_api_v1_admin_org_slug_users_by_email_email_get`
- Route: `GET /api/v1/admin/{org_slug}/users/by-email/{email}`
- Mode: READ
- Summary: Look up a user by email
- Parameters:
- `org_slug` in `path` required
- `email` in `path` required
### api_admin_issue_magic_link_api_v1_admin_org_slug_auth_magic_link_post
- Operation ID: `api_admin_issue_magic_link_api_v1_admin_org_slug_auth_magic_link_post`
- Route: `POST /api/v1/admin/{org_slug}/auth/magic-link`
- Mode: WRITE
- Summary: Issue a magic sign-in link
- Parameters:
- `org_slug` in `path` required
- Body: JSON request body accepted.
### api_admin_magic_consume_api_v1_admin_org_slug_auth_magic_consume_get
- Operation ID: `api_admin_magic_consume_api_v1_admin_org_slug_auth_magic_consume_get`
- Route: `GET /api/v1/admin/{org_slug}/auth/magic-consume`
- Mode: READ
- Summary: Consume a magic sign-in link (browser-facing)
- Parameters:
- `org_slug` in `path` required
- `token` in `query` required
### api_admin_bulk_enroll_api_v1_admin_org_slug_enrollments_bulk_post
- Operation ID: `api_admin_bulk_enroll_api_v1_admin_org_slug_enrollments_bulk_post`
- Route: `POST /api/v1/admin/{org_slug}/enrollments/bulk`
- Mode: WRITE
- Summary: Bulk enroll users in a course
- Parameters:
- `org_slug` in `path` required
- Body: JSON request body accepted.
### api_admin_list_course_enrollments_api_v1_admin_org_slug_courses_course_uuid_enro
- Operation ID: `api_admin_list_course_enrollments_api_v1_admin_org_slug_courses_course_uuid_enro`
- Route: `GET /api/v1/admin/{org_slug}/courses/{course_uuid}/enrollments`
- Mode: READ
- Summary: List users enrolled in a course
- Parameters:
- `org_slug` in `path` required
- `course_uuid` in `path` required
- `page` in `query`
- `limit` in `query`
### api_admin_reset_user_progress_api_v1_admin_org_slug_progress_user_id_course_uuid
- Operation ID: `api_admin_reset_user_progress_api_v1_admin_org_slug_progress_user_id_course_uuid`
- Route: `POST /api/v1/admin/{org_slug}/progress/{user_id}/{course_uuid}/reset`
- Mode: WRITE
- Summary: Reset a user's progress in a course
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- `course_uuid` in `path` required
### api_admin_award_certificate_api_v1_admin_org_slug_certifications_user_id_course_
- Operation ID: `api_admin_award_certificate_api_v1_admin_org_slug_certifications_user_id_course_`
- Route: `POST /api/v1/admin/{org_slug}/certifications/{user_id}/{course_uuid}/award`
- Mode: WRITE
- Summary: Manually award a certificate
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- `course_uuid` in `path` required
### api_admin_revoke_certificate_api_v1_admin_org_slug_certifications_user_id_user_c
- Operation ID: `api_admin_revoke_certificate_api_v1_admin_org_slug_certifications_user_id_user_c`
- Route: `DELETE /api/v1/admin/{org_slug}/certifications/{user_id}/{user_certification_uuid}`
- Mode: WRITE
- Summary: Revoke a user's certificate
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- `user_certification_uuid` in `path` required
### api_admin_add_usergroup_member_api_v1_admin_org_slug_usergroups_usergroup_uuid_m
- Operation ID: `api_admin_add_usergroup_member_api_v1_admin_org_slug_usergroups_usergroup_uuid_m`
- Route: `POST /api/v1/admin/{org_slug}/usergroups/{usergroup_uuid}/members/{user_id}`
- Mode: WRITE
- Summary: Add a user to a user group
- Parameters:
- `org_slug` in `path` required
- `usergroup_uuid` in `path` required
- `user_id` in `path` required
### api_admin_remove_usergroup_member_api_v1_admin_org_slug_usergroups_usergroup_uui
- Operation ID: `api_admin_remove_usergroup_member_api_v1_admin_org_slug_usergroups_usergroup_uui`
- Route: `DELETE /api/v1/admin/{org_slug}/usergroups/{usergroup_uuid}/members/{user_id}`
- Mode: WRITE
- Summary: Remove a user from a user group
- Parameters:
- `org_slug` in `path` required
- `usergroup_uuid` in `path` required
- `user_id` in `path` required
### api_admin_change_user_role_api_v1_admin_org_slug_users_user_id_role_patch
- Operation ID: `api_admin_change_user_role_api_v1_admin_org_slug_users_user_id_role_patch`
- Route: `PATCH /api/v1/admin/{org_slug}/users/{user_id}/role`
- Mode: WRITE
- Summary: Change a user's org role
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
- Body: JSON request body accepted.
### api_admin_create_usergroup_api_v1_admin_org_slug_usergroups_post
- Operation ID: `api_admin_create_usergroup_api_v1_admin_org_slug_usergroups_post`
- Route: `POST /api/v1/admin/{org_slug}/usergroups`
- Mode: WRITE
- Summary: Create a user group
- Parameters:
- `org_slug` in `path` required
- Body: JSON request body accepted.
### api_admin_delete_usergroup_api_v1_admin_org_slug_usergroups_usergroup_uuid_delet
- Operation ID: `api_admin_delete_usergroup_api_v1_admin_org_slug_usergroups_usergroup_uuid_delet`
- Route: `DELETE /api/v1/admin/{org_slug}/usergroups/{usergroup_uuid}`
- Mode: WRITE
- Summary: Delete a user group
- Parameters:
- `org_slug` in `path` required
- `usergroup_uuid` in `path` required
### api_admin_list_usergroup_members_api_v1_admin_org_slug_usergroups_usergroup_uuid
- Operation ID: `api_admin_list_usergroup_members_api_v1_admin_org_slug_usergroups_usergroup_uuid`
- Route: `GET /api/v1/admin/{org_slug}/usergroups/{usergroup_uuid}/members`
- Mode: READ
- Summary: List members of a user group
- Parameters:
- `org_slug` in `path` required
- `usergroup_uuid` in `path` required
- `page` in `query`
- `limit` in `query`
### api_admin_get_user_groups_api_v1_admin_org_slug_users_user_id_groups_get
- Operation ID: `api_admin_get_user_groups_api_v1_admin_org_slug_users_user_id_groups_get`
- Route: `GET /api/v1/admin/{org_slug}/users/{user_id}/groups`
- Mode: READ
- Summary: List user groups a user belongs to
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
### api_admin_add_course_to_usergroup_api_v1_admin_org_slug_usergroups_usergroup_uui
- Operation ID: `api_admin_add_course_to_usergroup_api_v1_admin_org_slug_usergroups_usergroup_uui`
- Route: `POST /api/v1/admin/{org_slug}/usergroups/{usergroup_uuid}/courses/{course_uuid}`
- Mode: WRITE
- Summary: Grant a cohort access to a course
- Parameters:
- `org_slug` in `path` required
- `usergroup_uuid` in `path` required
- `course_uuid` in `path` required
### api_admin_remove_course_from_usergroup_api_v1_admin_org_slug_usergroups_usergrou
- Operation ID: `api_admin_remove_course_from_usergroup_api_v1_admin_org_slug_usergroups_usergrou`
- Route: `DELETE /api/v1/admin/{org_slug}/usergroups/{usergroup_uuid}/courses/{course_uuid}`
- Mode: WRITE
- Summary: Revoke a cohort's access to a course
- Parameters:
- `org_slug` in `path` required
- `usergroup_uuid` in `path` required
- `course_uuid` in `path` required
### api_admin_export_user_data_api_v1_admin_org_slug_users_user_id_export_get
- Operation ID: `api_admin_export_user_data_api_v1_admin_org_slug_users_user_id_export_get`
- Route: `GET /api/v1/admin/{org_slug}/users/{user_id}/export`
- Mode: READ
- Summary: Full GDPR data export for a user
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
### api_admin_anonymize_user_api_v1_admin_org_slug_users_user_id_anonymize_post
- Operation ID: `api_admin_anonymize_user_api_v1_admin_org_slug_users_user_id_anonymize_post`
- Route: `POST /api/v1/admin/{org_slug}/users/{user_id}/anonymize`
- Mode: WRITE
- Summary: GDPR right-to-be-forgotten
- Parameters:
- `org_slug` in `path` required
- `user_id` in `path` required
### api_admin_get_course_analytics_api_v1_admin_org_slug_courses_course_uuid_analyti
- Operation ID: `api_admin_get_course_analytics_api_v1_admin_org_slug_courses_course_uuid_analyti`
- Route: `GET /api/v1/admin/{org_slug}/courses/{course_uuid}/analytics`
- Mode: READ
- Summary: Aggregate stats for a course
- Parameters:
- `org_slug` in `path` required
- `course_uuid` in `path` required

189
skills/ai/SKILL.md Normal file
View File

@@ -0,0 +1,189 @@
---
name: ai-routes
description: Handle 21 OpenAPI operation(s) under /api/v1/ai for the ai route group.
---
# ai API Routes
Handle 21 OpenAPI operation(s) under /api/v1/ai for the ai 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_ai_start_activity_chat_session_api_v1_ai_start_activity_chat_session_post
- Operation ID: `api_ai_start_activity_chat_session_api_v1_ai_start_activity_chat_session_post`
- Route: `POST /api/v1/ai/start/activity_chat_session`
- Mode: WRITE
- Summary: Start activity AI chat session
- Body: JSON request body accepted.
### api_ai_send_activity_chat_message_api_v1_ai_send_activity_chat_message_post
- Operation ID: `api_ai_send_activity_chat_message_api_v1_ai_send_activity_chat_message_post`
- Route: `POST /api/v1/ai/send/activity_chat_message`
- Mode: WRITE
- Summary: Send activity AI chat message
- Body: JSON request body accepted.
### api_ai_start_activity_chat_session_stream_api_v1_ai_stream_start_activity_chat_s
- Operation ID: `api_ai_start_activity_chat_session_stream_api_v1_ai_stream_start_activity_chat_s`
- Route: `POST /api/v1/ai/stream/start/activity_chat_session`
- Mode: WRITE
- Summary: Start activity AI chat session (streaming)
- Body: JSON request body accepted.
### api_ai_send_activity_chat_message_stream_api_v1_ai_stream_send_activity_chat_mes
- Operation ID: `api_ai_send_activity_chat_message_stream_api_v1_ai_stream_send_activity_chat_mes`
- Route: `POST /api/v1/ai/stream/send/activity_chat_message`
- Mode: WRITE
- Summary: Send activity AI chat message (streaming)
- Body: JSON request body accepted.
### api_editor_ai_start_chat_session_stream_api_v1_ai_stream_editor_start_post
- Operation ID: `api_editor_ai_start_chat_session_stream_api_v1_ai_stream_editor_start_post`
- Route: `POST /api/v1/ai/stream/editor/start`
- Mode: WRITE
- Summary: Start editor AI chat session (streaming)
- Body: JSON request body accepted.
### api_editor_ai_send_message_stream_api_v1_ai_stream_editor_message_post
- Operation ID: `api_editor_ai_send_message_stream_api_v1_ai_stream_editor_message_post`
- Route: `POST /api/v1/ai/stream/editor/message`
- Mode: WRITE
- Summary: Send editor AI chat message (streaming)
- Body: JSON request body accepted.
### start_magicblock_session_api_v1_ai_magicblocks_start_post
- Operation ID: `start_magicblock_session_api_v1_ai_magicblocks_start_post`
- Route: `POST /api/v1/ai/magicblocks/start`
- Mode: WRITE
- Summary: Start MagicBlock session (streaming)
- Body: JSON request body accepted.
### iterate_magicblock_session_api_v1_ai_magicblocks_iterate_post
- Operation ID: `iterate_magicblock_session_api_v1_ai_magicblocks_iterate_post`
- Route: `POST /api/v1/ai/magicblocks/iterate`
- Mode: WRITE
- Summary: Iterate MagicBlock session (streaming)
- Body: JSON request body accepted.
### get_session_state_api_v1_ai_magicblocks_session_session_uuid_get
- Operation ID: `get_session_state_api_v1_ai_magicblocks_session_session_uuid_get`
- Route: `GET /api/v1/ai/magicblocks/session/{session_uuid}`
- Mode: READ
- Summary: Get MagicBlock session state
- Parameters:
- `session_uuid` in `path` required
### start_course_planning_session_api_v1_ai_courseplanning_start_post
- Operation ID: `start_course_planning_session_api_v1_ai_courseplanning_start_post`
- Route: `POST /api/v1/ai/courseplanning/start`
- Mode: WRITE
- Summary: Start course planning session (streaming)
- Body: JSON request body accepted.
### iterate_course_planning_session_api_v1_ai_courseplanning_iterate_post
- Operation ID: `iterate_course_planning_session_api_v1_ai_courseplanning_iterate_post`
- Route: `POST /api/v1/ai/courseplanning/iterate`
- Mode: WRITE
- Summary: Iterate course planning session (streaming)
- Body: JSON request body accepted.
### finalize_course_plan_api_v1_ai_courseplanning_finalize_post
- Operation ID: `finalize_course_plan_api_v1_ai_courseplanning_finalize_post`
- Route: `POST /api/v1/ai/courseplanning/finalize`
- Mode: WRITE
- Summary: Finalize course plan
- Body: JSON request body accepted.
### generate_activity_content_api_v1_ai_courseplanning_generate_activity_post
- Operation ID: `generate_activity_content_api_v1_ai_courseplanning_generate_activity_post`
- Route: `POST /api/v1/ai/courseplanning/generate-activity`
- Mode: WRITE
- Summary: Generate activity content (streaming)
- Body: JSON request body accepted.
### save_activity_content_api_v1_ai_courseplanning_save_activity_content_post
- Operation ID: `save_activity_content_api_v1_ai_courseplanning_save_activity_content_post`
- Route: `POST /api/v1/ai/courseplanning/save-activity-content`
- Mode: WRITE
- Summary: Save AI-generated activity content
- Body: JSON request body accepted.
### get_session_state_api_v1_ai_courseplanning_session_session_uuid_get
- Operation ID: `get_session_state_api_v1_ai_courseplanning_session_session_uuid_get`
- Route: `GET /api/v1/ai/courseplanning/session/{session_uuid}`
- Mode: READ
- Summary: Get course planning session state
- Parameters:
- `session_uuid` in `path` required
### api_rag_chat_api_v1_ai_rag_chat_post
- Operation ID: `api_rag_chat_api_v1_ai_rag_chat_post`
- Route: `POST /api/v1/ai/rag/chat`
- Mode: WRITE
- Summary: RAG chat (streaming)
- Body: JSON request body accepted.
### api_rag_index_api_v1_ai_rag_index_post
- Operation ID: `api_rag_index_api_v1_ai_rag_index_post`
- Route: `POST /api/v1/ai/rag/index`
- Mode: WRITE
- Summary: Reindex course content for RAG
- Body: JSON request body accepted.
### api_rag_sessions_api_v1_ai_rag_sessions_get
- Operation ID: `api_rag_sessions_api_v1_ai_rag_sessions_get`
- Route: `GET /api/v1/ai/rag/sessions`
- Mode: READ
- Summary: List RAG chat sessions
- Parameters:
- `org_slug` in `query`
### api_rag_session_messages_api_v1_ai_rag_sessions_aichat_uuid_messages_get
- Operation ID: `api_rag_session_messages_api_v1_ai_rag_sessions_aichat_uuid_messages_get`
- Route: `GET /api/v1/ai/rag/sessions/{aichat_uuid}/messages`
- Mode: READ
- Summary: Get RAG chat session messages
- Parameters:
- `aichat_uuid` in `path` required
### api_rag_session_delete_api_v1_ai_rag_sessions_aichat_uuid_delete
- Operation ID: `api_rag_session_delete_api_v1_ai_rag_sessions_aichat_uuid_delete`
- Route: `DELETE /api/v1/ai/rag/sessions/{aichat_uuid}`
- Mode: WRITE
- Summary: Delete a RAG chat session
- Parameters:
- `aichat_uuid` in `path` required
### api_rag_session_update_api_v1_ai_rag_sessions_aichat_uuid_patch
- Operation ID: `api_rag_session_update_api_v1_ai_rag_sessions_aichat_uuid_patch`
- Route: `PATCH /api/v1/ai/rag/sessions/{aichat_uuid}`
- Mode: WRITE
- Summary: Update a RAG chat session
- Parameters:
- `aichat_uuid` in `path` required
- Body: JSON request body accepted.

99
skills/analytics/SKILL.md Normal file
View File

@@ -0,0 +1,99 @@
---
name: analytics-routes
description: Handle 9 OpenAPI operation(s) under /api/v1/analytics for the analytics route group.
---
# analytics API Routes
Handle 9 OpenAPI operation(s) under /api/v1/analytics for the analytics 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
### analytics_status_api_v1_analytics_status_get
- Operation ID: `analytics_status_api_v1_analytics_status_get`
- Route: `GET /api/v1/analytics/status`
- Mode: READ
- Summary: Check analytics configuration
### ingest_frontend_event_api_v1_analytics_events_post
- Operation ID: `ingest_frontend_event_api_v1_analytics_events_post`
- Route: `POST /api/v1/analytics/events`
- Mode: WRITE
- Summary: Ingest a frontend analytics event
- Body: JSON request body accepted.
### query_dashboard_detail_api_v1_analytics_dashboard_detail_query_name_get
- Operation ID: `query_dashboard_detail_api_v1_analytics_dashboard_detail_query_name_get`
- Route: `GET /api/v1/analytics/dashboard/detail/{query_name}`
- Mode: READ
- Summary: Run a detail dashboard query
- Parameters:
- `query_name` in `path` required
- `org_id` in `query` required
### query_dashboard_api_v1_analytics_dashboard_query_name_get
- Operation ID: `query_dashboard_api_v1_analytics_dashboard_query_name_get`
- Route: `GET /api/v1/analytics/dashboard/{query_name}`
- Mode: READ
- Summary: Run a dashboard analytics query
- Parameters:
- `query_name` in `path` required
- `org_id` in `query` required
### query_dashboard_db_api_v1_analytics_dashboard_db_query_name_get
- Operation ID: `query_dashboard_db_api_v1_analytics_dashboard_db_query_name_get`
- Route: `GET /api/v1/analytics/dashboard/db/{query_name}`
- Mode: READ
- Summary: Run a PostgreSQL-backed dashboard query
- Parameters:
- `query_name` in `path` required
- `org_id` in `query` required
### query_course_dashboard_detail_api_v1_analytics_dashboard_course_detail_query_nam
- Operation ID: `query_course_dashboard_detail_api_v1_analytics_dashboard_course_detail_query_nam`
- Route: `GET /api/v1/analytics/dashboard/course/detail/{query_name}`
- Mode: READ
- Summary: Run a course-level detail analytics query
- Parameters:
- `query_name` in `path` required
- `org_id` in `query` required
- `course_uuid` in `query` required
### query_course_dashboard_api_v1_analytics_dashboard_course_query_name_get
- Operation ID: `query_course_dashboard_api_v1_analytics_dashboard_course_query_name_get`
- Route: `GET /api/v1/analytics/dashboard/course/{query_name}`
- Mode: READ
- Summary: Run a course-level analytics query
- Parameters:
- `query_name` in `path` required
- `org_id` in `query` required
- `course_uuid` in `query` required
### export_analytics_api_v1_analytics_export_get
- Operation ID: `export_analytics_api_v1_analytics_export_get`
- Route: `GET /api/v1/analytics/export`
- Mode: READ
- Summary: Export analytics data
- Parameters:
- `org_id` in `query` required
### get_plan_info_api_v1_analytics_plan_info_get
- Operation ID: `get_plan_info_api_v1_analytics_plan_info_get`
- Route: `GET /api/v1/analytics/plan-info`
- Mode: READ
- Summary: Get analytics plan tier for an organization
- Parameters:
- `org_id` in `query` required

312
skills/assignments/SKILL.md Normal file
View File

@@ -0,0 +1,312 @@
---
name: assignments-routes
description: Handle 30 OpenAPI operation(s) under /api/v1/assignments for the assignments route group.
---
# assignments API Routes
Handle 30 OpenAPI operation(s) under /api/v1/assignments for the assignments 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_create_assignments_api_v1_assignments_post
- Operation ID: `api_create_assignments_api_v1_assignments_post`
- Route: `POST /api/v1/assignments/`
- Mode: WRITE
- Summary: Create assignment
- Body: JSON request body accepted.
### api_read_assignment_api_v1_assignments_assignment_uuid_get
- Operation ID: `api_read_assignment_api_v1_assignments_assignment_uuid_get`
- Route: `GET /api/v1/assignments/{assignment_uuid}`
- Mode: READ
- Summary: Get assignment
- Parameters:
- `assignment_uuid` in `path` required
### api_update_assignment_api_v1_assignments_assignment_uuid_put
- Operation ID: `api_update_assignment_api_v1_assignments_assignment_uuid_put`
- Route: `PUT /api/v1/assignments/{assignment_uuid}`
- Mode: WRITE
- Summary: Update assignment
- Parameters:
- `assignment_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_assignment_api_v1_assignments_assignment_uuid_delete
- Operation ID: `api_delete_assignment_api_v1_assignments_assignment_uuid_delete`
- Route: `DELETE /api/v1/assignments/{assignment_uuid}`
- Mode: WRITE
- Summary: Delete assignment
- Parameters:
- `assignment_uuid` in `path` required
### api_read_assignment_from_activity_api_v1_assignments_activity_activity_uuid_get
- Operation ID: `api_read_assignment_from_activity_api_v1_assignments_activity_activity_uuid_get`
- Route: `GET /api/v1/assignments/activity/{activity_uuid}`
- Mode: READ
- Summary: Get assignment by activity
- Parameters:
- `activity_uuid` in `path` required
### api_delete_assignment_from_activity_api_v1_assignments_activity_activity_uuid_de
- Operation ID: `api_delete_assignment_from_activity_api_v1_assignments_activity_activity_uuid_de`
- Route: `DELETE /api/v1/assignments/activity/{activity_uuid}`
- Mode: WRITE
- Summary: Delete assignment by activity
- Parameters:
- `activity_uuid` in `path` required
### api_create_assignment_tasks_api_v1_assignments_assignment_uuid_tasks_post
- Operation ID: `api_create_assignment_tasks_api_v1_assignments_assignment_uuid_tasks_post`
- Route: `POST /api/v1/assignments/{assignment_uuid}/tasks`
- Mode: WRITE
- Summary: Create assignment task
- Parameters:
- `assignment_uuid` in `path` required
- Body: JSON request body accepted.
### api_read_assignment_tasks_api_v1_assignments_assignment_uuid_tasks_get
- Operation ID: `api_read_assignment_tasks_api_v1_assignments_assignment_uuid_tasks_get`
- Route: `GET /api/v1/assignments/{assignment_uuid}/tasks`
- Mode: READ
- Summary: List assignment tasks
- Parameters:
- `assignment_uuid` in `path` required
### api_read_assignment_task_api_v1_assignments_task_assignment_task_uuid_get
- Operation ID: `api_read_assignment_task_api_v1_assignments_task_assignment_task_uuid_get`
- Route: `GET /api/v1/assignments/task/{assignment_task_uuid}`
- Mode: READ
- Summary: Get assignment task
- Parameters:
- `assignment_task_uuid` in `path` required
### api_update_assignment_tasks_api_v1_assignments_assignment_uuid_tasks_assignment_
- Operation ID: `api_update_assignment_tasks_api_v1_assignments_assignment_uuid_tasks_assignment_`
- Route: `PUT /api/v1/assignments/{assignment_uuid}/tasks/{assignment_task_uuid}`
- Mode: WRITE
- Summary: Update assignment task
- Parameters:
- `assignment_task_uuid` in `path` required
- `assignment_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_assignment_tasks_api_v1_assignments_assignment_uuid_tasks_assignment_
- Operation ID: `api_delete_assignment_tasks_api_v1_assignments_assignment_uuid_tasks_assignment_`
- Route: `DELETE /api/v1/assignments/{assignment_uuid}/tasks/{assignment_task_uuid}`
- Mode: WRITE
- Summary: Delete assignment task
- Parameters:
- `assignment_task_uuid` in `path` required
- `assignment_uuid` in `path` required
### api_put_assignment_task_ref_file_api_v1_assignments_assignment_uuid_tasks_assign
- Operation ID: `api_put_assignment_task_ref_file_api_v1_assignments_assignment_uuid_tasks_assign`
- Route: `POST /api/v1/assignments/{assignment_uuid}/tasks/{assignment_task_uuid}/ref_file`
- Mode: WRITE
- Summary: Upload task reference file
- Parameters:
- `assignment_task_uuid` in `path` required
- `assignment_uuid` in `path` required
- Body: JSON request body accepted.
### api_put_assignment_task_sub_file_api_v1_assignments_assignment_uuid_tasks_assign
- Operation ID: `api_put_assignment_task_sub_file_api_v1_assignments_assignment_uuid_tasks_assign`
- Route: `POST /api/v1/assignments/{assignment_uuid}/tasks/{assignment_task_uuid}/sub_file`
- Mode: WRITE
- Summary: Upload task submission file
- Parameters:
- `assignment_task_uuid` in `path` required
- `assignment_uuid` in `path` required
- Body: JSON request body accepted.
### api_handle_assignment_task_submissions_api_v1_assignments_assignment_uuid_tasks_
- Operation ID: `api_handle_assignment_task_submissions_api_v1_assignments_assignment_uuid_tasks_`
- Route: `PUT /api/v1/assignments/{assignment_uuid}/tasks/{assignment_task_uuid}/submissions`
- Mode: WRITE
- Summary: Upsert assignment task submission
- Parameters:
- `assignment_task_uuid` in `path` required
- `assignment_uuid` in `path` required
- Body: JSON request body accepted.
### api_read_assignment_task_submissions_api_v1_assignments_assignment_uuid_tasks_as
- Operation ID: `api_read_assignment_task_submissions_api_v1_assignments_assignment_uuid_tasks_as`
- Route: `GET /api/v1/assignments/{assignment_uuid}/tasks/{assignment_task_uuid}/submissions`
- Mode: READ
- Summary: List task submissions
- Parameters:
- `assignment_task_uuid` in `path` required
- `limit` in `query`
- `offset` in `query`
- `assignment_uuid` in `path` required
### api_read_user_assignment_task_submissions_api_v1_assignments_assignment_uuid_tas
- Operation ID: `api_read_user_assignment_task_submissions_api_v1_assignments_assignment_uuid_tas`
- Route: `GET /api/v1/assignments/{assignment_uuid}/tasks/{assignment_task_uuid}/submissions/user/{user_id}`
- Mode: READ
- Summary: List task submissions for user
- Parameters:
- `assignment_task_uuid` in `path` required
- `user_id` in `path` required
- `assignment_uuid` in `path` required
### api_read_user_assignment_task_submissions_me_batch_api_v1_assignments_assignment
- Operation ID: `api_read_user_assignment_task_submissions_me_batch_api_v1_assignments_assignment`
- Route: `GET /api/v1/assignments/{assignment_uuid}/tasks/submissions/me`
- Mode: READ
- Summary: Batch read current user's task submissions
- Parameters:
- `assignment_uuid` in `path` required
### api_read_user_assignment_task_submissions_me_api_v1_assignments_assignment_uuid_
- Operation ID: `api_read_user_assignment_task_submissions_me_api_v1_assignments_assignment_uuid_`
- Route: `GET /api/v1/assignments/{assignment_uuid}/tasks/{assignment_task_uuid}/submissions/me`
- Mode: READ
- Summary: Get current user's task submission
- Parameters:
- `assignment_task_uuid` in `path` required
- `assignment_uuid` in `path` required
### api_delete_assignment_task_submissions_api_v1_assignments_assignment_uuid_tasks_
- Operation ID: `api_delete_assignment_task_submissions_api_v1_assignments_assignment_uuid_tasks_`
- Route: `DELETE /api/v1/assignments/{assignment_uuid}/tasks/{assignment_task_uuid}/submissions/{assignment_task_submission_uuid}`
- Mode: WRITE
- Summary: Delete task submission
- Parameters:
- `assignment_task_submission_uuid` in `path` required
- `assignment_uuid` in `path` required
- `assignment_task_uuid` in `path` required
### api_create_assignment_submissions_api_v1_assignments_assignment_uuid_submissions
- Operation ID: `api_create_assignment_submissions_api_v1_assignments_assignment_uuid_submissions`
- Route: `POST /api/v1/assignments/{assignment_uuid}/submissions`
- Mode: WRITE
- Summary: Create assignment submission
- Parameters:
- `assignment_uuid` in `path` required
### api_read_assignment_submissions_api_v1_assignments_assignment_uuid_submissions_g
- Operation ID: `api_read_assignment_submissions_api_v1_assignments_assignment_uuid_submissions_g`
- Route: `GET /api/v1/assignments/{assignment_uuid}/submissions`
- Mode: READ
- Summary: List assignment submissions
- Parameters:
- `assignment_uuid` in `path` required
- `limit` in `query`
- `offset` in `query`
### api_read_user_assignment_submission_me_api_v1_assignments_assignment_uuid_submis
- Operation ID: `api_read_user_assignment_submission_me_api_v1_assignments_assignment_uuid_submis`
- Route: `GET /api/v1/assignments/{assignment_uuid}/submissions/me`
- Mode: READ
- Summary: Get current user's assignment submission
- Parameters:
- `assignment_uuid` in `path` required
### api_read_user_assignment_submissions_api_v1_assignments_assignment_uuid_submissi
- Operation ID: `api_read_user_assignment_submissions_api_v1_assignments_assignment_uuid_submissi`
- Route: `GET /api/v1/assignments/{assignment_uuid}/submissions/{user_id}`
- Mode: READ
- Summary: Get assignment submission for user
- Parameters:
- `assignment_uuid` in `path` required
- `user_id` in `path` required
### api_update_user_assignment_submissions_api_v1_assignments_assignment_uuid_submis
- Operation ID: `api_update_user_assignment_submissions_api_v1_assignments_assignment_uuid_submis`
- Route: `PUT /api/v1/assignments/{assignment_uuid}/submissions/{user_id}`
- Mode: WRITE
- Summary: Update assignment submission for user
- Parameters:
- `assignment_uuid` in `path` required
- `user_id` in `path` required
- Body: JSON request body accepted.
### api_delete_user_assignment_submissions_api_v1_assignments_assignment_uuid_submis
- Operation ID: `api_delete_user_assignment_submissions_api_v1_assignments_assignment_uuid_submis`
- Route: `DELETE /api/v1/assignments/{assignment_uuid}/submissions/{user_id}`
- Mode: WRITE
- Summary: Delete assignment submission for user
- Parameters:
- `assignment_uuid` in `path` required
- `user_id` in `path` required
### api_get_submission_grade_api_v1_assignments_assignment_uuid_submissions_user_id_
- Operation ID: `api_get_submission_grade_api_v1_assignments_assignment_uuid_submissions_user_id_`
- Route: `GET /api/v1/assignments/{assignment_uuid}/submissions/{user_id}/grade`
- Mode: READ
- Summary: Get assignment submission grade
- Parameters:
- `assignment_uuid` in `path` required
- `user_id` in `path` required
### api_final_grade_submission_api_v1_assignments_assignment_uuid_submissions_user_i
- Operation ID: `api_final_grade_submission_api_v1_assignments_assignment_uuid_submissions_user_i`
- Route: `POST /api/v1/assignments/{assignment_uuid}/submissions/{user_id}/grade`
- Mode: WRITE
- Summary: Finalize assignment submission grade
- Parameters:
- `assignment_uuid` in `path` required
- `user_id` in `path` required
- Body: JSON request body accepted.
### api_retry_assignment_submission_api_v1_assignments_assignment_uuid_submissions_m
- Operation ID: `api_retry_assignment_submission_api_v1_assignments_assignment_uuid_submissions_m`
- Route: `POST /api/v1/assignments/{assignment_uuid}/submissions/me/retry`
- Mode: WRITE
- Summary: Retry assignment for current user
- Parameters:
- `assignment_uuid` in `path` required
### api_submission_mark_as_done_api_v1_assignments_assignment_uuid_submissions_user_
- Operation ID: `api_submission_mark_as_done_api_v1_assignments_assignment_uuid_submissions_user_`
- Route: `POST /api/v1/assignments/{assignment_uuid}/submissions/{user_id}/done`
- Mode: WRITE
- Summary: Mark assignment as done for user
- Parameters:
- `assignment_uuid` in `path` required
- `user_id` in `path` required
### api_get_assignments_api_v1_assignments_course_course_uuid_get
- Operation ID: `api_get_assignments_api_v1_assignments_course_course_uuid_get`
- Route: `GET /api/v1/assignments/course/{course_uuid}`
- Mode: READ
- Summary: List course assignments
- Parameters:
- `course_uuid` in `path` required

62
skills/auth/SKILL.md Normal file
View File

@@ -0,0 +1,62 @@
---
name: auth-routes
description: Handle 6 OpenAPI operation(s) under /api/v1/auth for the auth route group.
---
# auth API Routes
Handle 6 OpenAPI operation(s) under /api/v1/auth for the auth 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
### refresh_api_v1_auth_refresh_get
- Operation ID: `refresh_api_v1_auth_refresh_get`
- Route: `GET /api/v1/auth/refresh`
- Mode: READ
- Summary: Refresh access token
### login_api_v1_auth_login_post
- Operation ID: `login_api_v1_auth_login_post`
- Route: `POST /api/v1/auth/login`
- Mode: WRITE
- Summary: Log in with email and password
- Body: JSON request body accepted.
### third_party_login_api_v1_auth_oauth_post
- Operation ID: `third_party_login_api_v1_auth_oauth_post`
- Route: `POST /api/v1/auth/oauth`
- Mode: WRITE
- Summary: Log in via third-party provider
- Parameters:
- `org_id` in `query`
- Body: JSON request body accepted.
### logout_api_v1_auth_logout_delete
- Operation ID: `logout_api_v1_auth_logout_delete`
- Route: `DELETE /api/v1/auth/logout`
- Mode: WRITE
- Summary: Log out the current user
### api_verify_email_api_v1_auth_verify_email_post
- Operation ID: `api_verify_email_api_v1_auth_verify_email_post`
- Route: `POST /api/v1/auth/verify-email`
- Mode: WRITE
- Summary: Verify user email
- Body: JSON request body accepted.
### api_resend_verification_email_api_v1_auth_resend_verification_post
- Operation ID: `api_resend_verification_email_api_v1_auth_resend_verification_post`
- Route: `POST /api/v1/auth/resend-verification`
- Mode: WRITE
- Summary: Resend verification email
- Body: JSON request body accepted.

82
skills/blocks/SKILL.md Normal file
View File

@@ -0,0 +1,82 @@
---
name: blocks-routes
description: Handle 8 OpenAPI operation(s) under /api/v1/blocks for the blocks route group.
---
# blocks API Routes
Handle 8 OpenAPI operation(s) under /api/v1/blocks for the blocks 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_create_image_file_block_api_v1_blocks_image_post
- Operation ID: `api_create_image_file_block_api_v1_blocks_image_post`
- Route: `POST /api/v1/blocks/image`
- Mode: WRITE
- Summary: Create image block
- Body: JSON request body accepted.
### api_get_image_file_block_api_v1_blocks_image_get
- Operation ID: `api_get_image_file_block_api_v1_blocks_image_get`
- Route: `GET /api/v1/blocks/image`
- Mode: READ
- Summary: Get image block
- Parameters:
- `block_uuid` in `query` required
### api_create_video_file_block_api_v1_blocks_video_post
- Operation ID: `api_create_video_file_block_api_v1_blocks_video_post`
- Route: `POST /api/v1/blocks/video`
- Mode: WRITE
- Summary: Create video block
- Body: JSON request body accepted.
### api_get_video_file_block_api_v1_blocks_video_get
- Operation ID: `api_get_video_file_block_api_v1_blocks_video_get`
- Route: `GET /api/v1/blocks/video`
- Mode: READ
- Summary: Get video block
- Parameters:
- `block_uuid` in `query` required
### api_create_pdf_file_block_api_v1_blocks_pdf_post
- Operation ID: `api_create_pdf_file_block_api_v1_blocks_pdf_post`
- Route: `POST /api/v1/blocks/pdf`
- Mode: WRITE
- Summary: Create PDF block
- Body: JSON request body accepted.
### api_get_pdf_file_block_api_v1_blocks_pdf_get
- Operation ID: `api_get_pdf_file_block_api_v1_blocks_pdf_get`
- Route: `GET /api/v1/blocks/pdf`
- Mode: READ
- Summary: Get PDF block
- Parameters:
- `block_uuid` in `query` required
### api_create_audio_file_block_api_v1_blocks_audio_post
- Operation ID: `api_create_audio_file_block_api_v1_blocks_audio_post`
- Route: `POST /api/v1/blocks/audio`
- Mode: WRITE
- Summary: Create audio block
- Body: JSON request body accepted.
### api_get_audio_file_block_api_v1_blocks_audio_get
- Operation ID: `api_get_audio_file_block_api_v1_blocks_audio_get`
- Route: `GET /api/v1/blocks/audio`
- Mode: READ
- Summary: Get audio block
- Parameters:
- `block_uuid` in `query` required

173
skills/boards/SKILL.md Normal file
View File

@@ -0,0 +1,173 @@
---
name: boards-routes
description: Handle 17 OpenAPI operation(s) under /api/v1/boards for the boards route group.
---
# boards API Routes
Handle 17 OpenAPI operation(s) under /api/v1/boards for the boards 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_create_board_api_v1_boards_post
- Operation ID: `api_create_board_api_v1_boards_post`
- Route: `POST /api/v1/boards/`
- Mode: WRITE
- Summary: Create a board
- Parameters:
- `org_id` in `query` required
- Body: JSON request body accepted.
### api_get_boards_by_org_api_v1_boards_org_org_id_get
- Operation ID: `api_get_boards_by_org_api_v1_boards_org_org_id_get`
- Route: `GET /api/v1/boards/org/{org_id}`
- Mode: READ
- Summary: List boards for an organization
- Parameters:
- `org_id` in `path` required
### api_get_board_api_v1_boards_board_uuid_get
- Operation ID: `api_get_board_api_v1_boards_board_uuid_get`
- Route: `GET /api/v1/boards/{board_uuid}`
- Mode: READ
- Summary: Get a board by UUID
- Parameters:
- `board_uuid` in `path` required
### api_update_board_api_v1_boards_board_uuid_put
- Operation ID: `api_update_board_api_v1_boards_board_uuid_put`
- Route: `PUT /api/v1/boards/{board_uuid}`
- Mode: WRITE
- Summary: Update a board
- Parameters:
- `board_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_board_api_v1_boards_board_uuid_delete
- Operation ID: `api_delete_board_api_v1_boards_board_uuid_delete`
- Route: `DELETE /api/v1/boards/{board_uuid}`
- Mode: WRITE
- Summary: Delete a board
- Parameters:
- `board_uuid` in `path` required
### api_duplicate_board_api_v1_boards_board_uuid_duplicate_post
- Operation ID: `api_duplicate_board_api_v1_boards_board_uuid_duplicate_post`
- Route: `POST /api/v1/boards/{board_uuid}/duplicate`
- Mode: WRITE
- Summary: Duplicate a board
- Parameters:
- `board_uuid` in `path` required
### api_get_board_members_api_v1_boards_board_uuid_members_get
- Operation ID: `api_get_board_members_api_v1_boards_board_uuid_members_get`
- Route: `GET /api/v1/boards/{board_uuid}/members`
- Mode: READ
- Summary: List board members
- Parameters:
- `board_uuid` in `path` required
### api_add_board_member_api_v1_boards_board_uuid_members_post
- Operation ID: `api_add_board_member_api_v1_boards_board_uuid_members_post`
- Route: `POST /api/v1/boards/{board_uuid}/members`
- Mode: WRITE
- Summary: Add a member to a board
- Parameters:
- `board_uuid` in `path` required
- Body: JSON request body accepted.
### api_update_board_thumbnail_api_v1_boards_board_uuid_thumbnail_post
- Operation ID: `api_update_board_thumbnail_api_v1_boards_board_uuid_thumbnail_post`
- Route: `POST /api/v1/boards/{board_uuid}/thumbnail`
- Mode: WRITE
- Summary: Upload a board thumbnail
- Parameters:
- `board_uuid` in `path` required
- Body: JSON request body accepted.
### api_add_board_members_batch_api_v1_boards_board_uuid_members_batch_post
- Operation ID: `api_add_board_members_batch_api_v1_boards_board_uuid_members_batch_post`
- Route: `POST /api/v1/boards/{board_uuid}/members/batch`
- Mode: WRITE
- Summary: Add multiple members to a board
- Parameters:
- `board_uuid` in `path` required
- Body: JSON request body accepted.
### api_remove_board_member_api_v1_boards_board_uuid_members_user_id_delete
- Operation ID: `api_remove_board_member_api_v1_boards_board_uuid_members_user_id_delete`
- Route: `DELETE /api/v1/boards/{board_uuid}/members/{user_id}`
- Mode: WRITE
- Summary: Remove a member from a board
- Parameters:
- `board_uuid` in `path` required
- `user_id` in `path` required
### api_check_board_membership_api_v1_boards_board_uuid_membership_get
- Operation ID: `api_check_board_membership_api_v1_boards_board_uuid_membership_get`
- Route: `GET /api/v1/boards/{board_uuid}/membership`
- Mode: READ
- Summary: Check current user's board membership
- Parameters:
- `board_uuid` in `path` required
### api_get_ydoc_state_api_v1_boards_board_uuid_ydoc_get
- Operation ID: `api_get_ydoc_state_api_v1_boards_board_uuid_ydoc_get`
- Route: `GET /api/v1/boards/{board_uuid}/ydoc`
- Mode: READ
- Summary: Fetch the Yjs document state for a board
- Parameters:
- `board_uuid` in `path` required
- `x-internal-key` in `header` required
### api_store_ydoc_state_api_v1_boards_board_uuid_ydoc_put
- Operation ID: `api_store_ydoc_state_api_v1_boards_board_uuid_ydoc_put`
- Route: `PUT /api/v1/boards/{board_uuid}/ydoc`
- Mode: WRITE
- Summary: Persist the Yjs document state for a board
- Parameters:
- `board_uuid` in `path` required
- `x-internal-key` in `header` required
### start_boards_playground_session_api_v1_boards_playground_start_post
- Operation ID: `start_boards_playground_session_api_v1_boards_playground_start_post`
- Route: `POST /api/v1/boards/playground/start`
- Mode: WRITE
- Summary: Start a boards playground AI session
- Body: JSON request body accepted.
### iterate_boards_playground_session_api_v1_boards_playground_iterate_post
- Operation ID: `iterate_boards_playground_session_api_v1_boards_playground_iterate_post`
- Route: `POST /api/v1/boards/playground/iterate`
- Mode: WRITE
- Summary: Iterate on a boards playground AI session
- Body: JSON request body accepted.
### get_session_state_api_v1_boards_playground_session_session_uuid_get
- Operation ID: `get_session_state_api_v1_boards_playground_session_session_uuid_get`
- Route: `GET /api/v1/boards/playground/session/{session_uuid}`
- Mode: READ
- Summary: Get boards playground session state
- Parameters:
- `session_uuid` in `path` required

View File

@@ -0,0 +1,84 @@
---
name: certifications-routes
description: Handle 8 OpenAPI operation(s) under /api/v1/certifications for the certifications route group.
---
# certifications API Routes
Handle 8 OpenAPI operation(s) under /api/v1/certifications for the certifications 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_create_certification_api_v1_certifications_post
- Operation ID: `api_create_certification_api_v1_certifications_post`
- Route: `POST /api/v1/certifications/`
- Mode: WRITE
- Summary: Create certification
- Body: JSON request body accepted.
### api_get_certification_api_v1_certifications_certification_uuid_get
- Operation ID: `api_get_certification_api_v1_certifications_certification_uuid_get`
- Route: `GET /api/v1/certifications/{certification_uuid}`
- Mode: READ
- Summary: Get certification
- Parameters:
- `certification_uuid` in `path` required
### api_update_certification_api_v1_certifications_certification_uuid_put
- Operation ID: `api_update_certification_api_v1_certifications_certification_uuid_put`
- Route: `PUT /api/v1/certifications/{certification_uuid}`
- Mode: WRITE
- Summary: Update certification
- Parameters:
- `certification_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_certification_api_v1_certifications_certification_uuid_delete
- Operation ID: `api_delete_certification_api_v1_certifications_certification_uuid_delete`
- Route: `DELETE /api/v1/certifications/{certification_uuid}`
- Mode: WRITE
- Summary: Delete certification
- Parameters:
- `certification_uuid` in `path` required
### api_get_certifications_by_course_api_v1_certifications_course_course_uuid_get
- Operation ID: `api_get_certifications_by_course_api_v1_certifications_course_course_uuid_get`
- Route: `GET /api/v1/certifications/course/{course_uuid}`
- Mode: READ
- Summary: List course certifications
- Parameters:
- `course_uuid` in `path` required
### api_get_user_certificates_for_course_api_v1_certifications_user_course_course_uu
- Operation ID: `api_get_user_certificates_for_course_api_v1_certifications_user_course_course_uu`
- Route: `GET /api/v1/certifications/user/course/{course_uuid}`
- Mode: READ
- Summary: List my certificates for course
- Parameters:
- `course_uuid` in `path` required
### api_get_certificate_by_user_certification_uuid_api_v1_certifications_certificate
- Operation ID: `api_get_certificate_by_user_certification_uuid_api_v1_certifications_certificate`
- Route: `GET /api/v1/certifications/certificate/{user_certification_uuid}`
- Mode: READ
- Summary: Get awarded certificate
- Parameters:
- `user_certification_uuid` in `path` required
### api_get_all_user_certificates_api_v1_certifications_user_all_get
- Operation ID: `api_get_all_user_certificates_api_v1_certifications_user_all_get`
- Route: `GET /api/v1/certifications/user/all`
- Mode: READ
- Summary: List my certificates

109
skills/chapters/SKILL.md Normal file
View File

@@ -0,0 +1,109 @@
---
name: chapters-routes
description: Handle 10 OpenAPI operation(s) under /api/v1/chapters for the chapters route group.
---
# chapters API Routes
Handle 10 OpenAPI operation(s) under /api/v1/chapters for the chapters 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_create_coursechapter_api_v1_chapters_post
- Operation ID: `api_create_coursechapter_api_v1_chapters_post`
- Route: `POST /api/v1/chapters/`
- Mode: WRITE
- Summary: Create chapter
- Body: JSON request body accepted.
### api_get_coursechapter_api_v1_chapters_chapter_id_get
- Operation ID: `api_get_coursechapter_api_v1_chapters_chapter_id_get`
- Route: `GET /api/v1/chapters/{chapter_id}`
- Mode: READ
- Summary: Get chapter by ID
- Parameters:
- `chapter_id` in `path` required
### api_update_coursechapter_api_v1_chapters_chapter_id_put
- Operation ID: `api_update_coursechapter_api_v1_chapters_chapter_id_put`
- Route: `PUT /api/v1/chapters/{chapter_id}`
- Mode: WRITE
- Summary: Update chapter
- Parameters:
- `chapter_id` in `path` required
- Body: JSON request body accepted.
### api_delete_coursechapter_api_v1_chapters_chapter_id_delete
- Operation ID: `api_delete_coursechapter_api_v1_chapters_chapter_id_delete`
- Route: `DELETE /api/v1/chapters/{chapter_id}`
- Mode: WRITE
- Summary: Delete chapter
- Parameters:
- `chapter_id` in `path` required
### api_get_chapter_meta_api_v1_chapters_course_course_uuid_meta_get
- Operation ID: `api_get_chapter_meta_api_v1_chapters_course_course_uuid_meta_get`
- Route: `GET /api/v1/chapters/course/{course_uuid}/meta`
- Mode: READ
- Summary: Get chapters metadata (deprecated)
- Parameters:
- `course_uuid` in `path` required
### api_update_chapter_meta_api_v1_chapters_course_course_uuid_order_put
- Operation ID: `api_update_chapter_meta_api_v1_chapters_course_course_uuid_order_put`
- Route: `PUT /api/v1/chapters/course/{course_uuid}/order`
- Mode: WRITE
- Summary: Reorder chapters and activities
- Parameters:
- `course_uuid` in `path` required
- Body: JSON request body accepted.
### api_get_chapter_by_api_v1_chapters_course_course_id_page_page_limit_limit_get
- Operation ID: `api_get_chapter_by_api_v1_chapters_course_course_id_page_page_limit_limit_get`
- Route: `GET /api/v1/chapters/course/{course_id}/page/{page}/limit/{limit}`
- Mode: READ
- Summary: List course chapters
- Parameters:
- `course_id` in `path` required
- `page` in `path` required
- `limit` in `path` required
### api_list_chapter_usergroups_api_v1_chapters_chapter_uuid_usergroups_get
- Operation ID: `api_list_chapter_usergroups_api_v1_chapters_chapter_uuid_usergroups_get`
- Route: `GET /api/v1/chapters/{chapter_uuid}/usergroups`
- Mode: READ
- Summary: List user groups assigned to a locked chapter
- Parameters:
- `chapter_uuid` in `path` required
### api_add_chapter_usergroup_api_v1_chapters_chapter_uuid_usergroups_usergroup_uuid
- Operation ID: `api_add_chapter_usergroup_api_v1_chapters_chapter_uuid_usergroups_usergroup_uuid`
- Route: `POST /api/v1/chapters/{chapter_uuid}/usergroups/{usergroup_uuid}`
- Mode: WRITE
- Summary: Grant a user group access to a locked chapter
- Parameters:
- `chapter_uuid` in `path` required
- `usergroup_uuid` in `path` required
### api_remove_chapter_usergroup_api_v1_chapters_chapter_uuid_usergroups_usergroup_u
- Operation ID: `api_remove_chapter_usergroup_api_v1_chapters_chapter_uuid_usergroups_usergroup_u`
- Route: `DELETE /api/v1/chapters/{chapter_uuid}/usergroups/{usergroup_uuid}`
- Mode: WRITE
- Summary: Revoke a user group's access to a locked chapter
- Parameters:
- `chapter_uuid` in `path` required
- `usergroup_uuid` in `path` required

58
skills/code/SKILL.md Normal file
View File

@@ -0,0 +1,58 @@
---
name: code-routes
description: Handle 5 OpenAPI operation(s) under /api/v1/code for the code route group.
---
# code API Routes
Handle 5 OpenAPI operation(s) under /api/v1/code for the code 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
### execute_code_api_v1_code_execute_post
- Operation ID: `execute_code_api_v1_code_execute_post`
- Route: `POST /api/v1/code/execute`
- Mode: WRITE
- Summary: Execute a code snippet
- Body: JSON request body accepted.
### execute_batch_api_v1_code_execute_batch_post
- Operation ID: `execute_batch_api_v1_code_execute_batch_post`
- Route: `POST /api/v1/code/execute-batch`
- Mode: WRITE
- Summary: Execute code against a batch of test cases
- Body: JSON request body accepted.
### upload_sqlite_db_api_v1_code_upload_sqlite_post
- Operation ID: `upload_sqlite_db_api_v1_code_upload_sqlite_post`
- Route: `POST /api/v1/code/upload-sqlite`
- Mode: WRITE
- Summary: Upload a SQLite database for a code playground block
- Body: JSON request body accepted.
### get_submission_history_api_v1_code_submissions_history_get
- Operation ID: `get_submission_history_api_v1_code_submissions_history_get`
- Route: `GET /api/v1/code/submissions/history`
- Mode: READ
- Summary: List a user's code submission history
- Parameters:
- `activity_uuid` in `query` required
- `block_id` in `query` required
- `page` in `query`
- `limit` in `query`
### save_submission_api_v1_code_submissions_save_post
- Operation ID: `save_submission_api_v1_code_submissions_save_post`
- Route: `POST /api/v1/code/submissions/save`
- Mode: WRITE
- Summary: Save a code submission
- Body: JSON request body accepted.

View File

@@ -0,0 +1,61 @@
---
name: collections-routes
description: Handle 5 OpenAPI operation(s) under /api/v1/collections for the collections route group.
---
# collections API Routes
Handle 5 OpenAPI operation(s) under /api/v1/collections for the collections 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_create_collection_api_v1_collections_post
- Operation ID: `api_create_collection_api_v1_collections_post`
- Route: `POST /api/v1/collections/`
- Mode: WRITE
- Summary: Create collection
- Body: JSON request body accepted.
### api_get_collection_api_v1_collections_collection_uuid_get
- Operation ID: `api_get_collection_api_v1_collections_collection_uuid_get`
- Route: `GET /api/v1/collections/{collection_uuid}`
- Mode: READ
- Summary: Get collection
- Parameters:
- `collection_uuid` in `path` required
### api_update_collection_api_v1_collections_collection_uuid_put
- Operation ID: `api_update_collection_api_v1_collections_collection_uuid_put`
- Route: `PUT /api/v1/collections/{collection_uuid}`
- Mode: WRITE
- Summary: Update collection
- Parameters:
- `collection_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_collection_api_v1_collections_collection_uuid_delete
- Operation ID: `api_delete_collection_api_v1_collections_collection_uuid_delete`
- Route: `DELETE /api/v1/collections/{collection_uuid}`
- Mode: WRITE
- Summary: Delete collection
- Parameters:
- `collection_uuid` in `path` required
### api_get_collections_by_api_v1_collections_org_org_id_page_page_limit_limit_get
- Operation ID: `api_get_collections_by_api_v1_collections_org_org_id_page_page_limit_limit_get`
- Route: `GET /api/v1/collections/org/{org_id}/page/{page}/limit/{limit}`
- Mode: READ
- Summary: List collections for org
- Parameters:
- `page` in `path` required
- `limit` in `path` required
- `org_id` in `path` required

51
skills/comments/SKILL.md Normal file
View File

@@ -0,0 +1,51 @@
---
name: comments-routes
description: Handle 4 OpenAPI operation(s) under /api/v1/comments/{comment_uuid} for the comments route group.
---
# comments API Routes
Handle 4 OpenAPI operation(s) under /api/v1/comments/{comment_uuid} for the comments 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_update_comment_api_v1_comments_comment_uuid_put
- Operation ID: `api_update_comment_api_v1_comments_comment_uuid_put`
- Route: `PUT /api/v1/comments/{comment_uuid}`
- Mode: WRITE
- Summary: Update a comment
- Parameters:
- `comment_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_comment_api_v1_comments_comment_uuid_delete
- Operation ID: `api_delete_comment_api_v1_comments_comment_uuid_delete`
- Route: `DELETE /api/v1/comments/{comment_uuid}`
- Mode: WRITE
- Summary: Delete a comment
- Parameters:
- `comment_uuid` in `path` required
### api_upvote_comment_api_v1_comments_comment_uuid_vote_post
- Operation ID: `api_upvote_comment_api_v1_comments_comment_uuid_vote_post`
- Route: `POST /api/v1/comments/{comment_uuid}/vote`
- Mode: WRITE
- Summary: Upvote a comment
- Parameters:
- `comment_uuid` in `path` required
### api_remove_comment_upvote_api_v1_comments_comment_uuid_vote_delete
- Operation ID: `api_remove_comment_upvote_api_v1_comments_comment_uuid_vote_delete`
- Route: `DELETE /api/v1/comments/{comment_uuid}/vote`
- Mode: WRITE
- Summary: Remove an upvote from a comment
- Parameters:
- `comment_uuid` in `path` required

133
skills/communities/SKILL.md Normal file
View File

@@ -0,0 +1,133 @@
---
name: communities-routes
description: Handle 12 OpenAPI operation(s) under /api/v1/communities for the communities route group.
---
# communities API Routes
Handle 12 OpenAPI operation(s) under /api/v1/communities for the communities 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_create_community_api_v1_communities_post
- Operation ID: `api_create_community_api_v1_communities_post`
- Route: `POST /api/v1/communities/`
- Mode: WRITE
- Summary: Create a community
- Parameters:
- `org_id` in `query` required
- Body: JSON request body accepted.
### api_get_community_api_v1_communities_community_uuid_get
- Operation ID: `api_get_community_api_v1_communities_community_uuid_get`
- Route: `GET /api/v1/communities/{community_uuid}`
- Mode: READ
- Summary: Get a community
- Parameters:
- `community_uuid` in `path` required
### api_update_community_api_v1_communities_community_uuid_put
- Operation ID: `api_update_community_api_v1_communities_community_uuid_put`
- Route: `PUT /api/v1/communities/{community_uuid}`
- Mode: WRITE
- Summary: Update a community
- Parameters:
- `community_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_community_api_v1_communities_community_uuid_delete
- Operation ID: `api_delete_community_api_v1_communities_community_uuid_delete`
- Route: `DELETE /api/v1/communities/{community_uuid}`
- Mode: WRITE
- Summary: Delete a community
- Parameters:
- `community_uuid` in `path` required
### api_get_communities_by_org_api_v1_communities_org_org_id_page_page_limit_limit_g
- Operation ID: `api_get_communities_by_org_api_v1_communities_org_org_id_page_page_limit_limit_g`
- Route: `GET /api/v1/communities/org/{org_id}/page/{page}/limit/{limit}`
- Mode: READ
- Summary: List communities for an organization
- Parameters:
- `org_id` in `path` required
- `page` in `path` required
- `limit` in `path` required
### api_get_community_by_course_api_v1_communities_course_course_uuid_get
- Operation ID: `api_get_community_by_course_api_v1_communities_course_course_uuid_get`
- Route: `GET /api/v1/communities/course/{course_uuid}`
- Mode: READ
- Summary: Get community for a course
- Parameters:
- `course_uuid` in `path` required
### api_link_community_to_course_api_v1_communities_community_uuid_link_course_cours
- Operation ID: `api_link_community_to_course_api_v1_communities_community_uuid_link_course_cours`
- Route: `PUT /api/v1/communities/{community_uuid}/link-course/{course_uuid}`
- Mode: WRITE
- Summary: Link community to a course
- Parameters:
- `community_uuid` in `path` required
- `course_uuid` in `path` required
### api_unlink_community_from_course_api_v1_communities_community_uuid_unlink_course
- Operation ID: `api_unlink_community_from_course_api_v1_communities_community_uuid_unlink_course`
- Route: `DELETE /api/v1/communities/{community_uuid}/unlink-course`
- Mode: WRITE
- Summary: Unlink community from its course
- Parameters:
- `community_uuid` in `path` required
### api_get_community_rights_api_v1_communities_community_uuid_rights_get
- Operation ID: `api_get_community_rights_api_v1_communities_community_uuid_rights_get`
- Route: `GET /api/v1/communities/{community_uuid}/rights`
- Mode: READ
- Summary: Get current user rights for a community
- Parameters:
- `community_uuid` in `path` required
### api_update_community_thumbnail_api_v1_communities_community_uuid_thumbnail_put
- Operation ID: `api_update_community_thumbnail_api_v1_communities_community_uuid_thumbnail_put`
- Route: `PUT /api/v1/communities/{community_uuid}/thumbnail`
- Mode: WRITE
- Summary: Upload a community thumbnail
- Parameters:
- `community_uuid` in `path` required
- Body: JSON request body accepted.
### api_create_discussion_api_v1_communities_community_uuid_discussions_post
- Operation ID: `api_create_discussion_api_v1_communities_community_uuid_discussions_post`
- Route: `POST /api/v1/communities/{community_uuid}/discussions`
- Mode: WRITE
- Summary: Create a discussion
- Parameters:
- `community_uuid` in `path` required
- Body: JSON request body accepted.
### api_get_discussions_by_community_api_v1_communities_community_uuid_discussions_g
- Operation ID: `api_get_discussions_by_community_api_v1_communities_community_uuid_discussions_g`
- Route: `GET /api/v1/communities/{community_uuid}/discussions`
- Mode: READ
- Summary: List discussions in a community
- Parameters:
- `community_uuid` in `path` required
- `sort_by` in `query`
- `page` in `query`
- `limit` in `query`
- `label` in `query`

32
skills/content/SKILL.md Normal file
View File

@@ -0,0 +1,32 @@
---
name: content-routes
description: Handle 2 OpenAPI operation(s) under /content/{file_path} for the content route group.
---
# content API Routes
Handle 2 OpenAPI operation(s) under /content/{file_path} for the content 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
### serve_content_file_content_file_path_get
- Operation ID: `serve_content_file_content_file_path_get`
- Route: `GET /content/{file_path}`
- Mode: READ
- Summary: Serve a content file
- Parameters:
- `file_path` in `path` required
### head_content_file_content_file_path_head
- Operation ID: `head_content_file_content_file_path_head`
- Route: `HEAD /content/{file_path}`
- Mode: READ
- Summary: Get content file metadata
- Parameters:
- `file_path` in `path` required

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.

42
skills/dev/SKILL.md Normal file
View File

@@ -0,0 +1,42 @@
---
name: dev-routes
description: Handle 4 OpenAPI operation(s) under /api/v1/dev for the dev route group.
---
# dev API Routes
Handle 4 OpenAPI operation(s) under /api/v1/dev for the dev 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
### config_api_v1_dev_config_get
- Operation ID: `config_api_v1_dev_config_get`
- Route: `GET /api/v1/dev/config`
- Mode: READ
- Summary: Get LearnHouse runtime config
### migrate_api_v1_dev_migrate_orgconfig_v0_to_v1_post
- Operation ID: `migrate_api_v1_dev_migrate_orgconfig_v0_to_v1_post`
- Route: `POST /api/v1/dev/migrate_orgconfig_v0_to_v1`
- Mode: WRITE
- Summary: Migrate organization config v0 to v1
### migratev1_1_api_v1_dev_migrate_orgconfig_v1_to_v1_1_post
- Operation ID: `migratev1_1_api_v1_dev_migrate_orgconfig_v1_to_v1_1_post`
- Route: `POST /api/v1/dev/migrate_orgconfig_v1_to_v1.1`
- Mode: WRITE
- Summary: Migrate organization config v1 to v1.1
### migratev1_2_api_v1_dev_migrate_orgconfig_v1_to_v1_2_post
- Operation ID: `migratev1_2_api_v1_dev_migrate_orgconfig_v1_to_v1_2_post`
- Route: `POST /api/v1/dev/migrate_orgconfig_v1_to_v1.2`
- Mode: WRITE
- Summary: Migrate organization config v1 to v1.2

144
skills/discussions/SKILL.md Normal file
View File

@@ -0,0 +1,144 @@
---
name: discussions-routes
description: Handle 14 OpenAPI operation(s) under /api/v1/discussions for the discussions route group.
---
# discussions API Routes
Handle 14 OpenAPI operation(s) under /api/v1/discussions for the discussions 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_get_discussion_labels_api_v1_discussions_labels_get
- Operation ID: `api_get_discussion_labels_api_v1_discussions_labels_get`
- Route: `GET /api/v1/discussions/labels`
- Mode: READ
- Summary: List discussion labels
### api_get_discussion_api_v1_discussions_discussion_uuid_get
- Operation ID: `api_get_discussion_api_v1_discussions_discussion_uuid_get`
- Route: `GET /api/v1/discussions/{discussion_uuid}`
- Mode: READ
- Summary: Get a discussion
- Parameters:
- `discussion_uuid` in `path` required
### api_update_discussion_api_v1_discussions_discussion_uuid_put
- Operation ID: `api_update_discussion_api_v1_discussions_discussion_uuid_put`
- Route: `PUT /api/v1/discussions/{discussion_uuid}`
- Mode: WRITE
- Summary: Update a discussion
- Parameters:
- `discussion_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_discussion_api_v1_discussions_discussion_uuid_delete
- Operation ID: `api_delete_discussion_api_v1_discussions_discussion_uuid_delete`
- Route: `DELETE /api/v1/discussions/{discussion_uuid}`
- Mode: WRITE
- Summary: Delete a discussion
- Parameters:
- `discussion_uuid` in `path` required
### api_pin_discussion_api_v1_discussions_discussion_uuid_pin_put
- Operation ID: `api_pin_discussion_api_v1_discussions_discussion_uuid_pin_put`
- Route: `PUT /api/v1/discussions/{discussion_uuid}/pin`
- Mode: WRITE
- Summary: Pin or unpin a discussion
- Parameters:
- `discussion_uuid` in `path` required
- Body: JSON request body accepted.
### api_lock_discussion_api_v1_discussions_discussion_uuid_lock_put
- Operation ID: `api_lock_discussion_api_v1_discussions_discussion_uuid_lock_put`
- Route: `PUT /api/v1/discussions/{discussion_uuid}/lock`
- Mode: WRITE
- Summary: Lock or unlock a discussion
- Parameters:
- `discussion_uuid` in `path` required
- Body: JSON request body accepted.
### api_upvote_discussion_api_v1_discussions_discussion_uuid_vote_post
- Operation ID: `api_upvote_discussion_api_v1_discussions_discussion_uuid_vote_post`
- Route: `POST /api/v1/discussions/{discussion_uuid}/vote`
- Mode: WRITE
- Summary: Upvote a discussion
- Parameters:
- `discussion_uuid` in `path` required
### api_remove_upvote_api_v1_discussions_discussion_uuid_vote_delete
- Operation ID: `api_remove_upvote_api_v1_discussions_discussion_uuid_vote_delete`
- Route: `DELETE /api/v1/discussions/{discussion_uuid}/vote`
- Mode: WRITE
- Summary: Remove an upvote from a discussion
- Parameters:
- `discussion_uuid` in `path` required
### api_get_user_votes_batch_api_v1_discussions_votes_batch_post
- Operation ID: `api_get_user_votes_batch_api_v1_discussions_votes_batch_post`
- Route: `POST /api/v1/discussions/votes/batch`
- Mode: WRITE
- Summary: Batch check user vote status
- Body: JSON request body accepted.
### api_create_comment_api_v1_discussions_discussion_uuid_comments_post
- Operation ID: `api_create_comment_api_v1_discussions_discussion_uuid_comments_post`
- Route: `POST /api/v1/discussions/{discussion_uuid}/comments`
- Mode: WRITE
- Summary: Create a comment
- Parameters:
- `discussion_uuid` in `path` required
- Body: JSON request body accepted.
### api_get_comments_by_discussion_api_v1_discussions_discussion_uuid_comments_get
- Operation ID: `api_get_comments_by_discussion_api_v1_discussions_discussion_uuid_comments_get`
- Route: `GET /api/v1/discussions/{discussion_uuid}/comments`
- Mode: READ
- Summary: List comments for a discussion
- Parameters:
- `discussion_uuid` in `path` required
- `page` in `query`
- `limit` in `query`
### api_get_comment_count_api_v1_discussions_discussion_uuid_comments_count_get
- Operation ID: `api_get_comment_count_api_v1_discussions_discussion_uuid_comments_count_get`
- Route: `GET /api/v1/discussions/{discussion_uuid}/comments/count`
- Mode: READ
- Summary: Get comment count for a discussion
- Parameters:
- `discussion_uuid` in `path` required
### api_get_reactions_api_v1_discussions_discussion_uuid_reactions_get
- Operation ID: `api_get_reactions_api_v1_discussions_discussion_uuid_reactions_get`
- Route: `GET /api/v1/discussions/{discussion_uuid}/reactions`
- Mode: READ
- Summary: List reactions on a discussion
- Parameters:
- `discussion_uuid` in `path` required
### api_toggle_reaction_api_v1_discussions_discussion_uuid_reactions_post
- Operation ID: `api_toggle_reaction_api_v1_discussions_discussion_uuid_reactions_post`
- Route: `POST /api/v1/discussions/{discussion_uuid}/reactions`
- Mode: WRITE
- Summary: Toggle a reaction on a discussion
- Parameters:
- `discussion_uuid` in `path` required
- Body: JSON request body accepted.

21
skills/health/SKILL.md Normal file
View File

@@ -0,0 +1,21 @@
---
name: health-routes
description: Handle 1 OpenAPI operation(s) under /api/v1/health for the health route group.
---
# health API Routes
Handle 1 OpenAPI operation(s) under /api/v1/health for the health 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
### health_api_v1_health_get
- Operation ID: `health_api_v1_health_get`
- Route: `GET /api/v1/health`
- Mode: READ
- Summary: Health check

21
skills/instance/SKILL.md Normal file
View File

@@ -0,0 +1,21 @@
---
name: instance-routes
description: Handle 1 OpenAPI operation(s) under /api/v1/instance/info for the instance route group.
---
# instance API Routes
Handle 1 OpenAPI operation(s) under /api/v1/instance/info for the instance 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
### get_instance_info_api_v1_instance_info_get
- Operation ID: `get_instance_info_api_v1_instance_info_get`
- Route: `GET /api/v1/instance/info`
- Mode: READ
- Summary: Get instance info

View File

@@ -0,0 +1,79 @@
---
name: integrations-routes
description: Handle 8 OpenAPI operation(s) under /api/v1/integrations/zapier for the integrations route group.
---
# integrations API Routes
Handle 8 OpenAPI operation(s) under /api/v1/integrations/zapier for the integrations 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
### zapier_me_api_v1_integrations_zapier_me_get
- Operation ID: `zapier_me_api_v1_integrations_zapier_me_get`
- Route: `GET /api/v1/integrations/zapier/me`
- Mode: READ
- Summary: Identify Zapier caller
### zapier_list_events_api_v1_integrations_zapier_events_get
- Operation ID: `zapier_list_events_api_v1_integrations_zapier_events_get`
- Route: `GET /api/v1/integrations/zapier/events`
- Mode: READ
- Summary: List webhook events
### zapier_list_courses_api_v1_integrations_zapier_courses_get
- Operation ID: `zapier_list_courses_api_v1_integrations_zapier_courses_get`
- Route: `GET /api/v1/integrations/zapier/courses`
- Mode: READ
- Summary: List courses for Zapier
- Parameters:
- `limit` in `query`
### zapier_list_users_api_v1_integrations_zapier_users_get
- Operation ID: `zapier_list_users_api_v1_integrations_zapier_users_get`
- Route: `GET /api/v1/integrations/zapier/users`
- Mode: READ
- Summary: List users for Zapier
- Parameters:
- `limit` in `query`
### zapier_list_usergroups_api_v1_integrations_zapier_usergroups_get
- Operation ID: `zapier_list_usergroups_api_v1_integrations_zapier_usergroups_get`
- Route: `GET /api/v1/integrations/zapier/usergroups`
- Mode: READ
- Summary: List user groups for Zapier
- Parameters:
- `limit` in `query`
### zapier_list_subscriptions_api_v1_integrations_zapier_subscriptions_get
- Operation ID: `zapier_list_subscriptions_api_v1_integrations_zapier_subscriptions_get`
- Route: `GET /api/v1/integrations/zapier/subscriptions`
- Mode: READ
- Summary: List Zap subscriptions
### zapier_create_subscription_api_v1_integrations_zapier_subscriptions_post
- Operation ID: `zapier_create_subscription_api_v1_integrations_zapier_subscriptions_post`
- Route: `POST /api/v1/integrations/zapier/subscriptions`
- Mode: WRITE
- Summary: Create Zap subscription
- Body: JSON request body accepted.
### zapier_delete_subscription_api_v1_integrations_zapier_subscriptions_subscription
- Operation ID: `zapier_delete_subscription_api_v1_integrations_zapier_subscriptions_subscription`
- Route: `DELETE /api/v1/integrations/zapier/subscriptions/{subscription_id}`
- Mode: WRITE
- Summary: Delete Zap subscription
- Parameters:
- `subscription_id` in `path` required

66
skills/internal/SKILL.md Normal file
View File

@@ -0,0 +1,66 @@
---
name: internal-routes
description: Handle 5 OpenAPI operation(s) under /api/v1/internal for the internal route group.
---
# internal API Routes
Handle 5 OpenAPI operation(s) under /api/v1/internal for the internal 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_list_all_verified_domains_api_v1_internal_domains_verified_get
- Operation ID: `api_list_all_verified_domains_api_v1_internal_domains_verified_get`
- Route: `GET /api/v1/internal/domains/verified`
- Mode: READ
- Summary: List all verified custom domains
- Parameters:
- `x-internal-key` in `header` required
### api_activate_pack_api_v1_internal_packs_org_id_activate_post
- Operation ID: `api_activate_pack_api_v1_internal_packs_org_id_activate_post`
- Route: `POST /api/v1/internal/packs/{org_id}/activate`
- Mode: WRITE
- Summary: Activate a pack for an organization
- Parameters:
- `org_id` in `path` required
- `x-platform-key` in `header` required
- Body: JSON request body accepted.
### api_mark_pack_canceling_api_v1_internal_packs_org_id_mark_canceling_patch
- Operation ID: `api_mark_pack_canceling_api_v1_internal_packs_org_id_mark_canceling_patch`
- Route: `PATCH /api/v1/internal/packs/{org_id}/mark-canceling`
- Mode: WRITE
- Summary: Mark a pack as canceling
- Parameters:
- `org_id` in `path` required
- `x-platform-key` in `header` required
- Body: JSON request body accepted.
### api_deactivate_pack_api_v1_internal_packs_org_id_deactivate_delete
- Operation ID: `api_deactivate_pack_api_v1_internal_packs_org_id_deactivate_delete`
- Route: `DELETE /api/v1/internal/packs/{org_id}/deactivate`
- Mode: WRITE
- Summary: Deactivate a pack
- Parameters:
- `org_id` in `path` required
- `x-platform-key` in `header` required
- Body: JSON request body accepted.
### api_deactivate_all_packs_api_v1_internal_packs_org_id_deactivate_all_delete
- Operation ID: `api_deactivate_all_packs_api_v1_internal_packs_org_id_deactivate_all_delete`
- Route: `DELETE /api/v1/internal/packs/{org_id}/deactivate-all`
- Mode: WRITE
- Summary: Deactivate all packs for an organization
- Parameters:
- `org_id` in `path` required
- `x-platform-key` in `header` required

View File

@@ -0,0 +1,21 @@
---
name: learn-house-routes
description: Handle 1 OpenAPI operation(s) for the LearnHouse route group.
---
# LearnHouse API Routes
Handle 1 OpenAPI operation(s) for the LearnHouse 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
### root_get
- Operation ID: `root_get`
- Route: `GET /`
- Mode: READ
- Summary: Root

View File

@@ -0,0 +1,22 @@
---
name: monitoring-routes
description: Handle 1 OpenAPI operation(s) under /api/v1/monitoring/feedback for the monitoring route group.
---
# monitoring API Routes
Handle 1 OpenAPI operation(s) under /api/v1/monitoring/feedback for the monitoring 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
### submit_feedback_api_v1_monitoring_feedback_post
- Operation ID: `submit_feedback_api_v1_monitoring_feedback_post`
- Route: `POST /api/v1/monitoring/feedback`
- Mode: WRITE
- Summary: Submit user feedback
- Body: JSON request body accepted.

770
skills/orgs/SKILL.md Normal file
View File

@@ -0,0 +1,770 @@
---
name: orgs-routes
description: Handle 76 OpenAPI operation(s) under /api/v1/orgs for the orgs route group.
---
# orgs API Routes
Handle 76 OpenAPI operation(s) under /api/v1/orgs for the orgs 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_create_org_api_v1_orgs_post
- Operation ID: `api_create_org_api_v1_orgs_post`
- Route: `POST /api/v1/orgs/`
- Mode: WRITE
- Summary: Create an organization
- Body: JSON request body accepted.
### api_create_org_withconfig_api_v1_orgs_withconfig_post
- Operation ID: `api_create_org_withconfig_api_v1_orgs_withconfig_post`
- Route: `POST /api/v1/orgs/withconfig/`
- Mode: WRITE
- Summary: Create an organization with config
- Body: JSON request body accepted.
### api_get_org_by_uuid_api_v1_orgs_uuid_org_uuid_get
- Operation ID: `api_get_org_by_uuid_api_v1_orgs_uuid_org_uuid_get`
- Route: `GET /api/v1/orgs/uuid/{org_uuid}`
- Mode: READ
- Summary: Get organization by UUID
- Parameters:
- `org_uuid` in `path` required
### api_export_org_users_api_v1_orgs_org_id_users_export_get
- Operation ID: `api_export_org_users_api_v1_orgs_org_id_users_export_get`
- Route: `GET /api/v1/orgs/{org_id}/users/export`
- Mode: READ
- Summary: Export organization users as CSV
- Parameters:
- `org_id` in `path` required
- `search` in `query`
- `usergroup_id` in `query`
- `usergroup_filter` in `query`
- `sort_order` in `query`
- `role_id` in `query`
- `status` in `query`
### api_get_org_users_api_v1_orgs_org_id_users_get
- Operation ID: `api_get_org_users_api_v1_orgs_org_id_users_get`
- Route: `GET /api/v1/orgs/{org_id}/users`
- Mode: READ
- Summary: List organization users
- Parameters:
- `org_id` in `path` required
- `page` in `query`
- `limit` in `query`
- `search` in `query`
- `usergroup_id` in `query`
- `usergroup_filter` in `query`
- `sort_order` in `query`
- `role_id` in `query`
- `status` in `query`
### api_join_an_org_api_v1_orgs_join_post
- Operation ID: `api_join_an_org_api_v1_orgs_join_post`
- Route: `POST /api/v1/orgs/join`
- Mode: WRITE
- Summary: Join an organization
- Body: JSON request body accepted.
### api_update_user_role_api_v1_orgs_org_id_users_user_id_role_role_uuid_put
- Operation ID: `api_update_user_role_api_v1_orgs_org_id_users_user_id_role_role_uuid_put`
- Route: `PUT /api/v1/orgs/{org_id}/users/{user_id}/role/{role_uuid}`
- Mode: WRITE
- Summary: Update user role in organization
- Parameters:
- `org_id` in `path` required
- `user_id` in `path` required
- `role_uuid` in `path` required
### api_remove_batch_users_from_org_api_v1_orgs_org_id_users_batch_remove_delete
- Operation ID: `api_remove_batch_users_from_org_api_v1_orgs_org_id_users_batch_remove_delete`
- Route: `DELETE /api/v1/orgs/{org_id}/users/batch/remove`
- Mode: WRITE
- Summary: Remove multiple users from organization
- Parameters:
- `org_id` in `path` required
- `user_ids` in `query` required
### api_remove_user_from_org_api_v1_orgs_org_id_users_user_id_delete
- Operation ID: `api_remove_user_from_org_api_v1_orgs_org_id_users_user_id_delete`
- Route: `DELETE /api/v1/orgs/{org_id}/users/{user_id}`
- Mode: WRITE
- Summary: Remove a user from organization
- Parameters:
- `org_id` in `path` required
- `user_id` in `path` required
### api_get_org_signup_mechanism_api_v1_orgs_org_id_signup_mechanism_put
- Operation ID: `api_get_org_signup_mechanism_api_v1_orgs_org_id_signup_mechanism_put`
- Route: `PUT /api/v1/orgs/{org_id}/signup_mechanism`
- Mode: WRITE
- Summary: Update organization signup mechanism
- Parameters:
- `org_id` in `path` required
- `signup_mechanism` in `query` required
### api_update_org_color_config_api_v1_orgs_org_id_config_color_put
- Operation ID: `api_update_org_color_config_api_v1_orgs_org_id_config_color_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/color`
- Mode: WRITE
- Summary: Update organization color
- Parameters:
- `org_id` in `path` required
- `color` in `query`
### api_update_org_font_config_api_v1_orgs_org_id_config_font_put
- Operation ID: `api_update_org_font_config_api_v1_orgs_org_id_config_font_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/font`
- Mode: WRITE
- Summary: Update organization font
- Parameters:
- `org_id` in `path` required
- `font` in `query`
### api_update_org_footer_text_config_api_v1_orgs_org_id_config_footer_text_put
- Operation ID: `api_update_org_footer_text_config_api_v1_orgs_org_id_config_footer_text_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/footer_text`
- Mode: WRITE
- Summary: Update organization footer text
- Parameters:
- `org_id` in `path` required
- `footer_text` in `query`
### api_update_org_default_language_config_api_v1_orgs_org_id_config_default_languag
- Operation ID: `api_update_org_default_language_config_api_v1_orgs_org_id_config_default_languag`
- Route: `PUT /api/v1/orgs/{org_id}/config/default_language`
- Mode: WRITE
- Summary: Update organization default language
- Parameters:
- `org_id` in `path` required
- `default_language` in `query` required
### api_update_org_watermark_config_api_v1_orgs_org_id_config_watermark_put
- Operation ID: `api_update_org_watermark_config_api_v1_orgs_org_id_config_watermark_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/watermark`
- Mode: WRITE
- Summary: Update organization watermark
- Parameters:
- `org_id` in `path` required
- `watermark_enabled` in `query`
### api_update_org_auth_branding_config_api_v1_orgs_org_id_config_auth_branding_put
- Operation ID: `api_update_org_auth_branding_config_api_v1_orgs_org_id_config_auth_branding_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/auth_branding`
- Mode: WRITE
- Summary: Update auth page branding
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_upload_org_auth_background_api_v1_orgs_org_id_auth_background_put
- Operation ID: `api_upload_org_auth_background_api_v1_orgs_org_id_auth_background_put`
- Route: `PUT /api/v1/orgs/{org_id}/auth_background`
- Mode: WRITE
- Summary: Upload auth page background
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_update_org_seo_config_api_v1_orgs_org_id_config_seo_put
- Operation ID: `api_update_org_seo_config_api_v1_orgs_org_id_config_seo_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/seo`
- Mode: WRITE
- Summary: Update organization SEO config
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_upload_org_og_image_api_v1_orgs_org_id_og_image_put
- Operation ID: `api_upload_org_og_image_api_v1_orgs_org_id_og_image_put`
- Route: `PUT /api/v1/orgs/{org_id}/og_image`
- Mode: WRITE
- Summary: Upload OG image
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_create_invite_code_api_v1_orgs_org_id_invites_post
- Operation ID: `api_create_invite_code_api_v1_orgs_org_id_invites_post`
- Route: `POST /api/v1/orgs/{org_id}/invites`
- Mode: WRITE
- Summary: Create an invite code
- Parameters:
- `org_id` in `path` required
- `usergroup_id` in `query`
### api_get_invite_codes_api_v1_orgs_org_id_invites_get
- Operation ID: `api_get_invite_codes_api_v1_orgs_org_id_invites_get`
- Route: `GET /api/v1/orgs/{org_id}/invites`
- Mode: READ
- Summary: List invite codes
- Parameters:
- `org_id` in `path` required
### api_get_invite_code_api_v1_orgs_org_id_invites_code_invite_code_get
- Operation ID: `api_get_invite_code_api_v1_orgs_org_id_invites_code_invite_code_get`
- Route: `GET /api/v1/orgs/{org_id}/invites/code/{invite_code}`
- Mode: READ
- Summary: Get an invite code
- Parameters:
- `org_id` in `path` required
- `invite_code` in `path` required
### api_delete_invite_code_api_v1_orgs_org_id_invites_org_invite_code_uuid_delete
- Operation ID: `api_delete_invite_code_api_v1_orgs_org_id_invites_org_invite_code_uuid_delete`
- Route: `DELETE /api/v1/orgs/{org_id}/invites/{org_invite_code_uuid}`
- Mode: WRITE
- Summary: Delete an invite code
- Parameters:
- `org_id` in `path` required
- `org_invite_code_uuid` in `path` required
### api_invite_batch_users_api_v1_orgs_org_id_invites_users_batch_post
- Operation ID: `api_invite_batch_users_api_v1_orgs_org_id_invites_users_batch_post`
- Route: `POST /api/v1/orgs/{org_id}/invites/users/batch`
- Mode: WRITE
- Summary: Invite a batch of users
- Parameters:
- `org_id` in `path` required
- `emails` in `query` required
- `invite_code_uuid` in `query`
### api_get_org_users_invites_api_v1_orgs_org_id_invites_users_get
- Operation ID: `api_get_org_users_invites_api_v1_orgs_org_id_invites_users_get`
- Route: `GET /api/v1/orgs/{org_id}/invites/users`
- Mode: READ
- Summary: List invited users
- Parameters:
- `org_id` in `path` required
### api_delete_org_users_invites_api_v1_orgs_org_id_invites_users_email_delete
- Operation ID: `api_delete_org_users_invites_api_v1_orgs_org_id_invites_users_email_delete`
- Route: `DELETE /api/v1/orgs/{org_id}/invites/users/{email}`
- Mode: WRITE
- Summary: Revoke an invited user
- Parameters:
- `org_id` in `path` required
- `email` in `path` required
### api_get_org_by_slug_api_v1_orgs_slug_org_slug_get
- Operation ID: `api_get_org_by_slug_api_v1_orgs_slug_org_slug_get`
- Route: `GET /api/v1/orgs/slug/{org_slug}`
- Mode: READ
- Summary: Get organization by slug
- Parameters:
- `org_slug` in `path` required
### api_update_org_logo_api_v1_orgs_org_id_logo_put
- Operation ID: `api_update_org_logo_api_v1_orgs_org_id_logo_put`
- Route: `PUT /api/v1/orgs/{org_id}/logo`
- Mode: WRITE
- Summary: Update organization logo
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_update_org_favicon_api_v1_orgs_org_id_favicon_put
- Operation ID: `api_update_org_favicon_api_v1_orgs_org_id_favicon_put`
- Route: `PUT /api/v1/orgs/{org_id}/favicon`
- Mode: WRITE
- Summary: Update organization favicon
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_update_org_thumbnail_api_v1_orgs_org_id_thumbnail_put
- Operation ID: `api_update_org_thumbnail_api_v1_orgs_org_id_thumbnail_put`
- Route: `PUT /api/v1/orgs/{org_id}/thumbnail`
- Mode: WRITE
- Summary: Update organization thumbnail
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_update_org_preview_api_v1_orgs_org_id_preview_put
- Operation ID: `api_update_org_preview_api_v1_orgs_org_id_preview_put`
- Route: `PUT /api/v1/orgs/{org_id}/preview`
- Mode: WRITE
- Summary: Update organization preview image
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_user_orgs_api_v1_orgs_user_page_page_limit_limit_get
- Operation ID: `api_user_orgs_api_v1_orgs_user_page_page_limit_limit_get`
- Route: `GET /api/v1/orgs/user/page/{page}/limit/{limit}`
- Mode: READ
- Summary: List organizations for current user
- Parameters:
- `page` in `path` required
- `limit` in `path` required
### api_user_orgs_admin_api_v1_orgs_user_admin_page_page_limit_limit_get
- Operation ID: `api_user_orgs_admin_api_v1_orgs_user_admin_page_page_limit_limit_get`
- Route: `GET /api/v1/orgs/user_admin/page/{page}/limit/{limit}`
- Mode: READ
- Summary: List organizations the user administers
- Parameters:
- `page` in `path` required
- `limit` in `path` required
### api_update_org_api_v1_orgs_org_id_put
- Operation ID: `api_update_org_api_v1_orgs_org_id_put`
- Route: `PUT /api/v1/orgs/{org_id}`
- Mode: WRITE
- Summary: Update an organization
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_delete_org_api_v1_orgs_org_id_delete
- Operation ID: `api_delete_org_api_v1_orgs_org_id_delete`
- Route: `DELETE /api/v1/orgs/{org_id}`
- Mode: WRITE
- Summary: Delete an organization
- Parameters:
- `org_id` in `path` required
### api_update_org_landing_api_v1_orgs_org_id_landing_put
- Operation ID: `api_update_org_landing_api_v1_orgs_org_id_landing_put`
- Route: `PUT /api/v1/orgs/{org_id}/landing`
- Mode: WRITE
- Summary: Update organization landing page
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_upload_org_landing_content_api_v1_orgs_org_id_landing_content_post
- Operation ID: `api_upload_org_landing_content_api_v1_orgs_org_id_landing_content_post`
- Route: `POST /api/v1/orgs/{org_id}/landing/content`
- Mode: WRITE
- Summary: Upload landing page content
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_get_org_usage_api_v1_orgs_org_id_usage_get
- Operation ID: `api_get_org_usage_api_v1_orgs_org_id_usage_get`
- Route: `GET /api/v1/orgs/{org_id}/usage`
- Mode: READ
- Summary: Get organization usage and limits
- Parameters:
- `org_id` in `path` required
### api_update_org_ai_config_api_v1_orgs_org_id_config_ai_put
- Operation ID: `api_update_org_ai_config_api_v1_orgs_org_id_config_ai_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/ai`
- Mode: WRITE
- Summary: Update organization AI config
- Parameters:
- `org_id` in `path` required
- `ai_enabled` in `query`
- `copilot_enabled` in `query`
### api_update_org_communities_config_api_v1_orgs_org_id_config_communities_put
- Operation ID: `api_update_org_communities_config_api_v1_orgs_org_id_config_communities_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/communities`
- Mode: WRITE
- Summary: Update organization communities config
- Parameters:
- `org_id` in `path` required
- `communities_enabled` in `query` required
### api_update_org_payments_config_api_v1_orgs_org_id_config_payments_put
- Operation ID: `api_update_org_payments_config_api_v1_orgs_org_id_config_payments_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/payments`
- Mode: WRITE
- Summary: Update organization payments config
- Parameters:
- `org_id` in `path` required
- `payments_enabled` in `query` required
### api_update_org_courses_config_api_v1_orgs_org_id_config_courses_put
- Operation ID: `api_update_org_courses_config_api_v1_orgs_org_id_config_courses_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/courses`
- Mode: WRITE
- Summary: Update organization courses config
- Parameters:
- `org_id` in `path` required
- `courses_enabled` in `query` required
### api_update_org_collections_config_api_v1_orgs_org_id_config_collections_put
- Operation ID: `api_update_org_collections_config_api_v1_orgs_org_id_config_collections_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/collections`
- Mode: WRITE
- Summary: Update organization collections config
- Parameters:
- `org_id` in `path` required
- `collections_enabled` in `query` required
### api_update_org_podcasts_config_api_v1_orgs_org_id_config_podcasts_put
- Operation ID: `api_update_org_podcasts_config_api_v1_orgs_org_id_config_podcasts_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/podcasts`
- Mode: WRITE
- Summary: Update organization podcasts config
- Parameters:
- `org_id` in `path` required
- `podcasts_enabled` in `query` required
### api_update_org_boards_config_api_v1_orgs_org_id_config_boards_put
- Operation ID: `api_update_org_boards_config_api_v1_orgs_org_id_config_boards_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/boards`
- Mode: WRITE
- Summary: Update organization boards config
- Parameters:
- `org_id` in `path` required
- `boards_enabled` in `query` required
### api_update_org_playgrounds_config_api_v1_orgs_org_id_config_playgrounds_put
- Operation ID: `api_update_org_playgrounds_config_api_v1_orgs_org_id_config_playgrounds_put`
- Route: `PUT /api/v1/orgs/{org_id}/config/playgrounds`
- Mode: WRITE
- Summary: Update organization playgrounds config
- Parameters:
- `org_id` in `path` required
- `playgrounds_enabled` in `query` required
### get_org_ai_credits_api_v1_orgs_org_id_ai_credits_get
- Operation ID: `get_org_ai_credits_api_v1_orgs_org_id_ai_credits_get`
- Route: `GET /api/v1/orgs/{org_id}/ai-credits`
- Mode: READ
- Summary: Get AI credits summary
- Parameters:
- `org_id` in `path` required
### add_org_ai_credits_api_v1_orgs_org_id_ai_credits_add_post
- Operation ID: `add_org_ai_credits_api_v1_orgs_org_id_ai_credits_add_post`
- Route: `POST /api/v1/orgs/{org_id}/ai-credits/add`
- Mode: WRITE
- Summary: Add purchased AI credits
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### reset_org_ai_credits_api_v1_orgs_org_id_ai_credits_reset_post
- Operation ID: `reset_org_ai_credits_api_v1_orgs_org_id_ai_credits_reset_post`
- Route: `POST /api/v1/orgs/{org_id}/ai-credits/reset`
- Mode: WRITE
- Summary: Reset AI credits usage
- Parameters:
- `org_id` in `path` required
### set_org_ai_credits_api_v1_orgs_org_id_ai_credits_set_post
- Operation ID: `set_org_ai_credits_api_v1_orgs_org_id_ai_credits_set_post`
- Route: `POST /api/v1/orgs/{org_id}/ai-credits/set`
- Mode: WRITE
- Summary: Set purchased AI credits (superadmin only)
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_create_api_token_api_v1_orgs_org_id_api_tokens_post
- Operation ID: `api_create_api_token_api_v1_orgs_org_id_api_tokens_post`
- Route: `POST /api/v1/orgs/{org_id}/api-tokens`
- Mode: WRITE
- Summary: Create API token
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_list_api_tokens_api_v1_orgs_org_id_api_tokens_get
- Operation ID: `api_list_api_tokens_api_v1_orgs_org_id_api_tokens_get`
- Route: `GET /api/v1/orgs/{org_id}/api-tokens`
- Mode: READ
- Summary: List API tokens
- Parameters:
- `org_id` in `path` required
### api_get_api_token_api_v1_orgs_org_id_api_tokens_token_uuid_get
- Operation ID: `api_get_api_token_api_v1_orgs_org_id_api_tokens_token_uuid_get`
- Route: `GET /api/v1/orgs/{org_id}/api-tokens/{token_uuid}`
- Mode: READ
- Summary: Get API token
- Parameters:
- `org_id` in `path` required
- `token_uuid` in `path` required
### api_update_api_token_api_v1_orgs_org_id_api_tokens_token_uuid_put
- Operation ID: `api_update_api_token_api_v1_orgs_org_id_api_tokens_token_uuid_put`
- Route: `PUT /api/v1/orgs/{org_id}/api-tokens/{token_uuid}`
- Mode: WRITE
- Summary: Update API token
- Parameters:
- `org_id` in `path` required
- `token_uuid` in `path` required
- Body: JSON request body accepted.
### api_revoke_api_token_api_v1_orgs_org_id_api_tokens_token_uuid_delete
- Operation ID: `api_revoke_api_token_api_v1_orgs_org_id_api_tokens_token_uuid_delete`
- Route: `DELETE /api/v1/orgs/{org_id}/api-tokens/{token_uuid}`
- Mode: WRITE
- Summary: Revoke API token
- Parameters:
- `org_id` in `path` required
- `token_uuid` in `path` required
### api_regenerate_api_token_api_v1_orgs_org_id_api_tokens_token_uuid_regenerate_pos
- Operation ID: `api_regenerate_api_token_api_v1_orgs_org_id_api_tokens_token_uuid_regenerate_pos`
- Route: `POST /api/v1/orgs/{org_id}/api-tokens/{token_uuid}/regenerate`
- Mode: WRITE
- Summary: Regenerate API token secret
- Parameters:
- `org_id` in `path` required
- `token_uuid` in `path` required
### api_list_webhook_events_api_v1_orgs_org_id_webhooks_events_get
- Operation ID: `api_list_webhook_events_api_v1_orgs_org_id_webhooks_events_get`
- Route: `GET /api/v1/orgs/{org_id}/webhooks/events`
- Mode: READ
- Summary: List available webhook event types
- Parameters:
- `org_id` in `path` required
### api_create_webhook_endpoint_api_v1_orgs_org_id_webhooks_post
- Operation ID: `api_create_webhook_endpoint_api_v1_orgs_org_id_webhooks_post`
- Route: `POST /api/v1/orgs/{org_id}/webhooks`
- Mode: WRITE
- Summary: Create a webhook endpoint
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_list_webhook_endpoints_api_v1_orgs_org_id_webhooks_get
- Operation ID: `api_list_webhook_endpoints_api_v1_orgs_org_id_webhooks_get`
- Route: `GET /api/v1/orgs/{org_id}/webhooks`
- Mode: READ
- Summary: List webhook endpoints
- Parameters:
- `org_id` in `path` required
### api_get_webhook_endpoint_api_v1_orgs_org_id_webhooks_webhook_uuid_get
- Operation ID: `api_get_webhook_endpoint_api_v1_orgs_org_id_webhooks_webhook_uuid_get`
- Route: `GET /api/v1/orgs/{org_id}/webhooks/{webhook_uuid}`
- Mode: READ
- Summary: Get a webhook endpoint
- Parameters:
- `org_id` in `path` required
- `webhook_uuid` in `path` required
### api_update_webhook_endpoint_api_v1_orgs_org_id_webhooks_webhook_uuid_put
- Operation ID: `api_update_webhook_endpoint_api_v1_orgs_org_id_webhooks_webhook_uuid_put`
- Route: `PUT /api/v1/orgs/{org_id}/webhooks/{webhook_uuid}`
- Mode: WRITE
- Summary: Update a webhook endpoint
- Parameters:
- `org_id` in `path` required
- `webhook_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_webhook_endpoint_api_v1_orgs_org_id_webhooks_webhook_uuid_delete
- Operation ID: `api_delete_webhook_endpoint_api_v1_orgs_org_id_webhooks_webhook_uuid_delete`
- Route: `DELETE /api/v1/orgs/{org_id}/webhooks/{webhook_uuid}`
- Mode: WRITE
- Summary: Delete a webhook endpoint
- Parameters:
- `org_id` in `path` required
- `webhook_uuid` in `path` required
### api_regenerate_webhook_secret_api_v1_orgs_org_id_webhooks_webhook_uuid_regenerat
- Operation ID: `api_regenerate_webhook_secret_api_v1_orgs_org_id_webhooks_webhook_uuid_regenerat`
- Route: `POST /api/v1/orgs/{org_id}/webhooks/{webhook_uuid}/regenerate-secret`
- Mode: WRITE
- Summary: Regenerate a webhook signing secret
- Parameters:
- `org_id` in `path` required
- `webhook_uuid` in `path` required
### api_send_test_event_api_v1_orgs_org_id_webhooks_webhook_uuid_test_post
- Operation ID: `api_send_test_event_api_v1_orgs_org_id_webhooks_webhook_uuid_test_post`
- Route: `POST /api/v1/orgs/{org_id}/webhooks/{webhook_uuid}/test`
- Mode: WRITE
- Summary: Send a test webhook event
- Parameters:
- `org_id` in `path` required
- `webhook_uuid` in `path` required
### api_get_webhook_deliveries_api_v1_orgs_org_id_webhooks_webhook_uuid_deliveries_g
- Operation ID: `api_get_webhook_deliveries_api_v1_orgs_org_id_webhooks_webhook_uuid_deliveries_g`
- Route: `GET /api/v1/orgs/{org_id}/webhooks/{webhook_uuid}/deliveries`
- Mode: READ
- Summary: List webhook delivery logs
- Parameters:
- `org_id` in `path` required
- `webhook_uuid` in `path` required
- `limit` in `query`
### api_add_custom_domain_api_v1_orgs_org_id_domains_post
- Operation ID: `api_add_custom_domain_api_v1_orgs_org_id_domains_post`
- Route: `POST /api/v1/orgs/{org_id}/domains`
- Mode: WRITE
- Summary: Add a custom domain
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_list_custom_domains_api_v1_orgs_org_id_domains_get
- Operation ID: `api_list_custom_domains_api_v1_orgs_org_id_domains_get`
- Route: `GET /api/v1/orgs/{org_id}/domains`
- Mode: READ
- Summary: List custom domains
- Parameters:
- `org_id` in `path` required
### api_get_custom_domain_api_v1_orgs_org_id_domains_domain_uuid_get
- Operation ID: `api_get_custom_domain_api_v1_orgs_org_id_domains_domain_uuid_get`
- Route: `GET /api/v1/orgs/{org_id}/domains/{domain_uuid}`
- Mode: READ
- Summary: Get a custom domain
- Parameters:
- `org_id` in `path` required
- `domain_uuid` in `path` required
### api_delete_custom_domain_api_v1_orgs_org_id_domains_domain_uuid_delete
- Operation ID: `api_delete_custom_domain_api_v1_orgs_org_id_domains_domain_uuid_delete`
- Route: `DELETE /api/v1/orgs/{org_id}/domains/{domain_uuid}`
- Mode: WRITE
- Summary: Delete a custom domain
- Parameters:
- `org_id` in `path` required
- `domain_uuid` in `path` required
### api_get_domain_verification_info_api_v1_orgs_org_id_domains_domain_uuid_verifica
- Operation ID: `api_get_domain_verification_info_api_v1_orgs_org_id_domains_domain_uuid_verifica`
- Route: `GET /api/v1/orgs/{org_id}/domains/{domain_uuid}/verification-info`
- Mode: READ
- Summary: Get DNS verification info
- Parameters:
- `org_id` in `path` required
- `domain_uuid` in `path` required
### api_verify_custom_domain_api_v1_orgs_org_id_domains_domain_uuid_verify_post
- Operation ID: `api_verify_custom_domain_api_v1_orgs_org_id_domains_domain_uuid_verify_post`
- Route: `POST /api/v1/orgs/{org_id}/domains/{domain_uuid}/verify`
- Mode: WRITE
- Summary: Verify custom domain DNS
- Parameters:
- `org_id` in `path` required
- `domain_uuid` in `path` required
### api_check_domain_ssl_status_api_v1_orgs_org_id_domains_domain_uuid_ssl_status_ge
- Operation ID: `api_check_domain_ssl_status_api_v1_orgs_org_id_domains_domain_uuid_ssl_status_ge`
- Route: `GET /api/v1/orgs/{org_id}/domains/{domain_uuid}/ssl-status`
- Mode: READ
- Summary: Check custom domain SSL status
- Parameters:
- `org_id` in `path` required
- `domain_uuid` in `path` required
### api_resolve_domain_api_v1_orgs_resolve_domain_domain_get
- Operation ID: `api_resolve_domain_api_v1_orgs_resolve_domain_domain_get`
- Route: `GET /api/v1/orgs/resolve/domain/{domain}`
- Mode: READ
- Summary: Resolve custom domain to organization
- Parameters:
- `domain` in `path` required
### api_check_domain_api_v1_orgs_domains_check_get
- Operation ID: `api_check_domain_api_v1_orgs_domains_check_get`
- Route: `GET /api/v1/orgs/domains/check`
- Mode: READ
- Summary: Check whether a custom domain is registered and verified
- Parameters:
- `domain` in `query` required
### api_get_org_packs_api_v1_orgs_org_id_packs_get
- Operation ID: `api_get_org_packs_api_v1_orgs_org_id_packs_get`
- Route: `GET /api/v1/orgs/{org_id}/packs`
- Mode: READ
- Summary: List active and available packs
- Parameters:
- `org_id` in `path` required
### api_get_org_pack_summary_api_v1_orgs_org_id_packs_summary_get
- Operation ID: `api_get_org_pack_summary_api_v1_orgs_org_id_packs_summary_get`
- Route: `GET /api/v1/orgs/{org_id}/packs/summary`
- Mode: READ
- Summary: Get pack totals summary
- Parameters:
- `org_id` in `path` required

21
skills/plans/SKILL.md Normal file
View File

@@ -0,0 +1,21 @@
---
name: plans-routes
description: Handle 1 OpenAPI operation(s) under /api/v1/plans for the plans route group.
---
# plans API Routes
Handle 1 OpenAPI operation(s) under /api/v1/plans for the plans 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_get_plan_limits_api_v1_plans_get
- Operation ID: `api_get_plan_limits_api_v1_plans_get`
- Route: `GET /api/v1/plans`
- Mode: READ
- Summary: Get plan feature limits

153
skills/playgrounds/SKILL.md Normal file
View File

@@ -0,0 +1,153 @@
---
name: playgrounds-routes
description: Handle 15 OpenAPI operation(s) under /api/v1/playgrounds for the playgrounds route group.
---
# playgrounds API Routes
Handle 15 OpenAPI operation(s) under /api/v1/playgrounds for the playgrounds 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_create_playground_api_v1_playgrounds_post
- Operation ID: `api_create_playground_api_v1_playgrounds_post`
- Route: `POST /api/v1/playgrounds/`
- Mode: WRITE
- Summary: Create a playground
- Parameters:
- `org_id` in `query` required
- Body: JSON request body accepted.
### api_list_org_playgrounds_api_v1_playgrounds_org_org_id_get
- Operation ID: `api_list_org_playgrounds_api_v1_playgrounds_org_org_id_get`
- Route: `GET /api/v1/playgrounds/org/{org_id}`
- Mode: READ
- Summary: List playgrounds for an organization
- Parameters:
- `org_id` in `path` required
### api_get_playground_api_v1_playgrounds_playground_uuid_get
- Operation ID: `api_get_playground_api_v1_playgrounds_playground_uuid_get`
- Route: `GET /api/v1/playgrounds/{playground_uuid}`
- Mode: READ
- Summary: Get a playground by UUID
- Parameters:
- `playground_uuid` in `path` required
### api_update_playground_api_v1_playgrounds_playground_uuid_put
- Operation ID: `api_update_playground_api_v1_playgrounds_playground_uuid_put`
- Route: `PUT /api/v1/playgrounds/{playground_uuid}`
- Mode: WRITE
- Summary: Update a playground
- Parameters:
- `playground_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_playground_api_v1_playgrounds_playground_uuid_delete
- Operation ID: `api_delete_playground_api_v1_playgrounds_playground_uuid_delete`
- Route: `DELETE /api/v1/playgrounds/{playground_uuid}`
- Mode: WRITE
- Summary: Delete a playground
- Parameters:
- `playground_uuid` in `path` required
### api_duplicate_playground_api_v1_playgrounds_playground_uuid_duplicate_post
- Operation ID: `api_duplicate_playground_api_v1_playgrounds_playground_uuid_duplicate_post`
- Route: `POST /api/v1/playgrounds/{playground_uuid}/duplicate`
- Mode: WRITE
- Summary: Duplicate a playground
- Parameters:
- `playground_uuid` in `path` required
### api_update_playground_thumbnail_api_v1_playgrounds_playground_uuid_thumbnail_pos
- Operation ID: `api_update_playground_thumbnail_api_v1_playgrounds_playground_uuid_thumbnail_pos`
- Route: `POST /api/v1/playgrounds/{playground_uuid}/thumbnail`
- Mode: WRITE
- Summary: Upload a playground thumbnail
- Parameters:
- `playground_uuid` in `path` required
- Body: JSON request body accepted.
### api_add_usergroup_to_playground_api_v1_playgrounds_playground_uuid_usergroups_us
- Operation ID: `api_add_usergroup_to_playground_api_v1_playgrounds_playground_uuid_usergroups_us`
- Route: `POST /api/v1/playgrounds/{playground_uuid}/usergroups/{usergroup_uuid}`
- Mode: WRITE
- Summary: Grant a usergroup access to a playground
- Parameters:
- `playground_uuid` in `path` required
- `usergroup_uuid` in `path` required
### api_remove_usergroup_from_playground_api_v1_playgrounds_playground_uuid_usergrou
- Operation ID: `api_remove_usergroup_from_playground_api_v1_playgrounds_playground_uuid_usergrou`
- Route: `DELETE /api/v1/playgrounds/{playground_uuid}/usergroups/{usergroup_uuid}`
- Mode: WRITE
- Summary: Revoke a usergroup from a playground
- Parameters:
- `playground_uuid` in `path` required
- `usergroup_uuid` in `path` required
### api_get_playground_usergroups_api_v1_playgrounds_playground_uuid_usergroups_get
- Operation ID: `api_get_playground_usergroups_api_v1_playgrounds_playground_uuid_usergroups_get`
- Route: `GET /api/v1/playgrounds/{playground_uuid}/usergroups`
- Mode: READ
- Summary: List usergroups attached to a playground
- Parameters:
- `playground_uuid` in `path` required
### api_get_playground_reactions_api_v1_playgrounds_playground_uuid_reactions_get
- Operation ID: `api_get_playground_reactions_api_v1_playgrounds_playground_uuid_reactions_get`
- Route: `GET /api/v1/playgrounds/{playground_uuid}/reactions`
- Mode: READ
- Summary: List reactions on a playground
- Parameters:
- `playground_uuid` in `path` required
### api_toggle_playground_reaction_api_v1_playgrounds_playground_uuid_reactions_post
- Operation ID: `api_toggle_playground_reaction_api_v1_playgrounds_playground_uuid_reactions_post`
- Route: `POST /api/v1/playgrounds/{playground_uuid}/reactions`
- Mode: WRITE
- Summary: Toggle a reaction on a playground
- Parameters:
- `playground_uuid` in `path` required
- Body: JSON request body accepted.
### start_playground_session_api_v1_playgrounds_generate_start_post
- Operation ID: `start_playground_session_api_v1_playgrounds_generate_start_post`
- Route: `POST /api/v1/playgrounds/generate/start`
- Mode: WRITE
- Summary: Start a playground generation session
- Body: JSON request body accepted.
### iterate_playground_session_api_v1_playgrounds_generate_iterate_post
- Operation ID: `iterate_playground_session_api_v1_playgrounds_generate_iterate_post`
- Route: `POST /api/v1/playgrounds/generate/iterate`
- Mode: WRITE
- Summary: Iterate on a playground generation session
- Body: JSON request body accepted.
### get_session_state_api_v1_playgrounds_generate_session_session_uuid_get
- Operation ID: `get_session_state_api_v1_playgrounds_generate_session_session_uuid_get`
- Route: `GET /api/v1/playgrounds/generate/session/{session_uuid}`
- Mode: READ
- Summary: Get playground generation session state
- Parameters:
- `session_uuid` in `path` required

179
skills/podcasts/SKILL.md Normal file
View File

@@ -0,0 +1,179 @@
---
name: podcasts-routes
description: Handle 17 OpenAPI operation(s) under /api/v1/podcasts for the podcasts route group.
---
# podcasts API Routes
Handle 17 OpenAPI operation(s) under /api/v1/podcasts for the podcasts 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_create_podcast_api_v1_podcasts_post
- Operation ID: `api_create_podcast_api_v1_podcasts_post`
- Route: `POST /api/v1/podcasts/`
- Mode: WRITE
- Summary: Create a podcast
- Parameters:
- `org_id` in `query` required
- Body: JSON request body accepted.
### api_get_podcast_api_v1_podcasts_podcast_uuid_get
- Operation ID: `api_get_podcast_api_v1_podcasts_podcast_uuid_get`
- Route: `GET /api/v1/podcasts/{podcast_uuid}`
- Mode: READ
- Summary: Get a podcast
- Parameters:
- `podcast_uuid` in `path` required
### api_update_podcast_api_v1_podcasts_podcast_uuid_put
- Operation ID: `api_update_podcast_api_v1_podcasts_podcast_uuid_put`
- Route: `PUT /api/v1/podcasts/{podcast_uuid}`
- Mode: WRITE
- Summary: Update a podcast
- Parameters:
- `podcast_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_podcast_api_v1_podcasts_podcast_uuid_delete
- Operation ID: `api_delete_podcast_api_v1_podcasts_podcast_uuid_delete`
- Route: `DELETE /api/v1/podcasts/{podcast_uuid}`
- Mode: WRITE
- Summary: Delete a podcast
- Parameters:
- `podcast_uuid` in `path` required
### api_get_podcast_meta_api_v1_podcasts_podcast_uuid_meta_get
- Operation ID: `api_get_podcast_meta_api_v1_podcasts_podcast_uuid_meta_get`
- Route: `GET /api/v1/podcasts/{podcast_uuid}/meta`
- Mode: READ
- Summary: Get podcast metadata
- Parameters:
- `podcast_uuid` in `path` required
### api_get_podcasts_orgslug_api_v1_podcasts_org_slug_org_slug_page_page_limit_limit
- Operation ID: `api_get_podcasts_orgslug_api_v1_podcasts_org_slug_org_slug_page_page_limit_limit`
- Route: `GET /api/v1/podcasts/org_slug/{org_slug}/page/{page}/limit/{limit}`
- Mode: READ
- Summary: List podcasts for an organization
- Parameters:
- `org_slug` in `path` required
- `page` in `path` required
- `limit` in `path` required
- `include_unpublished` in `query`
### api_get_podcasts_count_orgslug_api_v1_podcasts_org_slug_org_slug_count_get
- Operation ID: `api_get_podcasts_count_orgslug_api_v1_podcasts_org_slug_org_slug_count_get`
- Route: `GET /api/v1/podcasts/org_slug/{org_slug}/count`
- Mode: READ
- Summary: Count podcasts for an organization
- Parameters:
- `org_slug` in `path` required
### api_update_podcast_thumbnail_api_v1_podcasts_podcast_uuid_thumbnail_put
- Operation ID: `api_update_podcast_thumbnail_api_v1_podcasts_podcast_uuid_thumbnail_put`
- Route: `PUT /api/v1/podcasts/{podcast_uuid}/thumbnail`
- Mode: WRITE
- Summary: Update podcast thumbnail
- Parameters:
- `podcast_uuid` in `path` required
- Body: JSON request body accepted.
### api_get_podcast_rights_api_v1_podcasts_podcast_uuid_rights_get
- Operation ID: `api_get_podcast_rights_api_v1_podcasts_podcast_uuid_rights_get`
- Route: `GET /api/v1/podcasts/{podcast_uuid}/rights`
- Mode: READ
- Summary: Get podcast user rights
- Parameters:
- `podcast_uuid` in `path` required
### api_get_podcast_episodes_api_v1_podcasts_podcast_uuid_episodes_get
- Operation ID: `api_get_podcast_episodes_api_v1_podcasts_podcast_uuid_episodes_get`
- Route: `GET /api/v1/podcasts/{podcast_uuid}/episodes`
- Mode: READ
- Summary: List podcast episodes
- Parameters:
- `podcast_uuid` in `path` required
- `include_unpublished` in `query`
### api_create_episode_api_v1_podcasts_podcast_uuid_episodes_post
- Operation ID: `api_create_episode_api_v1_podcasts_podcast_uuid_episodes_post`
- Route: `POST /api/v1/podcasts/{podcast_uuid}/episodes`
- Mode: WRITE
- Summary: Create a podcast episode
- Parameters:
- `podcast_uuid` in `path` required
- Body: JSON request body accepted.
### api_reorder_episodes_api_v1_podcasts_podcast_uuid_episodes_reorder_put
- Operation ID: `api_reorder_episodes_api_v1_podcasts_podcast_uuid_episodes_reorder_put`
- Route: `PUT /api/v1/podcasts/{podcast_uuid}/episodes/reorder`
- Mode: WRITE
- Summary: Reorder podcast episodes
- Parameters:
- `podcast_uuid` in `path` required
- Body: JSON request body accepted.
### api_get_episode_api_v1_podcasts_episodes_episode_uuid_get
- Operation ID: `api_get_episode_api_v1_podcasts_episodes_episode_uuid_get`
- Route: `GET /api/v1/podcasts/episodes/{episode_uuid}`
- Mode: READ
- Summary: Get a podcast episode
- Parameters:
- `episode_uuid` in `path` required
### api_update_episode_api_v1_podcasts_episodes_episode_uuid_put
- Operation ID: `api_update_episode_api_v1_podcasts_episodes_episode_uuid_put`
- Route: `PUT /api/v1/podcasts/episodes/{episode_uuid}`
- Mode: WRITE
- Summary: Update a podcast episode
- Parameters:
- `episode_uuid` in `path` required
- Body: JSON request body accepted.
### api_delete_episode_api_v1_podcasts_episodes_episode_uuid_delete
- Operation ID: `api_delete_episode_api_v1_podcasts_episodes_episode_uuid_delete`
- Route: `DELETE /api/v1/podcasts/episodes/{episode_uuid}`
- Mode: WRITE
- Summary: Delete a podcast episode
- Parameters:
- `episode_uuid` in `path` required
### api_upload_episode_audio_api_v1_podcasts_episodes_episode_uuid_audio_put
- Operation ID: `api_upload_episode_audio_api_v1_podcasts_episodes_episode_uuid_audio_put`
- Route: `PUT /api/v1/podcasts/episodes/{episode_uuid}/audio`
- Mode: WRITE
- Summary: Upload episode audio
- Parameters:
- `episode_uuid` in `path` required
- Body: JSON request body accepted.
### api_upload_episode_thumbnail_api_v1_podcasts_episodes_episode_uuid_thumbnail_put
- Operation ID: `api_upload_episode_thumbnail_api_v1_podcasts_episodes_episode_uuid_thumbnail_put`
- Route: `PUT /api/v1/podcasts/episodes/{episode_uuid}/thumbnail`
- Mode: WRITE
- Summary: Upload episode thumbnail
- Parameters:
- `episode_uuid` in `path` required
- Body: JSON request body accepted.

61
skills/roles/SKILL.md Normal file
View File

@@ -0,0 +1,61 @@
---
name: roles-routes
description: Handle 5 OpenAPI operation(s) under /api/v1/roles for the roles route group.
---
# roles API Routes
Handle 5 OpenAPI operation(s) under /api/v1/roles for the roles 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_create_role_api_v1_roles_org_org_id_post
- Operation ID: `api_create_role_api_v1_roles_org_org_id_post`
- Route: `POST /api/v1/roles/org/{org_id}`
- Mode: WRITE
- Summary: Create role
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_get_roles_by_organization_api_v1_roles_org_org_id_get
- Operation ID: `api_get_roles_by_organization_api_v1_roles_org_org_id_get`
- Route: `GET /api/v1/roles/org/{org_id}`
- Mode: READ
- Summary: List roles for organization
- Parameters:
- `org_id` in `path` required
### api_get_role_api_v1_roles_role_id_get
- Operation ID: `api_get_role_api_v1_roles_role_id_get`
- Route: `GET /api/v1/roles/{role_id}`
- Mode: READ
- Summary: Get role
- Parameters:
- `role_id` in `path` required
### api_update_role_api_v1_roles_role_id_put
- Operation ID: `api_update_role_api_v1_roles_role_id_put`
- Route: `PUT /api/v1/roles/{role_id}`
- Mode: WRITE
- Summary: Update role
- Parameters:
- `role_id` in `path` required
- Body: JSON request body accepted.
### api_delete_role_api_v1_roles_role_id_delete
- Operation ID: `api_delete_role_api_v1_roles_role_id_delete`
- Route: `DELETE /api/v1/roles/{role_id}`
- Mode: WRITE
- Summary: Delete role
- Parameters:
- `role_id` in `path` required

26
skills/search/SKILL.md Normal file
View File

@@ -0,0 +1,26 @@
---
name: search-routes
description: Handle 1 OpenAPI operation(s) under /api/v1/search/org_slug/{org_slug} for the search route group.
---
# search API Routes
Handle 1 OpenAPI operation(s) under /api/v1/search/org_slug/{org_slug} for the search 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_search_across_org_api_v1_search_org_slug_org_slug_get
- Operation ID: `api_search_across_org_api_v1_search_org_slug_org_slug_get`
- Route: `GET /api/v1/search/org_slug/{org_slug}`
- Mode: READ
- Summary: Search within an organization
- Parameters:
- `org_slug` in `path` required
- `query` in `query` required
- `page` in `query`
- `limit` in `query`

114
skills/stream/SKILL.md Normal file
View File

@@ -0,0 +1,114 @@
---
name: stream-routes
description: Handle 8 OpenAPI operation(s) under /api/v1/stream for the stream route group.
---
# stream API Routes
Handle 8 OpenAPI operation(s) under /api/v1/stream for the stream 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
### stream_activity_video_api_v1_stream_video_org_uuid_course_uuid_activity_uuid_fil
- Operation ID: `stream_activity_video_api_v1_stream_video_org_uuid_course_uuid_activity_uuid_fil`
- Route: `GET /api/v1/stream/video/{org_uuid}/{course_uuid}/{activity_uuid}/{filename}`
- Mode: READ
- Summary: Stream an activity video
- Parameters:
- `org_uuid` in `path` required
- `course_uuid` in `path` required
- `activity_uuid` in `path` required
- `filename` in `path` required
### head_activity_video_api_v1_stream_video_org_uuid_course_uuid_activity_uuid_filen
- Operation ID: `head_activity_video_api_v1_stream_video_org_uuid_course_uuid_activity_uuid_filen`
- Route: `HEAD /api/v1/stream/video/{org_uuid}/{course_uuid}/{activity_uuid}/{filename}`
- Mode: READ
- Summary: Get activity video metadata
- Parameters:
- `org_uuid` in `path` required
- `course_uuid` in `path` required
- `activity_uuid` in `path` required
- `filename` in `path` required
### stream_block_audio_api_v1_stream_block_audio_org_uuid_course_uuid_activity_uuid_
- Operation ID: `stream_block_audio_api_v1_stream_block_audio_org_uuid_course_uuid_activity_uuid_`
- Route: `GET /api/v1/stream/block/audio/{org_uuid}/{course_uuid}/{activity_uuid}/{block_uuid}/{filename}`
- Mode: READ
- Summary: Stream an audio block file
- Parameters:
- `org_uuid` in `path` required
- `course_uuid` in `path` required
- `activity_uuid` in `path` required
- `block_uuid` in `path` required
- `filename` in `path` required
### head_block_audio_api_v1_stream_block_audio_org_uuid_course_uuid_activity_uuid_bl
- Operation ID: `head_block_audio_api_v1_stream_block_audio_org_uuid_course_uuid_activity_uuid_bl`
- Route: `HEAD /api/v1/stream/block/audio/{org_uuid}/{course_uuid}/{activity_uuid}/{block_uuid}/{filename}`
- Mode: READ
- Summary: Get audio block file metadata
- Parameters:
- `org_uuid` in `path` required
- `course_uuid` in `path` required
- `activity_uuid` in `path` required
- `block_uuid` in `path` required
- `filename` in `path` required
### stream_block_video_api_v1_stream_block_org_uuid_course_uuid_activity_uuid_block_
- Operation ID: `stream_block_video_api_v1_stream_block_org_uuid_course_uuid_activity_uuid_block_`
- Route: `GET /api/v1/stream/block/{org_uuid}/{course_uuid}/{activity_uuid}/{block_uuid}/{filename}`
- Mode: READ
- Summary: Stream a video block file
- Parameters:
- `org_uuid` in `path` required
- `course_uuid` in `path` required
- `activity_uuid` in `path` required
- `block_uuid` in `path` required
- `filename` in `path` required
### head_block_video_api_v1_stream_block_org_uuid_course_uuid_activity_uuid_block_uu
- Operation ID: `head_block_video_api_v1_stream_block_org_uuid_course_uuid_activity_uuid_block_uu`
- Route: `HEAD /api/v1/stream/block/{org_uuid}/{course_uuid}/{activity_uuid}/{block_uuid}/{filename}`
- Mode: READ
- Summary: Get video block file metadata
- Parameters:
- `org_uuid` in `path` required
- `course_uuid` in `path` required
- `activity_uuid` in `path` required
- `block_uuid` in `path` required
- `filename` in `path` required
### stream_podcast_audio_api_v1_stream_audio_org_uuid_podcast_uuid_episode_uuid_file
- Operation ID: `stream_podcast_audio_api_v1_stream_audio_org_uuid_podcast_uuid_episode_uuid_file`
- Route: `GET /api/v1/stream/audio/{org_uuid}/{podcast_uuid}/{episode_uuid}/{filename}`
- Mode: READ
- Summary: Stream a podcast episode audio
- Parameters:
- `org_uuid` in `path` required
- `podcast_uuid` in `path` required
- `episode_uuid` in `path` required
- `filename` in `path` required
### head_podcast_audio_api_v1_stream_audio_org_uuid_podcast_uuid_episode_uuid_filena
- Operation ID: `head_podcast_audio_api_v1_stream_audio_org_uuid_podcast_uuid_episode_uuid_filena`
- Route: `HEAD /api/v1/stream/audio/{org_uuid}/{podcast_uuid}/{episode_uuid}/{filename}`
- Mode: READ
- Summary: Get podcast audio metadata
- Parameters:
- `org_uuid` in `path` required
- `podcast_uuid` in `path` required
- `episode_uuid` in `path` required
- `filename` in `path` required

74
skills/trail/SKILL.md Normal file
View File

@@ -0,0 +1,74 @@
---
name: trail-routes
description: Handle 7 OpenAPI operation(s) under /api/v1/trail for the trail route group.
---
# trail API Routes
Handle 7 OpenAPI operation(s) under /api/v1/trail for the trail 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_start_trail_api_v1_trail_start_post
- Operation ID: `api_start_trail_api_v1_trail_start_post`
- Route: `POST /api/v1/trail/start`
- Mode: WRITE
- Summary: Start a trail
- Body: JSON request body accepted.
### api_get_user_trail_api_v1_trail_get
- Operation ID: `api_get_user_trail_api_v1_trail_get`
- Route: `GET /api/v1/trail/`
- Mode: READ
- Summary: Get current user's trails
### api_get_trail_by_org_id_api_v1_trail_org_org_id_trail_get
- Operation ID: `api_get_trail_by_org_id_api_v1_trail_org_org_id_trail_get`
- Route: `GET /api/v1/trail/org/{org_id}/trail`
- Mode: READ
- Summary: Get user trail by organization
- Parameters:
- `org_id` in `path` required
### api_add_course_to_trail_api_v1_trail_add_course_course_uuid_post
- Operation ID: `api_add_course_to_trail_api_v1_trail_add_course_course_uuid_post`
- Route: `POST /api/v1/trail/add_course/{course_uuid}`
- Mode: WRITE
- Summary: Add course to trail
- Parameters:
- `course_uuid` in `path` required
### api_remove_course_to_trail_api_v1_trail_remove_course_course_uuid_delete
- Operation ID: `api_remove_course_to_trail_api_v1_trail_remove_course_course_uuid_delete`
- Route: `DELETE /api/v1/trail/remove_course/{course_uuid}`
- Mode: WRITE
- Summary: Remove course from trail
- Parameters:
- `course_uuid` in `path` required
### api_add_activity_to_trail_api_v1_trail_add_activity_activity_uuid_post
- Operation ID: `api_add_activity_to_trail_api_v1_trail_add_activity_activity_uuid_post`
- Route: `POST /api/v1/trail/add_activity/{activity_uuid}`
- Mode: WRITE
- Summary: Add activity to trail
- Parameters:
- `activity_uuid` in `path` required
### api_remove_activity_from_trail_api_v1_trail_remove_activity_activity_uuid_delete
- Operation ID: `api_remove_activity_from_trail_api_v1_trail_remove_activity_activity_uuid_delete`
- Route: `DELETE /api/v1/trail/remove_activity/{activity_uuid}`
- Mode: WRITE
- Summary: Remove activity from trail
- Parameters:
- `activity_uuid` in `path` required

126
skills/usergroups/SKILL.md Normal file
View File

@@ -0,0 +1,126 @@
---
name: usergroups-routes
description: Handle 12 OpenAPI operation(s) under /api/v1/usergroups for the usergroups route group.
---
# usergroups API Routes
Handle 12 OpenAPI operation(s) under /api/v1/usergroups for the usergroups 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_create_usergroup_api_v1_usergroups_post
- Operation ID: `api_create_usergroup_api_v1_usergroups_post`
- Route: `POST /api/v1/usergroups/`
- Mode: WRITE
- Summary: Create a usergroup
- Body: JSON request body accepted.
### api_get_usergroup_api_v1_usergroups_usergroup_id_get
- Operation ID: `api_get_usergroup_api_v1_usergroups_usergroup_id_get`
- Route: `GET /api/v1/usergroups/{usergroup_id}`
- Mode: READ
- Summary: Get a usergroup
- Parameters:
- `usergroup_id` in `path` required
### api_update_usergroup_api_v1_usergroups_usergroup_id_put
- Operation ID: `api_update_usergroup_api_v1_usergroups_usergroup_id_put`
- Route: `PUT /api/v1/usergroups/{usergroup_id}`
- Mode: WRITE
- Summary: Update a usergroup
- Parameters:
- `usergroup_id` in `path` required
- Body: JSON request body accepted.
### api_delete_usergroup_api_v1_usergroups_usergroup_id_delete
- Operation ID: `api_delete_usergroup_api_v1_usergroups_usergroup_id_delete`
- Route: `DELETE /api/v1/usergroups/{usergroup_id}`
- Mode: WRITE
- Summary: Delete a usergroup
- Parameters:
- `usergroup_id` in `path` required
### api_get_users_linked_to_usergroup_api_v1_usergroups_usergroup_id_users_get
- Operation ID: `api_get_users_linked_to_usergroup_api_v1_usergroups_usergroup_id_users_get`
- Route: `GET /api/v1/usergroups/{usergroup_id}/users`
- Mode: READ
- Summary: List users in a usergroup
- Parameters:
- `usergroup_id` in `path` required
### api_get_usergroups_api_v1_usergroups_org_org_id_get
- Operation ID: `api_get_usergroups_api_v1_usergroups_org_org_id_get`
- Route: `GET /api/v1/usergroups/org/{org_id}`
- Mode: READ
- Summary: List usergroups for an organization
- Parameters:
- `org_id` in `path` required
### api_get_resources_linked_to_usergroup_api_v1_usergroups_usergroup_id_resources_g
- Operation ID: `api_get_resources_linked_to_usergroup_api_v1_usergroups_usergroup_id_resources_g`
- Route: `GET /api/v1/usergroups/{usergroup_id}/resources`
- Mode: READ
- Summary: List resources linked to a usergroup
- Parameters:
- `usergroup_id` in `path` required
### api_get_usergroupsby_resource_api_v1_usergroups_resource_resource_uuid_get
- Operation ID: `api_get_usergroupsby_resource_api_v1_usergroups_resource_resource_uuid_get`
- Route: `GET /api/v1/usergroups/resource/{resource_uuid}`
- Mode: READ
- Summary: List usergroups linked to a resource
- Parameters:
- `resource_uuid` in `path` required
### api_add_users_to_usergroup_api_v1_usergroups_usergroup_id_add_users_post
- Operation ID: `api_add_users_to_usergroup_api_v1_usergroups_usergroup_id_add_users_post`
- Route: `POST /api/v1/usergroups/{usergroup_id}/add_users`
- Mode: WRITE
- Summary: Add users to a usergroup
- Parameters:
- `usergroup_id` in `path` required
- `user_ids` in `query` required
### api_delete_users_from_usergroup_api_v1_usergroups_usergroup_id_remove_users_dele
- Operation ID: `api_delete_users_from_usergroup_api_v1_usergroups_usergroup_id_remove_users_dele`
- Route: `DELETE /api/v1/usergroups/{usergroup_id}/remove_users`
- Mode: WRITE
- Summary: Remove users from a usergroup
- Parameters:
- `usergroup_id` in `path` required
- `user_ids` in `query` required
### api_add_resources_to_usergroup_api_v1_usergroups_usergroup_id_add_resources_post
- Operation ID: `api_add_resources_to_usergroup_api_v1_usergroups_usergroup_id_add_resources_post`
- Route: `POST /api/v1/usergroups/{usergroup_id}/add_resources`
- Mode: WRITE
- Summary: Add resources to a usergroup
- Parameters:
- `usergroup_id` in `path` required
- `resource_uuids` in `query` required
### api_delete_resources_from_usergroup_api_v1_usergroups_usergroup_id_remove_resour
- Operation ID: `api_delete_resources_from_usergroup_api_v1_usergroups_usergroup_id_remove_resour`
- Route: `DELETE /api/v1/usergroups/{usergroup_id}/remove_resources`
- Mode: WRITE
- Summary: Remove resources from a usergroup
- Parameters:
- `usergroup_id` in `path` required
- `resource_uuids` in `query` required

215
skills/users/SKILL.md Normal file
View File

@@ -0,0 +1,215 @@
---
name: users-routes
description: Handle 22 OpenAPI operation(s) under /api/v1/users for the users route group.
---
# users API Routes
Handle 22 OpenAPI operation(s) under /api/v1/users for the users 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_get_current_user_api_v1_users_profile_get
- Operation ID: `api_get_current_user_api_v1_users_profile_get`
- Route: `GET /api/v1/users/profile`
- Mode: READ
- Summary: Get current user profile
### api_get_current_user_session_api_v1_users_session_get
- Operation ID: `api_get_current_user_session_api_v1_users_session_get`
- Route: `GET /api/v1/users/session`
- Mode: READ
- Summary: Get current user session
### api_get_authorization_status_api_v1_users_authorize_ressource_ressource_uuid_act
- Operation ID: `api_get_authorization_status_api_v1_users_authorize_ressource_ressource_uuid_act`
- Route: `GET /api/v1/users/authorize/ressource/{ressource_uuid}/action/{action}`
- Mode: READ
- Summary: Check authorization for resource action
- Parameters:
- `ressource_uuid` in `path` required
- `action` in `path` required
### api_create_user_with_orgid_api_v1_users_org_id_post
- Operation ID: `api_create_user_with_orgid_api_v1_users_org_id_post`
- Route: `POST /api/v1/users/{org_id}`
- Mode: WRITE
- Summary: Create user in organization
- Parameters:
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_create_user_with_orgid_and_invite_api_v1_users_org_id_invite_invite_code_pos
- Operation ID: `api_create_user_with_orgid_and_invite_api_v1_users_org_id_invite_invite_code_pos`
- Route: `POST /api/v1/users/{org_id}/invite/{invite_code}`
- Mode: WRITE
- Summary: Create user with invite code
- Parameters:
- `invite_code` in `path` required
- `org_id` in `path` required
- Body: JSON request body accepted.
### api_create_user_without_org_api_v1_users_post
- Operation ID: `api_create_user_without_org_api_v1_users_post`
- Route: `POST /api/v1/users/`
- Mode: WRITE
- Summary: Create user without organization
- Body: JSON request body accepted.
### api_get_user_by_id_api_v1_users_id_user_id_get
- Operation ID: `api_get_user_by_id_api_v1_users_id_user_id_get`
- Route: `GET /api/v1/users/id/{user_id}`
- Mode: READ
- Summary: Get user by ID
- Parameters:
- `user_id` in `path` required
### api_get_user_by_uuid_api_v1_users_uuid_user_uuid_get
- Operation ID: `api_get_user_by_uuid_api_v1_users_uuid_user_uuid_get`
- Route: `GET /api/v1/users/uuid/{user_uuid}`
- Mode: READ
- Summary: Get user by UUID
- Parameters:
- `user_uuid` in `path` required
### api_get_user_by_username_api_v1_users_username_username_get
- Operation ID: `api_get_user_by_username_api_v1_users_username_username_get`
- Route: `GET /api/v1/users/username/{username}`
- Mode: READ
- Summary: Get user by username
- Parameters:
- `username` in `path` required
### api_update_user_api_v1_users_user_id_put
- Operation ID: `api_update_user_api_v1_users_user_id_put`
- Route: `PUT /api/v1/users/{user_id}`
- Mode: WRITE
- Summary: Update user
- Parameters:
- `user_id` in `path` required
- Body: JSON request body accepted.
### api_update_avatar_user_api_v1_users_update_avatar_user_id_put
- Operation ID: `api_update_avatar_user_api_v1_users_update_avatar_user_id_put`
- Route: `PUT /api/v1/users/update_avatar/{user_id}`
- Mode: WRITE
- Summary: Update user avatar
- Parameters:
- `user_id` in `path` required
- Body: JSON request body accepted.
### api_update_user_password_api_v1_users_change_password_user_id_put
- Operation ID: `api_update_user_password_api_v1_users_change_password_user_id_put`
- Route: `PUT /api/v1/users/change_password/{user_id}`
- Mode: WRITE
- Summary: Change user password
- Parameters:
- `user_id` in `path` required
- Body: JSON request body accepted.
### api_change_password_with_reset_code_v2_api_v1_users_reset_password_change_passwo
- Operation ID: `api_change_password_with_reset_code_v2_api_v1_users_reset_password_change_passwo`
- Route: `POST /api/v1/users/reset_password/change_password`
- Mode: WRITE
- Summary: Change password with reset code
- Body: JSON request body accepted.
### api_change_password_with_reset_code_api_v1_users_reset_password_change_password_
- Operation ID: `api_change_password_with_reset_code_api_v1_users_reset_password_change_password_`
- Route: `POST /api/v1/users/reset_password/change_password/{email}`
- Mode: WRITE
- Summary: Change password with reset code (legacy path)
- Parameters:
- `email` in `path` required
- Body: JSON request body accepted.
### api_send_password_reset_email_v2_api_v1_users_reset_password_send_reset_code_pos
- Operation ID: `api_send_password_reset_email_v2_api_v1_users_reset_password_send_reset_code_pos`
- Route: `POST /api/v1/users/reset_password/send_reset_code`
- Mode: WRITE
- Summary: Send password reset code
- Body: JSON request body accepted.
### api_send_password_reset_email_api_v1_users_reset_password_send_reset_code_email_
- Operation ID: `api_send_password_reset_email_api_v1_users_reset_password_send_reset_code_email_`
- Route: `POST /api/v1/users/reset_password/send_reset_code/{email}`
- Mode: WRITE
- Summary: Send password reset code (legacy path)
- Parameters:
- `email` in `path` required
- `org_id` in `query` required
### api_send_password_reset_email_platform_v2_api_v1_users_reset_password_platform_s
- Operation ID: `api_send_password_reset_email_platform_v2_api_v1_users_reset_password_platform_s`
- Route: `POST /api/v1/users/reset_password/platform/send_reset_code`
- Mode: WRITE
- Summary: Send platform password reset code
- Body: JSON request body accepted.
### api_send_password_reset_email_platform_api_v1_users_reset_password_platform_send
- Operation ID: `api_send_password_reset_email_platform_api_v1_users_reset_password_platform_send`
- Route: `POST /api/v1/users/reset_password/platform/send_reset_code/{email}`
- Mode: WRITE
- Summary: Send platform password reset code (legacy path)
- Parameters:
- `email` in `path` required
### api_change_password_with_reset_code_platform_v2_api_v1_users_reset_password_plat
- Operation ID: `api_change_password_with_reset_code_platform_v2_api_v1_users_reset_password_plat`
- Route: `POST /api/v1/users/reset_password/platform/change_password`
- Mode: WRITE
- Summary: Change platform password with reset code
- Body: JSON request body accepted.
### api_change_password_with_reset_code_platform_api_v1_users_reset_password_platfor
- Operation ID: `api_change_password_with_reset_code_platform_api_v1_users_reset_password_platfor`
- Route: `POST /api/v1/users/reset_password/platform/change_password/{email}`
- Mode: WRITE
- Summary: Change platform password with reset code (legacy path)
- Parameters:
- `email` in `path` required
- Body: JSON request body accepted.
### api_delete_user_api_v1_users_user_id_user_id_delete
- Operation ID: `api_delete_user_api_v1_users_user_id_user_id_delete`
- Route: `DELETE /api/v1/users/user_id/{user_id}`
- Mode: WRITE
- Summary: Delete user
- Parameters:
- `user_id` in `path` required
### api_get_user_courses_api_v1_users_user_id_courses_get
- Operation ID: `api_get_user_courses_api_v1_users_user_id_courses_get`
- Route: `GET /api/v1/users/{user_id}/courses`
- Mode: READ
- Summary: List courses for user
- Parameters:
- `user_id` in `path` required
- `page` in `query`
- `limit` in `query`

23
skills/utils/SKILL.md Normal file
View File

@@ -0,0 +1,23 @@
---
name: utils-routes
description: Handle 1 OpenAPI operation(s) under /api/v1/utils/link-preview for the utils route group.
---
# utils API Routes
Handle 1 OpenAPI operation(s) under /api/v1/utils/link-preview for the utils 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
### link_preview_api_v1_utils_link_preview_get
- Operation ID: `link_preview_api_v1_utils_link_preview_get`
- Route: `GET /api/v1/utils/link-preview`
- Mode: READ
- Summary: Fetch link preview metadata
- Parameters:
- `url` in `query` required