Update questionnaire response content
Update the answer content of a questionnaire response. The edit is recorded as performed by the calling application, since vanta-api authenticates an OAuth client rather than a specific user.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Request body for updating a questionnaire response's answer content.
Map of answer part id -> value, matching the shape of the
answerPartsValues read field. Values must be string, number,
boolean, null, or string[]. A null value clears that part's value;
ids omitted from the map are left unchanged.
Response
Ok
A questionnaire response without the fields that describe what the requesting user may do with it. Surfaces that authenticate a client rather than a user return this, since there is no user those fields could describe.
The unique identifier for the questionnaire response
The actual question text
Indicates whether the answer is currently being worked on by AI.
The response's owner, or null when no owner is assigned. Resolved from the
object-role grant rather than the response document's legacy ownerUserId,
which the object-role registry leaves unset for Team owners.
The questionnaire section this response belongs to, if any. Null for standalone questions or legacy responses without a section.
Sequence label for ordering responses within a questionnaire
The current answer for the question.
The user who last edited the question/answer
The user who approved the current answer
Where the current answer has came from
- AI: generated by Vanta AI
- Manual: written in by a user
- Original questionnaire: included in the original import
- Answer library: the answer was found in a matching question in the knowledge center
- Resource: the answer was found in a matching excerpt from a document in the knowledge center
AI, ANSWER_LIBRARY, MANUAL, ORIGINAL_QUESTIONNAIRE, RESOURCE JSON Schema describing the expected answer format for this question.
Prefer answerPartsSchema + answerPartsValues — those mirror the
apps/web GraphQL surface and let clients render against the
canonical composite schema.
Composite JSONSchema7 built from the response's stored answer parts
(via toCompositeSchema). Mirrors the GraphQL answerPartsSchema
field. Absent when the response has no stored parts — clients fall
back to the legacy answerSchema field.
Flat map of part-id → current value (via toAnswerPartsValues).
Same key set as answerPartsSchema.properties. Absent when the
response has no stored parts.
Evidence documents attached to support this questionnaire response
Id of the QAutoGeneratedAnswerLog that produced the current generated
answer on this response, if any. The browser extension API exposes the log
body and citations at
GET /questionnaires/{questionnaireId}/responses/{responseId}/generated-answer-log.
Related topics
Update questionnaire response ownerUpdate questionnaireDelete questionnaireQuestionnaire createdQuestionnaire deleted