canonical: https://jentic.com/apis/getlearnworlds.com/learnworlds

# Getlearnworlds LearnWorlds API

The LearnWorlds API lets AI agents run an online school on the LearnWorlds platform. Agents create and update courses, sections, and bundles, enroll and unenroll users in products, and read course and learner analytics. They also manage users, subscription plans, installments, and payments, and track each learner's progress through a course. Requests carry a bearer token together with an Lw-Client key that identifies the school.

## For AI agents

Manage courses, users, enrollments, progress, and payments on a LearnWorlds online school. Requests carry a bearer token and an Lw-Client key.

## Scope

Does not host course video or handle the learner-facing storefront UI. Use for school, course, user, and enrollment management only.

## Capabilities

- Create and update courses, sections, and bundles
- Enroll and unenroll users in courses and products
- Read course, activity, and learner analytics
- Manage users and their course enrollments
- Track, complete, and reset each learner's progress through a course
- Read subscription plans, user subscriptions, and installments
- Retrieve payments and invoice links

## Use cases

### Agent-Run Online School via Jentic

AI agents operate a LearnWorlds school through Jentic without holding either credential in context. An agent searches by intent, receives the matching operation schema, and creates courses, enrolls users, or reads analytics end to end. Jentic injects the bearer token and Lw-Client key at execution time, so the agent never sees the secrets while it runs the school.

Example prompt: Search Jentic for 'enroll a LearnWorlds user', load the POST `/v2/users/{id}/enrollment` schema, and enroll the user with Jentic-managed credentials

### Automated Enrollment Management

An agent handles enrollments as learners sign up: it creates the user, enrolls them in the right course or bundle, and later unenrolls them when access ends. Because LearnWorlds exposes explicit user and enrollment operations, the agent can keep access in sync with an external system of record without manual admin work.

Example prompt: Call POST `/v2/users` to create the learner, then POST `/v2/users/{id}/enrollment` to enroll them in a product

### Learner Progress Tracking

An agent monitors how learners move through a course by reading their progress and course analytics, then flags stalled learners or marks activities complete. LearnWorlds exposes per-user progress and per-course analytics, so the agent can report on outcomes and nudge learners without a human pulling reports.

Example prompt: Call GET `/v2/users/{id}/courses` to list a learner's enrollments and read their progress per course

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/v2/courses` | Get all courses |
| POST | `/v2/courses` | Create a course |
| GET | `/v2/users` | Get all users |
| POST | `/v2/users/{id}/enrollment` | Enroll a user in a product |
| GET | `/v2/users/{id}/courses` | Get a user's course enrollments |
| GET | `/v2/payments` | Get payments |

## Key resources

- **Courses** — Create, update, and read courses, sections, bundles, and their analytics
- **Users** — Create and update users and manage their enrollments and progress
- **Payments** — Read payments, invoice links, subscription plans, and installments

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 57 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 48 / 100
  - Developer Experience & Jentic Compatibility: 54 / 100
  - AI-Readiness & Agent Experience: 48 / 100
  - Agent Usability: 86 / 100
  - Security: 55 / 100
  - AI Discoverability: 78 / 100
- **View full report:** https://jentic.com/apis/getlearnworlds.com/learnworlds/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the LearnWorlds API by hand means managing both a bearer token and the Lw-Client key, pointing calls at your school subdomain, and sequencing user, course, and enrollment operations yourself. Through Jentic you install once, import the LearnWorlds API from the API Directory, store both credentials, and your agent calls it.
- **Permission scoping:** The LearnWorlds API puts course and user ids in the URL path, so a rule can pin your agent to one course or user and the operations you choose. You decide which operations it may call, so enrollment changes or course edits stay out unless you grant them.
- **Credential handling:** Your LearnWorlds bearer token and Lw-Client key are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'enroll a user' or 'get course analytics', and Jentic returns the matching LearnWorlds operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Moodle** — Alternative open-source learning management system
- **LearnUpon** — Alternative LMS for corporate and partner training
- **Schoology** — Alternative learning platform for K-12 and higher education

## FAQ

### What authentication does the LearnWorlds API use?

The LearnWorlds API requires two credentials together: a bearer token in the Authorization header and an Lw-Client API key that identifies your school, per its OpenAPI spec. Through Jentic, both are stored encrypted by your own Jentic One instance and injected at call time, so they never enter the agent's prompt or logs.

### Can I enroll a user in a course with the LearnWorlds API?

Yes. Create the user with POST `/v2/users`, enroll them in a product with POST `/v2/users/{id}/enrollment`, and list their enrollments with GET `/v2/users/{id}/courses.`

### What are the rate limits for the LearnWorlds API?

The OpenAPI spec does not specify rate limits; check the LearnWorlds documentation for current limits. Through Jentic, requests run from your own instance, so you control the pacing of the agent's calls.

### How do I enroll a user with the LearnWorlds API through Jentic?

Search Jentic for 'enroll a LearnWorlds user', load the returned POST `/v2/users/{id}/enrollment` operation with its input schema, and your agent enrolls the user with credentials injected at call time. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Is there a LearnWorlds MCP server?

You don't need an MCP server to give your agent the LearnWorlds API. Jentic connects it directly from the API Directory: import it, store your credentials, and your agent calls it, discovering operations on demand instead of loading a separate server's tool definitions into its context.

### Can I limit what my agent is allowed to do with the LearnWorlds API?

Yes. The LearnWorlds API puts course and user ids in the URL path, so a rule can scope your agent to one course or one user and the operations you pick, such as reading analytics without editing content. You choose which operations it may call, so enrollment changes or course edits stay out unless you add them.
