IntakeForms

Create an IntakeFormQuestion

Creates a new IntakeFormQuestion in the parent section. The new question is appended to the end of the section's question list; use the intake-form-sections/{intakeFormSectionId}/questions/order endpoint to reposition it afterwards.

question and type are required. multiple_choice questions additionally require at least two entries in multiple_choice_answers. terms_statement HTML is sanitised against the site's allowed-tag list before persisting.

Requires the SETTINGS_MANAGE permission on the section's site.

post/shop/intake-form-sections/{intakeFormSectionId}/questions

Request body

questionstring required

The question text.

type'additional_details' | 'date_time' | 'email' | 'multiple_choice' | 'phone' | 'terms_conditions' | 'text_long' | 'text' | 'yes_no' required

The type of question. Drives input rendering on the customer intake form and unlocks the type-specific fields below.

multiple_select_optionstring nullable

Optional bonus label rendered alongside the multiple-choice answers (e.g. "Other"). Only meaningful when type=multiple_choice.

multiple_selectionboolean nullable

Whether the customer can pick more than one multiple_choice_answers entry. Only meaningful when type=multiple_choice.

additional_detailsboolean nullable

When true, the customer is prompted for free-text "additional details" alongside the structured answer.

exact_numberstring nullable

Optional exact-number constraint for numeric questions.

rangeinteger[] nullable

A two-element [min, max] constraint on multiple_choice_answers selections. Both bounds are inclusive; omit either to leave it unbounded.

terms_statementstring nullable

Terms text rendered alongside type=terms_conditions questions. HTML is sanitised to the site's allowed-tag list.

placeholderstring nullable

Placeholder text for the input field.

requiredboolean nullable

Whether the customer must answer this question.

Example request

{
  "question": "Do you have any allergies?"
}

Response

The question was created successfully.

Changes

No recorded changes to this endpoint across all 1 revision of this API.