---
title: "Save answer"
method: PUT
path: "/forms/{formId}/responses/{responseId}/answers"
tags: ["Responses"]
---

# Save answer

`PUT /forms/{formId}/responses/{responseId}/answers`

Creates or updates an answer for a specific question within a response. Requires ownership of response.

## Request body

- AnswerUpsert
  - `question` string, required
  - `value` string, required — This string must contain the answer, JSON.stringify(...)-ed.

## Response `200`

Answer saved successfully.

- Answer
  - `id` string, ulid, required
  - `response` string, required
  - `question` string, required
  - `value` object, required
  - `submitted` string, date-time, required
  - `modified` string, date-time, required

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `422` — Unprocessable Entity

## Changes

- **2025-07-15** `2c261ade9d44` — 1 breaking
  - the `value` request property type changed from `object` to `string`
- **2025-07-13** `0d7f3c750979` — 1 breaking
  - the `value` request property type changed from `string` to `object`

[Change history](https://skmtc.dev/osdg-iiith/apis/forms-portal-api/changes/forms/:formId/responses/:responseId/answers/put.md)

---

[API](https://skmtc.dev/osdg-iiith/apis/forms-portal-api.md) · [All operations](https://skmtc.dev/osdg-iiith/apis/forms-portal-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/osdg-iiith/forms-portal-api/revisions/85c657c8ce11/schema)
