---
title: "Update catalog variations"
method: PATCH
path: "/v2/variations"
tags: ["Variations"]
---

# Update catalog variations

`PATCH /v2/variations`

**🔐 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: `catalog(w)`.

Update variations in the catalog. If a variation does not exist, it will be created.

## Query parameters

- `key` string, required — The key of the index to use.
- `section` string, required — The section of the index to use. Defaults to `Products`.
- `on_missing` 'CREATE' — Strategy for handling records that do not exist in the system.

## Request body

- VariationsBatchRequest — Request body for batching variations.
  - `variations` Variation[], required — Array of variations to batch (1-100 variations).
    - `variation_id` string, required
    - `enriched_attributes` EnrichedAttributes, required — Enriched attributes: resolved badges and attributes keyed by name.
      - `badges` Badge[], required
        - `type` string, required
        - `display_name` string, required
        - `metadata` object
      - `attributes` object, required

## Response `202`

Accepted

- BatchAcceptedResponse — Response for accepted batching requests.
  - `message` string, required — Success message
  - `count` integer, required — Number of items/variations accepted.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `422` — Validation Error
- `429` — Too Many Requests

---

[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)
