mark_as_complete
Mark a user's course or learning activities as complete in LearnWorlds, updating their progress and optionally sending completion emails.
Instructions
๐ก WRITE ยท creates data ยท POST /v2/users/{id}/courses/{cid}/complete
Mark as complete. Updates the user's progress on a course or learning activity level as complete.
Behavior: creates a record or triggers an action in the live school. Not idempotent: a repeated call can duplicate the effect. Auth (admin API token + Lw-Client id) is injected server-side, never by the model; calls are throttled to stay under LearnWorlds' 30-per-10s cap and retried on 429/5xx.
Parameters: the whole JSON payload goes in the single body argument, forwarded verbatim (the spec leaves body optional, but this endpoint expects one).
Returns: HTTP <status> followed by the LearnWorlds JSON response body. A non-2xx reply surfaces as a tool error with that status and the API error payload โ 401 bad/expired token, 403 not permitted, 404 no such record, 422 rejected input.
Use when: only when the user asked to create this. Check with a ๐ข read tool that the target exists and the record is not already there. Related Update user progress tools: reset_user_progress.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User Id or email (encoded string) | |
| cid | Yes | Course title Id | |
| body | No | Request body (application/json). |