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.
URL: Visit APIs.yml URL
- Type: Index
- Position: Consuming
- Access: 3rd-Party
- E-Learning, EdTech, LMS, Moodle, Open Source, Web Services
- Created: 2025-01-08
- Modified: 2026-04-28
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, XML-RPC, and SOAP protocols with token-based authentication.
Human URL: https://moodledev.io/docs/apis/subsystems/external/
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.
Human URL: https://moodledev.io/docs/apis/subsystems/external/functions
Provides functions to determine what the current user is allowed to do, checking roles, capabilities, and permissions across system, course, and activity contexts.
Human URL: https://moodledev.io/docs/apis/subsystems/access
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.
Human URL: https://moodledev.io/docs/apis/subsystems/access/roles
Enables safe, consistent database read and write operations across Moodle, abstracting the underlying database driver and providing helpers for common query patterns.
Human URL: https://moodledev.io/docs/apis/core/dml
Manages file storage across plugins, providing a unified interface for uploading, retrieving, and serving files associated with users, courses, and activities.
Human URL: https://moodledev.io/docs/apis/subsystems/files
Defines and processes user data submitted through web forms, including validation, rendering, and persistence.
Human URL: https://moodledev.io/docs/apis/subsystems/form
Defines event handlers for inter-plugin communication and logging, enabling decoupled, observer-style integrations across Moodle.
Human URL: https://moodledev.io/docs/apis/core/event
Enables indirect communication between core and plugins through well-defined extension points, allowing plugins to react to and modify core behavior.
Human URL: https://moodledev.io/docs/apis/core/hooks
Describes stored personal data and supports discovery, export, and deletion of user data across plugins for GDPR and similar privacy compliance.
Human URL: https://moodledev.io/docs/apis/subsystems/privacy
Executes background jobs on a schedule or as one-off operations, allowing plugins to defer long-running work to cron processing.
Human URL: https://moodledev.io/docs/apis/subsystems/task
Manages payment processing in Moodle, providing pluggable payment gateways for paid enrollments and other monetized features.
Human URL: https://moodledev.io/docs/apis/subsystems/payment
FN: Kin Lane
Email: kin@apievangelist.com