sickn33 avatar

Moodle External Api Development

If you're building custom web services for Moodle LMS, this walks you through the external API framework's required three-method pattern: defining input parameters, implementing business logic with proper validation and capability checks, and specifying return structures. It covers the full implementation cycle from creating the class file in your plugin's namespace to registering services in db/services.php. The guidance on parameter validation, context checking, and capability requirements is solid, though the error handling section cuts off mid-example. Most helpful for plugin developers who need to expose Moodle functionality to mobile apps or external systems and want to follow Moodle's coding standards correctly from the start.

skills.sh installs
526
GitHub stars
43.1K
last updated
Jul 14, 2026

Install

$ npx -y skills add sickn33/antigravity-awesome-skills --skill moodle-external-api-development --agent claude-code

Installs into .claude/skills of the current project.

Files

Moodle External API Development

This skill guides you through creating custom external web service APIs for Moodle LMS, following Moodle's external API framework and coding standards.

Detailed Guide

Read the detailed guide before executing this skill. It retains the complete procedure and reference material. Treat its safety, prerequisites, and validation requirements as mandatory. For focused work, load the relevant sections; for end-to-end work, read the guide completely.

When to Use This Skill

  • Creating custom web services for Moodle plugins
  • Implementing REST/AJAX endpoints for course management
  • Building APIs for quiz operations, user tracking, or reporting
  • Exposing Moodle functionality to external applications
  • Developing mobile app backends using Moodle

Illustrative Implementation Fragments

Simple Read API (Get Quiz Attempts)

<?php
namespace local_userlog\external;

defined('MOODLE_INTERNAL') || die();
require_once("$CFG->libdir/externallib.php");

use external_api;
use external_function_parameters;
use external_single_structure;
use external_value;

Sponsors

Details

Repository
github.com/sickn33/antigravity-awesome-skills
Category
Backend & APIs
First seen
Jun 3, 2026

More from sickn33/antigravity-awesome-skills

All 708
1bobmatnyc avatargolang-grpcbobmatnyc/claude-mpm-skillsProduction gRPC in Go: protobuf layout, codegen, interceptors, deadlines, error codes, streaming, health checks, TLS, and testing with bufconn518skills.sh installs
2yoanbernabeu avatarsupabase-reportyoanbernabeu/supabase-pentest-skillsGenerate a comprehensive Markdown security audit report with executive summary, findings, and remediation guidance.516skills.sh installs
3firebase avatarfirebase-firestorefirebase/skillsfirebase firestore506skills.sh installs
4yoanbernabeu avatarsupabase-audit-buckets-listyoanbernabeu/supabase-pentest-skillsList all storage buckets and their configuration to identify the storage attack surface.498skills.sh installs
5aj-geddes avatarapi-paginationaj-geddes/useful-ai-promptsImplement efficient pagination strategies for large datasets using offset/limit, cursor-based, and keyset pagination. Use when returning collections, managing l495skills.sh installs
6aj-geddes avatarnosql-database-designaj-geddes/useful-ai-promptsDesign NoSQL database schemas for MongoDB and DynamoDB. Use when modeling document structures, designing collections, or planning NoSQL data architectures.492skills.sh installs