---
search:
  tags:
    - Variants
    - POST
seo:
  description: >-
    Updates multiple existing variants in a single request (does not create new…
    Reference for the POST /variants/updaters endpoint in the Bolder API v2.
sidebar:
  label: Batch update variants
  badge: POST
title: Batch update variants
type: openapi-operation
---
Updates multiple **existing** variants in a single request (does not create new variants). Each entry in `batch` must include `id` to match an existing variant; a batch may mix variants of **different products**, as long as they all belong to the same seller. Up to 50 entries per request, with no repeated `id`s.

`id` is either the numeric variant ID or the SKU — the mode is decided by the **first** entry (numeric → all entries are matched by ID, otherwise all by SKU), so don't mix both in the same batch. Entries that don't match a variant of the seller (unknown ID/SKU, or a variant owned by another seller) are silently skipped: the response is still `201` and they simply don't appear in `valid_items`/`invalid_items`.

Stock fields use `available_units`/`total_units` (`units` is deprecated but still accepted).

`POST /variants/updaters`

**cURL**

```bash
curl -s -X POST -H "Authorization: Bearer $BOLDER_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"batch":[{"id":"201","regular_price":7999},{"id":"305","regular_price":8999}]}' \
  "https://api.onbolder.com/v2/variants/updaters?shop_id=1"
```

**Request body** (`application/json`, required)

- `batch` (object[], required)

Request body example:

```json
{
  "batch": [
    {
      "id": "201",
      "title": "Small",
      "regular_price": 7999
    },
    {
      "id": "305",
      "title": "Large",
      "regular_price": 8999
    }
  ]
}
```

**Responses**

- `201` — Batch processed. Check \`invalid\_items\` — a \`201\` does not mean every entry was applied.
- `422` — \`batch\` is empty, exceeds 50 entries or repeats an \`id\`; or \`shop\_id\` was omitted and could not be resolved from the token.

Response example, 201:

```json
{
  "_embedded": {
    "valid_items": [
      {
        "_links": {
          "property1": {
            "href": "string",
            "templated": true,
            "method": "get",
            "title": "string",
            "type": "string"
          },
          "property2": {
            "href": "string",
            "templated": true,
            "method": "get",
            "title": "string",
            "type": "string"
          }
        },
        "id": 0,
        "name": "string"
      }
    ],
    "invalid_items": [
      {
        "_links": {
          "property1": {
            "href": "string",
            "templated": true,
            "method": "get",
            "title": "string",
            "type": "string"
          },
          "property2": {
            "href": "string",
            "templated": true,
            "method": "get",
            "title": "string",
            "type": "string"
          }
        },
        "id": 0,
        "name": "string"
      }
    ]
  }
}
```
