---
title: InventoryShipment
description: >-
  Subscribe to field-level changes on the InventoryShipment GraphQL Admin API
  object.
api_version: unstable
source_url:
  html: 'https://shopify.dev/docs/api/events/latest/inventory-shipment'
  md: 'https://shopify.dev/docs/api/events/latest/inventory-shipment.md'
api_name: events
---

# Inventory​Shipment

**Requires \`read\_inventory\_shipments\` access scope.:**

Subscribe to field-level changes on the [`InventoryShipment`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipment) GraphQL Admin API object. You can subscribe to create, delete, and update events, as well as changes to specific fields.

Each [topic](https://shopify.dev/docs/api/events/latest#configuration) corresponds to a commerce resource (for example, an inventory shipment) that can exist independently within its domain. Child entities that depend on a parent within the same domain don't have their own topic. Instead, changes to child entities trigger a delivery on the parent topic. Calculated fields, derived fields, auto-updated timestamps, and cross-domain fields aren't available as triggers.

## shopify.app.toml

```toml
[events]
api_version = "unstable"


[[events.subscription]]
handle = "my_inventory_shipment_events"


topic = "InventoryShipment"
actions = ["update"]
triggers = [
    "inventoryShipment.status",
    "inventoryShipment.tracking.trackingNumber"
]


uri = "https://your-app.com/events"


query = """
query inventory_shipment_details($inventoryShipmentId: ID!) {
  inventoryShipment(id: $inventoryShipmentId) {
    id
    name
    status
    tracking {
      company
      trackingNumber
      trackingUrl
    }
  }
  shop {
    id
  }
}
"""


# Optional
query_filter = "inventoryShipment.status:'IN_TRANSIT'"
```

***

## Supported triggers

Field-level [triggers](https://shopify.dev/docs/api/events/latest#configuration) for `InventoryShipment` subscriptions.

All triggers require the [`read_inventory_shipments`](https://shopify.dev/docs/api/usage/access-scopes) access scope, and those triggers that require additional scopes are documented where relevant. Deprecated triggers are listed last.

Subscriptions can include multiple triggers. Use the `shopify-webhook-id` header for deduplication when handling duplicate deliveries.

Custom queries aren't limited to [`InventoryShipment`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipment). They can query the full GraphQL Admin API.

### inventoryShipment

Fires when events involve the [`InventoryShipment`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipment) object.

The `"create"` and `"delete"` actions are only relevant within the context of this parent topic. Use `fields_changed` to follow or replicate impacted data after a delete event. Define a custom query to retrieve specific fields from create events.

Collect details about changes to the object by subscribing to the trigger along with the `"update"` action, though it's recommended that you narrow your subscription to one of the other triggers below.

**Variables:** `inventoryShipmentId`

### inventoryShipment​.status

Fires when the [`status`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipment#field-InventoryShipment.fields.status) field on the [`InventoryShipment`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipment) object changes.

Subscribe to this trigger with the `"update"` action and include the field in a custom `query` to retrieve updated data from the payload. You can trace the field in subsequent requests using `fields_changed`.

The `status` field represents the current status of the shipment.

**Variables:** `inventoryShipmentId`

### inventoryShipment​.tracking

Fires when the [`tracking`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipment#field-InventoryShipment.fields.tracking) field on the [`InventoryShipment`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipment) object changes.

Subscribe to this trigger with the `"update"` action and include the field in a custom `query` to retrieve updated data from the payload. You can trace the field in subsequent requests using `fields_changed`.

The `tracking` field represents the tracking information for the shipment.

**Variables:** `inventoryShipmentId`

### inventoryShipment​.tracking​.arrivesAt

Fires when the [`arrivesAt`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipmentTracking#field-InventoryShipmentTracking.fields.arrivesAt) field on the [`InventoryShipmentTracking`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipmentTracking) object changes.

Subscribe to this trigger with the `"update"` action and include the field in a custom `query` to retrieve updated data from the payload. You can trace the field in subsequent requests using `fields_changed`.

The `arrivesAt` field represents the estimated date and time that the shipment will arrive.

**Variables:** `inventoryShipmentId`

### inventoryShipment​.tracking​.company

Fires when the [`company`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipmentTracking#field-InventoryShipmentTracking.fields.company) field on the [`InventoryShipmentTracking`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipmentTracking) object changes.

Subscribe to this trigger with the `"update"` action and include the field in a custom `query` to retrieve updated data from the payload. You can trace the field in subsequent requests using `fields_changed`.

The `company` field represents the name of the shipping carrier company.

**Variables:** `inventoryShipmentId`

### inventoryShipment​.tracking​.trackingNumber

Fires when the [`trackingNumber`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipmentTracking#field-InventoryShipmentTracking.fields.trackingNumber) field on the [`InventoryShipmentTracking`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipmentTracking) object changes.

Subscribe to this trigger with the `"update"` action and include the field in a custom `query` to retrieve updated data from the payload. You can trace the field in subsequent requests using `fields_changed`.

The `trackingNumber` field represents the tracking number used by the carrier to identify the shipment.

**Variables:** `inventoryShipmentId`

### inventoryShipment​.tracking​.trackingUrl

Fires when the [`trackingUrl`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipmentTracking#field-InventoryShipmentTracking.fields.trackingUrl) field on the [`InventoryShipmentTracking`](https://shopify.dev/docs/api/admin-graphql/unstable/objects/InventoryShipmentTracking) object changes.

Subscribe to this trigger with the `"update"` action and include the field in a custom `query` to retrieve updated data from the payload. You can trace the field in subsequent requests using `fields_changed`.

The `trackingUrl` field represents the URL to track the shipment.

**Variables:** `inventoryShipmentId`

### Examples

* #### Subscribe via app configuration

  ##### shopify.app.toml

  ```toml
  [events]
  api_version = "unstable"

  [[events.subscription]]
  handle = "inventoryShipment-event"

  topic = "InventoryShipment"
  actions = ["create"]
  triggers = ["inventoryShipment"]

  uri = "https://your-app.com/events"

  query = """
  query inventoryShipment_details($inventoryShipmentId: ID!) {
    inventoryShipment(id: $inventoryShipmentId) {
      id
      name
      status
    }
  }
  """
  ```

  ##### Payload

  ```json
  {
    "topic": "InventoryShipment",
    "action": "create",
    "handle": "inventoryShipment-event",
    "data": {
      "inventoryShipment": {
        "id": "gid://shopify/InventoryShipment/123",
        "name": "Example inventoryshipment",
        "status": "IN_TRANSIT"
      }
    },
    "fields_changed": [
      "inventoryShipment[id: 'gid://shopify/InventoryShipment/123']"
    ],
    "query_variables": {
      "inventoryShipmentId": "gid://shopify/InventoryShipment/123"
    }
  }
  ```

  ##### Headers

  ```bash
  shopify-action: create
  shopify-api-version: unstable
  shopify-event-id: 44444444-4444-4444-4444-444444444444
  shopify-handle: inventoryShipment-event
  shopify-hmac-sha256: 61lWIGuA2nXdHRjhMU/+EDw2y3Eg0mPKJ+RhR7dKKIM=
  shopify-resource-id: gid://shopify/InventoryShipment/123
  shopify-shop-domain: your-shop.myshopify.com
  shopify-topic: InventoryShipment
  shopify-triggered-at: 2026-03-23T16:24:35.267Z
  shopify-webhook-id: 7613956a-18a5-332d-b71e-e164bbcacdba
  ```

* #### Subscribe via app configuration

  ##### shopify.app.toml

  ```toml
  [events]
  api_version = "unstable"

  [[events.subscription]]
  handle = "inventoryShipment-event"

  topic = "InventoryShipment"
  actions = ["update"]
  triggers = ["inventoryShipment.status"]

  uri = "https://your-app.com/events"

  query = """
  query inventoryShipment_event_payload($inventoryShipmentId: ID!) {
    inventoryShipment(id: $inventoryShipmentId) {
      id
      name
      status
    }
  }
  """
  ```

  ##### Payload

  ```json
  {
    "topic": "InventoryShipment",
    "action": "update",
    "handle": "inventoryShipment-event",
    "data": {
      "inventoryShipment": {
        "id": "gid://shopify/InventoryShipment/123",
        "name": "Example inventoryshipment",
        "status": "IN_TRANSIT"
      }
    },
    "fields_changed": [
      "inventoryShipment[id: 'gid://shopify/InventoryShipment/123'].status"
    ],
    "query_variables": {
      "inventoryShipmentId": "gid://shopify/InventoryShipment/123"
    }
  }
  ```

  ##### Headers

  ```bash
  shopify-action: update
  shopify-api-version: unstable
  shopify-event-id: 44444444-4444-4444-4444-444444444444
  shopify-handle: inventoryShipment-event
  shopify-hmac-sha256: 61lWIGuA2nXdHRjhMU/+EDw2y3Eg0mPKJ+RhR7dKKIM=
  shopify-resource-id: gid://shopify/InventoryShipment/123
  shopify-shop-domain: your-shop.myshopify.com
  shopify-topic: InventoryShipment
  shopify-triggered-at: 2026-03-23T16:24:35.267Z
  shopify-webhook-id: 7613956a-18a5-332d-b71e-e164bbcacdba
  ```

* #### Subscribe via app configuration

  ##### shopify.app.toml

  ```toml
  [events]
  api_version = "unstable"

  [[events.subscription]]
  handle = "inventoryShipment-event"

  topic = "InventoryShipment"
  actions = ["update"]
  triggers = ["inventoryShipment.tracking"]

  uri = "https://your-app.com/events"

  query = """
  query inventoryShipment_event_payload($inventoryShipmentId: ID!) {
    inventoryShipment(id: $inventoryShipmentId) {
      id
      name
      status
      tracking {
        __typename
      }
    }
  }
  """
  ```

  ##### Payload

  ```json
  {
    "topic": "InventoryShipment",
    "action": "update",
    "handle": "inventoryShipment-event",
    "data": {
      "inventoryShipment": {
        "id": "gid://shopify/InventoryShipment/123",
        "name": "Example inventoryshipment",
        "status": "IN_TRANSIT",
        "tracking": {
          "__typename": "InventoryShipmentTracking"
        }
      }
    },
    "fields_changed": [
      "inventoryShipment[id: 'gid://shopify/InventoryShipment/123'].tracking"
    ],
    "query_variables": {
      "inventoryShipmentId": "gid://shopify/InventoryShipment/123"
    }
  }
  ```

  ##### Headers

  ```bash
  shopify-action: update
  shopify-api-version: unstable
  shopify-event-id: 44444444-4444-4444-4444-444444444444
  shopify-handle: inventoryShipment-event
  shopify-hmac-sha256: 61lWIGuA2nXdHRjhMU/+EDw2y3Eg0mPKJ+RhR7dKKIM=
  shopify-resource-id: gid://shopify/InventoryShipment/123
  shopify-shop-domain: your-shop.myshopify.com
  shopify-topic: InventoryShipment
  shopify-triggered-at: 2026-03-23T16:24:35.267Z
  shopify-webhook-id: 7613956a-18a5-332d-b71e-e164bbcacdba
  ```

* #### Subscribe via app configuration

  ##### shopify.app.toml

  ```toml
  [events]
  api_version = "unstable"

  [[events.subscription]]
  handle = "inventoryShipment-event"

  topic = "InventoryShipment"
  actions = ["update"]
  triggers = ["inventoryShipment.tracking.arrivesAt"]

  uri = "https://your-app.com/events"

  query = """
  query inventoryShipment_event_payload($inventoryShipmentId: ID!) {
    inventoryShipment(id: $inventoryShipmentId) {
      id
      name
      status
      tracking {
        arrivesAt
      }
    }
  }
  """
  ```

  ##### Payload

  ```json
  {
    "topic": "InventoryShipment",
    "action": "update",
    "handle": "inventoryShipment-event",
    "data": {
      "inventoryShipment": {
        "id": "gid://shopify/InventoryShipment/123",
        "name": "Example inventoryshipment",
        "status": "IN_TRANSIT",
        "tracking": {
          "arrivesAt": "…"
        }
      }
    },
    "fields_changed": [
      "inventoryShipment[id: 'gid://shopify/InventoryShipment/123'].tracking.arrivesAt"
    ],
    "query_variables": {
      "inventoryShipmentId": "gid://shopify/InventoryShipment/123"
    }
  }
  ```

  ##### Headers

  ```bash
  shopify-action: update
  shopify-api-version: unstable
  shopify-event-id: 44444444-4444-4444-4444-444444444444
  shopify-handle: inventoryShipment-event
  shopify-hmac-sha256: 61lWIGuA2nXdHRjhMU/+EDw2y3Eg0mPKJ+RhR7dKKIM=
  shopify-resource-id: gid://shopify/InventoryShipment/123
  shopify-shop-domain: your-shop.myshopify.com
  shopify-topic: InventoryShipment
  shopify-triggered-at: 2026-03-23T16:24:35.267Z
  shopify-webhook-id: 7613956a-18a5-332d-b71e-e164bbcacdba
  ```

* #### Subscribe via app configuration

  ##### shopify.app.toml

  ```toml
  [events]
  api_version = "unstable"

  [[events.subscription]]
  handle = "inventoryShipment-event"

  topic = "InventoryShipment"
  actions = ["update"]
  triggers = ["inventoryShipment.tracking.company"]

  uri = "https://your-app.com/events"

  query = """
  query inventoryShipment_event_payload($inventoryShipmentId: ID!) {
    inventoryShipment(id: $inventoryShipmentId) {
      id
      name
      status
      tracking {
        company
      }
    }
  }
  """
  ```

  ##### Payload

  ```json
  {
    "topic": "InventoryShipment",
    "action": "update",
    "handle": "inventoryShipment-event",
    "data": {
      "inventoryShipment": {
        "id": "gid://shopify/InventoryShipment/123",
        "name": "Example inventoryshipment",
        "status": "IN_TRANSIT",
        "tracking": {
          "company": "…"
        }
      }
    },
    "fields_changed": [
      "inventoryShipment[id: 'gid://shopify/InventoryShipment/123'].tracking.company"
    ],
    "query_variables": {
      "inventoryShipmentId": "gid://shopify/InventoryShipment/123"
    }
  }
  ```

  ##### Headers

  ```bash
  shopify-action: update
  shopify-api-version: unstable
  shopify-event-id: 44444444-4444-4444-4444-444444444444
  shopify-handle: inventoryShipment-event
  shopify-hmac-sha256: 61lWIGuA2nXdHRjhMU/+EDw2y3Eg0mPKJ+RhR7dKKIM=
  shopify-resource-id: gid://shopify/InventoryShipment/123
  shopify-shop-domain: your-shop.myshopify.com
  shopify-topic: InventoryShipment
  shopify-triggered-at: 2026-03-23T16:24:35.267Z
  shopify-webhook-id: 7613956a-18a5-332d-b71e-e164bbcacdba
  ```

* #### Subscribe via app configuration

  ##### shopify.app.toml

  ```toml
  [events]
  api_version = "unstable"

  [[events.subscription]]
  handle = "inventoryShipment-event"

  topic = "InventoryShipment"
  actions = ["update"]
  triggers = ["inventoryShipment.tracking.trackingNumber"]

  uri = "https://your-app.com/events"

  query = """
  query inventoryShipment_event_payload($inventoryShipmentId: ID!) {
    inventoryShipment(id: $inventoryShipmentId) {
      id
      name
      status
      tracking {
        trackingNumber
      }
    }
  }
  """
  ```

  ##### Payload

  ```json
  {
    "topic": "InventoryShipment",
    "action": "update",
    "handle": "inventoryShipment-event",
    "data": {
      "inventoryShipment": {
        "id": "gid://shopify/InventoryShipment/123",
        "name": "Example inventoryshipment",
        "status": "IN_TRANSIT",
        "tracking": {
          "trackingNumber": "…"
        }
      }
    },
    "fields_changed": [
      "inventoryShipment[id: 'gid://shopify/InventoryShipment/123'].tracking.trackingNumber"
    ],
    "query_variables": {
      "inventoryShipmentId": "gid://shopify/InventoryShipment/123"
    }
  }
  ```

  ##### Headers

  ```bash
  shopify-action: update
  shopify-api-version: unstable
  shopify-event-id: 44444444-4444-4444-4444-444444444444
  shopify-handle: inventoryShipment-event
  shopify-hmac-sha256: 61lWIGuA2nXdHRjhMU/+EDw2y3Eg0mPKJ+RhR7dKKIM=
  shopify-resource-id: gid://shopify/InventoryShipment/123
  shopify-shop-domain: your-shop.myshopify.com
  shopify-topic: InventoryShipment
  shopify-triggered-at: 2026-03-23T16:24:35.267Z
  shopify-webhook-id: 7613956a-18a5-332d-b71e-e164bbcacdba
  ```

* #### Subscribe via app configuration

  ##### shopify.app.toml

  ```toml
  [events]
  api_version = "unstable"

  [[events.subscription]]
  handle = "inventoryShipment-event"

  topic = "InventoryShipment"
  actions = ["update"]
  triggers = ["inventoryShipment.tracking.trackingUrl"]

  uri = "https://your-app.com/events"

  query = """
  query inventoryShipment_event_payload($inventoryShipmentId: ID!) {
    inventoryShipment(id: $inventoryShipmentId) {
      id
      name
      status
      tracking {
        trackingUrl
      }
    }
  }
  """
  ```

  ##### Payload

  ```json
  {
    "topic": "InventoryShipment",
    "action": "update",
    "handle": "inventoryShipment-event",
    "data": {
      "inventoryShipment": {
        "id": "gid://shopify/InventoryShipment/123",
        "name": "Example inventoryshipment",
        "status": "IN_TRANSIT",
        "tracking": {
          "trackingUrl": "…"
        }
      }
    },
    "fields_changed": [
      "inventoryShipment[id: 'gid://shopify/InventoryShipment/123'].tracking.trackingUrl"
    ],
    "query_variables": {
      "inventoryShipmentId": "gid://shopify/InventoryShipment/123"
    }
  }
  ```

  ##### Headers

  ```bash
  shopify-action: update
  shopify-api-version: unstable
  shopify-event-id: 44444444-4444-4444-4444-444444444444
  shopify-handle: inventoryShipment-event
  shopify-hmac-sha256: 61lWIGuA2nXdHRjhMU/+EDw2y3Eg0mPKJ+RhR7dKKIM=
  shopify-resource-id: gid://shopify/InventoryShipment/123
  shopify-shop-domain: your-shop.myshopify.com
  shopify-topic: InventoryShipment
  shopify-triggered-at: 2026-03-23T16:24:35.267Z
  shopify-webhook-id: 7613956a-18a5-332d-b71e-e164bbcacdba
  ```

***
