learnworlds_list_courses
List courses
List the school's courses, newest first, 50 per page — title, price fields, access (paid/free/draft...), categories and author. A cheap way to confirm the credentials work. LearnWorlds: GET /v2/courses.
Parameterspageaccesscategories
learnworlds_get_course
Get a course
Fetch one course by id (its slug). LearnWorlds: GET /v2/courses/{id}.
Parameterscourse_idrequired
learnworlds_get_course_contents
Get course contents
The course outline: its sections (with drip-feed settings) and the learning activities (videos, PDFs, SCORM, assessments, certificates...) in each, with their ids. LearnWorlds: GET /v2/courses/{id}/contents.
Parameterscourse_idrequired
learnworlds_get_course_analytics
Get course analytics
Course-level analytics: students, learning units, average score and success rate, total study time, average time to finish, social interactions and certificates issued. LearnWorlds: GET /v2/courses/{id}/analytics.
Parameterscourse_idrequired
learnworlds_list_course_users
List users enrolled in a course
The users enrolled in one course, newest first (20 per page by default). LearnWorlds: GET /v2/courses/{id}/users.
Parameterspagecourse_idrequireditems_per_page
learnworlds_get_course_grades
Get course grades
Assessment grades of the users enrolled in a course — per user and learning unit, with submission time. LearnWorlds: GET /v2/courses/{id}/grades.
Parameterspagesortorderuserscourse_idrequireditems_per_pagelearning_units
learnworlds_list_users
List users
List the school's users, newest first (20 per page by default), filterable by status, role, tags, registration date and custom fields. All filters are ANDed. LearnWorlds: GET /v2/users.
Parameterspageroletagsstatuscustom_fieldsitems_per_pageinclude_suspendedregistration_afterregistration_before
learnworlds_get_user
Get a user
Fetch one user by id or email — profile, role, tags, sign-up fields, UTMs and last login. LearnWorlds: GET /v2/users/{id}.
Parametersuserrequiredinclude_suspended
learnworlds_list_user_courses
List a user's course enrollments
The courses a user is enrolled in, with enrollment and expiry dates (50 per page). LearnWorlds: GET /v2/users/{id}/courses.
Parameterspageuserrequired
learnworlds_get_user_course_progress
Get a user's progress in a course
A user's progress in one course — status, progress rate, average score, time on course, completed units, and a per-section / per-activity breakdown. LearnWorlds: GET /v2/users/{id}/courses/{cid}/progress.
Parametersuserrequiredcourse_idrequired
learnworlds_list_payments
List payments
List payments, newest first (50 per page by default) — product, price, discount, tax, coupon, affiliate, gateway and billing info. All filters are ANDed. LearnWorlds: GET /v2/payments.
Parameterspageuser_idproduct_idaffiliate_idproduct_typecreated_aftercreated_beforeitems_per_page
learnworlds_get_payment
Get a payment
Fetch one payment by payment id or transaction id. LearnWorlds: GET /v2/payments/{id}.
Parameterspayment_idrequired
learnworlds_list_certificates
List certificates
Certificates awarded, newest first (20 per page), for a course and/or a user — at least one of course_id or user_id is required. LearnWorlds: GET /v2/certificates.
Parameterspageuser_idcourse_id
learnworlds_list_user_groups
List user groups
List the school's user groups (cohorts / B2B seats), newest first — title, products, group managers, capacity and tags. LearnWorlds: GET /v2/user_groups.
Parameterspage
learnworlds_list_event_logs
List event logs
The school's activity log (50 per page) — registrations, logins, purchases, enrollments, course completions, certificates, subscription changes and more, filterable by user, activity and time. LearnWorlds: GET /v2/event-logs.
Parameterspagesortuser_idactivitycreated_aftercreated_before
learnworlds_create_user
Create a user
WRITE: create a learner account. Deliberately no password or admin flag — set send_registration_email so the learner sets their own password. LearnWorlds: POST /v2/users.
Parameterstagsemailrequiredfieldsusernamerequiredsend_registration_emailsignup_validation_rulessubscribed_for_marketing_emails
learnworlds_update_user
Update a user
WRITE: update a user's email, username, marketing consent, sign-up fields or tags. Only the fields you pass are sent. Passing `tags` REPLACES the tag list — use learnworlds_update_user_tags to add/remove individual tags. LearnWorlds: PUT /v2/users/{id}.
Parameterstagsuserrequiredemailfieldsusernamesubscribed_for_marketing_emails
learnworlds_update_user_tags
Attach or detach user tags
WRITE: add (attach) or remove (detach) tags on a user, leaving their other tags untouched. Reversible with the opposite action. LearnWorlds: PUT /v2/users/{id}/tags.
Parameterstagsrequireduserrequiredactionrequired
learnworlds_enroll_user
Enroll a user in a product
WRITE: manually enroll a user in a course, bundle or subscription. This grants access and records a manual enrollment at the given price (use 0 for a free grant) — it does not charge the learner's card. Optionally emails the learner. LearnWorlds: POST /v2/users/{id}/enrollment.
Parametersuserrequiredpricerequireddurationproduct_idrequiredproduct_typerequiredduration_typejustificationsend_enrollment_email
learnworlds_add_user_to_group
Add a user to a user group
WRITE: add an existing user to a user group (which may enroll them in the group's products). LearnWorlds: POST /v2/user_groups/{id}/users/{uid}.
Parametersuserrequiredgroup_idrequired