DELETE
/v1/product-variants/{id}Deletes a product variant if it has no associated checkout items, otherwise archives it by setting status=archived. Use this endpoint to remove variants from products. Requires ProductVariantDelete permission on the variant's product organization. If the variant has checkout items, it will be archived instead of deleted to preserve historical data.
Parameters
Request parameters for this endpoint
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
| id | path | string | Required | Product variant ID to delete |
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 |
organizationId | OrganizationPubId | Public ID of the organization (resolved from internal organization_id) |
productId | ProductPubId | Public ID of the parent product (resolved from internal product_id) |
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) |
DELETE
/v1/product-variants/{id}Request
curl https://api.thesweetspot.com/v1/product-variants/id_123 \
-X DELETE \
-H "Content-Type: application/json"Response
{
"createdAt": "2026-02-04T02:21:52.186Z",
"description": "string",
"id": null,
"isWaitlisted": false,
"name": "string",
"options": null,
"price": null,
"productImages": [
null
],
"sku": "string",
"status": null,
"stripeId": "string",
"updatedAt": "2026-02-04T02:21:52.186Z",
"organizationId": "string",
"productId": "string"
}