---
title: "Update SKU"
method: PUT
path: "/v1/products/{productId}/skus/{skuId}"
tags: ["Products"]
---

# Update SKU

`PUT /v1/products/{productId}/skus/{skuId}`

## Request

- Base URL: `https://api.voucherify.io`
- URL: `https://api.voucherify.io/v1/products/{productId}/skus/{skuId}`
- Auth: one of:
  - API key in header `X-App-Id` and API key in header `X-App-Token`
  - OAuth 2
    - Implicit: `https://api.voucherify.io/v1/oauth/token`
    - Scopes: `api`, `products`

Updates the specified SKU by setting the values of the parameters passed in the request body. Any parameters not provided in the payload will be left unchanged.

Fields other than the ones listed in the request body schema won't be modified. Even if provided, they will be silently skipped.

## Request body

- ProductsSkusUpdateRequestBody: Request body schema for **PUT** `v1/products/{productId}/skus/{skuId}`.
  - `sku` string: Unique user-defined SKU name.
  - `price` integer: SKU unit price. The value is multiplied by 100 to represent 2 decimal places. For example `10000 cents` for `$100.00`.
  - `currency` string: SKU price currency.
  - `attributes` object: The attributes object stores values for all custom attributes inherited by the SKU from the parent product. A set of key/value pairs that are attached to a SKU object and are unique to each SKU within a product family.
  - `image_url` string: The HTTPS URL pointing to the .png or .jpg file that will be used to render the SKU image.
  - `metadata` object: The metadata object stores all custom attributes assigned to the SKU. A set of key/value pairs that you can attach to a SKU object. It can be useful for storing additional information about the SKU in a structured format.

## Response `200`

Returns the SKU object with the updated parameters.

- ProductsSkusUpdateResponseBody: This is an object representing a product SKU.
  - `id` string, required: A unique identifier that represents the SKU and is assigned by Voucherify.
  - `source_id` string, nullable, required: A unique SKU identifier from your inventory system.
  - `product_id` string, required: The parent product's unique ID.
  - `sku` string, nullable, required: Unique user-defined SKU name.
  - `price` integer, nullable, required: Unit price. It is represented by a value multiplied by 100 to accurately reflect 2 decimal places, such as `$100.00` being expressed as `10000`.
  - `currency` string, nullable: SKU price currency.
  - `attributes` object, required: The attributes object stores values for all custom attributes inherited by the SKU from the parent product. A set of key/value pairs that are attached to a SKU object and are unique to each SKU within a product family.
  - `image_url` string, nullable, required: The HTTPS URL pointing to the .png or .jpg file that will be used to render the SKU image.
  - `metadata` object, required: The metadata object stores all custom attributes assigned to the SKU. A set of key/value pairs that you can attach to a SKU object. It can be useful for storing additional information about the SKU in a structured format. It can be used to create product collections.
  - `created_at` string, date-time, required: Timestamp representing the date and time when the SKU was created. The value is shown in the ISO 8601 format.
  - `updated_at` string, date-time, nullable, required: Timestamp representing the date and time when the SKU was updated. The value is shown in the ISO 8601 format.
  - `object` 'sku', required: The type of the object represented by JSON. This object stores information about the `SKU`.

---

[API](https://skmtc.dev/voucherifyio/apis/voucherify-api-async-actions.md) - [All operations](https://skmtc.dev/voucherifyio/apis/voucherify-api-async-actions/llms.txt) - [OpenAPI document](https://skmtc.dev/voucherifyio/apis/voucherify-api-async-actions/revisions/4982266e0494?raw)
