Skip to main content
PUT
Update a product

Authorizations

x-access-token
string
header
required

JWT minted from a merchant API key (mk_live_…) by POST /authenticate. Send the token value directly, with no "Bearer" prefix. Tokens last 14 days and can be renewed at POST /refresh-token; revoking the key refuses the next request made with any token minted from it.

Path Parameters

productId
string
required

A product ObjectId, a Shopify product GID or a numeric Shopify product id. Malformed is 400.

Body

application/json
title
string

Product title

Required string length: 1 - 255
Example:

"Widget Pro Deluxe v2"

descriptionHtml
string

HTML description. Send an empty string to clear it; omit it to keep the current value.

vendorId
string

Move the product to this vendor. Must be a vendor of your shop (403 otherwise); a malformed id is 400.

Example:

"507f1f77bcf86cd799439011"

productType
string

Product type/category

Maximum string length: 255
tags
string[]

Product tags (replaces existing)

Maximum array length: 250
Maximum string length: 255
status
enum<string>

Product status

Available options:
ACTIVE,
DRAFT,
ARCHIVED
handle
string

URL-friendly product handle

Maximum string length: 255
options
object[]

Product options (replaces existing)

Maximum array length: 3
variants
object[]

Product variants (replaces existing)

Maximum array length: 100
metafields
object[]

Custom metafields (replaces existing)

seo
object

SEO settings

category
string

Product category/collection

templateSuffix
string

Custom template suffix

images
object[]

Product images (replaces existing on update)

Maximum array length: 250
medias
object[]

Digital files for download after purchase. On update, omit to keep existing files.

Maximum array length: 250
vendor
string

Vendor display name on the Shopify product

brandName
string

Brand name

collections
string[]

Shopify collection ids. The list replaces the product's collections: any collection not in it is removed. Omit the field to keep the current collections, or send [] to remove the product from all of them.

Maximum array length: 250
Minimum string length: 1
isDigital
boolean

Marks the product as a digital product (use with medias)

Response

Updated

success
enum<boolean>
Available options:
true
data
object