PUT
/v1/product-variants/{id}Updates product variant details including name, price, SKU, description, images, options, and status flags. Use this endpoint to modify variant information such as pricing or availability. All fields are optional - only provided fields will be updated. Requires ProductVariantWrite permission on the variant's product organization.
Parameters
Request parameters for this endpoint
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Required | Product variant ID |
Request Body
Fields in the request body
Optional
| Name | Type | Description |
|---|---|---|
description | string | Description of the variant |
discountPercentage | number | Discount percentage applied to this variant Send null to inherit from product, omit field to leave unchanged |
inventoryQuantity | integer | Current inventory quantity. When inventory is 0 or below, new checkouts will be waitlisted. Set to -1 to disable inventory tracking (sets to null). |
isWaitlisted | boolean | Whether this variant is currently waitlisted |
name | string | Name of the product variant |
options | - | |
price | number | Price of the variant |
productImages | array<string> | URLs to product images for this variant |
sku | string | Stock keeping unit (SKU) identifier |
status | - |
Response Data
Fields returned in the response
Always Present
| Name | Type | Description |
|---|---|---|
createdAt | string (date-time) | Timestamp when the variant was created |
description | string | Description of the variant |
id | ProductVariantPubId | Public-facing unique identifier for the product variant |
isWaitlisted | boolean | Whether this variant is currently waitlisted |
name | string | Name of the variant |
options | Variant options (size, color, etc.) | |
price | Price of this variant | |
productImages | array<string> | URLs to product images for this variant |
sku | string | Stock keeping unit (SKU) identifier |
status | Status of the variant (active, inactive, or archived) | |
stripeId | string | Stripe product variant ID for payment processing |
updatedAt | string (date-time) | Timestamp when the variant was last updated |
Optional
| Name | Type | Description |
|---|---|---|
discountPercentage | - | |
externalId | string | External ID from integrated systems (Shopify, etc.) |
inventoryQuantity | integer | Current inventory quantity (None means inventory tracking is disabled) |
productYear | integer | Product model year (e.g., 2024, 2025) |
PUT
/v1/product-variants/{id}Request
curl https://api.thesweetspot.com/v1/product-variants/id_123 \
-X PUT \
-H "Content-Type: application/json" \
-d '{
"description": null,
"discountPercentage": null,
"inventoryQuantity": null,
"isWaitlisted": null,
"name": null,
"options": null,
"price": null,
"productImages": null,
"sku": null,
"status": null
}'Response
{
"createdAt": "2026-02-04T03:46:37.876Z",
"description": "string",
"discountPercentage": null,
"externalId": null,
"id": "string",
"inventoryQuantity": null,
"isWaitlisted": false,
"name": "string",
"options": [
null
],
"price": "string",
"productImages": [
"string"
],
"productYear": null,
"sku": "string",
"status": "active",
"stripeId": "string",
"updatedAt": "2026-02-04T03:46:37.876Z"
}