Skip to content

Form structure

A Responsly form is stored as one JSON document, the form definition. The editor writes it, and the form that respondents open is drawn from it. This reference describes that document: the question types and their options, pages, logic, variables, hidden fields, settings and themes, and the format of the answers a form produces.

You wantUse
The definition of a formGet workspaces. Each form in the result carries its definition.
The answers to a formGet responses or a webhook. Each answer names the question’s type and has a format that depends on it. See Answers.
Data of your own in a responseHidden fields, passed in the form link.
KeyTypeHoldsDescribed in
settingsobjectName, language, schedule, access, display and other form-level options.Settings
themeobjectA reference to the theme: { "ref": "…" }.Themes
welcome_pagesarrayNo page or one page shown before the questions.Welcome and end pages
componentsarrayThe questions, in order.Question types
end_pagesarrayOne page or more shown after the response is submitted.Welcome and end pages
logicarrayJumps between pages and calculations.Logic
variablesarrayNames of the numbers the form works out.Variables and scoring
hiddenarrayNames of the hidden fields.Hidden fields

Translations and the texts of buttons and messages are stored next to the definition, per language. See Languages.

{
"settings": {
"name": "Order feedback",
"language": "en",
"is_public": true
},
"theme": { "ref": "D5kvGYdZ" },
"welcome_pages": [
{
"ref": "7e2b9c14-5d3a-4f86-a1c7-0b4d6e8f2a59",
"title": "Tell us about your order",
"properties": { "description": "", "button_text": "Start", "align": "center" },
"media": false
}
],
"components": [
{
"id": "Xe5gHu8JiM2o",
"ref": "4b6d8f0a-1c93-4e25-a7db-2f4c6e8a0d35",
"type": "opinion_scale",
"title": "How likely are you to recommend us to a friend or colleague?",
"properties": {
"description": "",
"icon": "numbers",
"icon_count": 11,
"labels": ["Not likely at all", "", "Extremely likely"]
},
"validations": { "required": true },
"media": false
},
{
"id": "Zr4kQ1xYb7Lm",
"ref": "0f6c2d1e-8a47-4b6f-9c11-3f5a7d2e9b40",
"type": "text",
"title": "What is the main reason for your score?",
"properties": { "description": "", "multiple_lines": true },
"validations": { "required": false },
"media": false
}
],
"end_pages": [
{
"ref": "c41d7a90-2e6b-4b35-9f08-6a1c3e5d7b92",
"title": "Thank you!",
"properties": { "description": "", "align": "center", "show_button": false },
"media": false
}
],
"logic": [],
"variables": [],
"hidden": ["user_id"]
}
  1. Welcome page. Shown first when the form has one. A password, when set, is asked for here.
  2. Pages. Each item of components is one page: a single question, or a group with several questions. The form checks validations before the respondent can leave a page.
  3. Logic. When the respondent leaves a page, the form applies the calculations of that page and then looks for a jump. Without a jump, the next page follows.
  4. Submit. After the last page, or on a jump to an end page, the response is saved. Webhooks and notifications are sent at this point.
  5. End page. The first end page is shown, or the one a rule or a quota chose.

Answers given so far are saved while the form is being filled in, so an abandoned form leaves a partial response in the results. Partial responses are not returned by Get responses and trigger no webhook.

Questions, options and rows carry two identifiers, id and ref. Responses refer to things by id. The form itself, in logic rules, inserted values and translations, refers to them by ref. See id and ref.

Forms and themes are identified by short encoded strings such as D5kvGYdZ.

LimitValue
Size of a definition2 MB
Length of one text10000 characters
MarkupNot accepted. Texts use formatting marks, and a definition with HTML tags or script addresses is refused.
FeatureLowest plan
File upload questionEssential
Own end page text and media, more than one end pageEssential
Logic and calculationsEssential
Schedule, response limit, password, one response per userEssential
RandomizationEssential
E-mail notificationsEssential
Hidden fieldsProfessional
End page button and automatic redirectProfessional
Own logo, tracking tags, link preview, A/B testingProfessional

Basic is the free plan. Links in form texts are available from Essential.