Skip to main content
POST
Update or Create Product

Why use update-create?

Update expands the functionality of Add Product by first searching for an existing product with the provided external_id If a product sharing the same external_id is found, update the existing product with the provided data. Thehandle is removed if provided as part of the payload If no product is found with a matching external_id, create the product instead. This endpoint can save a call to the Browse Products or Read Product endpoints to first check if the product exists. With product variants attached to the product, a similar lookup is performed, except using the variants sku instead. If running an update-create on a product, and the product has matched by external_id the importer will then attempt to match variants on the matched product by sku. In a similar way to the master product, the variants will be updated or created according to the provided data on the update-create request

Payload

Provide an identical payload to if you were creating a new product with Add Product

Body

application/json
title
string
required
handle
string
required
external_id
string
required
brand
string
required
variants
object[]
required
Minimum array length: 1
type
enum<string> | null
Available options:
appointment,
simple,
configurable,
downloadable,
gift,
bundle,
voucher,
service,
subscription
status
enum<string>
Available options:
new,
active,
rundown,
discontinued,
ranged,
deleted,
archived,
draft
description
string | null
web_url
string | null
currency
string | null
position
integer
systems
string[]
Minimum array length: 1
channels
string[]
Minimum array length: 1
tags
string[]
images
object[]

Response

Product

data
Product · object
required