Moodle
Moodle is the world's open source learning platform, used by educators and organizations to deliver online courses and learning experiences. The Moodle developer platform exposes a broad set of internal APIs for plugin and core development, plus a Web Services API that enables external systems to integrate with Moodle for users, courses, enrollments, grading, and more.
APIs
Moodle Web Services API
Exposes Moodle functionality as web services so external programs can integrate with a Moodle site for users, courses, enrollments, grading, and other operations. Supports REST,...
Moodle External Functions API
Allows developers to expose parametrized functions to external systems, forming the basis of Moodle's web services and powering integrations consumed via REST, SOAP, and XML-RPC.
Moodle Access API
Provides functions to determine what the current user is allowed to do, checking roles, capabilities, and permissions across system, course, and activity contexts.
Moodle Roles API
An extension of the Access API that defines the set of actions a user is allowed to perform on certain system levels through assignable roles and capabilities.
Moodle Data Manipulation API (DML)
Enables safe, consistent database read and write operations across Moodle, abstracting the underlying database driver and providing helpers for common query patterns.
Moodle File API
Manages file storage across plugins, providing a unified interface for uploading, retrieving, and serving files associated with users, courses, and activities.
Moodle Form API
Defines and processes user data submitted through web forms, including validation, rendering, and persistence.
Moodle Events API
Defines event handlers for inter-plugin communication and logging, enabling decoupled, observer-style integrations across Moodle.
Moodle Hooks API
Enables indirect communication between core and plugins through well-defined extension points, allowing plugins to react to and modify core behavior.
Moodle Privacy API
Describes stored personal data and supports discovery, export, and deletion of user data across plugins for GDPR and similar privacy compliance.
Moodle Task API
Executes background jobs on a schedule or as one-off operations, allowing plugins to defer long-running work to cron processing.
Moodle Payment API
Manages payment processing in Moodle, providing pluggable payment gateways for paid enrollments and other monetized features.