---
title: "Edit material + inventory_item atomically"
method: PATCH
path: "/v1/inventory/{itemId}/material"
tags: ["Inventory", "Public"]
---

# Edit material + inventory_item atomically

`PATCH /v1/inventory/{itemId}/material`

Atomically updates whitelisted fields on a materials row and its joined inventory_items row. Quantity is not editable here (use /add and /remove). Returns 409 with conflict_side on optimistic-concurrency mismatch.

## Path parameters

- `itemId` string, uuid, required

## Request body

- object
  - `material` object
    - `name` string
    - `brand` unknown
    - `material_type` string
    - `color` unknown
    - `category` 'filament' | 'shop_supplies' | 'shipping_supplies' | 'parts'
    - `metadata` object
    - `asin` unknown
    - `sku` unknown
    - `filament_profile_id` unknown
  - `inventory_item` object
    - `location` unknown
    - `unit` string
    - `minimum_stock` unknown
  - `expected_material_updated_at` string, date-time
  - `expected_inventory_updated_at` string, date-time
  - `organizationId` string, uuid

## Response `200`

Default Response

- object
  - `ok` boolean
  - `material_updated_at` string
  - `inventory_updated_at` string
  - `material` object
  - `inventory_item` object

## Other responses

- `400` — Default Response
- `403` — Default Response
- `404` — Default Response
- `409` — Default Response

## Changes

- **2026-10-01** `02d446712323` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/printhiv3d/apis/hive-api-documentation/changes/v1/inventory/:itemId/material/patch.md)

---

[API](https://skmtc.dev/printhiv3d/apis/hive-api-documentation.md) · [All operations](https://skmtc.dev/printhiv3d/apis/hive-api-documentation/llms.txt) · [OpenAPI document](https://skmtc.dev/printhiv3d/apis/hive-api-documentation/revisions/208b1ae2ea83?raw)
