client.graph.
list()
QuestionListOut.
create()
str | UUID
required
The study.
str
required
Question text.
str
text, scale, choices, multi_select, ranking, slots, card_sort or image_upload. If omitted, it’s inferred: scale → scale, options → choices, slots → slots, expected_image → image_upload, otherwise text. image_upload needs the standard or premium model tier.str
Guidance for the interviewer on how to probe this question.
ScaleConfig | dict
For scale questions, for example
{"minScale": 1, "maxScale": 5, "minLabel": "Not at all", "maxLabel": "Very"}.list[str]
Answer options, for
choices, multi_select and ranking.list[str]
Named slots to fill, for
slots questions.list[str]
Bucket names, for
card_sort questions.int
Minimum selections, for
multi_select.int
Maximum selections, for
multi_select.bool
default:"True"
Whether the interviewer asks follow-up questions.
int
Minimum conversation turns on this question.
int
Maximum conversation turns on this question.
str
Description of the expected upload, for
image_upload questions.QuestionOut.
generate()
int
default:"10"
How many questions to generate, from 3 to 20.
str
Extra guidance, such as
"start with two warm-up questions".GeneratedQuestionsOut. skipped_image_questions counts image-upload questions the generator proposed but didn’t add, because your plan has no vision-capable interview model.
update()
create(), including question; only the ones you pass change. Pass an empty list to clear options, slots or groups.
Returns QuestionOut.
delete()
SuccessResponse.
reorder()
QuestionListOut.
validate()
studies.validate().
ValidationOut..png?fit=max&auto=format&n=G_hwo_L4hZsQ93vT&q=85&s=c00b6042d4688a9b776bae65a530206a)