Shipment Events

Detailed reference for all shipment webhook events including payload examples for each event type.

Shipment events notify you about changes to shipments throughout the fulfillment lifecycle. All shipment events only fire for shipments associated with a completed, non-declined transaction — you will never receive a webhook for a shipment that hasn't been paid for.

Every shipment webhook payload follows this structure:

{
  "webhook_type": "shipment",
  "webhook_event": "shipment_scheduled",
  "webhook_event_id": 12345,
  "webhook_event_date": "2026-03-22 14:30:00",
  "webhook_event_subtype": null,
  "webhook_data": {
    "shipment": { ... }
  }
}

The webhook_data.shipment object includes the full shipment record with nested shipment_items and customer_address_shipping.

Shipment Payload Fields

FieldDescription
shipment_idUnique shipment identifier
customer_idThe customer this shipment belongs to
order_idThe associated order
transaction_charge_idThe transaction that paid for this shipment
shipment_status_idCurrent status (Pending Post, Fulfilled, Cancelled, Shipped, Error, Delivered, Skipped)
connection_idThe fulfillment connection handling this shipment
fulfillment_idID assigned by the fulfillment provider
shipment_tracking_idTracking number
carrier_idShipping carrier
shipping_profile_idShipping profile used
date_scheduledWhen the shipment is scheduled to be fulfilled
date_cancelWhen the shipment was cancelled (if applicable)
date_completeWhen the shipment was shipped
date_scanWhen the carrier first scanned the package
date_deliverWhen the package was delivered
date_returnWhen the package was returned
date_skipWhen the shipment was skipped
date_rmaWhen an RMA was issued
shipment_rmaRMA number
shipment_notesNotes on the shipment
shipment_itemsArray of items in the shipment
customer_address_shippingThe shipping address

shipment_scheduled

A shipment is ready to be fulfilled. This is the primary event for fulfillment integrations.

Fires when:

  • A new shipment is created and its transaction has already been paid
  • A pending shipment's transaction completes successfully
  • The scheduled fulfillment date is changed on an active shipment
  • A previously skipped shipment is unskipped and its transaction is paid

Example payload:

{
  "webhook_type": "shipment",
  "webhook_event": "shipment_scheduled",
  "webhook_event_id": 10001,
  "webhook_event_date": "2026-03-22 14:30:00",
  "webhook_event_subtype": null,
  "webhook_data": {
    "shipment": {
      "shipment_id": 251606,
      "customer_id": 71135,
      "order_id": 135123,
      "shipment_prepaid_cycle": 0,
      "shipment_status_id": "Pending Post",
      "transaction_charge_id": 1023926,
      "connection_id": 17,
      "fulfillment_id": null,
      "shipment_tracking_id": null,
      "carrier_id": null,
      "shipping_profile_id": null,
      "date_cancel": null,
      "date_scheduled": "2026-03-22 14:30:00",
      "date_complete": null,
      "date_scan": null,
      "date_deliver": null,
      "date_return": null,
      "date_skip": null,
      "date_rma": null,
      "shipment_rma": null,
      "shipment_notes": "Shipment created",
      "shipment_items": [
        {
          "shipment_item_id": 270243,
          "quantity": 1,
          "item_id": 1282,
          "item_name": "Monthly Supplement Box",
          "item_description": "",
          "item_sku": "SUP-001",
          "items_option_variation_id": null
        }
      ],
      "customer_address_shipping": {
        "customer_address_id": 1,
        "fname": "John",
        "lname": "Doe",
        "organization": null,
        "address1": "123 Main St",
        "address2": null,
        "city": "Denver",
        "country": "US",
        "state": "CO",
        "zipcode": "80014",
        "address_valid": true
      }
    }
  }
}

shipment_fulfilled

The shipment has been posted to a fulfillment provider and received a fulfillment ID.

Fires when:

  • The shipment is successfully sent to a fulfillment connection

Example payload:

{
  "webhook_type": "shipment",
  "webhook_event": "shipment_fulfilled",
  "webhook_event_id": 10002,
  "webhook_event_date": "2026-03-22 15:00:00",
  "webhook_event_subtype": null,
  "webhook_data": {
    "shipment": {
      "shipment_id": 251606,
      "customer_id": 71135,
      "order_id": 135123,
      "shipment_status_id": "Fulfilled",
      "transaction_charge_id": 1023926,
      "connection_id": 17,
      "fulfillment_id": "FF-251606",
      "shipment_tracking_id": null,
      "date_scheduled": "2026-03-22 14:30:00",
      "date_complete": null,
      "shipment_notes": "Shipment posted to fulfillment",
      "shipment_items": [
        {
          "shipment_item_id": 270243,
          "quantity": 1,
          "item_id": 1282,
          "item_name": "Monthly Supplement Box",
          "item_sku": "SUP-001"
        }
      ],
      "customer_address_shipping": {
        "customer_address_id": 1,
        "fname": "John",
        "lname": "Doe",
        "address1": "123 Main St",
        "city": "Denver",
        "country": "US",
        "state": "CO",
        "zipcode": "80014"
      }
    }
  }
}

shipment_shipped

A tracking number has been added and the shipment is marked as shipped.

Fires when:

  • Tracking information is added to the shipment (from fulfillment provider or manually)

Example payload:

{
  "webhook_type": "shipment",
  "webhook_event": "shipment_shipped",
  "webhook_event_id": 10003,
  "webhook_event_date": "2026-03-23 10:00:00",
  "webhook_event_subtype": null,
  "webhook_data": {
    "shipment": {
      "shipment_id": 251606,
      "customer_id": 71135,
      "order_id": 135123,
      "shipment_status_id": "Shipped",
      "transaction_charge_id": 1023926,
      "connection_id": 17,
      "fulfillment_id": "FF-251606",
      "shipment_tracking_id": "1Z999AA10123456784",
      "carrier_id": "UPS",
      "date_scheduled": "2026-03-22 14:30:00",
      "date_complete": "2026-03-23 10:00:00",
      "shipment_notes": "Shipment marked as shipped",
      "shipment_items": [
        {
          "shipment_item_id": 270243,
          "quantity": 1,
          "item_id": 1282,
          "item_name": "Monthly Supplement Box",
          "item_sku": "SUP-001"
        }
      ],
      "customer_address_shipping": {
        "customer_address_id": 1,
        "fname": "John",
        "lname": "Doe",
        "address1": "123 Main St",
        "city": "Denver",
        "country": "US",
        "state": "CO",
        "zipcode": "80014"
      }
    }
  }
}

shipment_cancelled

The shipment has been cancelled.

Fires when:

  • A shipment is cancelled manually, from a subscription cancellation, or as part of a swap/quantity change

Example payload:

{
  "webhook_type": "shipment",
  "webhook_event": "shipment_cancelled",
  "webhook_event_id": 10004,
  "webhook_event_date": "2026-03-22 16:00:00",
  "webhook_event_subtype": null,
  "webhook_data": {
    "shipment": {
      "shipment_id": 251606,
      "customer_id": 71135,
      "order_id": 135123,
      "shipment_status_id": "Cancelled",
      "transaction_charge_id": 1023926,
      "date_cancel": "2026-03-22 16:00:00",
      "shipment_notes": "Shipment cancelled.",
      "shipment_items": [ ... ],
      "customer_address_shipping": { ... }
    }
  }
}

shipment_error

The shipment encountered an error during fulfillment.

Fires when:

  • A fulfillment post fails and returns an error
  • A shipment is manually marked as error

Example payload:

{
  "webhook_type": "shipment",
  "webhook_event": "shipment_error",
  "webhook_event_id": 10005,
  "webhook_event_date": "2026-03-22 15:01:00",
  "webhook_event_subtype": null,
  "webhook_data": {
    "shipment": {
      "shipment_id": 251606,
      "customer_id": 71135,
      "order_id": 135123,
      "shipment_status_id": "Error",
      "transaction_charge_id": 1023926,
      "fulfillment_id": "-1",
      "shipment_notes": "Shipment marked as Error. Invalid address",
      "shipment_items": [ ... ],
      "customer_address_shipping": { ... }
    }
  }
}

shipment_skipped

The shipment has been skipped for this billing cycle.

Fires when:

  • A shipment is skipped manually or via the API

Example payload:

{
  "webhook_type": "shipment",
  "webhook_event": "shipment_skipped",
  "webhook_event_id": 10006,
  "webhook_event_date": "2026-03-22 14:00:00",
  "webhook_event_subtype": null,
  "webhook_data": {
    "shipment": {
      "shipment_id": 251606,
      "customer_id": 71135,
      "order_id": 135123,
      "shipment_status_id": "Skipped",
      "transaction_charge_id": 1023926,
      "date_skip": "2026-03-22 14:00:00",
      "shipment_notes": "Shipment skipped",
      "shipment_items": [ ... ],
      "customer_address_shipping": { ... }
    }
  }
}

shipment_rma

A Return Merchandise Authorization has been issued for the shipment.

Fires when:

  • An RMA is created on a shipped or delivered shipment

Example payload:

{
  "webhook_type": "shipment",
  "webhook_event": "shipment_rma",
  "webhook_event_id": 10007,
  "webhook_event_date": "2026-03-25 09:00:00",
  "webhook_event_subtype": null,
  "webhook_data": {
    "shipment": {
      "shipment_id": 251606,
      "customer_id": 71135,
      "order_id": 135123,
      "shipment_status_id": "Shipped",
      "transaction_charge_id": 1023926,
      "shipment_tracking_id": "1Z999AA10123456784",
      "date_rma": "2026-03-25 09:00:00",
      "shipment_rma": "RMA-12345",
      "shipment_notes": "RMA issued for damaged product",
      "shipment_items": [ ... ],
      "customer_address_shipping": { ... }
    }
  }
}

shipment_address_updated

The shipping address on the shipment has changed.

Fires when:

  • The shipping address ID on the shipment is changed to a different address
  • A customer edits the details of an address linked to pending shipments

Example payload:

{
  "webhook_type": "shipment",
  "webhook_event": "shipment_address_updated",
  "webhook_event_id": 10008,
  "webhook_event_date": "2026-03-22 13:00:00",
  "webhook_event_subtype": null,
  "webhook_data": {
    "shipment": {
      "shipment_id": 251606,
      "customer_id": 71135,
      "order_id": 135123,
      "shipment_status_id": "Pending Post",
      "transaction_charge_id": 1023926,
      "shipment_notes": "Changed customer address shipping id",
      "shipment_items": [ ... ],
      "customer_address_shipping": {
        "customer_address_id": 2,
        "fname": "John",
        "lname": "Doe",
        "organization": null,
        "address1": "456 Oak Ave",
        "address2": "Apt 3B",
        "city": "Boulder",
        "country": "US",
        "state": "CO",
        "zipcode": "80302",
        "address_valid": true
      }
    }
  }
}

shipment_item_updated

Items on the shipment have been modified.

Fires when:

  • An item is added to the shipment
  • An item is removed from the shipment
  • An item is swapped for a different item on the shipment

Example payload:

{
  "webhook_type": "shipment",
  "webhook_event": "shipment_item_updated",
  "webhook_event_id": 10009,
  "webhook_event_date": "2026-03-22 13:30:00",
  "webhook_event_subtype": null,
  "webhook_data": {
    "shipment": {
      "shipment_id": 251606,
      "customer_id": 71135,
      "order_id": 135123,
      "shipment_status_id": "Pending Post",
      "transaction_charge_id": 1023926,
      "shipment_notes": "Added shipment item id #270244 : Vitamin D Supplement",
      "shipment_items": [
        {
          "shipment_item_id": 270243,
          "quantity": 1,
          "item_id": 1282,
          "item_name": "Monthly Supplement Box",
          "item_sku": "SUP-001"
        },
        {
          "shipment_item_id": 270244,
          "quantity": 1,
          "item_id": 1283,
          "item_name": "Vitamin D Supplement",
          "item_sku": "VIT-D-001"
        }
      ],
      "customer_address_shipping": { ... }
    }
  }
}