The Sphinx is a generic survey or questionnaire API that is powerful and extensible. It supports multiple view representations and custom question types.