Files
learnhouse-agent/skills/activities/SKILL.md
a2a-platform dfa7bb3bc4 deploy
2026-06-29 01:34:41 +00:00

213 lines
7.8 KiB
Markdown

---
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.
For visible lesson content, prefer `POST /api/v1/activities/` with
`activity_type=TYPE_DYNAMIC`, `activity_sub_type=SUBTYPE_DYNAMIC_MARKDOWN`,
`content.markdown_url`, `lock_type=public`, and `published=true` unless the user
asks for drafts. The LearnHouse markdown renderer reads `activity.content.markdown_url`;
it does not render inline `content.body` or `content.markdown` by itself. If no
external markdown URL is available, provide inline markdown in `content.markdown`
or `content.body`; the agent runtime converts it to a `data:text/markdown` URL
before calling LearnHouse. Always use the target chapter's own `chapter_id`; do
not attach every activity to the first chapter. On
`PUT /api/v1/activities/{activity_uuid}`, do not send `published_version`;
this LearnHouse backend rejects that field.
## 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_chapter_activities_api_v1_activities_chapter_663ab6bde2
- 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_documentpdf_activity_api_v1_activities_doc_0fa3c707b3
- 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_documentpdf_activity_api_v1_activities_doc_a4d82f2474
- 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_create_external_video_activity_api_v1_activities_6fccc29f5e
- 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_update_external_video_activity_api_v1_activities_231ea2dcf8
- 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_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_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_update_video_activity_api_v1_activities_video_act_053ebe48d1
- 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_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_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_get_editor_bootstrap_api_v1_activities_activity_u_05beca7477
- 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_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_list_activity_usergroups_api_v1_activities_activi_cc7f8f474c
- 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_remove_activity_usergroup_api_v1_activities_activ_413d0bb7de
- 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
### api_add_activity_usergroup_api_v1_activities_activity_07e359d60e
- 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_get_activity_versions_api_v1_activities_activity_d2be4ccb83
- 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_u_f066c45e54
- 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_restore_activity_version_api_v1_activities_activi_0e908d5dc6
- 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