OpenAPI 3.1.02026-08-143874115.7 MB
a84d4905fdbb
Products
Product Published
Sent when a product is published
Required permissions:
- access_pass:basic:read
- webhook_receive:products
postWebhookproduct.published
Headers
webhook-idstring required
A unique identifier for this webhook request
Example:msg_xxxxxxxxxxxxxxxxxxxxxxxx
webhook-signaturestring required
The signature of the webhook request with the webhook version prepended
Example:v1,BASE64ENCODEDSIGNATURE
webhook-timestampstring required
The timestamp in seconds since the Unix epoch that the webhook was sent at on the server
Example:1727606400
Payload
Example payload
{
"api_version": "v1",
"api_version_date": "2026-07-20",
"company_id": "biz_xxxxxxxxxxxxxx",
"data": {
"account": {
"id": "biz_xxxxxxxxxxxxxx",
"route": "biz_xxxxxxxxxxxxxx",
"title": "Shine Time Auto Detailing"
},
"created_at": "2026-01-01T12:00:00.000Z",
"custom_cta": "order_now",
"custom_cta_url": "https://shinetime.example/book",
"custom_statement_descriptor": "WHOP*SHINETIME",
"description": "Full interior extraction, leather conditioning, and an ozone odor treatment.",
"external_identifier": "SHINE-CERAMIC-01",
"gallery_images": [
{
"content_type": "image/png",
"id": "file_xxxxxxxxxxxxxx",
"url": "https://assets-2-rough.whop.com/uploads/image/2026-01-01/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
],
"global_affiliate_percentage": 10,
"global_affiliate_status": "enabled",
"headline": "Steam, shampoo, and odor removal in one visit",
"id": "prod_xxxxxxxxxxxxxx",
"marketplace_status": "not_available",
"member_affiliate_percentage": 5,
"member_affiliate_status": "enabled",
"metadata": {
"bay": "1",
"duration_hours": "4"
},
"owner_user": {
"id": "user_xxxxxxxxxxxxxx",
"name": "Marcus Webb",
"username": "marcuswebb"
},
"product_tax_code": {
"id": "ptc_xxxxxxxxxxxxxx",
"name": "General - Digital Goods",
"product_type": "digital"
},
"route": "interior-deep-clean",
"title": "Interior Deep Clean",
"updated_at": "2026-01-01T12:00:00.000Z",
"visibility": "visible"
},
"id": "msg_xxxxxxxxxxxxxxxxxxxxxxxx",
"timestamp": "2025-01-01T00:00:00.000Z",
"type": "product.published"
}Response
Return a 200 status to indicate that the data was received successfully