Skip to main content
This page lists the available topics to specify when subscribing to Webhooks and provides examples for the event data which is sent via an HTTP POST request to the webhook url. “unique_id” is deprecated and should not be used. Some payload fields contain Protected Customer Data (PCD) — personal information such as customer names, addresses, phone numbers, and email addresses. These fields are only included when the webhook subscription has Include PCD enabled; otherwise they are omitted.

Event Payloads

delivery:created

Payload
sender_name contains Protected Customer Data (PCD) for RMA deliveries and is only included when the webhook subscription has Include PCD enabled.

delivery:canceled

Payload
sender_name contains Protected Customer Data (PCD) for RMA deliveries and is only included when the webhook subscription has Include PCD enabled.

delivery:accepted

Payload
sender_name contains Protected Customer Data (PCD) for RMA deliveries and is only included when the webhook subscription has Include PCD enabled.

delivery:processed

Payload
sender_name contains Protected Customer Data (PCD) for RMA deliveries and is only included when the webhook subscription has Include PCD enabled.

delivery:exception

Payload
sender_name contains Protected Customer Data (PCD) for RMA deliveries and is only included when the webhook subscription has Include PCD enabled.

delivery:putaway

Payload
sender_name contains Protected Customer Data (PCD) for RMA deliveries and is only included when the webhook subscription has Include PCD enabled.

delivery:committed

Payload
The containers property is included on every delivery:committed and delivery:complete event, although the array can be empty. Each entry follows the existing Delivery Container Properties structure.
The webhook payload is generated asynchronously shortly after the event occurs, so containers is a snapshot of the delivery’s committed state at generation time — not the exact instant the event fired. Changes made in that brief window (for example, an overage exception approved right after commit) are reflected in the payload, so it may not byte-match a delivery.search response captured at a different moment.
Non-lot content returns lots: []. Container content and lot quantity values are formatted decimal strings, such as "12.0000". For lot-tracked content, webhook lot entries add qty_processed, qty_putaway, and qty_committed to lot_id, qty_counted, and qty_shortage. These three commit quantities are webhook-only and are not added to the delivery.search container lot response. A pending overage-only lot is omitted while all of its reported quantities are zero; after the overage is approved, the lot can appear with its processed quantity.
sender_name contains Protected Customer Data (PCD) for RMA deliveries and is only included when the webhook subscription has Include PCD enabled.

delivery:complete

delivery:complete uses the same enriched container snapshot as delivery:committed. Its existing header does not include delivery_type.
Payload
sender_name contains Protected Customer Data (PCD) for RMA deliveries and is only included when the webhook subscription has Include PCD enabled.

delivery:status_changed

Payload
sender_name contains Protected Customer Data (PCD) for RMA deliveries and is only included when the webhook subscription has Include PCD enabled.

delivery_label:created

Payload

delivery_label:voided

Payload

import:created

Payload

import:completed

Payload

inventory:adjusted

Payload
Stock adjustments are also included when adjusting a Bill of Materials (BOM) component changes a related product’s virtual inventory. Adjustments caused only by virtual inventory omit qty_adjust and include only absolute values.

Stock adjustment details

The optional details array breaks qty_adjust down by lot and adjustment or hold reason. The same structure can appear in inventory:adjusted, delivery:committed, and delivery:complete payloads, as well as other topics that include stock_adjustments. Details use (lot_id, reason namespace, reason code) as their aggregation key. The reason namespace is either adjustment_reason_code or hold_reason_code. Entries with the same key are combined. Entries for different lots or reasons remain separate, even when they offset one another, and a keyed entry remains present when its combined qty_adjust is 0.0000. When details is present, the sum of every detail’s qty_adjust equals the stock adjustment’s top-level qty_adjust. ShipStream adds a null-lot, reasonless detail when it needs to represent a residual quantity. If an adjustment has no lot or reason breakdown, details is omitted.

order:created

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

order:canceled

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

order:items_updated

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

order:holded

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

order:completed

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

order:shipped

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

order:delivered

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

order:address_validation_failed

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

order:address_changed

Payload
old_address and address contain Protected Customer Data (PCD) and are only included when the webhook subscription has Include PCD enabled.

order:status_changed

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

order:shipments_updated

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

order:shipping_options_changed

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

product:created

Payload

product:updated

Payload

product:sku_changed

Payload

product:deleted

Payload

product_media:created

Payload

product_media:updated

Payload

product_media:deleted

Payload

serial_number:created

Payload

serial_number:updated

Payload

serial_number:checkin

Payload

serial_number:checkout

Payload
The packages[] payload in the shipment:* and tracker:* events mirrors the package shape returned by shipment.info — see Package Properties for the full reference. For items[].lot_data[], see the Lot Data fields under Shipment Item Properties. manifest_courier_code is included only when the shipment has a manifest code.

shipment:packed

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

shipment:shipped

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

shipment:delivered

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

shipment:reverted

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

shipment:labels_voided

Payload
shipping_address contains Protected Customer Data (PCD) and is only included when the webhook subscription has Include PCD enabled.

package:packed

Payload

package:manifested

Payload

package:shipped

Payload

package:delivered

Payload

track:created

This topic is deprecated. Please use shipment:packed instead.
Payload

tracker:updated

Payload

tracker:delivered

Payload

tracker:exception

Payload

manifest:sealed

Payload

manifest:loaded

Payload