This project is not covered by Drupal’s security advisory policy.

The webform service module makes Webform results available via Services.


The 4.x branch of this module is a complete rewrite to incorporate a more RESTful interface to the latest 4.x branch of Webforms. It is also completely unit tested to ensure stability. This version of the module requires the use of UUID module since that provides a more robust way of accessing webforms from an external source. It also incorporates both the Webform entity as well as its submissions in an intuitive RESTful interface. This interface looks like the following

Webform Endpoint

  • GET @ endpoint/webform => Index of all webforms.
  • GET @ endpoint/webform/{UUID} => Retrieve a specific webform.
  • POST @ endpoint/webform => Create a new webform.
  • PUT @ endpoint/webform/{UUID} => Update a webform.
  • DELETE @ endpoint/webform/{UUID} => Delete a webform.

Submission Endpoint

  • GET @ endpoint/webform/{UUID}/submissions => Submissions within a webform.
  • GET @ endpoint/submission/{UUID} => Retrieve single submission.
  • POST @ endpoint/submission => Create a new submission within a webform.
  • PUT @ endpoint/submission/{UUID} => Update a submission.
  • DELETE @ endpoint/submission/{UUID} => Delete a submission

This version of the module is sponsored by

7.x-3.x methods

  • webform_submission.index - Lists all webform submissions.
  • webform_submission.retrieve - Retrieves a webform submission.
  • webform_submission.create - Creates a webform submission.
  • webform_submission.update - Updates a webform submission.
  • webform_submission.delete - Deletes a webform submission.
  • node.webform_submissions - This method returns the number of submissions for a given webform.

6.x-3.x methods

  • webform.list - Lists the node ids of all webform nodes.
  • webform.get - Lists the submission id of all submissions for the given web forms node id.
  • webform.view - Returns the details of the given submission.

This branch are currently in progress. We are backporting 7.x-3.x to 6.x-3.x

Useful tips

  • List of webform nodes are returned by the node.index method with parameters equal to array('type' => 'webform').
  • Webform fields definition is returned by the node.retrieve method.


Install the webform_service module just like you would any other module. Enable it on the modules page. When you create the user that will connect to the service, make sure that user is granted appropriate permissions to work with submissions, e.g. "Access all webform results" or "Edit all webform submissions". Make sure your user has access to the appropriate functions under Services API Key.

Project information