Skip to main content
PATCH

Authorizations

Authorization
string
header
required

Bearer token authentication. Accepts company-admin tokens with storefront.view for read operations and storefront.update for writes and scan triggers (legacy per-resource grants like categories.update / products.view / etc. are still accepted during the migration), required on every company operation. Storefront public operations under /api/v202604/{resource} and /api/v202604/{resource}/{slug} are unauthenticated (security: []).

Path Parameters

id
integer
required

The unique identifier of the product.

Query Parameters

lang
string

Response locale. ISO code (e.g. fr, de). When omitted, responds in the company's default locale. On the public surface, falls back to en for any translated field missing in the requested locale.

Example:

"fr"

country
string

ISO-2 country code that selects COUNTRY-RELATIVE Product pricing. Product-only — Categories and other storefront resources use filter[country] as an access-list visibility filter instead.

For Products, country drives the pricing block and each variant's variant_countries: it picks which per-country variant price and currency are rendered. On the catalog it also drops products with no active variant in the requested country. When omitted, falls back to the company's default country.

Example:

"GB"

Body

application/json
product
object
required

Product scalar and nested-association changes. The nested dam_asset_code and dam_asset_id create fields are not valid on update; append DAM relationships with top-level dam_asset_codes.

dam_asset_codes
string[]

DAM asset codes to append as Product relationships. Existing relationships remain unchanged, and repeated codes do not create duplicate relationships. This is separate from product.images_attributes, which writes the ordered gallery.

Example:

Response

The updated Product.

Shared success envelope for list / show / create / update responses: the resource payload is returned alongside a top-level integer status and meta. Composed onto each resource response via allOf.

status
integer
required
Example:

200

meta
object
required

Response metadata included on every successful response body. request_id and timestamp are always present; list endpoints also add pagination.

product
object
required

Authenticated (company-surface) Product read shape: the public ProductBase plus admin metadata never rendered on the public surface: custom_slug and, on detail responses, the ordered gallery needed to verify product image writes.