---
search:
  tags:
    - Variants
    - PUT
seo:
  description: >-
    Creates a new price… Reference for the PUT
    /api/v1/{team_slug}/{app_slug}/products/{product_id}/variants/{variant_id}/prices
    endpoint in the Management API.
sidebar:
  label: Create or update variant price
  badge: PUT
title: Create or update variant price
type: openapi-operation
---
Creates a new price or updates an existing price for a product variant in a specific market and store group.

`PUT /api/v1/{team_slug}/{app_slug}/products/{product_id}/variants/{variant_id}/prices`

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

Price data including market, store group, and pricing details

- `amount_cents_with_tax` (integer)
- `dont_update_price_if_on_sale` (boolean) — Used to prevent overwriting price if on\_sale.
- `market_slug` (string, required)
- `on_sale` (boolean)
- `reference_price_with_tax` (integer)
- `sale_end_timestamp` (string)
- `sale_price_with_tax` (integer)
- `sale_start_timestamp` (string)
- `status` (github_com_enadhq_nabbit_internal_pkg_webserver_models.PriceStatus, required)
- `store_group_slug` (string, required)

Request body example:

```json
{
  "amount_cents_with_tax": 0,
  "dont_update_price_if_on_sale": true,
  "market_slug": "string",
  "on_sale": true,
  "reference_price_with_tax": 0,
  "sale_end_timestamp": "string",
  "sale_price_with_tax": 0,
  "sale_start_timestamp": "string",
  "status": "active",
  "store_group_slug": "string"
}
```

**Responses**

- `200` — Created or updated price with store group and market details
- `400` — Invalid request (e.g. bad UUID, validation error)
- `401` — Unauthorized access
- `500` — Internal server error

Response example, 200:

```json
{
  "data": {
    "amount_cents_with_tax": 0,
    "created_at": "string",
    "id": "string",
    "market": {
      "active": true,
      "country_codes": [
        "string"
      ],
      "created_at": "string",
      "currency_code": "string",
      "id": "string",
      "locale": "string",
      "name": "string",
      "slug": "string",
      "updated_at": "string"
    },
    "on_sale": true,
    "reference_price_with_tax": 0,
    "sale_end_timestamp": "string",
    "sale_price_with_tax": 0,
    "sale_start_timestamp": "string",
    "status": "active",
    "store_group": {
      "country_of_sale": "string",
      "created_at": "string",
      "description": "string",
      "id": "string",
      "name": "string",
      "slug": "string",
      "store_type": "string",
      "updated_at": "string"
    },
    "updated_at": "string"
  },
  "details": [
    "string"
  ],
  "success": true
}
```
