60d6c901bc4e
Save a questionnaire template as the Retraced admin
The save behind the Retraced-admin template builder. The admin twin of PUT /api/questionnaires/:id/builder — same write, same service — but gated on admin:questionnaire:write, which only RETRACED_ADMIN holds. sections and questions are the complete desired content, not a patch: rows present are created or updated, rows absent are deleted along with their answers and comments. name and description are always written; status is not settable here and keeps its stored value. A template stores no deadline of its own, so dueDate is always written as null — send it as null or omit it. The questionnaire must belong to the calling company — another company's is indistinguishable from a missing one and answers 404 — and a Retraced-owned questionnaire may only be saved by a Retraced admin, which this guard already guarantees. templates names the surface, not a filter: no is_template predicate is applied, so any questionnaire the caller company owns can be saved here. Once answer requests exist, an existing question's title, type, mandatory flag and options are frozen; adding a new question instead reopens every request so it can be answered. Answers the saved questionnaire in the same shape as the template builder read.
Path parameters
Request body
Response
Default Response