# Events reference
> Every event type, when it fires, what data.object contains, and a complete example payload for each.
Source: https://swaglists.com/docs/events
Events are delivered to your [webhook endpoints](https://swaglists.com/docs/webhooks.md) and listed by `GET /events` (last 30 days). Every event has the same envelope:
| Field | Description |
| --- | --- |
| `id` | Event id (`evt_…`). Also the `webhook-id` header — deduplicate on it. |
| `object` | Always `event`. |
| `type` | Event type, below. |
| `api_version` | API version the payload was rendered with (`2026-10-01`). |
| `created_at` | When it happened (ISO-8601, UTC). |
| `livemode` | `true` for live events, `false` for test events. |
| `data.object` | The resource as of the event — the same shape the API returns. |
| `data.previous_attributes` | Old values of changed fields (status changes and `*.updated` events; absent otherwise). |
Subscribe to `["*"]` to receive every type, including types added in the future (ignore the ones you do not handle). Order-status events are sent for every status change, and also include the full order with its `shipments`.
## Every lifecycle step, exactly once
Each step of an order's life — `order.in_production`, `order.partially_shipped`, `order.shipped`, `order.delivered` — and of each parcel — `shipment.created`, `shipment.delivered`, and `shipment.updated` per tracking change — is sent **exactly once**, also when production moves faster than our status updates and one update covers several steps. The steps are then created together, in lifecycle order (for example `order.in_production`, `shipment.created`, `order.shipped`, `shipment.delivered`, `order.delivered`), and:
- `data.object` is the order or shipment **as of the end of that update** — a back-filled `order.shipped` may already show `"status": "delivered"`;
- `data.previous_attributes.status` is the previous **step** (`processing` → `in_production` → `shipped`), not the status the order had before the update;
- the order events among them share one `data.object.updated_at`, which is later than that of any earlier event about the order.
Re-sent or repeated status updates never produce a step twice (only an order that our team reopens to produce missing items again is announced as `order.delivered` once more when those arrive). See [Webhooks](https://swaglists.com/docs/webhooks.md#lifecycle-steps) for delivery order and examples.
## All event types
| Event | When it fires | `data.object` |
| --- | --- | --- |
| [`order.created`](https://swaglists.com/docs/events.md#order.created) | An order was created through the API or the dashboard — as a draft (`confirm: false`) or confirmed. A confirmed order also sends `order.processing` or `order.on_hold`. | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.updated`](https://swaglists.com/docs/events.md#order.updated) | A draft's details changed (recipient, items, shipping method, metadata, external id), or something about the order changed that has no more specific event. | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.confirmed`](https://swaglists.com/docs/events.md#order.confirmed) | A draft order was confirmed (`POST /orders/{id}/confirm`). Followed by `order.processing` or `order.on_hold`. | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.on_hold`](https://swaglists.com/docs/events.md#order.on_hold) | The order is waiting: not enough credits (`hold_reason: insufficient_funds`), or held for review, artwork, address or a production issue. | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.processing`](https://swaglists.com/docs/events.md#order.processing) | Credits were reserved and the order was sent to production — right after confirmation, or when a held order is released (e.g. after you added credits). | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.in_production`](https://swaglists.com/docs/events.md#order.in_production) | Production started. From now on the order can no longer be canceled. | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.partially_shipped`](https://swaglists.com/docs/events.md#order.partially_shipped) | Some items shipped; more parcels follow. | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.shipped`](https://swaglists.com/docs/events.md#order.shipped) | Every item shipped. `shipments` has the carrier, tracking number and tracking URL of each parcel. | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.delivered`](https://swaglists.com/docs/events.md#order.delivered) | Every shipment was delivered. | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.canceled`](https://swaglists.com/docs/events.md#order.canceled) | The order was canceled (by you or by support). Reserved credits were released and spent credits refunded to your wallet. | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.failed`](https://swaglists.com/docs/events.md#order.failed) | The order could not be produced. Reserved credits were released; no further events follow. | [order](https://swaglists.com/docs/objects.md#order) |
| [`order.refunded`](https://swaglists.com/docs/events.md#order.refunded) | Credits were refunded to your wallet for this order (full or partial), for example when support accepts a claim for a damaged or misprinted item. | [order](https://swaglists.com/docs/objects.md#order) |
| [`shipment.created`](https://swaglists.com/docs/events.md#shipment.created) | A parcel was handed to the carrier and has tracking information. Sent together with `order.partially_shipped` or `order.shipped`. | [shipment](https://swaglists.com/docs/objects.md#shipment) |
| [`shipment.updated`](https://swaglists.com/docs/events.md#shipment.updated) | A parcel's tracking status changed (e.g. `in_transit` → `out_for_delivery`, `exception`, `returned`). | [shipment](https://swaglists.com/docs/objects.md#shipment) |
| [`shipment.delivered`](https://swaglists.com/docs/events.md#shipment.delivered) | A parcel was delivered. | [shipment](https://swaglists.com/docs/objects.md#shipment) |
| [`product.created`](https://swaglists.com/docs/events.md#product.created) | A product was created (API or designer). Mockups are rendered afterwards and announced with `product.updated`. | [product](https://swaglists.com/docs/objects.md#product) |
| [`product.updated`](https://swaglists.com/docs/events.md#product.updated) | A product changed: details, designs, variants, or its mockups finished rendering. | [product](https://swaglists.com/docs/objects.md#product) |
| [`product.deleted`](https://swaglists.com/docs/events.md#product.deleted) | A product was archived (`DELETE /products/{id}`). Its SKUs stay reserved; restoring it sends `product.updated`. | [product](https://swaglists.com/docs/objects.md#product) |
| [`catalog.price_changed`](https://swaglists.com/docs/events.md#catalog.price_changed) | The wholesale price of catalog variants used by your products changed (our costs or your price list changed). Re-fetch prices and adjust your store if needed. | [catalog_price_change](https://swaglists.com/docs/objects.md#catalog_price_change) |
| [`wallet.credited`](https://swaglists.com/docs/events.md#wallet.credited) | Credits were added to the wallet: a top-up and its bonus (one event each), a refund for an order, an adjustment by support, or test credits. | [transaction](https://swaglists.com/docs/objects.md#transaction) |
| [`wallet.low_balance`](https://swaglists.com/docs/events.md#wallet.low_balance) | Available credits fell below your low-balance threshold (sent once until the balance recovers). | [wallet](https://swaglists.com/docs/objects.md#wallet) |
| [`topup.succeeded`](https://swaglists.com/docs/events.md#topup.succeeded) | A credit purchase was paid and the credits (plus any bonus) were added. | [topup](https://swaglists.com/docs/objects.md#topup) |
| [`topup.failed`](https://swaglists.com/docs/events.md#topup.failed) | A credit purchase failed (e.g. the card was declined or a bank debit was returned). | [topup](https://swaglists.com/docs/objects.md#topup) |
| [`file.processed`](https://swaglists.com/docs/events.md#file.processed) | An uploaded file finished processing (`status` is `ready`, or `failed`). `url` is null in the event — fetch the file for a download URL. | [file](https://swaglists.com/docs/objects.md#file) |
| [`webhook_endpoint.test`](https://swaglists.com/docs/events.md#webhook_endpoint.test) | Sent on request with `POST /webhook_endpoints/{id}/test` (or the dashboard) to that endpoint only. Use it to check your signature verification. Not listed by `GET /events` unless you filter for it. | [webhook_endpoint](https://swaglists.com/docs/objects.md#webhook_endpoint) |
## Orders
### `order.created`
An order was created through the API or the dashboard — as a draft (`confirm: false`) or confirmed. A confirmed order also sends `order.processing` or `order.on_hold`.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.created",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "processing",
"hold_reason": null,
"funds_status": "held",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 0,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "pending",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": null,
"shipped_at": null,
"delivered_at": null,
"canceled_at": null,
"cancel_reason": null,
"failed_at": null,
"failure_reason": null
}
}
}
```
### `order.updated`
A draft's details changed (recipient, items, shipping method, metadata, external id), or something about the order changed that has no more specific event.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order) · **`data.previous_attributes`:** Changed fields with their old values (e.g. `shipping_method`, `recipient`, `metadata`).
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.updated",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "draft",
"hold_reason": null,
"funds_status": "none",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "express",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 0,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "draft",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": null,
"in_production_at": null,
"shipped_at": null,
"delivered_at": null,
"canceled_at": null,
"cancel_reason": null,
"failed_at": null,
"failure_reason": null
},
"previous_attributes": {
"shipping_method": "standard"
}
}
}
```
### `order.confirmed`
A draft order was confirmed (`POST /orders/{id}/confirm`). Followed by `order.processing` or `order.on_hold`.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.confirmed",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "processing",
"hold_reason": null,
"funds_status": "held",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 0,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "pending",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": null,
"shipped_at": null,
"delivered_at": null,
"canceled_at": null,
"cancel_reason": null,
"failed_at": null,
"failure_reason": null
}
}
}
```
### `order.on_hold`
The order is waiting: not enough credits (`hold_reason: insufficient_funds`), or held for review, artwork, address or a production issue.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order) · **`data.previous_attributes`:** `status` when the order was already confirmed before.
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.on_hold",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "on_hold",
"hold_reason": "insufficient_funds",
"funds_status": "awaiting",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 0,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "pending",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": null,
"shipped_at": null,
"delivered_at": null,
"canceled_at": null,
"cancel_reason": null,
"failed_at": null,
"failure_reason": null
}
}
}
```
### `order.processing`
Credits were reserved and the order was sent to production — right after confirmation, or when a held order is released (e.g. after you added credits).
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order) · **`data.previous_attributes`:** `status` (`on_hold`) when the order was released from a hold.
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.processing",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "processing",
"hold_reason": null,
"funds_status": "held",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 0,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "pending",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": null,
"shipped_at": null,
"delivered_at": null,
"canceled_at": null,
"cancel_reason": null,
"failed_at": null,
"failure_reason": null
},
"previous_attributes": {
"status": "on_hold"
}
}
}
```
### `order.in_production`
Production started. From now on the order can no longer be canceled.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order) · **`data.previous_attributes`:** `status` before the change.
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.in_production",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "in_production",
"hold_reason": null,
"funds_status": "captured",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 0,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "in_production",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": "2026-10-21T14:32:05.000Z",
"shipped_at": null,
"delivered_at": null,
"canceled_at": null,
"cancel_reason": null,
"failed_at": null,
"failure_reason": null
},
"previous_attributes": {
"status": "processing"
}
}
}
```
### `order.partially_shipped`
Some items shipped; more parcels follow.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order) · **`data.previous_attributes`:** `status` before the change.
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.partially_shipped",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "partially_shipped",
"hold_reason": null,
"funds_status": "captured",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 2,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "shipped",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [
{
"object": "shipment",
"id": "shp_01k8x9z1m3n5b7v9c1x3z5a7s9",
"order_id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"status": "in_transit",
"carrier": "usps",
"service": "USPS Ground Advantage",
"tracking_number": "9400111899223197428490",
"tracking_url": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111899223197428490",
"items": [
{
"order_item_id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"quantity": 2
}
],
"shipped_at": "2026-10-23T09:12:44.000Z",
"estimated_delivery_at": null,
"delivered_at": null,
"created_at": "2026-10-23T09:12:44.000Z"
}
],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": "2026-10-21T14:32:05.000Z",
"shipped_at": "2026-10-23T09:12:44.000Z",
"delivered_at": null,
"canceled_at": null,
"cancel_reason": null,
"failed_at": null,
"failure_reason": null
},
"previous_attributes": {
"status": "in_production"
}
}
}
```
### `order.shipped`
Every item shipped. `shipments` has the carrier, tracking number and tracking URL of each parcel.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order) · **`data.previous_attributes`:** `status` before the change.
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.shipped",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "shipped",
"hold_reason": null,
"funds_status": "captured",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 2,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "shipped",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [
{
"object": "shipment",
"id": "shp_01k8x9z1m3n5b7v9c1x3z5a7s9",
"order_id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"status": "in_transit",
"carrier": "usps",
"service": "USPS Ground Advantage",
"tracking_number": "9400111899223197428490",
"tracking_url": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111899223197428490",
"items": [
{
"order_item_id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"quantity": 2
}
],
"shipped_at": "2026-10-23T09:12:44.000Z",
"estimated_delivery_at": null,
"delivered_at": null,
"created_at": "2026-10-23T09:12:44.000Z"
}
],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": "2026-10-21T14:32:05.000Z",
"shipped_at": "2026-10-23T09:12:44.000Z",
"delivered_at": null,
"canceled_at": null,
"cancel_reason": null,
"failed_at": null,
"failure_reason": null
},
"previous_attributes": {
"status": "in_production"
}
}
}
```
### `order.delivered`
Every shipment was delivered.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order) · **`data.previous_attributes`:** `status` before the change.
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.delivered",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "delivered",
"hold_reason": null,
"funds_status": "captured",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 2,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "delivered",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [
{
"object": "shipment",
"id": "shp_01k8x9z1m3n5b7v9c1x3z5a7s9",
"order_id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"status": "in_transit",
"carrier": "usps",
"service": "USPS Ground Advantage",
"tracking_number": "9400111899223197428490",
"tracking_url": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111899223197428490",
"items": [
{
"order_item_id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"quantity": 2
}
],
"shipped_at": "2026-10-23T09:12:44.000Z",
"estimated_delivery_at": null,
"delivered_at": null,
"created_at": "2026-10-23T09:12:44.000Z"
}
],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": "2026-10-21T14:32:05.000Z",
"shipped_at": "2026-10-23T09:12:44.000Z",
"delivered_at": "2026-10-26T15:20:00.000Z",
"canceled_at": null,
"cancel_reason": null,
"failed_at": null,
"failure_reason": null
},
"previous_attributes": {
"status": "shipped"
}
}
}
```
### `order.canceled`
The order was canceled (by you or by support). Reserved credits were released and spent credits refunded to your wallet.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order) · **`data.previous_attributes`:** `status` before the cancellation.
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.canceled",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "canceled",
"hold_reason": null,
"funds_status": "released",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 0,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "canceled",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": null,
"shipped_at": null,
"delivered_at": null,
"canceled_at": "2026-10-21T15:01:12.000Z",
"cancel_reason": "Customer changed their mind",
"failed_at": null,
"failure_reason": null
},
"previous_attributes": {
"status": "processing"
}
}
}
```
### `order.failed`
The order could not be produced. Reserved credits were released; no further events follow.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order) · **`data.previous_attributes`:** `status` before the change.
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.failed",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "failed",
"hold_reason": null,
"funds_status": "released",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 0,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 0,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "failed",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": null,
"shipped_at": null,
"delivered_at": null,
"canceled_at": null,
"cancel_reason": null,
"failed_at": "2026-10-21T15:40:00.000Z",
"failure_reason": "This order could not be produced. Reserved credits were released."
},
"previous_attributes": {
"status": "processing"
}
}
}
```
### `order.refunded`
Credits were refunded to your wallet for this order (full or partial), for example when support accepts a claim for a damaged or misprinted item.
**`data.object`:** [order](https://swaglists.com/docs/objects.md#order) · **`data.previous_attributes`:** `refunded` before the refund.
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "order.refunded",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "order",
"id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"number": 1042,
"external_id": "1042",
"livemode": true,
"status": "delivered",
"hold_reason": null,
"funds_status": "partially_refunded",
"source": "api",
"recipient": {
"name": "Jane Doe",
"company": null,
"address1": "123 Market St",
"address2": "Apt 4",
"city": "San Francisco",
"state_code": "CA",
"postal_code": "94107",
"country_code": "US",
"phone": null,
"email": "jane@example.com"
},
"shipping_method": "standard",
"currency": "usd",
"subtotal": 2598,
"shipping": 700,
"tax": 0,
"discount": 0,
"total": 3298,
"refunded": 1299,
"items": [
{
"object": "order_item",
"id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"product_variant_id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"sku": "CA-TEE-BLK-M",
"title": "Company A Logo Tee",
"variant_title": "Black / M",
"quantity": 2,
"shipped_quantity": 2,
"unit_price": 1299,
"total_price": 2598,
"retail_price": 2500,
"status": "delivered",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"mockup_url": null,
"external_line_id": "line-1",
"metadata": {}
}
],
"shipments": [
{
"object": "shipment",
"id": "shp_01k8x9z1m3n5b7v9c1x3z5a7s9",
"order_id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"status": "in_transit",
"carrier": "usps",
"service": "USPS Ground Advantage",
"tracking_number": "9400111899223197428490",
"tracking_url": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111899223197428490",
"items": [
{
"order_item_id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"quantity": 2
}
],
"shipped_at": "2026-10-23T09:12:44.000Z",
"estimated_delivery_at": null,
"delivered_at": null,
"created_at": "2026-10-23T09:12:44.000Z"
}
],
"tracking_page_url": "https://swaglists.com/track/Zx81kLm2pQ",
"packing_slip": {
"message": "Thanks for shopping with Company A!",
"brand_name": null,
"logo_file_id": null,
"customer_order_number": "#1042"
},
"gift_message": null,
"customer_note": null,
"metadata": {},
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-23T09:12:44.000Z",
"placed_at": "2026-10-21T14:32:05.000Z",
"in_production_at": "2026-10-21T14:32:05.000Z",
"shipped_at": "2026-10-23T09:12:44.000Z",
"delivered_at": "2026-10-26T15:20:00.000Z",
"canceled_at": null,
"cancel_reason": null,
"failed_at": null,
"failure_reason": null
},
"previous_attributes": {
"refunded": 0
}
}
}
```
## Shipments
### `shipment.created`
A parcel was handed to the carrier and has tracking information. Sent together with `order.partially_shipped` or `order.shipped`.
**`data.object`:** [shipment](https://swaglists.com/docs/objects.md#shipment)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "shipment.created",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "shipment",
"id": "shp_01k8x9z1m3n5b7v9c1x3z5a7s9",
"order_id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"status": "in_transit",
"carrier": "usps",
"service": "USPS Ground Advantage",
"tracking_number": "9400111899223197428490",
"tracking_url": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111899223197428490",
"items": [
{
"order_item_id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"quantity": 2
}
],
"shipped_at": "2026-10-23T09:12:44.000Z",
"estimated_delivery_at": null,
"delivered_at": null,
"created_at": "2026-10-23T09:12:44.000Z"
}
}
}
```
### `shipment.updated`
A parcel's tracking status changed (e.g. `in_transit` → `out_for_delivery`, `exception`, `returned`).
**`data.object`:** [shipment](https://swaglists.com/docs/objects.md#shipment)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "shipment.updated",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "shipment",
"id": "shp_01k8x9z1m3n5b7v9c1x3z5a7s9",
"order_id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"status": "out_for_delivery",
"carrier": "usps",
"service": "USPS Ground Advantage",
"tracking_number": "9400111899223197428490",
"tracking_url": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111899223197428490",
"items": [
{
"order_item_id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"quantity": 2
}
],
"shipped_at": "2026-10-23T09:12:44.000Z",
"estimated_delivery_at": null,
"delivered_at": null,
"created_at": "2026-10-23T09:12:44.000Z"
}
}
}
```
### `shipment.delivered`
A parcel was delivered.
**`data.object`:** [shipment](https://swaglists.com/docs/objects.md#shipment)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "shipment.delivered",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "shipment",
"id": "shp_01k8x9z1m3n5b7v9c1x3z5a7s9",
"order_id": "ord_01k8x4b2q9w7e3r5t1y8u6i0pa",
"status": "delivered",
"carrier": "usps",
"service": "USPS Ground Advantage",
"tracking_number": "9400111899223197428490",
"tracking_url": "https://tools.usps.com/go/TrackConfirmAction?tLabels=9400111899223197428490",
"items": [
{
"order_item_id": "oi_01k8x4b2qa3s5d7f9g1h3j5k7l",
"quantity": 2
}
],
"shipped_at": "2026-10-23T09:12:44.000Z",
"estimated_delivery_at": null,
"delivered_at": "2026-10-26T15:20:00.000Z",
"created_at": "2026-10-23T09:12:44.000Z"
}
}
}
```
## Products
### `product.created`
A product was created (API or designer). Mockups are rendered afterwards and announced with `product.updated`.
**`data.object`:** [product](https://swaglists.com/docs/objects.md#product)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "product.created",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "product",
"id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"title": "Company A Logo Tee",
"description": "Our classic logo on a soft tee.",
"status": "active",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"external_id": "shopify-product-9921",
"tags": [
"logo"
],
"metadata": {},
"retail_price": 2900,
"currency": "usd",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"variants": [
{
"object": "product_variant",
"id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"sku": "CA-TEE-BLK-M",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"title": "Black / M",
"options": {
"Color": "Black",
"Size": "M"
},
"retail_price": 2900,
"price": 1299,
"currency": "usd",
"external_id": "shopify-variant-4410",
"enabled": true,
"available": true
}
],
"mockups": [],
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-21T14:32:05.000Z"
}
}
}
```
### `product.updated`
A product changed: details, designs, variants, or its mockups finished rendering.
**`data.object`:** [product](https://swaglists.com/docs/objects.md#product) · **`data.previous_attributes`:** Changed fields with their old values, when known (e.g. `title`, `designs`).
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "product.updated",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "product",
"id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"title": "Company A Logo Tee",
"description": "Our classic logo on a soft tee.",
"status": "active",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"external_id": "shopify-product-9921",
"tags": [
"logo"
],
"metadata": {},
"retail_price": 2900,
"currency": "usd",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"variants": [
{
"object": "product_variant",
"id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"sku": "CA-TEE-BLK-M",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"title": "Black / M",
"options": {
"Color": "Black",
"Size": "M"
},
"retail_price": 2900,
"price": 1299,
"currency": "usd",
"external_id": "shopify-variant-4410",
"enabled": true,
"available": true
}
],
"mockups": [
{
"url": "https://swaglists.com/f/file_01k8x3y9a1s3d5f7g9h1j3k5l7/1782777600.c0ffee/mockup-front.png",
"placement": "front",
"color": "Black",
"is_primary": true
}
],
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-21T14:32:05.000Z"
},
"previous_attributes": {
"title": "Company A Tee"
}
}
}
```
### `product.deleted`
A product was archived (`DELETE /products/{id}`). Its SKUs stay reserved; restoring it sends `product.updated`.
**`data.object`:** [product](https://swaglists.com/docs/objects.md#product)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "product.deleted",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "product",
"id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"title": "Company A Logo Tee",
"description": "Our classic logo on a soft tee.",
"status": "archived",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"external_id": "shopify-product-9921",
"tags": [
"logo"
],
"metadata": {},
"retail_price": 2900,
"currency": "usd",
"designs": [
{
"placement": "front",
"layers": [
{
"file_id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"transform": {
"x": 0.1,
"y": 0.05,
"width": 0.8,
"height": 0.6,
"rotation": 0
},
"opacity": 1
}
]
}
],
"variants": [
{
"object": "product_variant",
"id": "pvar_01k8x3z7r4f6g8h0j2k4l6z8x0",
"product_id": "prod_01k8x3z7r1t3y5u7i9o1p3a5s7",
"sku": "CA-TEE-BLK-M",
"catalog_variant_id": "cv_01k8w1a2s7d9f1g3h5j7k9m1n3",
"title": "Black / M",
"options": {
"Color": "Black",
"Size": "M"
},
"retail_price": 2900,
"price": 1299,
"currency": "usd",
"external_id": "shopify-variant-4410",
"enabled": true,
"available": true
}
],
"mockups": [
{
"url": "https://swaglists.com/f/file_01k8x3y9a1s3d5f7g9h1j3k5l7/1782777600.c0ffee/mockup-front.png",
"placement": "front",
"color": "Black",
"is_primary": true
}
],
"created_at": "2026-10-21T14:32:05.000Z",
"updated_at": "2026-10-21T14:32:05.000Z"
}
}
}
```
## Catalog prices
### `catalog.price_changed`
The wholesale price of catalog variants used by your products changed (our costs or your price list changed). Re-fetch prices and adjust your store if needed.
**`data.object`:** [catalog_price_change](https://swaglists.com/docs/objects.md#catalog_price_change)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "catalog.price_changed",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "catalog_price_change",
"catalog_product_id": "cp_01k8w1a2s3d4f5g6h7j8k9m0n1",
"catalog_variant_ids": [
"cv_01k8w1a2s7d9f1g3h5j7k9m1n3"
],
"reason": "cost_increase"
}
}
}
```
## Wallet
### `wallet.credited`
Credits were added to the wallet: a top-up and its bonus (one event each), a refund for an order, an adjustment by support, or test credits.
**`data.object`:** [transaction](https://swaglists.com/docs/objects.md#transaction)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "wallet.credited",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "transaction",
"id": "txn_01k8x4b2q8w0e2r4t6y8u0i2o4",
"type": "topup",
"amount": 500000,
"held_delta": 0,
"balance_after": 982550,
"currency": "usd",
"description": "Credit purchase",
"order_id": null,
"topup_id": "top_01k8x1q3w5e7r9t1y3u5i7o9p1",
"created_at": "2026-10-21T14:32:05.000Z"
}
}
}
```
### `wallet.low_balance`
Available credits fell below your low-balance threshold (sent once until the balance recovers).
**`data.object`:** [wallet](https://swaglists.com/docs/objects.md#wallet)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "wallet.low_balance",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "wallet",
"mode": "live",
"livemode": true,
"currency": "usd",
"available": 8200,
"held": 12480,
"total": 20680,
"low_balance_threshold": 10000
}
}
}
```
## Top-ups
### `topup.succeeded`
A credit purchase was paid and the credits (plus any bonus) were added.
**`data.object`:** [topup](https://swaglists.com/docs/objects.md#topup)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "topup.succeeded",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "topup",
"id": "top_01k8x1q3w5e7r9t1y3u5i7o9p1",
"status": "succeeded",
"amount": 500000,
"bonus": 25000,
"bonus_percent": 5,
"credits": 525000,
"currency": "usd",
"payment_method_type": "us_bank_account",
"receipt_url": null,
"created_at": "2026-10-21T14:32:05.000Z",
"succeeded_at": "2026-10-21T14:32:05.000Z"
}
}
}
```
### `topup.failed`
A credit purchase failed (e.g. the card was declined or a bank debit was returned).
**`data.object`:** [topup](https://swaglists.com/docs/objects.md#topup)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "topup.failed",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "topup",
"id": "top_01k8x1q3w5e7r9t1y3u5i7o9p1",
"status": "failed",
"amount": 500000,
"bonus": 0,
"bonus_percent": 5,
"credits": 525000,
"currency": "usd",
"payment_method_type": "us_bank_account",
"receipt_url": null,
"created_at": "2026-10-21T14:32:05.000Z",
"succeeded_at": null
}
}
}
```
## Files
### `file.processed`
An uploaded file finished processing (`status` is `ready`, or `failed`). `url` is null in the event — fetch the file for a download URL.
**`data.object`:** [file](https://swaglists.com/docs/objects.md#file)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "file.processed",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "file",
"id": "file_01k8x3y1q3w5e7r9t1y3u5i7o9",
"filename": "logo-front.png",
"mime_type": "image/png",
"size_bytes": 482113,
"width_px": 4500,
"height_px": 5400,
"dpi": 300,
"status": "ready",
"purpose": "artwork",
"url": null,
"created_at": "2026-10-21T14:32:05.000Z"
}
}
}
```
## Testing
### `webhook_endpoint.test`
Sent on request with `POST /webhook_endpoints/{id}/test` (or the dashboard) to that endpoint only. Use it to check your signature verification. Not listed by `GET /events` unless you filter for it.
**`data.object`:** [webhook_endpoint](https://swaglists.com/docs/objects.md#webhook_endpoint)
Example payload
```json title="Example payload"
{
"id": "evt_01k8x4b2r1t3y5u7i9o1p3a5s7",
"object": "event",
"type": "webhook_endpoint.test",
"api_version": "2026-10-01",
"created_at": "2026-10-21T14:32:05.000Z",
"livemode": false,
"data": {
"object": {
"object": "webhook_endpoint",
"id": "we_01k8x2m4n6b8v0c2x4z6a8s0d2",
"url": "https://company-a.example/webhooks/print",
"description": "Production order updates",
"enabled_events": [
"order.shipped",
"order.delivered"
],
"status": "enabled",
"disabled_reason": null,
"mode": "live",
"livemode": true,
"created_at": "2026-10-21T14:32:05.000Z"
}
}
}
```