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: Difference between revisions

From MoodleDocs
Line 1,050: Line 1,050:
|}
|}
This is the list of the integrated core functions. To see the roadmap, see to the tracker issue in the section bellow.
This is the list of the integrated core functions. To see the roadmap, see to the tracker issue in the section bellow.
New Web Services entries are automatically generated for each new major version via this script: https://github.com/moodlehq/moodlemobile-scripts/blob/master/ws-documenter.php


=== API Roadmap===
=== API Roadmap===

Revision as of 15:15, 17 May 2016

Moodle 2.0


Color meaning
Implemented
Must be implemented
Suggested


Web service protocols

Name Moodle Ver. Description CORS Issue
AMF 2.0 Adobe protocol to communicate with Flash/Flex apps Not supported
REST (returning XML) 2.0 XML data accessed through a REST API (not restful) Supported (3.0 and onwards)
REST (returning JSON) 2.2 JSON data accessed through a REST API (not restful) Supported (3.0 and onwards) MDL-29242
REST (returning JSONP) 2.X Would be very useful for client-side JavaScript Not supported MDL-29913
JSON 2.X JSON server receives a JSON encoded params and return JSON encoded values. Not supported MDL-21341
SOAP 2.0 Very important for interoperating with Java and .Net applications. There was a partial implementation JAVA/.Net in Moodle 2.0, but it does not work for anything but the most trivial functions. It is fully working with PHP clients. Not supported MDL-20804, MDL-28988, MDL-28989
XMLRPC 2.0 XML remote-procedure call. Not supported

Web service functions

Naming convention

We updated (regularised) the naming convention in Moodle 2.2. See MDL-29106 for those details.

All functions should be named as follows:

  • wsfunction = fullcomponent_methodname
  • fullcomponent = frankenstyle (eg core_xxxx or mod_xxx etc)
  • methodname = verb_noun(s)
  • verb = get|create|delete|update
  • noun = moodle objects, usually plural (eg posts, discussions, users, courses etc)

Core web service functions

Area Moodle 2.2 name Moodle 2.0/2.1 name Introduced in Description Issue
core core_fetch_notifications 3.1 Return a list of notifications for the current session
core core_get_component_strings() 2.4 Return all raw strings (with {$a->xxx}) for a specific component - similar to core get_component_strings() call MDL-35997
core core_get_fragment 3.1 Return a fragment for inclusion, such as a JavaScript page.
core core_get_string() 2.4 Return a translated string - similar to core get_string() call MDL-35997
core core_get_strings() 2.4 Return some translated strings - like several core get_string() calls MDL-35997
core core_update_inplace_editable 3.1 Generic service to update title
core_badges core_badges_get_user_badges 3.1 Returns the list of badges awarded to a user.
core_calendar core_calendar_create_calendar_events() 2.5 Create calendar events MDL-37101
core_calendar core_calendar_delete_calendar_events() 2.5 Delete calendar events MDL-37077
core_calendar core_calendar_get_calendar_events() 2.5 Get calendar events MDL-37100
core_cohort core_cohort_add_cohort_members() 2.4 Add members to cohort MDL-29472
core_cohort core_cohort_create_cohorts() 2.4 Create cohorts MDL-29472
core_cohort core_cohort_delete_cohort_members() 2.4 Delete members from cohort MDL-29472
core_cohort core_cohort_delete_cohorts() 2.4 Delete cohorts MDL-29472
core_cohort core_cohort_get_cohort_members() 2.4 Get cohort members MDL-29472
core_cohort core_cohort_get_cohorts() 2.4 Get cohorts MDL-29472
core_cohort core_cohort_update_cohorts() 2.4 Update cohorts MDL-29472
core_comment core_comment_get_comments() 2.9 Return all the comments for an specific component, context. MDL-49203
core_competency core_competency_add_competency_to_course 3.1 Add competency to a course MDL-49458
core_competency core_competency_add_competency_to_plan 3.1 Add a competency to a learning plan MDL-49458
core_competency core_competency_add_competency_to_template 3.1 Add competency to a template MDL-49458
core_competency core_competency_add_related_competency 3.1 Create a relationship between competencies MDL-49458
core_competency core_competency_approve_plan 3.1 Approve a learning plan MDL-49458
core_competency core_competency_competency_framework_viewed 3.1 Notify a competency framework as being viewed MDL-49458
core_competency core_competency_competency_viewed 3.1 Report a competency as being viewed MDL-49458
core_competency core_competency_complete_plan 3.1 Complete a learning plan MDL-49458
core_competency core_competency_count_competencies 3.1 Count the competencies MDL-49458
core_competency core_competency_count_competencies_in_course 3.1 Count competencies in a course MDL-49458
core_competency core_competency_count_competencies_in_template 3.1 Count the competencies in a template MDL-49458
core_competency core_competency_count_competency_frameworks 3.1 Count the competency frameworks MDL-49458
core_competency core_competency_count_courses_using_competency 3.1 Count courses using a competency MDL-49458
core_competency core_competency_count_templates 3.1 Count templates MDL-49458
core_competency core_competency_count_templates_using_competency 3.1 Count templates using a competency MDL-49458
core_competency core_competency_create_competency 3.1 Create a competency MDL-49458
core_competency core_competency_create_competency_framework 3.1 Create a competency framework MDL-49458
core_competency core_competency_create_plan 3.1 Create a learning plan MDL-49458
core_competency core_competency_create_template 3.1 Create a template MDL-49458
core_competency core_competency_create_user_evidence_competency 3.1 Link an evidence of prior learning with a user's competency MDL-49458
core_competency core_competency_delete_competency 3.1 Delete a competency MDL-49458
core_competency core_competency_delete_competency_framework 3.1 Delete a competency framework MDL-49458
core_competency core_competency_delete_evidence 3.1 Delete an evidence MDL-49458
core_competency core_competency_delete_plan 3.1 Delete a learning plan MDL-49458
core_competency core_competency_delete_template 3.1 Delete a template MDL-49458
core_competency core_competency_delete_user_evidence 3.1 Delete an evidence of prior learning MDL-49458
core_competency core_competency_delete_user_evidence_competency 3.1 Remove a link between an evidence of prior learning and a user's competency MDL-49458
core_competency core_competency_duplicate_competency_framework 3.1 Duplicate a competency framework MDL-49458
core_competency core_competency_duplicate_template 3.1 Duplicate a template MDL-49458
core_competency core_competency_get_scale_values 3.1 Get the values for a scale MDL-49458
core_competency core_competency_grade_competency 3.1 Rate a user's competency MDL-49458
core_competency core_competency_grade_competency_in_course 3.1 Rate a user's competency in a course MDL-49458
core_competency core_competency_grade_competency_in_plan 3.1 Rate a user's competency in a learning plan MDL-49458
core_competency core_competency_list_competencies 3.1 List competencies MDL-49458
core_competency core_competency_list_competencies_in_template 3.1 List the competencies of a template MDL-49458
core_competency core_competency_list_competency_frameworks 3.1 List the competency frameworks MDL-49458
core_competency core_competency_list_course_competencies 3.1 List the competencies in a course MDL-49458
core_competency core_competency_list_plan_competencies 3.1 List a learning plan's competencies MDL-49458
core_competency core_competency_list_templates 3.1 List templates MDL-49458
core_competency core_competency_list_templates_using_competency 3.1 List templates using a competency MDL-49458
core_competency core_competency_list_user_plans 3.1 List a user's learning plans MDL-49458
core_competency core_competency_move_down_competency 3.1 Move a competency down in its branch MDL-49458
core_competency core_competency_move_up_competency 3.1 Move a competency up in its branch MDL-49458
core_competency core_competency_plan_cancel_review_request 3.1 Cancel the review request of a learning plan MDL-49458
core_competency core_competency_plan_request_review 3.1 Request the review of a learning plan MDL-49458
core_competency core_competency_plan_start_review 3.1 Start the review of a learning plan MDL-49458
core_competency core_competency_plan_stop_review 3.1 Stop the review of a learning plan MDL-49458
core_competency core_competency_read_competency 3.1 Fetch a competency MDL-49458
core_competency core_competency_read_competency_framework 3.1 Fetch a competency framework MDL-49458
core_competency core_competency_read_plan 3.1 Fetch a learning plan MDL-49458
core_competency core_competency_read_template 3.1 Fetch a template MDL-49458
core_competency core_competency_read_user_evidence 3.1 Fetch an evidence of prior learning MDL-49458
core_competency core_competency_remove_competency_from_course 3.1 Remove competency from a course MDL-49458
core_competency core_competency_remove_competency_from_plan 3.1 Remove a competency from a learning plan MDL-49458
core_competency core_competency_remove_competency_from_template 3.1 Remove competency from template MDL-49458
core_competency core_competency_remove_related_competency 3.1 Remove a relationship between competencies MDL-49458
core_competency core_competency_reopen_plan 3.1 Reopen a learning plan MDL-49458
core_competency core_competency_reorder_course_competency 3.1 Reorder competencies in a course MDL-49458
core_competency core_competency_reorder_plan_competency 3.1 Reopen a competency in a learning plan MDL-49458
core_competency core_competency_reorder_template_competency 3.1 Reorder competencies in a template MDL-49458
core_competency core_competency_request_review_of_user_evidence_linked_competencies 3.1 Request the review of the user's competencies linked to an evidence of prior learning MDL-49458
core_competency core_competency_search_competencies 3.1 Search for competencies MDL-49458
core_competency core_competency_set_course_competency_ruleoutcome 3.1 Set the rule of course competencies MDL-49458
core_competency core_competency_set_parent_competency 3.1 Relocate a competency to another parent MDL-49458
core_competency core_competency_template_has_related_data 3.1 Check whether a template has related data MDL-49458
core_competency core_competency_template_viewed 3.1 Report a template as being viewed MDL-49458
core_competency core_competency_unapprove_plan 3.1 Unapprove a learning plan MDL-49458
core_competency core_competency_unlink_plan_from_template 3.1 Unlink a learning plan from a template MDL-49458
core_competency core_competency_update_competency 3.1 Update a competency MDL-49458
core_competency core_competency_update_competency_framework 3.1 Update a competency framework MDL-49458
core_competency core_competency_update_course_competency_settings 3.1 Update the course competency settings MDL-49458
core_competency core_competency_update_plan 3.1 Update a learning plan MDL-49458
core_competency core_competency_update_template 3.1 Update a template MDL-49458
core_competency core_competency_user_competency_cancel_review_request 3.1 Cancel the review request of a user's competency MDL-49458
core_competency core_competency_user_competency_plan_viewed 3.1 Report the archive of user's competency as being viewed MDL-49458
core_competency core_competency_user_competency_request_review 3.1 Request the review of a user's competency MDL-49458
core_competency core_competency_user_competency_start_review 3.1 Start the review of a user's competency MDL-49458
core_competency core_competency_user_competency_stop_review 3.1 Stop the review of a user's competency MDL-49458
core_competency core_competency_user_competency_viewed 3.1 Report a user's competency as being viewed MDL-49458
core_competency core_competency_user_competency_viewed_in_course 3.1 Report a user's competency as being viewed from a course MDL-49458
core_competency core_competency_user_competency_viewed_in_plan 3.1 Report a user's competency as being viewed from a learning plan MDL-49458
core_completion core_completion_get_activities_completion_status() 2.9 Return the activities completion status for a user in a course. MDL-49314
core_completion core_completion_get_course_completion_status() 2.9 Returns course completion status. MDL-49313
core_completion core_completion_mark_course_self_completed 3.0 Update the course completion status for the current user (if course self-completion is enabled). MDL-50930
core_completion core_completion_update_activity_completion_status_manually() 2.9 Update completion status for the current user in an activity, only for activities with manual tracking. MDL-49444
core_course core_course_create_categories() 2.3 create categories MDL-32941
core_course core_course_create_courses() moodle_course_create_courses() 2.0 Create new courses
core_course core_course_delete_categories() 2.3 delete categories MDL-32941
core_course core_course_delete_courses() 2.3 delete courses MDL-13130
core_course core_course_delete_modules() 2.5 Deletes all specified module instances MDL-30098
core_course core_course_duplicate_course() 2.3 duplicate a course MDL-32233
core_course core_course_get_categories() 2.3 get categories MDL-32941
core_course core_course_get_contents() 2.2 get course content (modules + web service file urls) MDL-28646
core_course core_course_get_course_module 3.0 Return information about a course module. MDL-51371
core_course core_course_get_course_module_by_instance 3.0 Return information about a given module name and instance id. MDL-51579
core_course core_course_get_courses() moodle_course_get_courses() 2.0 Return course details
core_course core_course_import_course() 2.4 Import course data from a course into another course. Does not include any user data. MDL-32919
core_course core_course_search_courses 3.0 Search courses by (name, module, block, tag). MDL-49942
core_course core_course_update_categories() 2.3 update categories MDL-32941
core_course core_course_update_courses() 2.5 Update courses. MDL-30062
core_course core_course_view_course() 2.9 Log that the course was viewed MDL-49453
core_enrol core_enrol_get_course_enrolment_methods 3.0 Get the list of course enrolment methods
core_enrol core_enrol_get_enrolled_users() moodle_user_get_users_by_courseid() 2.1 Get enrolled users by course id
core_enrol core_enrol_get_enrolled_users_with_capability() 2.4 For each course and capability specified, return a list of the users that are enrolled in the course and have that capability MDL-31859
core_enrol core_enrol_get_users_courses() moodle_enrol_get_users_courses() 2.0 get list of course ids that a user is enrolled in (if you are allowed to see that)
core_files core_files_get_files() moodle_file_get_files() 2.0 browse moodle files
core_files core_files_upload() moodle_file_upload() 2.0 upload a file to moodle (DEPRECATED)
core_grade core_grade_get_definitions() 2.5 Returns grading definitions for the course module ids and areaname provided as parameters. An optionall activeonly parameter can be provided so that only the active grading method is returned. Will be deprecated and replaced by core_grading_get_definitions in 2.6 MDL-31681
core_grade core_grade_get_grades() 2.7 Returns student course total grade and grades for activities. This function does not return category or manual items. This function is suitable for managers or teachers not students. MDL-30085
core_grade core_grade_update_grades() 2.7 Update a grade item and associated student grades. MDL-30085
core_grading core_grading_get_definitions() 2.6 Returns grading definitions for the course module ids and areaname provided as parameters. An optionall activeonly parameter can be provided so that only the active grading method is returned. MDL-31890
core_grading core_grading_get_gradingform_instances() 2.6 Returns the instances and fillings for the requested definition id. An optional since parameter allows the number of records returned to be reduced so that only those with a timemodified value >= since are returned MDL-31890
core_grading core_grading_save_definitions() 2.8 Accepts an array of areas as a parameter. The areas contain grading definitions with criteria for inserting and updating MDL-31861
core_group core_group_add_group_members() moodle_group_add_groupmembers() 2.0 Adds group members
core_group core_group_assign_grouping() 2.3 assign groups from groupings MDL-32662
core_group core_group_create_groupings() 2.3 create groupings MDL-32662
core_group core_group_create_groups() moodle_group_create_groups() 2.0 Creates new groups
core_group core_group_delete_group_members() moodle_group_delete_groupmembers() 2.0 Deletes group members
core_group core_group_delete_groupings() 2.3 delete groupings MDL-32662
core_group core_group_delete_groups() moodle_group_delete_groups() 2.0 Deletes all specified groups
core_group core_group_get_activity_allowed_groups 3.0 Gets a list of groups that the user is allowed to access within the specified activity. MDL-50966
core_group core_group_get_activity_groupmode 3.0 Returns effective groupmode used in a given activity. MDL-50964
core_group core_group_get_course_groupings() 2.3 get all groupings in specified course MDL-32662
core_group core_group_get_course_groups() moodle_group_get_course_groups() 2.0 Returns all groups in specified course
core_group core_group_get_course_user_groups() 2.9 Returns all groups in specified course for the specified user. MDL-48730
core_group core_group_get_group_members() moodle_group_get_groupmembers() 2.0 Returns group members
core_group core_group_get_groupings() 2.3 get groupings MDL-32662
core_group core_group_get_groups() moodle_group_get_groups() 2.0 Returns group details.
core_group core_group_unassign_grouping() 2.3 unassign groups from groupings MDL-32662
core_group core_group_update_groupings() 2.3 update groupings MDL-32662
core_message core_message_block_contacts() 2.5 Block contacts MDL-30070
core_message core_message_create_contacts() 2.5 Add contacts to the contact list MDL-30070
core_message core_message_delete_contacts() 2.5 Remove contacts from the contact list MDL-30070
core_message core_message_delete_message 3.1 Deletes a message.
core_message core_message_get_blocked_users() 2.9 Retrieve a list of users blocked MDL-48719
core_message core_message_get_contacts() 2.5 Retrieve the contact list MDL-30070
core_message core_message_get_messages() 2.8 Retrieve a list of messages sent and received by a user (conversations, notifications or both) MDL-45374
core_message core_message_mark_message_read() 2.9 Mark a single message as read, trigger message_viewed event. MDL-49501
core_message core_message_search_contacts() 2.5 Search for contacts MDL-30070
core_message core_message_send_instant_messages() moodle_message_send_instantmessages() 2.1 Send instant messages
core_message core_message_unblock_contacts() 2.5 Unblock contacts MDL-30070
core_notes core_notes_create_notes() moodle_notes_create_notes() 2.1 Create notes
core_notes core_notes_delete_notes() 2.5 Delete Notes MDL-30072
core_notes core_notes_get_course_notes() 2.9 Returns all notes in specified course (or site) for the specified user. MDL-49330
core_notes core_notes_get_notes() 2.5 Retrieve Notes MDL-30072
core_notes core_notes_update_notes() 2.5 Update Notes MDL-30072
core_notes core_notes_view_notes() 2.9 Simulates the web interface view of notes/index.php: trigger events. MDL-49504
core_output core_output_load_template 3.0 Load a template for a renderable
core_question core_question_update_flag 3.1 Update the flag state of a question attempt.
core_rating core_rating_get_item_ratings() 2.9 Retrieve all the ratings for an item. MDL-49347
core_role core_role_assign_roles() moodle_role_assign() 2.0 Manual role assignments
core_role core_role_unassign_roles() moodle_role_unassign() 2.0 Manual role unassignments
core_tag core_tag_get_tagindex 3.1 Gets tag index page for one tag and one tag area
core_tag core_tag_get_tags 3.0 Gets tags by their ids
core_tag core_tag_update_tags 3.0 Updates tags
core_user core_user_add_user_device() 2.6 Store mobile user devices information for PUSH Notifications. MDL-41914
core_user core_user_add_user_private_files 2.6 Copy files from a draft area to users private files area.
core_user core_user_create_users() moodle_user_create_users() 2.0 Create users - admin function
core_user core_user_delete_users() moodle_user_delete_users() 2.0 Delete users - admin function
core_user core_user_get_course_user_profiles() moodle_user_get_course_participants_by_id() 2.1 Get course user profiles by id
core_user core_user_get_users() 2.5 Search users. - If you want to get multiple users for one specific field, use core_user_get_users_by_field(), it's designed for this purpose and it should be faster. MDL-29938
core_user core_user_get_users_by_field() 2.5 Retrieve users information for a specified unique field - If you want to do a user search, use core_user_get_users() MDL-35543
core_user core_user_get_users_by_id() moodle_user_get_users_by_id() 2.0 Get users by id
core_user core_user_remove_user_device() 2.9 Remove a user device from the Moodle database. MDL-48716
core_user core_user_update_users() moodle_user_update_users() 2.0 Update users
core_user core_user_view_user_list() 2.9 Simulates the web-interface view of user/index.php (triggering events). MDL-49498
core_user core_user_view_user_profile() 2.9 Simulates the web-interface view of user/view.php and user/profile.php (triggering events). MDL-49499
core_user NONE moodle_enrol_get_enrolled_users() 2.0 get some minimal information about the users enrolled in a course (DEPRECATED)
core_webservice core_webservice_get_site_info() moodle_webservice_get_siteinfo() 2.1 Return some site info / user info / list web service functions
enrol_guest enrol_guest_get_instance_info 3.1 Return guest enrolment instance information.
enrol_manual enrol_manual_enrol_users() moodle_enrol_manual_enrol_users() 2.0 Manual enrol users
enrol_manual enrol_manual_unenrol_users 3.0 Manual unenrol users
enrol_self enrol_self_enrol_user 3.0 Self enrol the current user in the given course. MDL-51568
enrol_self enrol_self_get_instance_info 3.0 self enrolment instance information.
gradereport_user gradereport_user_get_grades_table() 2.9 Get the user/s report grades table for a course MDL-49036
gradereport_user gradereport_user_view_grade_report() 2.9 Trigger the grade_report_viewed event when a user view his grade report (this web service will be initially used by the mobile app so information can be logged in the Moodle side when a user see the same page in the app). MDL-49500
message_airnotifier message_airnotifier_are_notification_preferences_configured 2.7 Check if the users have notification preferences configured yet
message_airnotifier message_airnotifier_is_system_configured 2.7 Check whether the airnotifier settings have been configured
mod_assign mod_assign_get_assignments() 2.4 Returns the courses and assignments for the users capability MDL-31873
mod_assign mod_assign_get_grades() 2.4 Returns grades from the assignment MDL-31873
mod_assign mod_assign_get_submission_status 3.1 Returns information about an assignment submission status for a given user.
mod_assign mod_assign_get_submissions 2.5 Returns the submissions for assignments MDL-31682
mod_assign mod_assign_get_user_flags 2.6 Returns the user_flags for assignments MDL-40548
mod_assign mod_assign_get_user_mappings 2.6 Returns the user_mappings for assignments MDL-40548
mod_assign mod_assign_list_participants 3.1 List the participants for a single assignment, with some summary info about their submissions.
mod_assign mod_assign_lock_submissions 2.6 Prevent students from making changes to a list of submissions MDL-37148
mod_assign mod_assign_reveal_identities 2.6 Reveal the identities for a blind marking assignment MDL-37148
mod_assign mod_assign_revert_submissions_to_draft 2.6 Reverts the list of submissions to draft status MDL-37148
mod_assign mod_assign_save_grade 2.6 Save a grade update for a single student. MDL-37148
mod_assign mod_assign_save_grades 2.7 Save grade updates for one or more students. MDL-42425
mod_assign mod_assign_save_submission 2.6 Update the current students submission MDL-37148
mod_assign mod_assign_save_user_extensions 2.6 Save a list of assignment extensions MDL-37148
mod_assign mod_assign_set_user_flags 2.6 Sets the specified user_flags for an assignment MDL-41738
mod_assign mod_assign_submit_for_grading 2.6 Submit the current students assignment for grading MDL-37148
mod_assign mod_assign_submit_grading_form 3.1 Submit the grading form data via ajax
mod_assign mod_assign_unlock_submissions 2.6 Allow students to make changes to a list of submissions MDL-37148
mod_assign mod_assign_view_grading_table 3.0 Trigger the grading_table_viewed event.
mod_assign mod_assign_view_submission_status 3.1 Trigger the submission status viewed event.
mod_book mod_book_get_books_by_courses 3.0 Returns a list of book instances in a provided set of courses. MDL-50536
mod_book mod_book_view_book 3.0 Trigger the course module viewed event and update the module completion status. MDL-50013
mod_chat mod_chat_get_chat_latest_messages 3.0 Get the latest messages from the given chat sessio. MDL-50853
mod_chat mod_chat_get_chat_users 3.0 Get the list of users in the given chat session. MDL-50853
mod_chat mod_chat_get_chats_by_courses 3.0 Returns a list of chat instances in a provided set of courses. MDL-50537
mod_chat mod_chat_login_user 3.0 Log a user into a chat room in the given chat. MDL-50853
mod_chat mod_chat_send_chat_message 3.0 Send a message on the given chat session. MDL-50853
mod_chat mod_chat_view_chat 3.0 Trigger the course module viewed event and update the module completion status. MDL-50853
mod_choice mod_choice_delete_choice_responses 3.0 Delete the given submitted responses in a choice. MDL-50944
mod_choice mod_choice_get_choice_options 3.0 Retrieve options for a specific choice. MDL-50944
mod_choice mod_choice_get_choice_results 3.0 Retrieve users results for a given choice. MDL-50944
mod_choice mod_choice_get_choices_by_courses 3.0 Returns a list of choice instances in a provided set of courses. MDL-50132
mod_choice mod_choice_submit_choice_response 3.0 Submit responses to a specific choice item. MDL-50944
mod_choice mod_choice_view_choice 3.0 Trigger the course module viewed event and update the module completion status.. MDL-50944
mod_data mod_data_get_databases_by_courses() 2.9 Returns a list of database instances in a provided set of courses, if no courses are provided then all the database instances the user has access to will be returned. MDL-49337
mod_folder mod_folder_view_folder 3.0 Trigger the course module viewed event and update the module completion status. MDL-50008
mod_forum mod_forum_add_discussion 3.0 Add a new discussion into an existing forum. MDL-50994
mod_forum mod_forum_add_discussion_post 3.0 Create new posts into an existing discussion. MDL-50995
mod_forum mod_forum_can_add_discussion 3.1 Check if the current user can add discussions in the given forum (and optionally for the given group).
mod_forum mod_forum_get_forum_discussion_posts() 2.7 Returns a list of forum posts for a discussion. MDL-30106
mod_forum mod_forum_get_forum_discussions 2.5 Returns a list of forum discussions in a provided set of forums. (DEPRECATED use mod_forum_get_forum_discussions_paginated instead) MDL-30102
mod_forum mod_forum_get_forum_discussions_paginated() 2.8 Returns a list of forum discussions optionally sorted and paginated. MDL-46458
mod_forum mod_forum_get_forums_by_courses 2.5 Returns a list of forum instances in a provided set of courses, if no courses are provided then all the forum instances the user has access to will be returned. MDL-37247
mod_forum mod_forum_view_forum() 2.9 Trigger the course_module_viewed event when a user view a forum (this web service will be initially used by the mobile app so information can be logged in the Moodle side when a user see the same page in the app). MDL-49502
mod_forum mod_forum_view_forum_discussion() 2.9 Trigger the discussion_viewed event when a user view a forum discussion (this web service will be initially used by the mobile app so information can be logged in the Moodle side when a user see the same page in the app). MDL-49503
mod_glossary mod_glossary_get_authors 3.1 Get the authors in a glossary MDL-50540
mod_glossary mod_glossary_get_categories 3.1 Get a glossary's categories MDL-50540
mod_glossary mod_glossary_get_entries_by_author 3.1 Get entries using author filtering MDL-50540
mod_glossary mod_glossary_get_entries_by_author_id 3.1 Get entries using author ID filtering MDL-50540
mod_glossary mod_glossary_get_entries_by_category 3.1 Get entries using category filtering MDL-50540
mod_glossary mod_glossary_get_entries_by_date 3.1 Get entries using date filtering MDL-50540
mod_glossary mod_glossary_get_entries_by_letter 3.1 Get entries using letter filtering MDL-50540
mod_glossary mod_glossary_get_entries_by_search 3.1 Get entries matching a search query MDL-50540
mod_glossary mod_glossary_get_entries_by_term 3.1 Get entries using term filtering MDL-50540
mod_glossary mod_glossary_get_entries_to_approve 3.1 Get entries to be approved MDL-50540
mod_glossary mod_glossary_get_entry_by_id 3.1 Get an entry by ID MDL-50540
mod_glossary mod_glossary_get_glossaries_by_courses 3.1 Get the glossaries in courses MDL-50540
mod_glossary mod_glossary_view_entry 3.1 Notify that a glossary entry was viewed MDL-50540
mod_glossary mod_glossary_view_glossary 3.1 Notify that a glossary was viewed MDL-50540
mod_imscp mod_imscp_get_imscps_by_courses 3.0 Returns a list of imscp instances in a provided set of courses. MDL-50541
mod_imscp mod_imscp_view_imscp 3.0 Trigger the course module viewed event and update the module completion status. MDL-50015
mod_lti mod_lti_create_tool_proxy 3.1 Create a tool proxy
mod_lti mod_lti_create_tool_type 3.1 Create a tool type
mod_lti mod_lti_delete_tool_proxy 3.1 Delete a tool proxy
mod_lti mod_lti_delete_tool_type 3.1 Delete a tool type
mod_lti mod_lti_get_ltis_by_courses 3.0 Returns a list of lti instances in a provided set of courses. MDL-50543
mod_lti mod_lti_get_tool_launch_data 3.0 Return the launch data for a given external tool. MDL-51615
mod_lti mod_lti_get_tool_proxy_registration_request 3.1 Get a registration request for a tool proxy
mod_lti mod_lti_get_tool_types 3.1 Get a list of the tool types
mod_lti mod_lti_is_cartridge 3.1 Determine if the given url is for a cartridge
mod_lti mod_lti_update_tool_type 3.1 Update a tool type
mod_lti mod_lti_view_lti 3.0 Trigger the course module viewed event and update the module completion status. MDL-51624
mod_page mod_page_view_page 3.0 Trigger the course module viewed event and update the module completion status. MDL-49791
mod_quiz mod_quiz_get_attempt_access_information 3.1 Return access information for a given attempt in a quiz.
mod_quiz mod_quiz_get_attempt_data 3.1 Returns information for the given attempt page for a quiz attempt in progress.
mod_quiz mod_quiz_get_attempt_review 3.1 Returns review information for the given finished attempt, can be used by users or teachers.
mod_quiz mod_quiz_get_attempt_summary 3.1 Returns a summary of a quiz attempt before it is submitted.
mod_quiz mod_quiz_get_combined_review_options 3.1 Combines the review options from a number of different quiz attempts.
mod_quiz mod_quiz_get_quiz_access_information 3.1 Return access information for a given quiz.
mod_quiz mod_quiz_get_quiz_feedback_for_grade 3.1 Get the feedback text that should be show to a student who got the given grade in the given quiz.
mod_quiz mod_quiz_get_quiz_required_qtypes 3.1 Return the potential question types that would be required for a given quiz.
mod_quiz mod_quiz_get_quizzes_by_courses 3.1 Returns a list of quizzes in a provided list of courses, if no list is provided all quizzes that the user can view will be returned.
mod_quiz mod_quiz_get_user_attempts 3.1 Return a list of attempts for the given quiz and user.
mod_quiz mod_quiz_get_user_best_grade 3.1 Get the best current grade for the given user on a quiz.
mod_quiz mod_quiz_process_attempt 3.1 Process responses during an attempt at a quiz and also deals with attempts finishing.
mod_quiz mod_quiz_save_attempt 3.1 Processes save requests during the quiz.This function is intended for the quiz auto-save feature.
mod_quiz mod_quiz_start_attempt 3.1 Starts a new attempt at a quiz.
mod_quiz mod_quiz_view_attempt 3.1 Trigger the attempt viewed event.
mod_quiz mod_quiz_view_attempt_review 3.1 Trigger the attempt reviewed event.
mod_quiz mod_quiz_view_attempt_summary 3.1 Trigger the attempt summary viewed event.
mod_quiz mod_quiz_view_quiz 3.1 Trigger the course module viewed event and update the module completion status.
mod_resource mod_resource_view_resource 3.0 Trigger the course module viewed event and update the module completion status. MDL-49792
mod_scorm mod_scorm_get_scorm_attempt_count 3.0 Return the number of attempts done by a user in the given SCORM. MDL-51017
mod_scorm mod_scorm_get_scorm_sco_tracks 3.0 Retrieves SCO tracking data for the given user id and attempt number. MDL-50557
mod_scorm mod_scorm_get_scorm_scoes 3.0 Returns a list containing all the scoes data related to the given scorm id. MDL-50351
mod_scorm mod_scorm_get_scorm_user_data 3.0 Retrieves user tracking and SCO data and default SCORM values. MDL-50352
mod_scorm mod_scorm_get_scorms_by_courses 3.0 Returns a list of scorm instances in a provided set of courses. MDL-50349
mod_scorm mod_scorm_insert_scorm_tracks 3.0 Saves a scorm tracking record. MDL-50353
mod_scorm mod_scorm_launch_sco 3.1 Trigger the SCO launched event.
mod_scorm mod_scorm_view_scorm 3.0 Trigger the course module viewed event and update the module completion status.. MDL-50427
mod_survey mod_survey_get_questions 3.0 Get the complete list of questions for the survey, including subquestions.
mod_survey mod_survey_get_surveys_by_courses 3.0 Returns a list of survey instances in a provided set of courses, if no courses are provided then all the survey instances the user has access to will be returned.
mod_survey mod_survey_submit_answers 3.0 Submit the answers for a given survey.
mod_survey mod_survey_view_survey 3.0 Trigger the course module viewed event and update the module completion status.
mod_url mod_url_view_url 3.0 Trigger the course module viewed event and update the module completion status. MDL-49793
mod_wiki mod_wiki_edit_page 3.1 Save the contents of a page.
mod_wiki mod_wiki_get_page_contents 3.1 Returns the contents of a page.
mod_wiki mod_wiki_get_page_for_editing 3.1 Locks and retrieves info of page-section to be edited.
mod_wiki mod_wiki_get_subwiki_files 3.1 Returns the list of files for a specific subwiki.
mod_wiki mod_wiki_get_subwiki_pages 3.1 Returns the list of pages for a specific subwiki.
mod_wiki mod_wiki_get_subwikis 3.1 Returns the list of subwikis the user can see in a specific wiki.
mod_wiki mod_wiki_get_wikis_by_courses 3.1 Returns a list of wiki instances in a provided set of courses, if no courses are provided then all the wiki instances the user has access to will be returned.
mod_wiki mod_wiki_new_page 3.1 Create a new page in a subwiki.
mod_wiki mod_wiki_view_page 3.1 Trigger the page viewed event and update the module completion status.
mod_wiki mod_wiki_view_wiki 3.1 Trigger the course module viewed event and update the module completion status.
report_competency report_competency_data_for_report 3.1 Load the data for the competency report in a course.
tool_lp tool_lp_data_for_competencies_manage_page 3.1 Load the data for the competencies manage page template
tool_lp tool_lp_data_for_competency_frameworks_manage_page 3.1 Load the data for the competency frameworks manage page template
tool_lp tool_lp_data_for_competency_summary 3.1 Load competency data for summary template.
tool_lp tool_lp_data_for_course_competencies_page 3.1 Load the data for the course competencies page template.
tool_lp tool_lp_data_for_plan_page 3.1 Load the data for the plan page template.
tool_lp tool_lp_data_for_plans_page 3.1 Load the data for the plans page template
tool_lp tool_lp_data_for_related_competencies_section 3.1 Load the data for the related competencies template.
tool_lp tool_lp_data_for_template_competencies_page 3.1 Load the data for the template competencies page template.
tool_lp tool_lp_data_for_templates_manage_page 3.1 Load the data for the learning plan templates manage page template
tool_lp tool_lp_data_for_user_competency_summary 3.1 Load a summary of a user competency.
tool_lp tool_lp_data_for_user_competency_summary_in_course 3.1 Load a summary of a user competency.
tool_lp tool_lp_data_for_user_competency_summary_in_plan 3.1 Load a summary of a user competency.
tool_lp tool_lp_data_for_user_evidence_list_page 3.1 Load the data for the user evidence list page template
tool_lp tool_lp_data_for_user_evidence_page 3.1 Load the data for the user evidence page template
tool_lp tool_lp_list_courses_using_competency 3.1 List the courses using a competency
tool_lp tool_lp_search_cohorts 3.1 Search for cohorts.
tool_lp tool_lp_search_users 3.1 Search for users.
tool_mobile tool_mobile_get_plugins_supporting_mobile 3.1 Returns a list of Moodle plugins supporting the mobile app.
tool_templatelibrary tool_templatelibrary_list_templates 3.0 List/search templates by component.
tool_templatelibrary tool_templatelibrary_load_canonical_template 3.0 Load a canonical template by name (not the theme overidden one).

This is the list of the integrated core functions. To see the roadmap, see to the tracker issue in the section bellow.

New Web Services entries are automatically generated for each new major version via this script: https://github.com/moodlehq/moodlemobile-scripts/blob/master/ws-documenter.php

API Roadmap

Tracker issue: MDL-29934

See also