Update product
Updates an existing product. Variants and options on the request are upserted by ID. Requires the PRODUCTS_WRITE scope.
https://api.pandabase.io/v2/core/stores/{storeId}/products/{productId} Authentication
Requires a bearer token (sk_…) or an API key in the header Authorization.
Path parameters
storeId string required (length 12–48)
productId string required (length 12–48)
Header parameters
idempotency-key string (length 8–32)
Body parameters
title string (length 1–256)
subtitle string or null No description.
description string or null No description.
productType enum No description.
price integer (range 0–∞)
compareAtPrice integer or null No description.
images array of string No description.
message string or null No description.
inStock boolean No description.
fulfillmentMode enum or null No description.
pricingModel enum No description.
status enum No description.
minimumPrice integer or null No description.
maxPerCustomer integer or null No description.
availableFrom date-time or null No description.
availableUntil date-time or null No description.
downloadUrl string or null No description.
redirectUrl string or null No description.
keyFormat enum or null No description.
customPrefix string or null No description.
maxActivations integer or null No description.
licenseDuration enum or null No description.
revokeOnRefund boolean No description.
lowStockThreshold integer or null No description.
webhookUrl string or null No description.
webhookSecret string or null No description.
billingInterval enum or null No description.
billingAnchor enum or null No description.
trialDays integer or null No description.
licenseKeys array of string No description.
variants array of object No description.
options array of object No description.
categoryIds array of string No description.
Response 200
Default Response
ok enum required (one of true)
data object required No description.
Response 400
Default Response
ok enum required (one of false)
error string required No description.
curl -X PATCH https://api.pandabase.io/v2/core/stores/:storeId/products/:productId \ -H "Content-Type: application/json" \ -d '{"title":"string","subtitle":"string","description":"string","productType":"SUBSCRIPTION","price":0,"compareAtPrice":0,"images":["string"],"message":"string","inStock":true,"fulfillmentMode":"MANAGED_LICENSE","pricingModel":"STANDARD","status":"DRAFT","minimumPrice":0,"maxPerCustomer":0,"availableFrom":"2024-01-01T00:00:00Z","availableUntil":"2024-01-01T00:00:00Z","downloadUrl":"string","redirectUrl":"string","keyFormat":"ALPHANUMERIC","customPrefix":"string","maxActivations":0,"licenseDuration":"THIRTY_DAYS","revokeOnRefund":true,"lowStockThreshold":0,"webhookUrl":"string","webhookSecret":"string","billingInterval":"WEEKLY","billingAnchor":"IMMEDIATELY","trialDays":0,"licenseKeys":["string"],"variants":[{"id":"string","title":"string","slug":"string","description":"string","sku":"string","options":null,"price":0,"compareAtPrice":0,"images":["string"],"inStock":true,"quantity":0,"trackStock":true,"position":0}],"options":[{"name":"string","values":["string"],"position":0}],"categoryIds":["string"]}'{ "ok": true, "data": { "id": "prd_8h4t6sqzy3x9w5n2k1m0vqbf", "title": "Pro Plan", "subtitle": "Everything you need to ship", "description": "Full access to the platform. Unlimited stores, no transaction caps.", "handle": "pro-plan", "price": 2900, "compareAtPrice": 4900, "images": [ "https://cdn.pandabase.io/products/img_xxx.jpg" ], "inStock": true, "currency": "USD", "productType": "DIGITAL", "fulfillmentMode": "LICENSE_POOL", "pricingModel": "STANDARD", "status": "ACTIVE", "minimumPrice": null, "maxPerCustomer": null, "availableFrom": null, "availableUntil": null, "revokeOnRefund": true, "options": [], "variants": [], "categories": [] }}