# Inventory item updated

Webhook event: `inventory.updated`

Fired when an inventory item changes (PUT /api/v1/inventory/:id), from channel-assignment changes affecting the item (`changes.channels_updated: true`), or on scheduled-pricing transitions (reason-only shape without itemId).

Delivered payload:

```ts
{
  id: string // uuid
  event: "inventory.updated"
  resource: "inventory"
  resourceId: string
  timestamp: string // date-time
  apiVersion: "v1"
  data: {
    customFields?: Array<{
        fieldId: string
        key: string
        label: string
        group: string
        type: string
        value: unknown
        displayValue: string
        version: integer
        status: string
      }>
    metadata?: Record<string, unknown> | null
    itemId: integer
    changes: Record<string, unknown>
    locationId: integer
    updatedAt: string // date-time
  } | {
    customFields?: Array<{
        fieldId: string
        key: string
        label: string
        group: string
        type: string
        value: unknown
        displayValue: string
        version: integer
        status: string
      }>
    metadata?: Record<string, unknown> | null
    locationId: integer
    reason: "pricing_schedule_transition" | "grouped_pricing_updated"
    transitionAt: string // date-time
  }
}
```
