curl --request POST \
--url http://localhost:8081/protocols/questionnaires \
--header 'Content-Type: application/json' \
--data '
{
"institutionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"questions": [
{
"questionText": "<string>",
"responseType": "TEXT",
"metadata": {},
"required": true,
"weight": 123,
"position": 123,
"options": [
{
"optionText": "<string>",
"score": 123,
"position": 123
}
]
}
],
"scoreRanges": [
{
"minScore": 123,
"maxScore": 123,
"classification": "<string>"
}
],
"prompt": "<string>"
}
'{
"protocol": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"institutionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"prompt": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"form": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"protocolId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"questions": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"protocolFormId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"questionText": "<string>",
"responseType": "TEXT",
"metadata": {},
"required": true,
"weight": 123,
"position": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"options": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"protocolQuestionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"optionText": "<string>",
"score": 123,
"position": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
]
}
]
}
}Creates protocol + form (v1) + questions (with options) + score ranges in one request. UI: single form, submit once.
curl --request POST \
--url http://localhost:8081/protocols/questionnaires \
--header 'Content-Type: application/json' \
--data '
{
"institutionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"questions": [
{
"questionText": "<string>",
"responseType": "TEXT",
"metadata": {},
"required": true,
"weight": 123,
"position": 123,
"options": [
{
"optionText": "<string>",
"score": 123,
"position": 123
}
]
}
],
"scoreRanges": [
{
"minScore": 123,
"maxScore": 123,
"classification": "<string>"
}
],
"prompt": "<string>"
}
'{
"protocol": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"institutionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"prompt": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
},
"form": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"protocolId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"version": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"questions": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"protocolFormId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"questionText": "<string>",
"responseType": "TEXT",
"metadata": {},
"required": true,
"weight": 123,
"position": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"options": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"protocolQuestionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"optionText": "<string>",
"score": 123,
"position": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
]
}
]
}
}