---
title: "List stock adjustments"
method: GET
path: "/stock_adjustments"
tags: ["Inventory"]
---

# List stock adjustments

`GET /stock_adjustments`

Returns a paginated list of stock adjustments for the authenticated retailer.

🔒 Requires: `inventory:write` scope

## Query parameters

- `page_size` integer
- `after` integer
- `before` integer

## Response `200`

The list of stock adjustments was successfully retrieved.

- StockAdjustmentCollection — A paginated list of stock adjustments.
  - `data` StockAdjustment[], required — An array of stock adjustments.
    - `created_at` string, date-time, required — The creation timestamp in RFC 3339 format.
    - `custom_inventory_adjustment_reason_id` string, uuid — The ID of the custom reason. Present only when `reason` is `CUSTOM`; omitted otherwise.
    - `id` string, uuid, required — Auto-generated object ID.
    - `outlet_id` string, uuid, required — The ID of the outlet where the adjustment was recorded.
    - `product_id` string, uuid, required — The ID of the product that was adjusted.
    - `quantity` string, required — Quantity to adjust.
    - `reason` 'DAMAGE' | 'EXPIRY' | 'INTERNAL_USE' | 'THEFT' | 'DONATION' | 'STOCK_FOUND' | 'SAMPLE_FOR_SALE' | 'CUSTOM', required — The reason for a stock adjustment. Negative reasons (require `quantity` < 0): `DAMAGE`, `EXPIRY`, `INTERNAL_USE`, `THEFT`, `DONATION`. Positive reasons (require `quantity` > 0): `STOCK_FOUND`, `SAMPLE_FOR_SALE`. For `CUSTOM`, the sign must match the referenced custom reason's `type`.
    - `updated_at` string, date-time, required — The last update timestamp in RFC 3339 format.
    - `user_id` string, uuid, required — The ID of the user who created the adjustment.
    - `version` integer, required — Auto-incrementing object version number.
  - `version` Version, required — An object containing the highest and lowest version numbers for all items of the returned collection.
    - `max` integer, nullable, required — Highest version number of the payload, or `null` when the result set is empty.
    - `min` integer, nullable, required — Lowest version number of the payload, or `null` when the result set is empty.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden

---

[API](https://skmtc.net/lightspeedhq/apis/api-2026-07.md) · [All operations](https://skmtc.net/lightspeedhq/apis/api-2026-07/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lightspeedhq/api-2026-07/revisions/72d4ceb46dbb/schema)
