Update product (offer) lifecycle state
update_product_stateSwitch a product between PUBLIC and HIDDEN to control storefront visibility; preserves its sold-out flag and does nothing if the state already matches.
Instructions
Rate limit: 100 requests / 10 seconds per shop. See Rate limiting.
Transitions the product between PUBLIC and HIDDEN. Use DELETE /products/{productId} to archive — ARCHIVED is not reachable here. The sold-out (available) flag is preserved; flip it via PUT /products/{productId}/availability. Idempotent: no-op if the product is already in the requested state.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | ||
| account | No | Exact private shop profile label; not a provider identity or authorization proof. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete current native JSON body; cannot mix with native body flags or payload_file. | |
| product_id | Yes | Native productId | |
| payload_file | No | Absolute regular non-symlink native JSON body file, at most1MiB. Cannot mix with payload or body flags. |