OpenAPI 3.1.02026-08-143874115.7 MB

a84d4905fdbb

Products

Product Created

Sent when a product is created

Required permissions:

  • access_pass:basic:read
  • webhook_receive:products
postWebhookproduct.created

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

api_version'v1' required

The API version for this webhook

api_version_datestring nullable required

The dated API version (Api-Version-Date) the payload is serialized to

company_idstring nullable

The account ID that this webhook event is associated with

idstring required

A unique ID for every single webhook request

timestampstring date-time required

The timestamp in ISO 8601 format that the webhook was sent at on the server

type'product.created' required

The webhook event type

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.created"
}

Response

Return a 200 status to indicate that the data was received successfully