Limesurvey Remotecontol API Design

The main goal of the design is to provide a simple, yet feature rich API. An API that users can understand and use without misconceptions and developers can contribute future enhancements.

This has been achieved by identifying the major objects being present in the LimeSurvey Schema, and are essential to the usage of the application. These Objects are:

Survey The main object of the application. Surveys to be answered
Group An entity containing a set of questions. Belongs to a single Survey
Question An entity containing a single question (possibly with subquestions) and belongs to a survey and a group.
Participant An individual that will participate in a Survey. For each Survey there is an optional table of participants tokens, that belong to this Survey
Response A single reply on all the questions of a Survey
Language Each Survey can be implemented in different language. For each language there are properties that define the appearance and verbs of the survey.

The main actions that are performed on those objects are

Add Add a new object
Delete Delete a single or multiple objects
ImportImport an object from an external source
ExportExport object to file
Get Return a single or multiple properties of an object
Set Change a single or multiple properties of an object
List Show a collection of objects
ActivatePerform an initialization of an object

In addition to the above basic set of actions, a set of actions that do not fit to these categories have been implemented. These actions are:

activate_survey Launches a newly created survey
activate_tokens Initialise the survey's placeholder where new participant tokens are added
get_site_settings Returns application settings
export_statistics Returns statistics for completed surveys
export_timeline Returns timeline series of survey response submissions
survey_summary Returns completion summary for surveys

Summary

The following table describes all implemented functions and provides a guide for future development:



Legend

 : Function is implemented

 : Function can be implemented in the future

 : Function is not supported by this object

Use Case / Guide

Read a guide on use cases of the API

API Reference

Read the complete API Reference Documentation