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

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
Group
moodle_group_create_groups() 2.0 Create groups
moodle_group_create_groups() 2.0 Create groups
moodle_group_create_groups() 2.0 Create groups
moodle_group_create_groups() 2.0 Create groups
moodle_group_create_groups() 2.0 Create groups
moodle_group_create_groups() 2.0 Create groups
moodle_group_create_groups() 2.0 Create groups

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()