Update a product input
update_product_inputUpdate specific product attributes like price or availability without resending the entire product input. Sparse-updates only the fields you specify to reduce payload.
Instructions
Sparse-updates an existing product input — the cheap way to change price or availability without re-sending the whole product. data_source must be the source holding the input. update_mask is a comma-separated list of attribute paths (e.g. "productAttributes.price,productAttributes.availability"); when omitted, all populated fields of the request are applied. Returns the updated ProductInput; the processed product refreshes after async processing (minutes). To create a product or replace it wholesale use insert_product_input.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Merchant Center account ID (digits, e.g. "123456"). Omit to use the GOOGLE_MERCHANTS_ACCOUNT_ID default. | |
| data_source | Yes | Data source: numeric ID (e.g. "104628") or full name "accounts/{account}/dataSources/{id}". Product/promotion writes require an API-type data source (input: API), not a file feed. | |
| update_mask | No | Comma-separated attribute paths to update, e.g. "productAttributes.price". Omit to apply every populated field of this request. | |
| product_input | Yes | Product input ID: "contentLanguage~feedLabel~offerId" or the base64url name. | |
| version_number | No | Optional int64 freshness guard (as a string). | |
| custom_attributes | No | Custom (non-standard) attributes as {name, value} pairs. | |
| product_attributes | No | Product attributes to change (camelCase), e.g. {"price": {"amountMicros": "8990000", "currencyCode": "USD"}, "availability": "out_of_stock"}. |