---
title: "Changes to Update Survey"
method: PATCH
path: "/surveys/{id}"
---

# Changes to Update Survey

`PATCH /surveys/{id}`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 6 of 43 revisions.

- **2026-08-04** `bed30b2b43bc`: 1 warning
- **2026-07-13** `228cc05ba97d`: 1 info
- **2026-06-07** `13f3bc084194`: 10 breaking, 1 warning, 16 info
- **2026-01-17** `8590daeecaea`: 1 breaking, 2 warning, 3 info
- **2025-10-15** `b366d059d1ae`: 2 info
- **2025-02-18** `7b086652e3cf`: 2 info

## Changes

- **2026-08-04** `bed30b2b43bc`: 1 warning
  - changed the pattern of the request property `answers/anyOf[subschema #1]/items/` from `^[ -~]*[A-Za-z0-9][ -~]*$` to `^[^\x00-\x1f\x7f-\x9f]*[^\W_][^\x00-\x1f\x7f-\x9f]*$`
- **2026-07-13** `228cc05ba97d`: 1 info
  - added the non-success response with the status `429`
- **2026-06-07** `13f3bc084194`: 10 breaking, 1 warning, 16 info
  - removed the enum value `active` of the request property `status`
  - removed the enum value `checkbox` of the request property `input_type`
  - removed the enum value `inactive` of the request property `status`
  - removed the enum value `radio` of the request property `input_type`
  - removed the enum value `text` of the request property `input_type`
  - the `input_type` request property type changed from `string` to no type
  - the `status` request property type changed from `string` to no type
  - the response property `code` became optional for the status `400`
  - the `code` response's property type changed from no type to `string` for status `404`
  - the `code` response's property type changed from `string` to no type for status `400`
  - removed `#/components/schemas/SurveyResponseCadence` from the `response_cadence` request property `allOf` list
  - the endpoint scheme security `ApiKeyAuth` was added to the API
  - the endpoint scheme security `PermissionAuthenticationRequirement` was removed from the API
  - api tag `Surveys` added
  - added `#/components/schemas/SurveyInputType, subschema #2` to the `input_type` request property `anyOf` list
  - added `#/components/schemas/SurveyResponseCadence, subschema #2` to the `response_cadence` request property `anyOf` list
  - added `#/components/schemas/SurveyStatus, subschema #2` to the `status` request property `anyOf` list
  - request property `answers` list-of-types was widened by adding types `null` to media type `application/json`
  - request property `is_freeform_response_enabled` list-of-types was widened by adding types `null` to media type `application/json`
  - request property `notes` list-of-types was widened by adding types `null` to media type `application/json`
  - request property `randomize_answers` list-of-types was widened by adding types `null` to media type `application/json`
  - added the non-success response with the status `401`
  - added the non-success response with the status `422`
  - added `#/components/schemas/UpdateSurveyErrorCode` to the `code` response property `allOf` list for the response status `400`
  - removed the `answers_empty` enum value from the `code` response property for the response status `400`
  - removed the `not_enough_answers` enum value from the `code` response property for the response status `400`
  - removed the `survey_has_responses` enum value from the `code` response property for the response status `400`
- **2026-01-17** `8590daeecaea`: 1 breaking, 2 warning, 3 info
  - the `id` response's property format changed from `uuid` to no format for status `200`
  - added the new `not_enough_answers` enum value to the `code` response property for the response status `400`
  - added the new `survey_has_responses` enum value to the `code` response property for the response status `400`
  - added the new optional request property `randomize_answers`
  - for the `path` request parameter `id`, the format was generalized from `uuid` to no format
  - added the required property `randomize_answers` to the response with the `200` status
- **2025-10-15** `b366d059d1ae`: 2 info
  - added the new optional request property `input_type`
  - added the required property `input_type` to the response with the `200` status
- **2025-02-18** `7b086652e3cf`: 2 info
  - the endpoint scheme security `PermissionAuthenticationRequirement` was added to the API
  - the endpoint scheme security `AuthenticationRequirement` was removed from the API

---

[Operation](https://skmtc.dev/buttondown/apis/buttondown-api/docs/surveys/:id/patch.md) - [API](https://skmtc.dev/buttondown/apis/buttondown-api.md) - [Page](https://skmtc.dev/buttondown/apis/buttondown-api/changes/surveys/:id/patch)
