The ProductCreate event fires each time a new product is saved to a sub-account’s catalog. The payload includes the full product definition — name, type, variants, media assets, and availability — enabling you to sync product catalogs to external platforms, invalidate caches, or trigger merchandising workflows automatically.
Payload
| Field | Type | Description |
|---|
_id | string | Unique identifier for the product |
locationId | string | Sub-account ID where the product was created |
name | string | Display name of the product |
description | string | Full 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 created the product |
variants | array | Variant dimensions defined for the product (e.g., Size, Color), each with an id, name, and options array |
variants[].id | string | Unique identifier for the variant dimension |
variants[].name | string | Variant dimension name (e.g., "Size") |
variants[].options | array | Available options for this variant, each with an id and name |
medias | array | Media assets attached to the product (images or videos) |
medias[].id | string | Unique identifier for the media asset |
medias[].title | string | File name or title of the media asset |
medias[].url | string | Public URL of the media asset |
medias[].type | string | Media type (e.g., image, video) |
medias[].isFeatured | boolean | Whether this asset is the primary/featured image |
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 created |
updatedAt | string | ISO 8601 timestamp of the most recent update |
Example payload
{
"_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/ghl-test/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/ghl-test/3SwdhCsvxI8Au3KsPJt6/media/65af8d5df88bdb4b1022ee90.png"
}
Last modified on March 4, 2026