Update product
Updates local reusable base data.
This PATCH changes only the local base record. It does not call the marketplace, change observed, or publish any listing as a side effect. After changing an inherited field, inspect affected Listings' resolved data and publish only the ones you choose.
PATCH is partial at the top level: omitting identity, attributes, physical, fiscal, compliance, media, or metadata preserves its current value. However, when you send a field such as content or attributes, send a complete valid representation — content.title remains required — because that field replaces the Product object rather than merging its inner keys.
Use status: "archived" only as a lifecycle transition. To archive, no Variant of the Product may remain bound to a Listing; the endpoint returns a conflict until those bindings are deliberately removed.
Common errors
409 CONFLICTwithdetails.reasonequal tovariant_archivedorproduct_archived: when reactivating an archived kit (status: "active"), a Variant of its BOM was archived, or is active in an archived product. Remove it from the BOM first (PUT /v1/products/{id}/components).409 CONFLICTwithdetails.reasonequal toproduct_in_kitorproduct_in_use: archiving a product that an active kit or a listing binding still uses.
api_keyAuthorizationBearer <token>API key (mk_...)
productId*string^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidapplication/json- body
Fields to change in a product. Omitted fields stay unchanged.
content?Reusable product content. A listing may inherit or override it.
identity?Canonical product identity fields and typed identifiers.
attributes?array<>Typed canonical product attributes.
items <= 200physical?Product-level dimensions, weight and package quantity.
fiscal?Brazilian fiscal product data.
compliance?Safety and regulatory compliance declarations.
metadata?Customer-owned metadata that MarketAPI does not interpret.
media?array<>Ordered references to product media assets.
items <= 100status?stringNew product lifecycle state.
"active""archived"The product after the local change. It was not published.
application/json- response
A reusable product base, independent of marketplace listings.
id*stringProduct identifier.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidsellerId*stringSeller that owns this product.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidstatus*stringLifecycle state of the product.
"active""archived"content*Reusable product content.
identity*Reusable identity fields.
attributes*array<>Typed product attributes.
items <= 200physical*|Product-level physical data, if any.
fiscal*Brazilian fiscal product data.
compliance*Safety and regulatory compliance declarations.
metadata*Customer-owned product metadata.
media*array<>Ordered product media.
createdAt*stringWhen the product was created.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$date-timeupdatedAt*stringWhen the product was last changed.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$date-timecurl -X PATCH "https://example.com/v1/products/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "a0f0ce59-5d17-49bf-8b45-d1dc057daab4", "sellerId": "3d1c8a52-7f0e-4b0a-8a65-9c1b2f6d7e01", "status": "active", "content": { "title": { "pt-BR": "iPhone 16" } }, "identity": { "brand": "Apple", "model": "iPhone 16" }, "attributes": [], "physical": null, "fiscal": {}, "compliance": { "certifications": [], "warnings": [] }, "metadata": {}, "media": [], "createdAt": "2026-10-10T12:00:00.000Z", "updatedAt": "2026-10-10T12:00:00.000Z"}