> ## Documentation Index
> Fetch the complete documentation index at: https://developers.redo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# inventoryLevelLedgerEntries

> Page inventory ledger rows for one bin-level inventory record (`inventoryLevelId`) or one source record (exact `referenceId`), newest first. Same rows as `binInventoryLevel { ledgerEntries }` when scoped to one `inventoryLevelId`. To find a bin's levels first, use `storageLocation { binInventoryLevels }` or `binInventoryLevels(storageLocationId:)`.

**Required scopes:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)

## Arguments

<ResponseField name="after" type="String">
  Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.
</ResponseField>

<ResponseField name="before" type="String">
  Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.
</ResponseField>

<ResponseField name="createdAtAfter" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
  Only return entries recorded at or after this instant.
</ResponseField>

<ResponseField name="createdAtBefore" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
  Only return entries recorded before this instant.
</ResponseField>

<ResponseField name="first" type="Int">
  Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.
</ResponseField>

<ResponseField name="inventoryLevelId" type="ID">
  Only return entries for this bin-level inventory record (`BinInventoryLevel` id).
</ResponseField>

<ResponseField name="kind" type={<a href="/docs/api-reference/v3/reference/inventory/inventory-level-adjustment-kind">[InventoryLevelAdjustmentKind!]</a>}>
  Only return entries with one of these adjustment kinds.
</ResponseField>

<ResponseField name="last" type="Int">
  Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.
</ResponseField>

<ResponseField name="orderBy" type={<a href="/docs/api-reference/v3/reference/inventory/inventory-level-ledger-entry-sort-key">InventoryLevelLedgerEntrySortKey</a>}>
  Which key to sort by (defaults to the first key, newest-first). Combine with `reverse` to flip direction.
</ResponseField>

<ResponseField name="referenceId" type="String">
  Only return entries with this exact reference id (fulfillment, count session, etc.).
</ResponseField>

<ResponseField name="reverse" type="Boolean">
  Reverses the sort direction selected by `orderBy` (or its default).
</ResponseField>

## Returns

<ResponseField name="inventoryLevelLedgerEntries" type={<a href="/docs/api-reference/v3/pagination">InventoryLevelLedgerEntryConnection!</a>} required>
  A paginated list of InventoryLevelLedgerEntry items.

  <Expandable title="fields" lazyRender>
    <ResponseField name="edges" type={<a href="/docs/api-reference/v3/pagination">[InventoryLevelLedgerEntryEdge!]!</a>} required>
      The list of edges (each a node plus its pagination `cursor`).

      <Expandable title="fields" lazyRender>
        <ResponseField name="cursor" type="String!" required>
          Opaque cursor for this item; pass to `after`/`before` to page from here.
        </ResponseField>

        <ResponseField name="node" type={<a href="/docs/api-reference/v3/reference/inventory/inventory-level-ledger-entry">InventoryLevelLedgerEntry!</a>} required>
          The item at this edge.

          <Expandable title="fields" lazyRender>
            <ResponseField name="balance" type="Int!" required>
              On-hand quantity at this inventory level immediately after this entry.
            </ResponseField>

            <ResponseField name="binInventoryLevel" type={<a href="/docs/api-reference/v3/reference/inventory/bin-inventory-level">BinInventoryLevel</a>}>
              The bin-level inventory record this ledger row belongs to.

              **Requires:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)
            </ResponseField>

            <ResponseField name="createdAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When this ledger entry was recorded.
            </ResponseField>

            <ResponseField name="delta" type="Int!" required>
              Signed quantity change applied by this entry (negative reduces on-hand).
            </ResponseField>

            <ResponseField name="expirationDate" type={<a href="/docs/api-reference/v3/reference/common/date">Date</a>}>
              Expiration date on the linked inventory item today (not a snapshot at adjustment time).
            </ResponseField>

            <ResponseField name="id" type="ID!" required>
              The id of this ledger entry.
            </ResponseField>

            <ResponseField name="kind" type={<a href="/docs/api-reference/v3/reference/inventory/inventory-level-adjustment-kind">InventoryLevelAdjustmentKind!</a>} required>
              What caused this inventory change.
            </ResponseField>

            <ResponseField name="location" type={<a href="/docs/api-reference/v3/reference/inventory/location">Location</a>}>
              The warehouse location where this adjustment occurred.

              **Requires:** [`locations_read`](/docs/api-reference/v3/reference/scopes#scope-locations_read)
            </ResponseField>

            <ResponseField name="lotNumber" type="String">
              Lot number on the linked inventory item today (not a snapshot at adjustment time).
            </ResponseField>

            <ResponseField name="notes" type="String">
              Free-text notes stored on the entry.
            </ResponseField>

            <ResponseField name="product" type={<a href="/docs/api-reference/v3/reference/catalog/product">Product</a>}>
              The product whose inventory changed, when applicable.

              **Requires:** [`products_read`](/docs/api-reference/v3/reference/scopes#scope-products_read)
            </ResponseField>

            <ResponseField name="referenceId" type="String">
              Opaque reference tying this entry to a source record (fulfillment, count session, etc.).
            </ResponseField>

            <ResponseField name="storageLocationName" type="String">
              Name of the bin or storage location for the linked inventory level today (not a snapshot at adjustment time).
            </ResponseField>

            <ResponseField name="userName" type="String">
              Display name of the user who performed the adjustment.
            </ResponseField>
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="nodes" type={<a href="/docs/api-reference/v3/reference/inventory/inventory-level-ledger-entry">[InventoryLevelLedgerEntry!]!</a>} required>
      The nodes in this page, without the edge/cursor wrapper — a convenience over `edges`.

      <Expandable title="fields" lazyRender>
        <ResponseField name="balance" type="Int!" required>
          On-hand quantity at this inventory level immediately after this entry.
        </ResponseField>

        <ResponseField name="binInventoryLevel" type={<a href="/docs/api-reference/v3/reference/inventory/bin-inventory-level">BinInventoryLevel</a>}>
          The bin-level inventory record this ledger row belongs to.

          **Requires:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)

          <Expandable title="fields" lazyRender>
            <ResponseField name="createdAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the record was created.
            </ResponseField>

            <ResponseField name="id" type="ID!" required>
              The id of this bin-level inventory record.
            </ResponseField>

            <ResponseField name="inventoryItem" type={<a href="/docs/api-reference/v3/reference/inventory/inventory-item">InventoryItem</a>}>
              The specific inventory item this level tracks, when item-scoped.

              **Requires:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)
            </ResponseField>

            <ResponseField name="inventoryProduct" type={<a href="/docs/api-reference/v3/reference/inventory/inventory-product">InventoryProduct</a>}>
              The product this quantity belongs to, when the level is product-scoped.

              **Requires:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)
            </ResponseField>

            <ResponseField name="lastCountedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
              When this bin-level quantity was last cycle-counted.
            </ResponseField>

            <ResponseField name="ledgerEntries" type={<a href="/docs/api-reference/v3/pagination">InventoryLevelLedgerEntryConnection!</a>} required>
              Append-only quantity change history for this bin-level inventory record. Load via `binInventoryLevel(id) { ledgerEntries(...) }` or `StorageLocation.binInventoryLevels { ledgerEntries(...) }`.

              **Requires:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)

              <Expandable title="fields" lazyRender>
                **Arguments**

                <ResponseField name="after" type="String">
                  Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.
                </ResponseField>

                <ResponseField name="before" type="String">
                  Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.
                </ResponseField>

                <ResponseField name="createdAtAfter" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
                  Only return entries recorded at or after this instant.
                </ResponseField>

                <ResponseField name="createdAtBefore" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime</a>}>
                  Only return entries recorded before this instant.
                </ResponseField>

                <ResponseField name="first" type="Int">
                  Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.
                </ResponseField>

                <ResponseField name="kind" type={<a href="/docs/api-reference/v3/reference/inventory/inventory-level-adjustment-kind">[InventoryLevelAdjustmentKind!]</a>}>
                  Only return entries with one of these adjustment kinds.
                </ResponseField>

                <ResponseField name="last" type="Int">
                  Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.
                </ResponseField>

                <ResponseField name="orderBy" type={<a href="/docs/api-reference/v3/reference/inventory/inventory-level-ledger-entry-sort-key">InventoryLevelLedgerEntrySortKey</a>}>
                  Which key to sort by (defaults to the first key, newest-first). Combine with `reverse` to flip direction.
                </ResponseField>

                <ResponseField name="reverse" type="Boolean">
                  Reverses the sort direction selected by `orderBy` (or its default).
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="location" type={<a href="/docs/api-reference/v3/reference/inventory/location">Location</a>}>
              The warehouse this quantity is held at.

              **Requires:** [`locations_read`](/docs/api-reference/v3/reference/scopes#scope-locations_read)
            </ResponseField>

            <ResponseField name="maxQuantity" type="Int">
              Maximum quantity allowed in the bin, when capped.
            </ResponseField>

            <ResponseField name="quantity" type="Int!" required>
              Quantity on hand in the storage location.
            </ResponseField>

            <ResponseField name="storageLocation" type={<a href="/docs/api-reference/v3/reference/inventory/storage-location">StorageLocation!</a>} required>
              The bin or slot holding this quantity.

              **Requires:** [`locations_read`](/docs/api-reference/v3/reference/scopes#scope-locations_read)
            </ResponseField>

            <ResponseField name="updatedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the record was last updated.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="createdAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
          When this ledger entry was recorded.
        </ResponseField>

        <ResponseField name="delta" type="Int!" required>
          Signed quantity change applied by this entry (negative reduces on-hand).
        </ResponseField>

        <ResponseField name="expirationDate" type={<a href="/docs/api-reference/v3/reference/common/date">Date</a>}>
          Expiration date on the linked inventory item today (not a snapshot at adjustment time).
        </ResponseField>

        <ResponseField name="id" type="ID!" required>
          The id of this ledger entry.
        </ResponseField>

        <ResponseField name="kind" type={<a href="/docs/api-reference/v3/reference/inventory/inventory-level-adjustment-kind">InventoryLevelAdjustmentKind!</a>} required>
          What caused this inventory change.
        </ResponseField>

        <ResponseField name="location" type={<a href="/docs/api-reference/v3/reference/inventory/location">Location</a>}>
          The warehouse location where this adjustment occurred.

          **Requires:** [`locations_read`](/docs/api-reference/v3/reference/scopes#scope-locations_read)

          <Expandable title="fields" lazyRender>
            <ResponseField name="city" type="String">
              The city of the location's address.
            </ResponseField>

            <ResponseField name="company" type="String">
              The company name associated with the location.
            </ResponseField>

            <ResponseField name="countryCode" type="String">
              The country code, e.g. "US".
            </ResponseField>

            <ResponseField name="createdAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the record was created.
            </ResponseField>

            <ResponseField name="id" type="ID!" required>
              The id of this location.
            </ResponseField>

            <ResponseField name="inventoryItems" type={<a href="/docs/api-reference/v3/pagination">InventoryItemConnection!</a>} required>
              Traceable inventory units at this warehouse.

              **Requires:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)

              <Expandable title="fields" lazyRender>
                **Arguments**

                <ResponseField name="after" type="String">
                  Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.
                </ResponseField>

                <ResponseField name="before" type="String">
                  Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.
                </ResponseField>

                <ResponseField name="first" type="Int">
                  Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.
                </ResponseField>

                <ResponseField name="last" type="Int">
                  Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="inventoryLevels" type={<a href="/docs/api-reference/v3/pagination">LocationInventoryLevelConnection!</a>} required>
              Per-product inventory levels held at this location.

              **Requires:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)

              <Expandable title="fields" lazyRender>
                **Arguments**

                <ResponseField name="after" type="String">
                  Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.
                </ResponseField>

                <ResponseField name="before" type="String">
                  Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.
                </ResponseField>

                <ResponseField name="first" type="Int">
                  Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.
                </ResponseField>

                <ResponseField name="last" type="Int">
                  Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="name" type="String!" required>
              The location's display name.
            </ResponseField>

            <ResponseField name="phone" type="String">
              The contact phone number for the location.
            </ResponseField>

            <ResponseField name="postalCode" type="String">
              The postal or ZIP code, e.g. "84101".
            </ResponseField>

            <ResponseField name="stateCode" type="String">
              The state or province code, e.g. "UT".
            </ResponseField>

            <ResponseField name="storageLocations" type={<a href="/docs/api-reference/v3/pagination">StorageLocationConnection!</a>} required>
              Bins and other storage locations within this warehouse.

              **Requires:** [`locations_read`](/docs/api-reference/v3/reference/scopes#scope-locations_read)

              <Expandable title="fields" lazyRender>
                **Arguments**

                <ResponseField name="after" type="String">
                  Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.
                </ResponseField>

                <ResponseField name="before" type="String">
                  Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.
                </ResponseField>

                <ResponseField name="first" type="Int">
                  Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.
                </ResponseField>

                <ResponseField name="last" type="Int">
                  Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="street1" type="String">
              The first line of the street address.
            </ResponseField>

            <ResponseField name="street2" type="String">
              The second line of the street address.
            </ResponseField>

            <ResponseField name="updatedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the record was last updated.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="lotNumber" type="String">
          Lot number on the linked inventory item today (not a snapshot at adjustment time).
        </ResponseField>

        <ResponseField name="notes" type="String">
          Free-text notes stored on the entry.
        </ResponseField>

        <ResponseField name="product" type={<a href="/docs/api-reference/v3/reference/catalog/product">Product</a>}>
          The product whose inventory changed, when applicable.

          **Requires:** [`products_read`](/docs/api-reference/v3/reference/scopes#scope-products_read)

          <Expandable title="fields" lazyRender>
            <ResponseField name="attribute" type={<a href="/docs/api-reference/v3/reference/catalog/attribute">Attribute</a>}>
              Look up a single attribute on this product by its name, if set.

              **Requires:** [`products_read`](/docs/api-reference/v3/reference/scopes#scope-products_read)

              <Expandable title="fields" lazyRender>
                **Arguments**

                <ResponseField name="name" type="String!" required>
                  The machine name of the attribute to look up.
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="attributes" type={<a href="/docs/api-reference/v3/reference/catalog/attribute">[Attribute!]!</a>} required>
              The merchant-defined attributes set on this product.
            </ResponseField>

            <ResponseField name="barcodes" type="[String!]!" required>
              Barcodes associated with this product.
            </ResponseField>

            <ResponseField name="cost" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
              The merchant's unit cost for the product.
            </ResponseField>

            <ResponseField name="createdAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the record was created.
            </ResponseField>

            <ResponseField name="description" type="String!" required>
              The product's long-form description.
            </ResponseField>

            <ResponseField name="dimensions" type={<a href="/docs/api-reference/v3/reference/catalog/dimensions">Dimensions</a>}>
              The product's length, width, and height, expressed in a single shared unit.
            </ResponseField>

            <ResponseField name="hsCode" type="String">
              The Harmonized System code used for customs.
            </ResponseField>

            <ResponseField name="id" type="ID!" required>
              The id of this product.
            </ResponseField>

            <ResponseField name="image" type={<a href="/docs/api-reference/v3/reference/catalog/product-image">ProductImage</a>}>
              The first (default) image for this product, if any.

              **Requires:** [`products_read`](/docs/api-reference/v3/reference/scopes#scope-products_read)
            </ResponseField>

            <ResponseField name="images" type={<a href="/docs/api-reference/v3/pagination">ProductImageConnection!</a>} required>
              A paginated list of the product's images.

              **Requires:** [`products_read`](/docs/api-reference/v3/reference/scopes#scope-products_read)

              <Expandable title="fields" lazyRender>
                **Arguments**

                <ResponseField name="after" type="String">
                  Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.
                </ResponseField>

                <ResponseField name="before" type="String">
                  Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.
                </ResponseField>

                <ResponseField name="first" type="Int">
                  Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.
                </ResponseField>

                <ResponseField name="last" type="Int">
                  Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="inventoryItems" type={<a href="/docs/api-reference/v3/pagination">InventoryItemConnection!</a>} required>
              Traceable inventory units for this product.

              **Requires:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)

              <Expandable title="fields" lazyRender>
                **Arguments**

                <ResponseField name="after" type="String" />

                <ResponseField name="before" type="String" />

                <ResponseField name="first" type="Int" />

                <ResponseField name="last" type="Int" />
              </Expandable>
            </ResponseField>

            <ResponseField name="inventoryLevel" type={<a href="/docs/api-reference/v3/reference/inventory/location-inventory-level">LocationInventoryLevel</a>}>
              This product's inventory level at a single location, if any.

              **Requires:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)

              <Expandable title="fields" lazyRender>
                **Arguments**

                <ResponseField name="locationId" type="ID!" required>
                  The id of the location to fetch the level at.
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="inventoryLevels" type={<a href="/docs/api-reference/v3/pagination">LocationInventoryLevelConnection!</a>} required>
              Per-location inventory levels for this product.

              **Requires:** [`inventory_read`](/docs/api-reference/v3/reference/scopes#scope-inventory_read)

              <Expandable title="fields" lazyRender>
                **Arguments**

                <ResponseField name="after" type="String">
                  Forward pagination cursor — returns items after it. Pass an `edges[].cursor` or `pageInfo.endCursor` from a previous page.
                </ResponseField>

                <ResponseField name="before" type="String">
                  Backward pagination cursor — returns items before it. Pass an `edges[].cursor` or `pageInfo.startCursor` from a previous page.
                </ResponseField>

                <ResponseField name="first" type="Int">
                  Forward pagination: returns the first N items (max 100, default 25). Use with `after`; mutually exclusive with `last`/`before`.
                </ResponseField>

                <ResponseField name="last" type="Int">
                  Backward pagination: returns the last N items (max 100, default 25). Use with `before`; mutually exclusive with `first`/`after`.
                </ResponseField>
              </Expandable>
            </ResponseField>

            <ResponseField name="options" type={<a href="/docs/api-reference/v3/reference/catalog/product-option-value">[ProductOptionValue!]!</a>} required>
              The variant's selected option values (e.g. Size: M, Color: Red), ordered by the family's option positions.
            </ResponseField>

            <ResponseField name="originCountry" type="String">
              The country of origin, as a country code.
            </ResponseField>

            <ResponseField name="physicalItem" type="Boolean!" required>
              Whether the product is a physical, shippable item.
            </ResponseField>

            <ResponseField name="price" type={<a href="/docs/api-reference/v3/reference/common/money">Money</a>}>
              The product's selling price.
            </ResponseField>

            <ResponseField name="productFamily" type={<a href="/docs/api-reference/v3/reference/catalog/product-family">ProductFamily</a>}>
              The product family this product belongs to, if any.

              **Requires:** [`products_read`](/docs/api-reference/v3/reference/scopes#scope-products_read)
            </ResponseField>

            <ResponseField name="sku" type="String">
              The stock keeping unit identifying this product.
            </ResponseField>

            <ResponseField name="tags" type="[String!]!" required>
              Free-form tags applied to the product.
            </ResponseField>

            <ResponseField name="taxCode" type="String">
              The tax code used to classify the product for taxation.
            </ResponseField>

            <ResponseField name="taxable" type="Boolean!" required>
              Whether the product is subject to tax.
            </ResponseField>

            <ResponseField name="title" type="String!" required>
              The product's title.
            </ResponseField>

            <ResponseField name="upc" type="String">
              The Universal Product Code for this product.
            </ResponseField>

            <ResponseField name="updatedAt" type={<a href="/docs/api-reference/v3/reference/common/date-time">DateTime!</a>} required>
              When the record was last updated.
            </ResponseField>

            <ResponseField name="vendor" type="String">
              The vendor or manufacturer of the product.
            </ResponseField>

            <ResponseField name="weight" type={<a href="/docs/api-reference/v3/reference/catalog/weight">Weight</a>}>
              The product's weight.
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="referenceId" type="String">
          Opaque reference tying this entry to a source record (fulfillment, count session, etc.).
        </ResponseField>

        <ResponseField name="storageLocationName" type="String">
          Name of the bin or storage location for the linked inventory level today (not a snapshot at adjustment time).
        </ResponseField>

        <ResponseField name="userName" type="String">
          Display name of the user who performed the adjustment.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="pageInfo" type={<a href="/docs/api-reference/v3/pagination">PageInfo!</a>} required>
      Pagination metadata for the current page.

      <Expandable title="fields" lazyRender>
        <ResponseField name="endCursor" type="String">
          Cursor of the last edge in this page; pass to `after` to page forward.
        </ResponseField>

        <ResponseField name="hasNextPage" type="Boolean!" required>
          Whether more items exist after this page (drives forward pagination with `first`/`after`).
        </ResponseField>

        <ResponseField name="hasPreviousPage" type="Boolean!" required>
          Whether more items exist before this page (drives backward pagination with `last`/`before`).
        </ResponseField>

        <ResponseField name="startCursor" type="String">
          Cursor of the first edge in this page; pass to `before` to page backward.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

## Example

```graphql theme={null}
query {
  inventoryLevelLedgerEntries(after: "...", before: "...", createdAtAfter: "...", createdAtBefore: "...", first: 10, inventoryLevelId: "...", kind: BIN_COUNT, last: 10, orderBy: CREATED_AT, referenceId: "...", reverse: true) {
    nodes {
      balance
      createdAt
      delta
      expirationDate
      id
      kind
      lotNumber
      notes
      # ...
    }
    pageInfo { hasNextPage endCursor }
  }
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.