enroll_user_product
Enroll a user in a course, bundle, or subscription by providing product ID, type, price, and optional duration or email notification.
Instructions
๐ก WRITE ยท creates data ยท POST /v2/users/{id}/enrollment
Enroll user to product, regarding course, bundle, manual subscription
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 Users tools: unenroll_user_product, get_courses_enrollments_user, get_products_user, get_seat_offerings_that_user_is_member, get_user.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | User Id or email (encoded string) | |
| body | No | Request body (application/json). |