Skip to main content
POST
Creates and/or updates questions in a single study in one request. Items with an id are updated; items without an id are created (appended after the existing questions in the order given). Returns 201.
object[]
required
The questions to create or update. Every item must include the same study_id. Recognized fields per item:
  • id — include to update an existing question; omit to create.
  • study_id — required on every item.
  • content — question text; may include {{Q:...}} references.
  • type — question type (see List questions for values).
  • props — type-specific settings object. On updates it is merged with the existing props, with the same handling of multiple-choice exclusiveOptions as Update question and the same validation of earlierAnswerChecks (checks against earlier answers).
  • interviewer_notes — private AI guidance.
  • assets — media assets array.
  • display_order — position (new questions are auto-ordered if omitted).

Question references (mentions)

content can reference an earlier answer with either:
  • {{Q:<question_id>}} — the complete answer.
  • A type-specific property token — one option response from a structured answer, such as:
    • {{Q:<matrix_question_id>.ratingForItem[0]}}
    • {{Q:<ranking_question_id>.rankOfOption[0]}}
    • {{Q:<ranking_question_id>.optionAtRank[0]}}
    • {{Q:<allocation_question_id>.allocationForItem[0]}}
Property indices are zero-based. Do not construct property tokens with a generic .option[index] selector; it is not supported. Call List available references for the destination question’s position and copy the returned template verbatim. References are validated on write, and invalid property names, indices, missing questions, or forward references fail with 422 and an errors array.

Response

string[]
IDs of newly created questions, in input order.
string[]
IDs of updated questions.
The example below creates one new question and updates an existing one (8d3b6a2f-1c4e-4f7a-b5d9-2e6c8a0f4b1d), piping that existing question’s answer into the new question’s text. References must point at questions that already exist in the study — use List available references to discover valid templates.