Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Web service API functions

From MoodleDocs

Moodle 2.0


Official Roadmap

Color meaning
Implemented
Must be implemented
Suggested
Web service functions
Name Moodle Ver. Description Issue
user
moodle_user_create_users() 2.0 Create users - admin function
moodle_user_delete_users() 2.0 Delete users - admin function
moodle_user_update_users() 2.0 Update users
moodle_user_get_users_by_id() 2.0 Get users by id
moodle_user_get_course_participants_by_id() 2.0 Get course user profiles by id
moodle_user_get_users_by_courseid() 2.0 Get enrolled users by course id
moodle_user_get_users() 2.2 Get users from a specifed key/value
get_completed_users_per_course() 2.2 Get users who completed the course
get_completed_courses_per_user() 2.2 Get courses that a user completed
Course
moodle_course_get_courses() 2.0 Return course details
moodle_course_create_courses() 2.0 Create new courses
moodle_course_update_courses() 2.2 including moving categories
moodle_course_delete_courses() 2.2
moodle_course_get_course_contents() 2.2 including sections, activities etc
moodle_course_get_recent_activity() 2.2 also works for site course
Group
moodle_group_create_groups() 2.0 Creates new groups
moodle_group_get_groups() 2.0 Returns group details.
moodle_group_get_course_groups() 2.0 Returns all groups in specified course
moodle_group_delete_groups() 2.0 Deletes all specified groups
moodle_group_get_groupmembers() 2.0 Returns group members
moodle_group_add_groupmembers() 2.0 Adds group members
moodle_group_delete_groupmembers() 2.0 Deletes group members
Role
moodle_role_assign() 2.0 Manual role assignments
moodle_role_unassign() 2.0 Manual role unassignments
Enrol
moodle_enrol_manual_enrol_users() 2.0 Manual enrol users
moodle_enrol_manual_unenrol_users() 2.2 Manual unenrol users
moodle_enrol_ manual_update_enrolment() 2.2

Brainstorming

user:

   create_users()
   delete_users()
   update_users()
   get_users_by_id() - returns a list of full user objects specified by user ids (only useful for site admin accounts)
   get_course_participants_by_id() - returns a list of full user objects in specific courses (that you can see)
   get_users_by_courseid() - returns some subset of full user objects from a course (perhaps by group or capability) 
   * get_completed_users_per_course()  ?
   * get_completed_courses_per_user()  ?
   * get_users (allows admin to search by various keys)
   

course:

   get_courses()
   create_courses() 
   * update_courses()  - including moving categories
   * delete_courses()
   * get_course_contents()  - including sections, activities etc 
   * get_recent_activity()  - also works for site course

group:

   create_groups()
   get_groups()
   get_course_groups()
   delete_groups()
   get_groupmembers()
   add_groupmembers()
   delete_groupmembers() 

roles:

   role_assign()
   role_unassign() 

enrol:

   get_enrolled_users() - get some minimal information about the users enrolled in a course (DEPRECATED)
   get_users_courses() - get list of course ids that a user is enrolled in (if you are allowed to see that)


enrol/manual:

   manual_enrol_users() 
   
   * manual_unenrol_users()
   * manual_update_enrolment()

enrol/cohort

   * cohort_enrol_cohort()
   * cohort_unenrol_cohort()

enrol/self

   * self_enrol_users()
   * self_unenrol_users()

webservice:

   get_siteinfo_parameters() 

message:

   send_instantmessages() 
   * get_instantmessages() - params for unread etc
   * create_contacts()
   * delete_contacts()

notes:

   create_notes()
   * delete_notes()
   

events:

   * create_event() - triggers an event

calendar:

   * create_events()
   * update_events()
   * delete_events()

private files:

   get_files()
   upload()  - DEPRECATED
   * create_files() - can also do folders via a flag
   * update_files()
   * delete_files()


categories:

   * create_categories()
   * delete_categories()
   * update_categories()
   * get_categories()
  

grades:

   * get_grades()  - for user, course, activity etc 
   * get_scales()  
   * get_outcomes()
   * update_grades()  - including feedback
   * create_grades()

ratings:

   * get_ratings()
   * create_ratings()
   * update_ratings()
   * delete_ratings()

comments:

   * get_comments()
   * create_comments()
   * update_comments()
   * delete_comments()

forum:

   * get_forums()
   * create_forums()
   * update_forums()
   * delete_forums()
   * get_discussions()
   * create_discussions()
   * update_discussions()
   * delete_discussions()
   * get_posts()
   * create_posts()
   * update_posts()
   * delete_posts()