---
title: "Update quiz"
method: PATCH
path: "/v1/quizzes/{quiz_id}"
tags: ["Quizzes"]
---

# Update quiz

`PATCH /v1/quizzes/{quiz_id}`

**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).**
For authenticating with Bearer token, required scopes are: `quizzes(w)`.

Update a quiz. Data sent through the request body will be merged with existing quiz. Full validation (e.g. logic) will be performed over the merged quiz.

## Path parameters

- `quiz_id` string, required

## Query parameters

- `key` string, required — The key of the index to use.
- `section` string — The section of the index to use. Defaults to `Products`.

## Request body

- QuizPatchRequestBody
  - `display_name` string — Name of the quiz to be displayed to end users
  - `active` boolean — Identifies whether quiz should be displayed or not
  - `logic` object — Logic that is used when going through quiz
  - `questions` union[] — A list of questions of the quiz
    - union
      - SingleQuestion
        - `title` string, required — Title of the question.
        - `question_type` 'single', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `question_key` string, uuid — Unique ID of the question
        - `options` Option[], required — A list of options of the quiz.
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `option_key` string, uuid — Unique ID of the option
        - `priority` integer, required — Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last.
      - MultipleQuestion
        - `title` string, required — Title of the question.
        - `question_type` 'multiple', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `question_key` string, uuid — Unique ID of the question
        - `attribute_condition` 'and' | 'or', required
        - `options` Option[], required — A list of options of the quiz.
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `option_key` string, uuid — Unique ID of the option
        - `priority` integer, required — Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last.
      - SingleFilterValueQuestion
        - `title` string, required — Title of the question.
        - `question_type` 'single_filter_value', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `question_key` string, uuid — Unique ID of the question
        - `options` Option[]
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `option_key` string, uuid — Unique ID of the option
        - `filter_name` string, required — Name of the filter to use for this question.
        - `priority` integer, required — Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last.
        - `filter_sort_option` 'most_matching_products' | 'alphanumeric_asc' | 'alphanumeric_desc'
        - `excluded_filter_values` string[] — List of filter values to exclude from being displayed to users
      - MultipleFilterValuesQuestion
        - `title` string, required — Title of the question.
        - `question_type` 'multiple_filter_values', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `question_key` string, uuid — Unique ID of the question
        - `attribute_condition` 'and' | 'or', required
        - `options` Option[]
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `option_key` string, uuid — Unique ID of the option
        - `filter_name` string, required — Name of the filter to use for this question.
        - `priority` integer, required — Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last.
        - `filter_sort_option` 'most_matching_products' | 'alphanumeric_asc' | 'alphanumeric_desc'
        - `excluded_filter_values` string[] — List of filter values to exclude from being displayed to users
      - OpenQuestion
        - `title` string, required — Title of the question.
        - `question_type` 'open', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `question_key` string, uuid — Unique ID of the question
        - `options` Option[]
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `option_key` string, uuid — Unique ID of the option
        - `input_placeholder` string — Placeholder for open-text question input.
      - CoverQuestion
        - `title` string, required — Title of the question.
        - `question_type` 'cover', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `question_key` string, uuid — Unique ID of the question
        - `options` Option[]
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `option_key` string, uuid — Unique ID of the option
      - FreeFormQuestion
        - `title` string, required — Title of the question.
        - `question_type` 'free_form', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `question_key` string, uuid — Unique ID of the question
        - `options` Option[]
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `option_key` string, uuid — Unique ID of the option
        - `input_placeholder` string — Placeholder for free-form question input.
  - `results_config` ResultsConfig
    - `desktop` DeviceConfig, required
      - `title` TitleConfig
        - `text` string, required
        - `is_active` boolean, required
      - `description` DescriptionConfig
        - `text` string, required
        - `is_active` boolean, required
      - `response_summary` ResponseSummaryConfig
        - `text` string, required
        - `is_active` boolean, required
        - `items_separator` string, required
        - `last_separator` string, required
  - `metadata_json` object — Metadata related to the quiz and its questions.
  - `pre_filter_expression` object — Pre-filter expression to be applied to all questions.

## Response `200`

OK

- QuizPatchResponse
  - `display_name` string, required — Name of the quiz to be displayed to end users
  - `active` boolean — Identifies whether quiz should be displayed or not
  - `id` string, required — ID of the quiz.
  - `questions` union[] — A list of questions of the quiz
    - union
      - SingleQuestionResponse
        - `title` string, required — Title of the question.
        - `question_type` 'single', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `key` string, uuid — Unique ID of the question
        - `attribute_condition` string, nullable — Always `null`
        - `options` OptionResponse[], required — A list of options of the quiz.
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `key` string, uuid — Unique ID of the option
        - `priority` integer, required — Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last.
        - `input_placeholder` string, nullable — Always `null`
        - `filter_name` string, nullable — Always `null`
        - `filter_sort_option` string, nullable — Filter sort option. Always `null` for single type questions
      - MultipleQuestionResponse
        - `title` string, required — Title of the question.
        - `question_type` 'multiple', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `key` string, uuid — Unique ID of the question
        - `attribute_condition` 'and' | 'or', required
        - `options` OptionResponse[], required — A list of options of the quiz.
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `key` string, uuid — Unique ID of the option
        - `priority` integer, required — Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last.
        - `input_placeholder` string, nullable — Always `null`
        - `filter_name` string, nullable — Always `null`
        - `filter_sort_option` string, nullable — Filter sort option. Always `null` for multiple type questions
      - SingleFilterValueQuestionResponse
        - `title` string, required — Title of the question.
        - `question_type` 'single_filter_value', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `key` string, uuid — Unique ID of the question
        - `attribute_condition` string, nullable — Always `null`
        - `options` OptionResponse[]
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `key` string, uuid — Unique ID of the option
        - `filter_name` string, required — Name of the filter to use for this question.
        - `priority` integer, required — Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last.
        - `input_placeholder` string, nullable — Always `null`
        - `filter_sort_option` 'most_matching_products' | 'alphanumeric_asc' | 'alphanumeric_desc'
        - `excluded_filter_values` string[] — List of filter values to exclude from being displayed to users
      - MultipleFilterValuesQuestionResponse
        - `title` string, required — Title of the question.
        - `question_type` 'multiple_filter_values', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `key` string, uuid — Unique ID of the question
        - `attribute_condition` 'and' | 'or', required
        - `options` OptionResponse[]
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `key` string, uuid — Unique ID of the option
        - `filter_name` string, required — Name of the filter to use for this question.
        - `priority` integer, required — Defines which question's attributes should be dropped first in case of 0 results. The lower the number, the higher priority it has. E.g. if 0 results received, question's attributes with priority 10(lowest) will be dropped first hence question's attributes with priority 1(highest) will be dropped last.
        - `input_placeholder` string, nullable — Always `null`
        - `filter_sort_option` 'most_matching_products' | 'alphanumeric_asc' | 'alphanumeric_desc'
        - `excluded_filter_values` string[] — List of filter values to exclude from being displayed to users
      - OpenQuestionResponse
        - `title` string, required — Title of the question.
        - `question_type` 'open', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `key` string, uuid — Unique ID of the question
        - `options` OptionResponse[]
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `key` string, uuid — Unique ID of the option
        - `attribute_condition` string, nullable — Always `null`
        - `input_placeholder` string — Placeholder for open-text question input.
        - `priority` string, nullable — Always `null`
        - `filter_name` string, nullable — Always `null`
        - `filter_sort_option` string, nullable — Filter sort option. Always `null` for open type questions
      - CoverQuestionResponse
        - `title` string, required — Title of the question.
        - `question_type` 'cover', required
        - `description` string — Description of the question.
        - `is_skippable` false, required
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `key` string, uuid — Unique ID of the question
        - `options` OptionResponse[]
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `key` string, uuid — Unique ID of the option
        - `input_placeholder` string, nullable — Always `null`
        - `attribute_condition` string, nullable — Always `null`
        - `priority` string, nullable — Always `null`
        - `filter_name` string, nullable — Always `null`
        - `filter_sort_option` string, nullable — Filter sort option. Always `null` for cover type questions
      - FreeFormQuestionResponse
        - `title` string, required — Title of the question.
        - `question_type` 'free_form', required
        - `description` string — Description of the question.
        - `is_skippable` boolean — Identifies whether the question can be skipped or not
        - `cta_text` string — The name of the call-to-action button (e.g. next).
        - `images` Images
          - `primary_url` string — Primary source of the image.
          - `primary_alt` string — Alt text of the primary image.
          - `secondary_url` string — Secondary source of the image.
          - `secondary_alt` string — Alt text of the secondary image.
        - `internal_name` string — Internal name of a question, this is for internal use only.
        - `bucket_id` integer — Identifier for the bucket this question belongs to. Questions with the same bucket_id are combined using OR.
        - `key` string, uuid — Unique ID of the question
        - `options` OptionResponse[]
          - `value` string, required — Value of the option.
          - `attribute` object — Attribute expression of the option.
          - `images` Images
            - `primary_url` string — Primary source of the image.
            - `primary_alt` string — Alt text of the primary image.
            - `secondary_url` string — Secondary source of the image.
            - `secondary_alt` string — Alt text of the secondary image.
          - `key` string, uuid — Unique ID of the option
        - `attribute_condition` string, nullable — Always `null`
        - `input_placeholder` string — Placeholder for free-form question input.
        - `priority` string, nullable — Always `null`
        - `filter_name` string, nullable — Always `null`
        - `filter_sort_option` string, nullable — Filter sort option. Always `null` for free form type questions
  - `logic` object — Logic that is used when going through quiz
  - `created_at` string, date-time, required — Quiz creation date in ISO 8601 format
  - `updated_at` string, date-time, required — Last quiz update date in ISO 8601 format.
  - `results_config` ResultsConfig
    - `desktop` DeviceConfig, required
      - `title` TitleConfig
        - `text` string, required
        - `is_active` boolean, required
      - `description` DescriptionConfig
        - `text` string, required
        - `is_active` boolean, required
      - `response_summary` ResponseSummaryConfig
        - `text` string, required
        - `is_active` boolean, required
        - `items_separator` string, required
        - `last_separator` string, required
  - `metadata_json` object — Metadata related to the quiz and its questions.
  - `pre_filter_expression` object — Pre-filter expression to be applied to all questions.

## Other responses

- `400` — Validation Error
- `401` — Credentials are not passed or action is forbidden.
- `403` — The supplied token does not have the required permissions.
- `404` — Not Found
- `429` — Rate limit breached

---

[API](https://skmtc.dev/constructor/apis/autocomplete.md) · [All operations](https://skmtc.dev/constructor/apis/autocomplete/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/constructor/autocomplete/revisions/2d33330633b6/schema)
