Moodle has a number of core APIs that provide tools for Moodle scripts.
APIs used by all Moodle scripts
Access control API - "access"
Database access API - "database"
File management API - "file"
Page construction API - "page"
Page rendering API - "renderer"
Language strings API - "string"
Other APIs
Activity completion API - "activity_completion"
Backup API - "backup"
Conditional activities API - "conditional"
Events API - "event"
External functions API - "external"
Groups API - "group"
Gradebook API - "grade"
Message API - "message"
Portfolio API - "portfolio"
Restore API - "restore"
Role API - "role"
Tags API - "tag"
Time API - "time"