Skip to content
View Markdown

Loading documentation…

Question types and answers

Match each registration question to its definition and answer format.

Create definitions with CategoryField through category questions. Submit answers under their question UUID inside OrderLine through attendee management. Definition options and attendee answers have different shapes.

Supported types

Definition type Definition options Attendee answer
text, organization, branche, job_description, textarea Omit options. String. The named types are text presets.
numeric Omit options. Numeric text, such as "12".
email Omit options. Email string.
date Omit options. "2027-06-20" in the organizer editor.
time Omit options. "09:30".
dateTime Omit options. "2027-06-20T09:30". Saved as a server-local SQL timestamp; detail converts it back to the editor format.
checkbox Omit options. "1" checked, "0" unchecked.
select Scalar option labels. One option label as a string.
singlechoice Scalar option labels. Array containing one selected label, or an object for an Other answer.
multiplechoice Scalar option labels. Array of selected labels, or an object for an Other answer. [] clears a selection.
workshop Option rows containing question and optional amount. The option key as a string, such as "0"; preserve returned keys.
paid {"price":"5.00"}; the signed amount represents a charge or discount. Purchased value/name/options snapshot. The attendee save action preserves it and does not change the charge.
donation Omit options. Amount collected by checkout. The organizer editor displays it as read-only; use checkout for financial changes.
label Omit options. Display content; no editable answer is needed.
file Omit options. Attachment context. Attendee JSON save skips file answers; it is not a file-upload endpoint.
day_choice, day_indicator Event day choices; day_indicator can retain scalar options. A key from the definition's dayChoices. Empty day-choice value means not attending that day.

Type names are case-sensitive, including dateTime. Company day-choice support and the event's configured days must be enabled for day questions; each category has an event-dependent day-question limit. Historical snapshots can contain day_choice_hidden, radio or datetime; these are not accepted new definition types. Preserve historical data rather than recreating its definition with an unsupported type.

Definition options

{"CategoryField":{"name":"Dietary preference","type":"multiplechoice","options":["Vegetarian","Gluten free"],"other":1}}
{"CategoryField":{"name":"Session","type":"workshop","options":{"0":{"question":"Morning workshop","amount":20},"1":{"question":"Afternoon workshop","amount":15}}}}
{"CategoryField":{"name":"Printed programme","type":"paid","options":{"price":"5.00"}}}

Choice labels must be scalar strings or numbers; nested choice objects are rejected. Workshop rows only accept question and amount. Paid options only accept price. Empty labels are removed; keys are retained, so a filtered array can return as an object. Re-read definitions after saving and use the returned labels or keys.

Answer payloads

Replace these synthetic UUIDs with question IDs from order_lines/edit_data. This example answers a multiple-choice question, a single-choice question and a date/time question.

{"OrderLine":{
  "77777777-7777-4777-8777-777777777777":["Vegetarian","Gluten free"],
  "88888888-8888-4888-8888-888888888888":["Morning"],
  "99999999-9999-4999-8999-999999999999":"2027-06-20T09:30"
}}

For a question with other:1, use the editor's object format. Numeric keys contain selected labels, choose_other:"other" selects Other, and other_value contains the entered text.

{"OrderLine":{"77777777-7777-4777-8777-777777777777":{"0":"Vegetarian","choose_other":"other","other_value":"No nuts"}}}

Validation and history

Definition names require 2–255 characters. mandatory, on_ticket, selfservice_disabled and other use 0/1; answer_amount configures the question's answer count. Mandatory flags belong to checkout validation. The organizer save path deliberately skips extra-question validation, so validate choices and formats against the returned definition in your integration.

Omitting an answer keeps its stored value; submitting an empty value changes it. Existing attendees can retain different labels/options from the live category. Use their current or historical definitions from detail, preserve paid snapshots, and re-read the saved answers. Updating live definitions and refreshing purchased ticket snapshots are separate operations.