# reduceInventory (https://developer.godaddy.com/en/docs/references/rest/catalog/inventory/mutations/reduceInventory)

***

title: reduceInventory
description: "Reduce inventory by first reducing available, then moving committed to backordered. If insufficient inventory exists, additional available inventory is…"
full: true
----------

mutation

Requires `commerce.product:write`.

Reduce inventory by first reducing available, then moving committed to backordered. If insufficient inventory exists, additional available inventory is automatically added to fulfill the reduction. This mutation does not respect backorder limits.

## Required headers

| Header       | Required | Description                                                                                                                     |
| ------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------- |
| `x-store-id` | Yes      | ID of the store the operation targets. Omitting it returns HTTP 200 with a GraphQL error: `extensions.code: "UNAUTHENTICATED"`. |

Go to [Authentication](https://developer.godaddy.com/docs/api-users/auth) for credential setup.

## Arguments

* `input` `MutationReduceInventoryInput!` **required**
  * `locationId` `ID!` **required**
  * `quantity` `Int!` **required**
  * `skuId` `ID!` **required**
  * `reasonName` `String` **optional**
  * `references` `[CreateReferenceInput!]` **optional**
    * `origin` `String!` **required**
    * `value` `String!` **required**

## Possible returns

* `InventoryAdjustment` `[InventoryAdjustment!]` — An immutable entity that represents a change in state of a quantity of SKU at a particular time and location.

- `createdAt` `DateTime` **nullable** — The creation date of the inventory adjustment.
- `delta` `Int` **nullable** — The change in quantity of a SKU at a location.
- `id` `ID` **nullable** — The globally-unique ID of the inventory adjustment object.
- `location` `Location` **nullable** — The Location associated with the Inventory Adjustment.
- `metafields` `InventoryAdjustmentMetafieldsConnection` **nullable**
- `occurredAt` `DateTime` **nullable** — The date when the inventory adjustment occurred.
- `reason` `InventoryAdjustmentReason` **nullable** — The reason associated with this inventory adjustment.
- `references` `InventoryAdjustmentReferencesConnection` **nullable** — A reference to the resource in an external service. This can be useful for integrating the resource to any external service.
- `sku` `SKU` **nullable** — The SKU associated with the Inventory Adjustment.
- `type` `String!` **non-null** — The adjustment type of the inventory being adjusted, one of `AVAILABLE`, `COMMITTED`, `BACKORDERED`.
- `SKU` `SKU` **nullable** deprecated — The SKU associated with the Inventory Adjustment. Deprecated: Use sku instead.
