Skip to main content
PATCH
Update questionnaire response content

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

questionnaireId
string
required
responseId
string
required

Body

application/json

Request body for updating a questionnaire response's answer content.

answerPartsValues
object
required

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

200 - application/json

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.

id
string
required

The unique identifier for the questionnaire response

question
string
required

The actual question text

isPendingAnswerGeneration
boolean
required

Indicates whether the answer is currently being worked on by AI.

ownerAssignment
object | null
required

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.

sectionId
string | null

The questionnaire section this response belongs to, if any. Null for standalone questions or legacy responses without a section.

sequenceLabel
string

Sequence label for ordering responses within a questionnaire

answer
object
deprecated

The current answer for the question.

editedBy
object | null

The user who last edited the question/answer

approvedBy
object | null

The user who approved the current answer

originType
enum<string>

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
Available options:
AI,
ANSWER_LIBRARY,
MANUAL,
ORIGINAL_QUESTIONNAIRE,
RESOURCE
answerSchema
string

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.

answerPartsSchema
object

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.

answerPartsValues
object

Flat map of part-id → current value (via toAnswerPartsValues). Same key set as answerPartsSchema.properties. Absent when the response has no stored parts.

attachedEvidence
object[]

Evidence documents attached to support this questionnaire response

generatedAnswerLogId
string

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.