Moodle

example

Community

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.

[catalog]Catalog only — enable via gateway with your own API key

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.

Auth

api_key

Pricing

free

Spec version

1.0

Base URL

https://example

Last crawled

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

POST

Retrieve 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

POST

Retrieve 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

POST

Retrieve 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)

POSTassignments_get_submissions

Retrieve all submissions for a specific assignment.

POSTassignments_list

Retrieve all assignments for one or more courses.

calendar (2)

POSTcalendar_events_create

Create one or more calendar events.

POSTcalendar_events_list

Retrieve calendar events optionally filtered by course.

categories (2)

POSTcategories_create

Create one or more course categories.

POSTcategories_list

Retrieve course categories matching given criteria.

courses (6)

POSTcourses_create

Create one or more new courses in Moodle.

POSTcourses_delete

Delete one or more courses from the Moodle site.

POSTcourses_get_by_field

Retrieve courses matching a specific field value.

POSTcourses_get_contents

Retrieve the full content structure of a course including sections and activities.

POSTcourses_list

Retrieve all courses available on the Moodle site.

POSTcourses_update

Update one or more existing courses.

enrolments (4)

POSTenrolments_enrol

Enrol users into a course with a specified role.

POSTenrolments_get_enrolled_users

Get all users enrolled in a specific course.

POSTenrolments_get_users_courses

Get all courses a specific user is enrolled in.

POSTenrolments_unenrol

Unenrol users from a course.

files (1)

POSTfiles_upload

Upload a file to the Moodle draft area.

grades (2)

POSTgrades_get

Retrieve grade items and final grades for users in a course.

POSTgrades_update

Update grade values for users in a course.

messages (2)

POSTmessages_get

Retrieve messages for a conversation between users.

POSTmessages_send

Send instant messages to one or more users.

site (1)

POSTsite_info_get

Retrieve information about the Moodle site including version and capabilities.

users (5)

POSTusers_create

Create one or more new users in the Moodle database.

POSTusers_delete

Delete one or more users from the Moodle database.

POSTusers_get

Retrieve user profiles by field criteria such as ID, username, or email.

POSTusers_search

Search for users matching specific criteria with filtering.

POSTusers_update

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