# inventorySetOnHandQuantities - admin-graphql - MUTATION
Version: 2025-01

## Description
Set inventory on-hand quantities using absolute values.

### Access Scopes
`write_inventory` access scope. Also: The user must have a permission to update an inventory.


## Arguments
* [input](/docs/api/admin-graphql/2025-01/input-objects/InventorySetOnHandQuantitiesInput): InventorySetOnHandQuantitiesInput! - The information required to set inventory on hand quantities.


## Returns
* [inventoryAdjustmentGroup](/docs/api/admin-graphql/2025-01/objects/InventoryAdjustmentGroup): InventoryAdjustmentGroup The group of changes made by the operation.
* [userErrors](/docs/api/admin-graphql/2025-01/objects/InventorySetOnHandQuantitiesUserError): InventorySetOnHandQuantitiesUserError! The list of errors that occurred from executing the mutation.


## Examples
### Adjust on_hand quantity for 2 items, with reason 'correction'.
Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/admin/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Access-Token: {access_token}' \\\n-d '{\n\"query\": \"mutation inventorySetOnHandQuantities($input: InventorySetOnHandQuantitiesInput!) { inventorySetOnHandQuantities(input: $input) { userErrors { field message } inventoryAdjustmentGroup { createdAt reason referenceDocumentUri changes { name delta } } } }\",\n \"variables\": {\n    \"input\": {\n      \"reason\": \"correction\",\n      \"referenceDocumentUri\": \"logistics://some.warehouse/take/2023-01-23T13:14:15Z\",\n      \"setQuantities\": [\n        {\n          \"inventoryItemId\": \"gid://shopify/InventoryItem/30322695\",\n          \"locationId\": \"gid://shopify/Location/124656943\",\n          \"quantity\": 42\n        },\n        {\n          \"inventoryItemId\": \"gid://shopify/InventoryItem/113711323\",\n          \"locationId\": \"gid://shopify/Location/124656943\",\n          \"quantity\": 13\n        }\n      ]\n    }\n  }\n}'\n"
Node example: "const client = new shopify.clients.Graphql({session});\nconst data = await client.query({\n  data: {\n    \"query\": `mutation inventorySetOnHandQuantities($input: InventorySetOnHandQuantitiesInput!) {\n      inventorySetOnHandQuantities(input: $input) {\n        userErrors {\n          field\n          message\n        }\n        inventoryAdjustmentGroup {\n          createdAt\n          reason\n          referenceDocumentUri\n          changes {\n            name\n            delta\n          }\n        }\n      }\n    }`,\n    \"variables\": {\n      \"input\": {\n        \"reason\": \"correction\",\n        \"referenceDocumentUri\": \"logistics://some.warehouse/take/2023-01-23T13:14:15Z\",\n        \"setQuantities\": [\n          {\n            \"inventoryItemId\": \"gid://shopify/InventoryItem/30322695\",\n            \"locationId\": \"gid://shopify/Location/124656943\",\n            \"quantity\": 42\n          },\n          {\n            \"inventoryItemId\": \"gid://shopify/InventoryItem/113711323\",\n            \"locationId\": \"gid://shopify/Location/124656943\",\n            \"quantity\": 13\n          }\n        ]\n      }\n    },\n  },\n});\n"
Ruby example: "session = ShopifyAPI::Auth::Session.new(\n  shop: \"your-development-store.myshopify.com\",\n  access_token: access_token\n)\nclient = ShopifyAPI::Clients::Graphql::Admin.new(\n  session: session\n)\n\nquery = <<~QUERY\n  mutation inventorySetOnHandQuantities($input: InventorySetOnHandQuantitiesInput!) {\n    inventorySetOnHandQuantities(input: $input) {\n      userErrors {\n        field\n        message\n      }\n      inventoryAdjustmentGroup {\n        createdAt\n        reason\n        referenceDocumentUri\n        changes {\n          name\n          delta\n        }\n      }\n    }\n  }\nQUERY\n\nvariables = {\n  \"input\": {\n    \"reason\": \"correction\",\n    \"referenceDocumentUri\": \"logistics://some.warehouse/take/2023-01-23T13:14:15Z\",\n    \"setQuantities\": [{\"inventoryItemId\"=>\"gid://shopify/InventoryItem/30322695\", \"locationId\"=>\"gid://shopify/Location/124656943\", \"quantity\"=>42}, {\"inventoryItemId\"=>\"gid://shopify/InventoryItem/113711323\", \"locationId\"=>\"gid://shopify/Location/124656943\", \"quantity\"=>13}]\n  }\n}\n\nresponse = client.query(query: query, variables: variables)\n" 
Remix example: "const { admin } = await authenticate.admin(request);\n\nconst response = await admin.graphql(\n  `#graphql\n  mutation inventorySetOnHandQuantities($input: InventorySetOnHandQuantitiesInput!) {\n    inventorySetOnHandQuantities(input: $input) {\n      userErrors {\n        field\n        message\n      }\n      inventoryAdjustmentGroup {\n        createdAt\n        reason\n        referenceDocumentUri\n        changes {\n          name\n          delta\n        }\n      }\n    }\n  }`,\n  {\n    variables: {\n      \"input\": {\n        \"reason\": \"correction\",\n        \"referenceDocumentUri\": \"logistics://some.warehouse/take/2023-01-23T13:14:15Z\",\n        \"setQuantities\": [\n          {\n            \"inventoryItemId\": \"gid://shopify/InventoryItem/30322695\",\n            \"locationId\": \"gid://shopify/Location/124656943\",\n            \"quantity\": 42\n          },\n          {\n            \"inventoryItemId\": \"gid://shopify/InventoryItem/113711323\",\n            \"locationId\": \"gid://shopify/Location/124656943\",\n            \"quantity\": 13\n          }\n        ]\n      }\n    },\n  },\n);\n\nconst data = await response.json();\n"
Graphql query: "mutation inventorySetOnHandQuantities($input: InventorySetOnHandQuantitiesInput!) {\n  inventorySetOnHandQuantities(input: $input) {\n    userErrors {\n      field\n      message\n    }\n    inventoryAdjustmentGroup {\n      createdAt\n      reason\n      referenceDocumentUri\n      changes {\n        name\n        delta\n      }\n    }\n  }\n}"
#### Graphql Input
{
  "input": {
    "reason": "correction",
    "referenceDocumentUri": "logistics://some.warehouse/take/2023-01-23T13:14:15Z",
    "setQuantities": [
      {
        "inventoryItemId": "gid://shopify/InventoryItem/30322695",
        "locationId": "gid://shopify/Location/124656943",
        "quantity": 42
      },
      {
        "inventoryItemId": "gid://shopify/InventoryItem/113711323",
        "locationId": "gid://shopify/Location/124656943",
        "quantity": 13
      }
    ]
  }
}
#### Graphql Response
{
  "data": {
    "inventorySetOnHandQuantities": {
      "userErrors": [],
      "inventoryAdjustmentGroup": {
        "createdAt": "2024-09-12T01:05:46Z",
        "reason": "Inventory correction",
        "referenceDocumentUri": "logistics://some.warehouse/take/2023-01-23T13:14:15Z",
        "changes": [
          {
            "name": "available",
            "delta": 31
          },
          {
            "name": "available",
            "delta": 12
          },
          {
            "name": "on_hand",
            "delta": 31
          },
          {
            "name": "on_hand",
            "delta": 12
          }
        ]
      }
    }
  }
}