---
title: "Changes to Create Survey"
method: POST
path: "/surveys"
---

# Changes to Create Survey

`POST /surveys`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 7 of 43 revisions.

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

## Changes

- **2026-10-15** `3ce442cb155b`: 1 warning
  - changed the pattern of the request property `identifier` from `^[a-zA-Z0-9_-]+$` to `^[A-Za-z0-9][A-Za-z0-9_]*$`
- **2026-08-04** `bed30b2b43bc`: 2 warning
  - changed the pattern of the request property `answers/items/` from `^[ -~]*[A-Za-z0-9][ -~]*$` to `^[^\x00-\x1f\x7f-\x9f]*[^\W_][^\x00-\x1f\x7f-\x9f]*$`
  - changed the pattern of the request property `question` from `^[ -~]*[A-Za-z0-9][ -~]*$` to `^[^\x00-\x1f\x7f-\x9f]*[^\W_][^\x00-\x1f\x7f-\x9f]*$`
- **2026-07-13** `228cc05ba97d`: 1 warning, 1 info
  - changed the pattern of the request property `identifier` from `^[a-zA-Z0-9]+$` to `^[a-zA-Z0-9_-]+$`
  - added the non-success response with the status `429`
- **2026-06-07** `13f3bc084194`: 8 breaking, 3 warning, 8 info
  - the `answers` request property's minItems was increased to `2`
  - the `identifier` request property's minLength was increased from `0` to `1`
  - added the pattern `^[ -~]*[A-Za-z0-9][ -~]*$` to the request property `answers/items/`
  - added the pattern `^[ -~]*[A-Za-z0-9][ -~]*$` to the request property `question`
  - added the pattern `^[a-zA-Z0-9]+$` to the request property `identifier`
  - the response property `code` became optional for the status `400`
  - the `code` response's property type changed from no type to `string` for status `403`
  - the `code` response's property type changed from `string` to no type for status `400`
  - the `answers/items/` request property's maxLength was set to `500`
  - the `identifier` request property's maxLength was set to `100`
  - the `question` request property's maxLength was set to `500`
  - 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 the non-success response with the status `401`
  - added the non-success response with the status `422`
  - added `#/components/schemas/CreateSurveyErrorCode` to the `code` response property `allOf` list for the response status `400`
  - removed the `identifier_already_exists` 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`
- **2026-01-17** `8590daeecaea`: 1 breaking, 1 warning, 2 info
  - the `id` response's property format changed from `uuid` to no format for status `201`
  - added the new `not_enough_answers` enum value to the `code` response property for the response status `400`
  - added the new optional request property `randomize_answers`
  - added the required property `randomize_answers` to the response with the `201` 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 `201` 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/post.md) - [API](https://skmtc.dev/buttondown/apis/buttondown-api.md) - [Page](https://skmtc.dev/buttondown/apis/buttondown-api/changes/surveys/post)
