get_value_mapping_inputs
Get the inputs needed to build a value-mapping rule (Attribute Rule) that remaps a source attribute's values onto a target attribute's allowed set (e.g. store colours → the channel's accepted colour list). Works for BOTH a feed and a marketplace/ad. This is for value→value MAPPING (the map_attribute_value operation); to just assign ONE fixed value from an attribute's option list (a "Set option") use get_attribute_options instead. Returns {sourceValues:[{value, label}], targetAllowedValues:[{value, label}], alreadyMapped:[{search, replace}], hasMore, nextOffset}. sourceValues are the distinct values of source_attribute_code in the store; targetAllowedValues are the values target_attribute_code accepts on the target; alreadyMapped are the pairs already configured. YOU propose the search→replace pairs from these two lists — this tool runs no AI and never writes. Apply the pairs by adding a map_attribute_value operation (arguments search/replace) to the rule via create_rule / update_rule, then attach the rule (map_feed_attribute / map_marketplace_attribute / map_ad_attribute with rule_id); values you leave unmapped pass through unchanged for the user to finish manually. search/replace on the map_attribute_value op you build from these are arrays of {value:''} objects paired by index (NOT plain strings). Pass only_unmapped:true to get only source values that still need a pair; page with offset (from nextOffset) while hasMore is true. TARGET: pass EXACTLY ONE of feed_id (a feed, from list_feeds) or integration_id (a marketplace/ad — the marketplace_id/ad_id from list_marketplaces / list_ads); integration_id resolves the integration's attributes. The attribute codes come from get_feed / get_marketplace_attributes / get_ad_attributes / list_source_attributes. project_id is OPTIONAL (inferred for a single-project customer; project_id_required otherwise — then call list_projects). This tool returns real store data values only after you set acknowledge_sensitive:true. The first call (flag absent/false) returns {sensitiveGate:{confirmationRequired:true, itemCount, fields, kind}} with the sourceValues / alreadyMapped arrays EMPTY — present that gate to the USER, get their approval, then re-call with acknowledge_sensitive:true to receive the actual values.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| offset | No | Pagination cursor: pass the previous response's nextOffset to fetch the next page (default 0). | |
| feed_id | No | Target a feed (from list_feeds). Pass exactly one of feed_id or integration_id. | |
| project_id | No | ||
| only_unmapped | No | When true, return only source values that still need a search→replace pair (skip already-mapped ones); default false. | |
| integration_id | No | Target a marketplace/ad — the marketplace_id or ad_id from list_marketplaces / list_ads. Pass exactly one of feed_id or integration_id. | |
| acknowledge_sensitive | No | Set true only AFTER the user approves seeing real data. When absent/false the tool returns a sensitiveGate with sourceValues / alreadyMapped empty; with true it returns the actual values. | |
| source_attribute_code | Yes | ||
| target_attribute_code | Yes |