Product Status Updated

This webhook event is used to notify clients when product status information changes in Skulytics.

The product_status_updated webhook helps clients keep product availability and lifecycle status synchronized across different markets and ZIP codes without repeatedly retrieving and comparing the complete Product Status endpoint response.

This webhook may be triggered by status changes made manually through PIM or automatically after the product status scraping process is completed.

Event Type

product_status_updated

When This Webhook Is Sent

The product_status_updated webhook is sent when product status data changes.

Supported status values include:

  • Active
  • Discontinued
  • Coming Soon
  • Inactive

Event Sent

Example — Product Status Updated

{
  "type": "product_status_updated",
  "webhook_version": "3",
  "action_date": "06/20/2026 02:01:59",
  "payload": [
    {
      "product_id": 88782,
      "sku": "AEL361DFIVY",
      "markets": [
        {
          "country": {
            "country_id": 1,
            "country_name": "United States",
            "country_code": "US",
            "zipcodes": [
              {
                "zipcode": 63011,
                "status": "Discontinued",
                "date_discontinued": "12/11/2025 1:51 AM"
              }
            ]
          }
        }
      ]
    }
  ],
  "meta": {
    "changed_attributes": [
      "markets.country.zipcodes.status",
      "markets.country.zipcodes.date_discontinued"
    ]
  }
}

Payload Details

NameTypeDefinition
typestringSpecifies the webhook event type. For this event, the value is product_status_updated.
webhook_versionstringSpecifies the webhook version. For Public API v3 webhook events, the value is 3.
action_datestringThe date and time when the status update event was generated, formatted as MM/DD/YYYY HH:MM:SS.
payloadarrayAn array containing products with changed status records.
metaobjectChange-tracking information for the webhook event.
meta.changed_attributesarrayA list of status attributes whose values changed.

Product Status Object Details

NameTypeDefinition
product_idintegerUnique Skulytics product identifier.
skustringNormalized product identifier used by Skulytics.
marketsarrayMarket-level product availability and lifecycle status information.
markets[].countryobjectCountry-level status information.
markets[].country.country_idintegerUnique country identifier.
markets[].country.country_namestringCountry name, for example United States.
markets[].country.country_codestringISO country code, for example US.
markets[].country.zipcodesarrayZIP code-level product status records.
markets[].country.zipcodes[].zipcodeintegerZIP code where the product status applies.
markets[].country.zipcodes[].statusstringCurrent product status for the ZIP code. Supported values are Active, Discontinued, Coming Soon, and Inactive.
markets[].country.zipcodes[].date_discontinuedstring | nullDate when the product was discontinued for the ZIP code, when available.

Changed Attributes

The meta.changed_attributes field identifies which status data points changed.

Possible values include:

ValueDefinition
markets.country.zipcodes.statusThe product status changed for one or more ZIP code records.
markets.country.zipcodes.date_discontinuedThe discontinued date was added or updated for one or more ZIP code records.

When only the status changes, meta.changed_attributes contains:

{
  "changed_attributes": [
    "markets.country.zipcodes.status"
  ]
}

When only the discontinued date changes, meta.changed_attributes contains:

{
  "changed_attributes": [
    "markets.country.zipcodes.date_discontinued"
  ]
}

When both values change, both attributes are included.

Date Discontinued Behavior

The date_discontinued field follows these rules:

  • When the status is Discontinued, date_discontinued is returned when available.

  • When the status changes from Discontinued to Active, date_discontinued is set to null.

  • When the status changes from Discontinued to Coming Soon, date_discontinued is set to null.

  • When the status changes from Discontinued to Inactive, date_discontinued is set to null.

  • When the status changes from Discontinued to any other supported status, the existing date_discontinued value is cleared.

  • Clearing date_discontinued as part of a status change must be included in the webhook payload.

  • In this case, meta.changed_attributes must include both:

    • markets.country.zipcodes.status
    • markets.country.zipcodes.date_discontinued
  • Adding or updating date_discontinued triggers the webhook even when the status value remains unchanged.