> ## Documentation Index
> Fetch the complete documentation index at: https://help.hoopai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Product Update | Webhook Events

> Fires when an existing product's details are modified.

The `ProductUpdate` event fires whenever any field on an existing product is changed — including name, description, availability, variant structure, or media assets. Use this event to propagate catalog changes to external storefronts, CDN caches, or inventory systems without polling the API.

## Payload

| Field                 | Type      | Description                                                                                    |
| --------------------- | --------- | ---------------------------------------------------------------------------------------------- |
| `_id`                 | `string`  | Unique identifier for the product                                                              |
| `locationId`          | `string`  | Account ID where the product resides                                                           |
| `name`                | `string`  | Updated display name of the product                                                            |
| `description`         | `string`  | Updated product description                                                                    |
| `productType`         | `string`  | Product category type (e.g., `PHYSICAL`, `DIGITAL`, `SERVICE`)                                 |
| `availableInStore`    | `boolean` | Whether the product is visible and purchasable in the storefront                               |
| `userId`              | `string`  | ID of the user who last updated the product                                                    |
| `variants`            | `array`   | Updated variant dimensions (e.g., Size, Color), each with an `id`, `name`, and `options` array |
| `medias`              | `array`   | Updated media assets attached to the product                                                   |
| `statementDescriptor` | `string`  | Short description that appears on customer payment statements                                  |
| `image`               | `string`  | URL of the primary product image                                                               |
| `createdAt`           | `string`  | ISO 8601 timestamp when the product was originally created                                     |
| `updatedAt`           | `string`  | ISO 8601 timestamp of this update                                                              |

## Example payload

```json theme={null}
{
  "_id": "655b33a82209e60b6adb87a5",
  "description": "This is a really awesome product",
  "variants": [
    {
      "id": "38s63qmxfr4",
      "name": "Size",
      "options": [{ "id": "h4z7u0im2q8", "name": "XL" }]
    }
  ],
  "medias": [
    {
      "id": "fzrgusiuu0m",
      "title": "product-image.png",
      "url": "https://storage.googleapis.com/hoopai-assets/3SwdhCsvxI8Au3KsPJt6/media/sample.png",
      "type": "image",
      "isFeatured": true
    }
  ],
  "locationId": "3SwdhCsvxI8Au3KsPJt6",
  "name": "Awesome Product",
  "productType": "PHYSICAL",
  "availableInStore": true,
  "userId": "6YAtzfzpmHAdj0e8GkKp",
  "createdAt": "2023-11-20T10:23:36.515Z",
  "updatedAt": "2024-01-23T09:57:04.846Z",
  "statementDescriptor": "abcde",
  "image": "https://storage.googleapis.com/hoopai-assets/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
}
```

## Related

* [Product Create](/api-reference/webhooks/product-create) — fires when a new product is added
* [Product Delete](/api-reference/webhooks/product-delete) — fires when a product is removed
* [Products API](/api-reference/products/overview) — create, retrieve, and manage products programmatically
