---
title: "Changes to Save a questionnaire or template with its sections and questions"
method: PUT
path: "/api/questionnaires/{id}/builder"
---

# Changes to Save a questionnaire or template with its sections and questions

`PUT /api/questionnaires/{id}/builder`

> Every recorded change to this endpoint, newest first.
> 49 revisions in range; 1 not diffed.

## Timeline

Changed in 3 of 49 revisions.

- **2026-08-31** `97e51f27dc77` — 38 breaking, 50 info
- **2026-08-18** `9c038d4646dc` — 3 info
- **2026-08-15** `0a6ddb3264e6` — 1 info

## Changes

- **2026-08-31** `97e51f27dc77` — 38 breaking, 50 info
  - removed `subschema #1, subschema #2` from the `dueDate` request property `anyOf` list
  - request property `description/anyOf[subschema #2]/` was restricted to a list of enum values
  - request property `questions/items/description/anyOf[subschema #2]/` was restricted to a list of enum values
  - request property `questions/items/meta/anyOf[subschema #2]/` was restricted to a list of enum values
  - request property `questions/items/retracedDatapointId/anyOf[subschema #2]/` was restricted to a list of enum values
  - request property `questions/items/sectionId/anyOf[subschema #2]/` was restricted to a list of enum values
  - request property `sections/items/description/anyOf[subschema #2]/` was restricted to a list of enum values
  - request property `questions/items/meta` list-of-types was narrowed by removing types `null` from media type `application/json`
  - the `description/anyOf[subschema #2]/` request property type changed from `null` to `string`
  - the `questions/items/description/anyOf[subschema #2]/` request property type changed from `null` to `string`
  - the `questions/items/meta/anyOf[subschema #2]/` request property type changed from `null` to `string`
  - the `questions/items/retracedDatapointId/anyOf[subschema #2]/` request property type changed from `null` to `string`
  - the `questions/items/sectionId/anyOf[subschema #2]/` request property type changed from `null` to `string`
  - the `sections/items/description/anyOf[subschema #2]/` request property type changed from `null` to `string`
  - the response property `data/companyId` became nullable for the status `200`
  - the response property `data/description` became nullable for the status `200`
  - the response property `data/isActive` became nullable for the status `200`
  - the response property `data/isArchived` became nullable for the status `200`
  - the response property `data/isRetraced` became nullable for the status `200`
  - the response property `data/isTemplate` became nullable for the status `200`
  - the response property `data/name` became nullable for the status `200`
  - the response property `data/questions/items/companyId` became nullable for the status `200`
  - the response property `data/questions/items/description` became nullable for the status `200`
  - the response property `data/questions/items/questionTypeId` became nullable for the status `200`
  - the response property `data/questions/items/questionnaireSectionId` became nullable for the status `200`
  - the response property `data/questions/items/retracedDatapointId` became nullable for the status `200`
  - the response property `data/questions/items/sectionId` became nullable for the status `200`
  - the response property `data/questions/items/sortOrder` became nullable for the status `200`
  - the response property `data/questions/items/title` became nullable for the status `200`
  - the response property `data/questions/items/type` became nullable for the status `200`
  - the response property `data/sections/items/description` became nullable for the status `200`
  - the response property `data/sections/items/isRetraced` became nullable for the status `200`
  - the response property `data/sections/items/name` became nullable for the status `200`
  - the response property `data/sections/items/sortOrder` became nullable for the status `200`
  - the response property `data/statistics` became nullable for the status `200`
  - the response property `data/status` became nullable for the status `200`
  - the response property `data/templateId` became nullable for the status `200`
  - the `data/statistics` response's property type changed from no type to `object` for status `200`
  - added `subschema #1, subschema #2` to the `dueDate` request property `anyOf` list
  - the request property `description/anyOf[subschema #2]/` became nullable
  - …48 more
- **2026-08-18** `9c038d4646dc` — 3 info
  - the request property `dueDate` became optional
  - request property `dueDate` list-of-types was widened by adding types `null` to media type `application/json`
  - removed the pattern `^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$` from the request property `dueDate`
- **2026-08-15** `0a6ddb3264e6` — 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/retraced/apis/api-reference/docs/api/questionnaires/:id/builder/put.md) · [API](https://skmtc.dev/retraced/apis/api-reference.md) · [Page](https://skmtc.dev/retraced/apis/api-reference/changes/api/questionnaires/:id/builder/put)
