AI Agents and the Abilities API
Learnomy registers every major LMS action with the WordPress Abilities API, so AI assistants and automation agents like ChatGPT and Claude can discover your academy's capabilities and operate it safely, with the same permission checks a human user goes through.
Overview
Most LMS plugins expose data through a REST API and stop there. An AI agent still has to be told, by hand, which endpoint does what, what arguments it takes, and what it returns. Learnomy goes one step further: it publishes its actions as abilities, the WordPress standard for machine-discoverable capabilities.
Each ability ships with a typed input schema, a typed output schema, and a permission check. An agent can read the catalog, understand exactly how to call an action, and get a predictable response. Nothing is hard-coded against your site.
Abilities are available at the standard WordPress Abilities API namespace:
https://yoursite.com/wp-json/wp-abilities/v1/
This is a free feature. It is always on while the plugin is active, with no separate setup.
What an agent can do
Learnomy registers 54 abilities across 8 categories. Together they cover the full lifecycle of a course business, from authoring to enrollment to payouts and reporting.
Course Management
| Ability | What it does |
|---|---|
learnomy/create-course |
Create a course |
learnomy/get-course |
Read a course |
learnomy/update-course |
Update a course |
learnomy/delete-course |
Delete a course |
learnomy/publish-course |
Publish a course |
learnomy/duplicate-course |
Duplicate a course |
learnomy/list-courses |
List courses |
learnomy/get-course-stats |
Read course statistics |
Learning and Progress
| Ability | What it does |
|---|---|
learnomy/enroll |
Enroll a student in a course |
learnomy/unenroll |
Remove a student from a course |
learnomy/access-lesson |
Open a lesson |
learnomy/complete-lesson |
Mark a lesson complete |
learnomy/get-progress |
Read course progress |
learnomy/restart-course |
Reset progress and restart |
learnomy/get-enrollment |
Read a single enrollment |
learnomy/list-enrollments |
List enrollments |
Quizzes and Assessments
| Ability | What it does |
|---|---|
learnomy/create-quiz |
Create a quiz |
learnomy/start-quiz |
Start a quiz attempt |
learnomy/submit-quiz |
Submit a quiz attempt |
learnomy/grade-question |
Grade a question response |
learnomy/get-quiz-results |
Read quiz results |
Revenue and Memberships
| Ability | What it does |
|---|---|
learnomy/subscribe |
Subscribe to a membership plan |
learnomy/cancel-subscription |
Cancel a membership subscription |
learnomy/list-membership-plans |
List membership plans |
learnomy/validate-coupon |
Validate a coupon |
learnomy/get-earnings |
Read instructor earnings |
learnomy/request-withdrawal |
Request an earnings withdrawal |
Administration
| Ability | What it does |
|---|---|
learnomy/approve-instructor |
Approve an instructor application |
learnomy/reject-instructor |
Reject an instructor application |
learnomy/approve-course |
Approve a submitted course |
learnomy/reject-course |
Reject a submitted course |
learnomy/manage-plans |
Manage membership plans |
learnomy/manage-settings |
Manage plugin settings |
Course Search
| Ability | What it does |
|---|---|
learnomy/search-courses |
Search the course catalog |
Authoring
| Ability | What it does |
|---|---|
learnomy/create-section |
Create a section |
learnomy/update-section |
Update a section |
learnomy/reorder-curriculum |
Reorder curriculum |
learnomy/create-lesson |
Create a lesson |
learnomy/update-lesson |
Update a lesson |
learnomy/delete-lesson |
Delete a lesson |
learnomy/create-topic |
Create a topic |
learnomy/create-question |
Create a question |
learnomy/update-question |
Update a question |
learnomy/add-question-to-quiz |
Add a question to a quiz |
learnomy/update-quiz |
Update a quiz |
learnomy/create-course-category |
Create a course category |
learnomy/create-question-category |
Create a question category |
learnomy/upload-media |
Set a course image |
learnomy/create-certificate-template |
Create a certificate template |
Reporting
| Ability | What it does |
|---|---|
learnomy/get-analytics |
Read analytics |
learnomy/get-quiz-analytics |
Read quiz analytics |
learnomy/list-students |
List students |
learnomy/get-at-risk-students |
List at-risk students |
learnomy/get-instructor-report |
Read an instructor report |
How discovery works
Every ability is registered with three things that make it safe for an agent to use:
- Input schema. The arguments the action accepts, with types. An agent knows what to send without guessing.
- Output schema. The shape of the response. An agent knows what it will get back.
- REST exposure. Each ability sets
show_in_rest, so it appears in the Abilities API catalog and can be called over HTTP.
An agent reads the catalog once, then calls actions by name with structured arguments. There is no scraping and no brittle endpoint mapping.
Permissions and safety
Abilities do not bypass your access rules. Every ability has its own permission check, evaluated through Learnomy's Permission_Engine before the action runs:
- Public reads, such as
learnomy/get-courseon a published course, are allowed without authentication. - Authoring and management actions check the calling user's capability for the specific object. Updating a course requires
manage_courseon that course; publishing requirespublish_course. - Administration actions, such as approving an instructor or changing settings, require the matching admin capability.
If the caller lacks permission, the ability is refused, exactly as the same action would be refused in the browser. An AI agent acts as a WordPress user and inherits that user's limits.