Moodle
example
Moodle is an open-source learning management system used worldwide by universities, schools, and training organizations. Its Web Services API allows external applications to manage courses, users, grades, assignments, enrolments, messages, and calendar events programmatically via REST.
Enable this service
This service is in the catalog but not part of v1 launch billing. To use it, run the command below and provide your own API key in the local config page — the gateway will call it under your account.
api_key
free
1.0
https://example
May 4, 2026
Health
This is a community-maintained manifest. Health monitoring is not available because this service doesn't host its own /.well-known/agent endpoint yet. Learn more about trust levels →
Top Capabilities
Most commonly used operations — ready to call without drill-down.
assignments_list
POSTRetrieve all assignments for one or more courses.
POST https://example/webservice/rest/server.php?wsfunction=mod_assign_get_assignments
wstoken (string, required) — Web service authentication token
courseids[0] (integer, required) — Course ID to get assignments for
calendar_events_list
POSTRetrieve calendar events optionally filtered by course.
POST https://example/webservice/rest/server.php?wsfunction=core_calendar_get_calendar_events
wstoken (string, required) — Web service authentication token
events[courseids][0] (integer) — Course ID filter
options[timestart] (integer) — Start time as Unix timestamp
options[timeend] (integer) — End time as Unix timestamp
categories_list
POSTRetrieve course categories matching given criteria.
POST https://example/webservice/rest/server.php?wsfunction=core_course_get_categories
wstoken (string, required) — Web service authentication token
criteria[0][key] (string) — Filter key (id, name, parent, visible)
criteria[0][value] (string) — Filter value
All Capabilities (27)
assignments (2)
Retrieve all submissions for a specific assignment.
Retrieve all assignments for one or more courses.
calendar (2)
Create one or more calendar events.
Retrieve calendar events optionally filtered by course.
categories (2)
Create one or more course categories.
Retrieve course categories matching given criteria.
courses (6)
Create one or more new courses in Moodle.
Delete one or more courses from the Moodle site.
Retrieve courses matching a specific field value.
Retrieve the full content structure of a course including sections and activities.
Retrieve all courses available on the Moodle site.
Update one or more existing courses.
enrolments (4)
Enrol users into a course with a specified role.
Get all users enrolled in a specific course.
Get all courses a specific user is enrolled in.
Unenrol users from a course.
files (1)
Upload a file to the Moodle draft area.
grades (2)
Retrieve grade items and final grades for users in a course.
Update grade values for users in a course.
messages (2)
Retrieve messages for a conversation between users.
Send instant messages to one or more users.
site (1)
Retrieve information about the Moodle site including version and capabilities.
users (5)
Create one or more new users in the Moodle database.
Delete one or more users from the Moodle database.
Retrieve user profiles by field criteria such as ID, username, or email.
Search for users matching specific criteria with filtering.
Update one or more existing user profiles.
Agent Preview
This is what an AI agent sees when it discovers this service via the Gateway:
Service: Moodle
Description: Moodle is an open-source learning management system used worldwide by universities, schools, and training organizations. Its Web Services API allows external applications to manage courses, users, grades, assignments, enrolments, messages, and calendar events programmatically via REST.
Auth: api_key
Capabilities (27 total):
assignments (2):
- assignments_get_submissions: Retrieve all submissions for a specific assignment.
- assignments_list: Retrieve all assignments for one or more courses.
calendar (2):
- calendar_events_create: Create one or more calendar events.
- calendar_events_list: Retrieve calendar events optionally filtered by course.
categories (2):
- categories_create: Create one or more course categories.
- categories_list: Retrieve course categories matching given criteria.
courses (6):
- courses_create: Create one or more new courses in Moodle.
- courses_delete: Delete one or more courses from the Moodle site.
- courses_get_by_field: Retrieve courses matching a specific field value.
- courses_get_contents: Retrieve the full content structure of a course including sections and activities.
- courses_list: Retrieve all courses available on the Moodle site.
- courses_update: Update one or more existing courses.
enrolments (4):
- enrolments_enrol: Enrol users into a course with a specified role.
- enrolments_get_enrolled_users: Get all users enrolled in a specific course.
- enrolments_get_users_courses: Get all courses a specific user is enrolled in.
- enrolments_unenrol: Unenrol users from a course.
files (1):
- files_upload: Upload a file to the Moodle draft area.
grades (2):
- grades_get: Retrieve grade items and final grades for users in a course.
- grades_update: Update grade values for users in a course.
messages (2):
- messages_get: Retrieve messages for a conversation between users.
- messages_send: Send instant messages to one or more users.
site (1):
- site_info_get: Retrieve information about the Moodle site including version and capabilities.
users (5):
- users_create: Create one or more new users in the Moodle database.
- users_delete: Delete one or more users from the Moodle database.
- users_get: Retrieve user profiles by field criteria such as ID, username, or email.
- users_search: Search for users matching specific criteria with filtering.
- users_update: Update one or more existing user profiles.
Top capabilities (ready to call):
- assignments_list: POST /webservice/rest/server.php?wsfunction=mod_assign_get_assignments
- calendar_events_list: POST /webservice/rest/server.php?wsfunction=core_calendar_get_calendar_events
- categories_list: POST /webservice/rest/server.php?wsfunction=core_course_get_categories