This webhook event is used to notify clients when product feature information changes in Skulytics.
The product_feature_updated webhook helps clients keep product features synchronized with Skulytics.
When product feature data changes, Skulytics sends this webhook with the complete latest Product Features payload for the affected product.
The webhook does not return only the feature that changed. Instead, it returns the complete current product_feature collection after the change has been applied.
Clients can use meta.changed_attributes to identify that the product_feature collection changed.
Event Type
product_feature_updated
When This Webhook Is Sent
The product_feature_updated webhook is sent when product feature data changes.
Changes may include:
- A feature is added.
- A feature is removed.
- A feature name changes.
- A feature description changes.
- A feature URL changes.
- The number of product features changes.
- The feature collection changes.
The webhook is not sent when the latest feature data is identical to the existing feature data.
The detailed trigger behavior for PIM and scraping processes is handled separately from this webhook specification.
Supported Feature Type
The webhook supports changes to:
product_feature
Event Sent
Example — Product Feature Updated
{
"type": "product_feature_updated",
"webhook_version": "3",
"action_date": "06/20/2026 02:01:59",
"payload": [
{
"product_id": 989,
"sku": "GNE27JYMFS",
"product_feature": [
{
"feature": "Fingerprint Resistant Stainless",
"description": "Easily wipe away smudges and fingerprints for a look that's always sparkling clean",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847515.webp"
},
{
"feature": "27.0 cu. ft. capacity",
"description": "Easily store large or bulk food items with three full-width shelves and large capacity",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847516.webp"
},
{
"feature": "Internal water dispenser",
"description": "Delivers filtered water with one touch",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847517.webp"
},
{
"feature": "Factory-installed icemaker with water filtration system",
"description": "Refrigerator comes ready to automatically create filtered ice",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847518.webp"
},
{
"feature": "LED lighting",
"description": "Find exactly what you’ve been looking for under crisp, clear lighting",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847519.webp"
},
{
"feature": "Spill-proof shelves",
"description": "A variety of shelf configurations provide additional options for food storage",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847520.webp"
},
{
"feature": "Two humidity-controlled drawers and full-width drawer",
"description": "Create the right environment for keeping fruits and vegetables fresh, while easily storing wider items like a party platter or a sheet cake",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847521.webp"
},
{
"feature": "Quick Space shelf",
"description": "Quickly slides out of the way to make room for tall items",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847522.webp"
},
{
"feature": "Internal controls with actual-temperature setting display",
"description": "Eliminate the guesswork of temperature setting with actual degrees displayed digitally",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847523.webp"
},
{
"feature": "Advanced water filtration",
"description": "The included refrigerator water filter reduces 50+ impurities including lead, chlorine, microplastics, and PFOA/PFOS; providing clean, safe drinking water and ice (replacement water filters sold separately - check refrigerator filter compartment for compatible model)",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847524.webp"
},
{
"feature": "Gallon door storage",
"description": "Deep bins handle large containers in the door and free up valuable shelf space",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847525.webp"
},
{
"feature": "Two-level freezer storage baskets",
"description": "Baskets allow easy access to frozen foods",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847526.webp"
},
{
"feature": "Door alarm",
"description": "Enjoy peace of mind knowing the refrigerator door is never left open",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847527.webp"
},
{
"feature": "Enhanced Shabbos Mode",
"description": "The Shabbos Keeper connects to your refrigerator to automatically enable Shabbos compatible modes each week and before every holiday (Shabbos Keeper sold separately, visit www.zmantechnologies.com for details)",
"url": "https://assets.skulytics.io/assets/images/GNE27JYMFS-254847528.webp"
}
],
"date_modified": "6/16/2026 6:04 AM"
}
],
"meta": {
"changed_attributes": [
"product_feature"
]
}
}Payload Behavior
When the webhook is sent, the payload contains the complete latest Product Features data for the affected product.
The webhook does not return only the feature that was added, removed, or updated.
The product_feature array always represents the latest current state of the product's feature collection at the time the webhook is generated.
For example:
- If a product previously has 10 features and 1 feature is deleted, the webhook returns the remaining 9 current features.
- If a product has 10 features and the name of 1 feature changes, the webhook returns all 10 current features.
- If a product has 10 features and the description of 1 feature changes, the webhook returns all 10 current features.
- If a product has 10 features and the URL of 1 feature changes, the webhook returns all 10 current features.
- If a new feature is added to a product that previously had 10 features, the webhook returns all 11 current features.
- Features that did not change remain included in the payload.
- Features that were deleted are no longer included in the payload.
Clients should use the returned product_feature array as the complete latest feature state for the product rather than treating the payload as a list of individual feature changes.
The meta.changed_attributes field indicates that the product_feature collection changed, but it does not identify the specific feature record or feature field that changed.
Empty Feature Behavior
The product_feature field is returned as an array.
When no product features are available, the field returns an empty array:
{
"product_feature": []
}For example, if the last remaining feature is removed, the latest payload includes:
{
"product_id": 989,
"sku": "GNE27JYMFS",
"product_feature": [],
"date_modified": "06/20/2026 02:01 PM"
}Removing the last feature is considered a product feature update and can trigger the webhook.
Payload Details
| Name | Type | Definition |
|---|---|---|
| type | string | Specifies the webhook event type. For this event, the value is product_feature_updated. |
| webhook_version | string | Specifies the webhook version. For Public API v3 webhook events, the value is 3. |
| action_date | string | The date and time when the feature update event was generated, formatted as MM/DD/YYYY HH:MM:SS. |
| payload | array | An array containing the complete latest Product Features data for the affected product. |
| meta | object | Change-tracking information for the webhook event. |
| meta.changed_attributes | array | Identifies which supported feature collection changed. For this webhook, the value is product_feature. |
Product Feature Object Details
| Name | Type | Definition |
|---|---|---|
| product_id | integer | Unique Skulytics product identifier. |
| sku | string | Normalized product identifier used by Skulytics. |
| product_feature | array | Complete latest collection of current product feature records. |
| date_modified | string | Date and time when the product feature data was last modified. |
Product Feature Details
| Name | Type | Definition |
|---|---|---|
| product_feature[].feature | string | The feature name or title describing a product capability, characteristic, or selling point. |
| product_feature[].description | string | null | Additional description or explanation of the product feature, when available. |
| product_feature[].url | string | null | URL of the image or media asset associated with the product feature, when available. |
The complete latest product_feature array is included whenever the webhook is sent.
Changes to product_feature may include:
- A feature is added.
- A feature is removed.
- A feature name changes.
- A feature description changes.
- A feature URL changes.
- The number of features changes.
- The feature collection changes.
When any of these changes occur, meta.changed_attributes includes:
product_feature
Changed Attributes
The meta.changed_attributes field identifies which supported feature collection changed.
For the product_feature_updated webhook, the supported value is:
| Value | Definition |
|---|---|
| product_feature | The product feature collection, feature name, description, URL, or quantity changed. |
The changed-attribute path stops at the feature collection level.
Regardless of which feature record or field changes, meta.changed_attributes contains only:
{
"meta": {
"changed_attributes": [
"product_feature"
]
}
}More detailed changed-attribute paths are not returned.
For example, the webhook does not return:
product_feature.feature
product_feature.description
product_feature.url
