Update a product's editable fields. This is a partial update: only the fields you send with a non-null value change; any field you omit or send as null is left as-is. externalId must stay unique per organization; reusing another product's value returns 409. productCategory and productSubcategory must resolve to a supported tax code or the request returns 400. taxExempt is honored when the category is unchanged; on a recategorize the exemption is derived from the new category and the sent value is ignored, and an exempt category is always tax-exempt. source is not editable. Returns 404 if the product does not exist, is archived, or belongs to an organization your credential cannot access.
Release date, as YYYY-MM-DD. Defaults to 2026-07-21.
Target organization id (Organization-Id selector).
Target connection id; resolves to its organization.
Platform entity id; resolves to a connection's organization.
Optional source to disambiguate an Entity-Id.
The unique identifier of the product.
New stable identifier for the product. Must stay unique per organization and source; a value already used by another product returns 409 Conflict. Omit it or send null to leave it unchanged; an empty string is rejected.
New human-readable product name. Omit it or send null to leave it unchanged; an empty string is rejected.
New product description. Send an empty string to clear it. Omit it or send null to leave it unchanged.
New top-level tax category. Together with productSubcategory it resolves to a product tax code; an unrecognized pair returns 400. Omit it or send null to leave it unchanged.
DigitalMiscPhysicalServicesNew tax subcategory display label within the category (e.g. 'General Clothing'). Together with productCategory it resolves to a product tax code; an unrecognized pair returns 400. Omit it or send null to leave it unchanged; an empty string is rejected.
New approval status of the product's tax classification. ARCHIVED is not accepted here: archive a product with DELETE /products/{id}. Omit it or send null to leave it unchanged.
APPROVEDPARTIALLY_APPROVEDPENDINGEffective tax-exemption flag applied by tax calculation. Honored when the category is unchanged. On a recategorize the exemption is derived from the new category and this value is ignored; an exempt category is always tax-exempt. Omit it or send null to leave it unchanged.
Kintsugi's unique identifier for the product.
Organization the product belongs to. Send it as Organization-Id to scope a request to this product.
Display name of the organization the product belongs to. null when the organization has no name set.
Your stable identifier for the product, as supplied on create.
SKUs associated with the product. An empty list when it has none.
Derived product tax code display name.
Human-readable product name.
Product description; an empty string when the product has none.
Approval status of the product's tax classification.
APPROVEDPARTIALLY_APPROVEDPENDINGARCHIVEDDerived display category for the product's tax code.
Derived display subcategory for the product's tax code.
Effective tax-exemption flag applied by tax calculation.
Raw tax-exempt signal reported by the source system (audit). null when the source system did not report a signal, which is distinct from an explicit false.
Origin system of the product (e.g. API, SHOPIFY). Any origin outside the published values is reported as OTHER.
ACUMATICAAIRWALLEXAMAZONAPIAPPLE_APP_STOREBESTBUYBIGCOMMERCEBILL_COMBUNNYCAMPFIRECHARGEBEECHECKOUTCHAMPDEELDUALENTRYEBAYECWIDETSYFACEBOOKFAIREFRESHBOOKSGOOGLE_APP_STOREGOOGLE_EXPRESSGROUPONGUSTOHYPERLINEINSTAGRAMINTUIT_ENTERPRISE_SUITEKICKSTARTERKILL_BILLMACYSMAGENTOMAXIOMERCADO_LIBREMICROSOFT_DYNAMICS_365MODALYSTNETSUITENEWEGGNOCNOCNORDSTROMODOOOPENMETERORBORDWAYOTHERPAYPALPINTERESTPLENTYONEQUICKBOOKSRECURLYRILLETRIPPLINGSAGE-INTACCTSALESFORCESHOPIFYSHOPLINESHOPWARESQUARESPACESTRIPETARGETTIKTOKVERTEX_O_SERIESWALMARTWAYFAIRWISHWIXWOOCOMMERCEXEROZENSKARZOHOZUORAIdentifier of the connection that produced the product. null when the product was not produced by a connection (e.g. created manually).
Display name of the connection (store) that produced the product. null when the product has no connection, or the connection has no store name set.
Whether automated tax classification failed for the product. null when classification has not been attempted.
Successful Response
The request was invalid.
Authentication failed or was missing.
The credential is not permitted for this request.
The requested resource was not found.
The request conflicts with existing state.
The request failed validation.