---
title: "Create an Inventory Product Adjustment"
method: POST
path: "/inventory/products/{productId}/adjustments"
tags: ["InventoryProducts"]
---

# Create an Inventory Product Adjustment

`POST /inventory/products/{productId}/adjustments`

This endpoint creates an adjustment for the given inventory product.

## Request body

- object
  - `quantity` number, required — The amount of the adjustment, which may be positive or negative.
  - `reason_code` string, required — The preset reason code for the adjustment.
  - `reason_description` string, nullable, required — A free-text description of the reason for the adjustment.
  - `location_id` string, uuid, nullable, required — Identifier of the stock location the adjustment is recorded against. For positive adjustments stock is added at this location; for negative adjustments stock is removed from it. Pass `null` if the site uses a single, default location.

## Response `201`

The inventory product adjustment was successfully retrieved

- object
  - `data` InventoryProductAdjustment, required
    - `id` string, uuid, required — The ID of the inventory product adjustment.
    - `quantity` number, required — The amount of the adjustment, which may be positive or negative.
    - `reason_code` string, required — The preset reason code for the adjustment.
    - `reason_description` string, required — A free-text description of the reason for the adjustment.
    - `product_id` string, uuid, required — The ID of the inventory product this adjustment is for.
    - `location_id` string, uuid, required — The ID of the location the stock is moving from.
    - `site_id` string, uuid, required — The ID of the site this adjustment belongs to.
    - `organisation_id` string, uuid, required — The ID of the organisation this adjustment belongs to.
    - `user_id` string, uuid, nullable, required — The ID of the user who created the adjustment.
    - `created_at` string, date-time, required — The date and time the adjustment was created.

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `404` — The resource couldn't be found
- `422` — The request didn't pass validation

---

[API](https://skmtc.dev/try/apis/trybe-api.md) · [All operations](https://skmtc.dev/try/apis/trybe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/try/trybe-api/revisions/f37f92702da5/schema)
