Square · Schema

BatchChangeInventoryRequest

BookingLocationSquareRestaurantCatalogCheckoutCustomersDisputesE-CommerceFinancial TechnologyGift CardsInventoryInvoicingLaborLoyaltyMerchantsOrderPaymentsPoint-of-SaleRefundsRetailSubscriptionTeamWebhookPayment ProcessingPayment Terminals

Properties

Name Type Description
idempotency_key string A client-supplied, universally unique identifier (UUID) for the request. See [Idempotency](https://developer.squareup.com/docs/build-basics/common-api-patterns/idempotency) in the [API Development 101
changes arraynull The set of physical counts and inventory adjustments to be made. Changes are applied based on the client-supplied timestamp and may be sent out of order.
ignore_unchanged_counts booleannull Indicates whether the current physical count should be ignored if the quantity is unchanged since the last physical count. Default: `true`.
View JSON Schema on GitHub

JSON Schema

square-batch-change-inventory-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/square/main/json-schema/square-batch-change-inventory-request-schema.json",
  "title": "BatchChangeInventoryRequest",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/square-inventory-api-openapi.yml#/components/schemas/BatchChangeInventoryRequest",
  "type": "object",
  "x-release-status": "PUBLIC",
  "required": [
    "idempotency_key"
  ],
  "properties": {
    "idempotency_key": {
      "type": "string",
      "description": "A client-supplied, universally unique identifier (UUID) for the\nrequest.\n\nSee [Idempotency](https://developer.squareup.com/docs/build-basics/common-api-patterns/idempotency) in the\n[API Development 101](https://developer.squareup.com/docs/buildbasics) section for more\ninformation.",
      "minLength": 1,
      "maxLength": 128
    },
    "changes": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/InventoryChange"
      },
      "description": "The set of physical counts and inventory adjustments to be made.\nChanges are applied based on the client-supplied timestamp and may be sent\nout of order."
    },
    "ignore_unchanged_counts": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Indicates whether the current physical count should be ignored if\nthe quantity is unchanged since the last physical count. Default: `true`."
    }
  },
  "x-sq-sdk-sample-code": {
    "csharp": "/sdk_samples/Inventory/BatchChangeInventory/BatchChangeInventoryRequest.csharp",
    "java": "/sdk_samples/Inventory/BatchChangeInventory/BatchChangeInventoryRequest.java",
    "javascript": "/sdk_samples/Inventory/BatchChangeInventory/BatchChangeInventoryRequest.javascript",
    "php": "/sdk_samples/Inventory/BatchChangeInventory/BatchChangeInventoryRequest.php",
    "python": "/sdk_samples/Inventory/BatchChangeInventory/BatchChangeInventoryRequest.python",
    "ruby": "/sdk_samples/Inventory/BatchChangeInventory/BatchChangeInventoryRequest.ruby"
  },
  "$defs": {
    "CatalogMeasurementUnit": {
      "type": "object",
      "description": "Represents the unit used to measure a `CatalogItemVariation` and\nspecifies the precision for decimal quantities.",
      "x-release-status": "PUBLIC",
      "properties": {
        "measurement_unit": {
          "$ref": "#/$defs/MeasurementUnit",
          "description": "Indicates the unit used to measure the quantity of a catalog item variation."
        },
        "precision": {
          "type": [
            "integer",
            "null"
          ],
          "description": "An integer between 0 and 5 that represents the maximum number of\npositions allowed after the decimal in quantities measured with this unit.\nFor example:\n\n- if the precision is 0, the quantity can be 1, 2, 3, etc.\n- if the precision is 1, the quantity can be 0.1, 0.2, etc.\n- if the precision is 2, the quantity can be 0.01, 0.12, etc.\n\nDefault: 3"
        }
      }
    },
    "Currency": {
      "type": "string",
      "enum": [
        "UNKNOWN_CURRENCY",
        "AED",
        "AFN",
        "ALL",
        "AMD",
        "ANG",
        "AOA",
        "ARS",
        "AUD",
        "AWG",
        "AZN",
        "BAM",
        "BBD",
        "BDT",
        "BGN",
        "BHD",
        "BIF",
        "BMD",
        "BND",
        "BOB",
        "BOV",
        "BRL",
        "BSD",
        "BTN",
        "BWP",
        "BYR",
        "BZD",
        "CAD",
        "CDF",
        "CHE",
        "CHF",
        "CHW",
        "CLF",
        "CLP",
        "CNY",
        "COP",
        "COU",
        "CRC",
        "CUC",
        "CUP",
        "CVE",
        "CZK",
        "DJF",
        "DKK",
        "DOP",
        "DZD",
        "EGP",
        "ERN",
        "ETB",
        "EUR",
        "FJD",
        "FKP",
        "GBP",
        "GEL",
        "GHS",
        "GIP",
        "GMD",
        "GNF",
        "GTQ",
        "GYD",
        "HKD",
        "HNL",
        "HRK",
        "HTG",
        "HUF",
        "IDR",
        "ILS",
        "INR",
        "IQD",
        "IRR",
        "ISK",
        "JMD",
        "JOD",
        "JPY",
        "KES",
        "KGS",
        "KHR",
        "KMF",
        "KPW",
        "KRW",
        "KWD",
        "KYD",
        "KZT",
        "LAK",
        "LBP",
        "LKR",
        "LRD",
        "LSL",
        "LTL",
        "LVL",
        "LYD",
        "MAD",
        "MDL",
        "MGA",
        "MKD",
        "MMK",
        "MNT",
        "MOP",
        "MRO",
        "MUR",
        "MVR",
        "MWK",
        "MXN",
        "MXV",
        "MYR",
        "MZN",
        "NAD",
        "NGN",
        "NIO",
        "NOK",
        "NPR",
        "NZD",
        "OMR",
        "PAB",
        "PEN",
        "PGK",
        "PHP",
        "PKR",
        "PLN",
        "PYG",
        "QAR",
        "RON",
        "RSD",
        "RUB",
        "RWF",
        "SAR",
        "SBD",
        "SCR",
        "SDG",
        "SEK",
        "SGD",
        "SHP",
        "SLL",
        "SLE",
        "SOS",
        "SRD",
        "SSP",
        "STD",
        "SVC",
        "SYP",
        "SZL",
        "THB",
        "TJS",
        "TMT",
        "TND",
        "TOP",
        "TRY",
        "TTD",
        "TWD",
        "TZS",
        "UAH",
        "UGX",
        "USD",
        "USN",
        "USS",
        "UYI",
        "UYU",
        "UZS",
        "VEF",
        "VND",
        "VUV",
        "WST",
        "XAF",
        "XAG",
        "XAU",
        "XBA",
        "XBB",
        "XBC",
        "XBD",
        "XCD",
        "XDR",
        "XOF",
        "XPD",
        "XPF",
        "XPT",
        "XTS",
        "XXX",
        "YER",
        "ZAR",
        "ZMK",
        "ZMW",
        "BTC",
        "XUS"
      ],
      "x-enum-elements": [
        {
          "name": "UNKNOWN_CURRENCY",
          "description": "Unknown currency"
        },
        {
          "name": "AED",
          "description": "United Arab Emirates dirham"
        },
        {
          "name": "AFN",
          "description": "Afghan afghani"
        },
        {
          "name": "ALL",
          "description": "Albanian lek"
        },
        {
          "name": "AMD",
          "description": "Armenian dram"
        },
        {
          "name": "ANG",
          "description": "Netherlands Antillean guilder"
        },
        {
          "name": "AOA",
          "description": "Angolan kwanza"
        },
        {
          "name": "ARS",
          "description": "Argentine peso"
        },
        {
          "name": "AUD",
          "description": "Australian dollar"
        },
        {
          "name": "AWG",
          "description": "Aruban florin"
        },
        {
          "name": "AZN",
          "description": "Azerbaijani manat"
        },
        {
          "name": "BAM",
          "description": "Bosnia and Herzegovina convertible mark"
        },
        {
          "name": "BBD",
          "description": "Barbados dollar"
        },
        {
          "name": "BDT",
          "description": "Bangladeshi taka"
        },
        {
          "name": "BGN",
          "description": "Bulgarian lev"
        },
        {
          "name": "BHD",
          "description": "Bahraini dinar"
        },
        {
          "name": "BIF",
          "description": "Burundian franc"
        },
        {
          "name": "BMD",
          "description": "Bermudian dollar"
        },
        {
          "name": "BND",
          "description": "Brunei dollar"
        },
        {
          "name": "BOB",
          "description": "Boliviano"
        },
        {
          "name": "BOV",
          "description": "Bolivian Mvdol"
        },
        {
          "name": "BRL",
          "description": "Brazilian real"
        },
        {
          "name": "BSD",
          "description": "Bahamian dollar"
        },
        {
          "name": "BTN",
          "description": "Bhutanese ngultrum"
        },
        {
          "name": "BWP",
          "description": "Botswana pula"
        },
        {
          "name": "BYR",
          "description": "Belarusian ruble"
        },
        {
          "name": "BZD",
          "description": "Belize dollar"
        },
        {
          "name": "CAD",
          "description": "Canadian dollar"
        },
        {
          "name": "CDF",
          "description": "Congolese franc"
        },
        {
          "name": "CHE",
          "description": "WIR Euro"
        },
        {
          "name": "CHF",
          "description": "Swiss franc"
        },
        {
          "name": "CHW",
          "description": "WIR Franc"
        },
        {
          "name": "CLF",
          "description": "Unidad de Fomento"
        },
        {
          "name": "CLP",
          "description": "Chilean peso"
        },
        {
          "name": "CNY",
          "description": "Chinese yuan"
        },
        {
          "name": "COP",
          "description": "Colombian peso"
        },
        {
          "name": "COU",
          "description": "Unidad de Valor Real"
        },
        {
          "name": "CRC",
          "description": "Costa Rican colon"
        },
        {
          "name": "CUC",
          "description": "Cuban convertible peso"
        },
        {
          "name": "CUP",
          "description": "Cuban peso"
        },
        {
          "name": "CVE",
          "description": "Cape Verdean escudo"
        },
        {
          "name": "CZK",
          "description": "Czech koruna"
        },
        {
          "name": "DJF",
          "description": "Djiboutian franc"
        },
        {
          "name": "DKK",
          "description": "Danish krone"
        },
        {
          "name": "DOP",
          "description": "Dominican peso"
        },
        {
          "name": "DZD",
          "description": "Algerian dinar"
        },
        {
          "name": "EGP",
          "description": "Egyptian pound"
        },
        {
          "name": "ERN",
          "description": "Eritrean nakfa"
        },
        {
          "name": "ETB",
          "description": "Ethiopian birr"
        },
        {
          "name": "EUR",
          "description": "Euro"
        },
        {
          "name": "FJD",
          "description": "Fiji dollar"
        },
        {
          "name": "FKP",
          "description": "Falkland Islands pound"
        },
        {
          "name": "GBP",
          "description": "Pound sterling"
        },
        {
          "name": "GEL",
          "description": "Georgian lari"
        },
        {
          "name": "GHS",
          "description": "Ghanaian cedi"
        },
        {
          "name": "GIP",
          "description": "Gibraltar pound"
        },
        {
          "name": "GMD",
          "description": "Gambian dalasi"
        },
        {
          "name": "GNF",
          "description": "Guinean franc"
        },
        {
          "name": "GTQ",
          "description": "Guatemalan quetzal"
        },
        {
          "name": "GYD",
          "description": "Guyanese dollar"
        },
        {
          "name": "HKD",
          "description": "Hong Kong dollar"
        },
        {
          "name": "HNL",
          "description": "Honduran lempira"
        },
        {
          "name": "HRK",
          "description": "Croatian kuna"
        },
        {
          "name": "HTG",
          "description": "Haitian gourde"
        },
        {
          "name": "HUF",
          "description": "Hungarian forint"
        },
        {
          "name": "IDR",
          "description": "Indonesian rupiah"
        },
        {
          "name": "ILS",
          "description": "Israeli new shekel"
        },
        {
          "name": "INR",
          "description": "Indian rupee"
        },
        {
          "name": "IQD",
          "description": "Iraqi dinar"
        },
        {
          "name": "IRR",
          "description": "Iranian rial"
        },
        {
          "name": "ISK",
          "description": "Icelandic króna"
        },
        {
          "name": "JMD",
          "description": "Jamaican dollar"
        },
        {
          "name": "JOD",
          "description": "Jordanian dinar"
        },
        {
          "name": "JPY",
          "description": "Japanese yen"
        },
        {
          "name": "KES",
          "description": "Kenyan shilling"
        },
        {
          "name": "KGS",
          "description": "Kyrgyzstani som"
        },
        {
          "name": "KHR",
          "description": "Cambodian riel"
        },
        {
          "name": "KMF",
          "description": "Comoro franc"
        },
        {
          "name": "KPW",
          "description": "North Korean won"
        },
        {
          "name": "KRW",
          "description": "South Korean won"
        },
        {
          "name": "KWD",
          "description": "Kuwaiti dinar"
        },
        {
          "name": "KYD",
          "description": "Cayman Islands dollar"
        },
        {
          "name": "KZT",
          "description": "Kazakhstani tenge"
        },
        {
          "name": "LAK",
          "description": "Lao kip"
        },
        {
          "name": "LBP",
          "description": "Lebanese pound"
        },
        {
          "name": "LKR",
          "description": "Sri Lankan rupee"
        },
        {
          "name": "LRD",
          "description": "Liberian dollar"
        },
        {
          "name": "LSL",
          "description": "Lesotho loti"
        },
        {
          "name": "LTL",
          "description": "Lithuanian litas"
        },
        {
          "name": "LVL",
          "description": "Latvian lats"
        },
        {
          "name": "LYD",
          "description": "Libyan dinar"
        },
        {
          "name": "MAD",
          "description": "Moroccan dirham"
        },
        {
          "name": "MDL",
          "description": "Moldovan leu"
        },
        {
          "name": "MGA",
          "description": "Malagasy ariary"
        },
        {
          "name": "MKD",
          "description": "Macedonian denar"
        },
        {
          "name": "MMK",
          "description": "Myanmar kyat"
        },
        {
          "name": "MNT",
          "description": "Mongolian tögrög"
        },
        {
          "name": "MOP",
          "description": "Macanese pataca"
        },
        {
          "name": "MRO",
          "description": "Mauritanian ouguiya"
        },
        {
          "name": "MUR",
          "description": "Mauritian rupee"
        },
        {
          "name": "MVR",
          "description": "Maldivian rufiyaa"
        },
        {
          "name": "MWK",
          "description": "Malawian kwacha"
        },
        {
          "name": "MXN",
          "description": "Mexican peso"
        },
        {
          "name": "MXV",
          "description": "Mexican Unidad de Inversion"
        },
        {
          "name": "MYR",
          "description": "Malaysian ringgit"
        },
        {
          "name": "MZN",
          "description": "Mozambican metical"
        },
        {
          "name": "NAD",
          "description": "Namibian dollar"
        },
        {
          "name": "NGN",
          "description": "Nigerian naira"
        },
        {
          "name": "NIO",
          "description": "Nicaraguan córdoba"
        },
        {
          "name": "NOK",
          "description": "Norwegian krone"
        },
        {
          "name": "NPR",
          "description": "Nepalese rupee"
        },
        {
          "name": "NZD",
          "description": "New Zealand dollar"
        },
        {
          "name": "OMR",
          "description": "Omani rial"
        },
        {
          "name": "PAB",
          "description": "Panamanian balboa"
        },
        {
          "name": "PEN",
          "description": "Peruvian sol"
        },
        {
          "name": "PGK",
          "description": "Papua New Guinean kina"
        },
        {
          "name": "PHP",
          "description": "Philippine peso"
        },
        {
          "name": "PKR",
          "description": "Pakistani rupee"
        },
        {
          "name": "PLN",
          "description": "Polish zBoty"
        },
        {
          "name": "PYG",
          "description": "Paraguayan guaraní"
        },
        {
          "name": "QAR",
          "description": "Qatari riyal"
        },
        {
          "name": "RON",
          "description": "Romanian leu"
        },
        {
          "name": "RSD",
          "description": "Serbian dinar"
        },
        {
          "name": "RUB",
          "description": "Russian ruble"
        },
        {
          "name": "RWF",
          "description": "Rwandan franc"
        },
        {
          "name": "SAR",
          "description": "Saudi riyal"
        },
        {
          "name": "SBD",
          "description": "Solomon Islands dollar"
        },
        {
          "name": "SCR",
          "description": "Seychelles rupee"
        },
        {
          "name": "SDG",
          "description": "Sudanese pound"
        },
        {
          "name": "SEK",
          "description": "Swedish krona"
        },
        {
          "name": "SGD",
          "description": "Singapore dollar"
        },
        {
          "name": "SHP",
          "description": "Saint Helena pound"
        },
        {
          "name": "SLL",
          "description": "Sierra Leonean first leone"
        },
        {
          "name": "SLE",
          "description": "Sierra Leonean second leone"
        },
        {
          "name": "SOS",
          "description": "Somali shilling"
        },
        {
          "name": "SRD",
          "description": "Surinamese dollar"
        },
        {
          "name": "SSP",
          "description": "South Sudanese pound"
        },
        {
          "name": "STD",
          "description": "São Tomé and Príncipe dobra"
        },
        {
          "name": "SVC",
          "description": "Salvadoran colón"
        },
        {
          "name": "SYP",
          "description": "Syrian pound"
        },
        {
          "name": "SZL",
          "description": "Swazi lilangeni"
        },
        {
          "name": "THB",
          "description": "Thai baht"
        },
        {
          "name": "TJS",
          "description": "Tajikstani somoni"
        },
        {
          "name": "TMT",
          "description": "Turkmenistan manat"
        },
        {
          "name": "TND",
          "description": "Tunisian dinar"
        },
        {
          "name": "TOP",
          "description": "Tongan pa'anga"
        },
        {
          "name": "TRY",
          "description": "Turkish lira"
        },
        {
          "name": "TTD",
          "description": "Trinidad and Tobago dollar"
        },
        {
          "name": "TWD",
          "description": "New Taiwan dollar"
        },
        {
          "name": "TZS",
          "description": "Tanzanian shilling"
        },
        {
          "name": "UAH",
          "description": "Ukrainian hryvnia"
        },
        {
          "name": "UGX",
          "description": "Ugandan shilling"
        },
        {
          "name": "USD",
          "description": "United States dollar"
        },
        {
          "name": "USN",
          "description": "United States dollar (next day)"
        },
        {
          "name": "USS",
          "description": "United States dollar (same day)"
        },
        {
          "name": "UYI",
          "description": "Uruguay Peso en Unidedades Indexadas"
        },
        {
          "name": "UYU",
          "description": "Uruguyan peso"
        },
        {
          "name": "UZS",
          "description": "Uzbekistan som"
        },
        {
          "name": "VEF",
          "description": "Venezuelan bolívar soberano"
        },
        {
          "name": "VND",
          "description": "Vietnamese ’Óng"
        },
        {
          "name": "VUV",
          "description": "Vanuatu vatu"
        },
        {
          "name": "WST",
          "description": "Samoan tala"
        },
        {
          "name": "XAF",
          "description": "CFA franc BEAC"
        },
        {
          "name": "XAG",
          "description": "Silver"
        },
        {
          "name": "XAU",
          "description": "Gold"
        },
        {
          "name": "XBA",
          "description": "European Composite Unit"
        },
        {
          "name": "XBB",
          "description": "European Monetary Unit"
        },
        {
          "name": "XBC",
          "description": "European Unit of Account 9"
        },
        {
          "name": "XBD",
          "description": "European Unit of Account 17"
        },
        {
          "name": "XCD",
          "description": "East Caribbean dollar"
        },
        {
          "name": "XDR",
          "description": "Special drawing rights (International Monetary Fund)"
        },
        {
          "name": "XOF",
          "description": "CFA franc BCEAO"
        },
        {
          "name": "XPD",
          "description": "Palladium"
        },
        {
          "name": "XPF",
          "description": "CFP franc"
        },
        {
          "name": "XPT",
          "description": "Platinum"
        },
        {
          "name": "XTS",
          "description": "Code reserved for testing"
        },
        {
          "name": "XXX",
          "description": "No currency"
        },
        {
          "name": "YER",
          "description": "Yemeni rial"
        },
        {
          "name": "ZAR",
          "description": "South African rand"
        },
        {
          "name": "ZMK",
          "description": "Zambian kwacha"
        },
        {
          "name": "ZMW",
          "description": "Zambian kwacha"
        },
        {
          "name": "BTC",
          "description": "Bitcoin"
        },
        {
          "name": "XUS",
          "description": "USD Coin"
        }
      ],
      "description": "Indicates the associated currency for an amount of money. Values correspond\nto [ISO 4217](https://wikipedia.org/wiki/ISO_4217).",
      "x-release-status": "PUBLIC"
    },
    "InventoryAdjustment": {
      "type": "object",
      "description": "Represents a change in state or quantity of product inventory at a\nparticular time and location.",
      "x-release-status": "PUBLIC",
      "properties": {
        "id": {
          "type": "string",
          "description": "A unique ID generated by Square for the\n`InventoryAdjustment`.",
          "maxLength": 100
        },
        "reference_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "An optional ID provided by the application to tie the\n`InventoryAdjustment` to an external\nsystem.",
          "maxLength": 255
        },
        "from_state": {
          "$ref": "#/$defs/InventoryState",
          "description": "The [inventory state](entity:InventoryState) of the related quantity\nof items before the adjustment.\nSee [InventoryState](#type-inventorystate) for possible values"
        },
        "to_state": {
          "$ref": "#/$defs/InventoryState",
          "description": "The [inventory state](entity:InventoryState) of the related quantity\nof items after the adjustment.\nSee [InventoryState](#type-inventorystate) for possible values"
        },
        "location_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "The Square-generated ID of the [Location](entity:Location) where the related\nquantity of items is being tracked.",
          "maxLength": 100
        },
        "catalog_object_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "The Square-generated ID of the\n[CatalogObject](entity:CatalogObject) being tracked.",
          "maxLength": 100
        },
        "catalog_object_type": {
          "type": [
            "string",
            "null"
          ],
          "description": "The [type](entity:CatalogObjectType) of the [CatalogObject](entity:CatalogObject) being tracked. \n\nThe Inventory API supports setting and reading the `\"catalog_object_type\": \"ITEM_VARIATION\"` field value. \nIn addition, it can also read the `\"catalog_object_type\": \"ITEM\"` field value that is set by the Square Restaurants app.",
          "maxLength": 14
        },
        "quantity": {
          "type": [
            "string",
            "null"
          ],
          "description": "The number of items affected by the adjustment as a decimal string.\nCan support up to 5 digits after the decimal point.",
          "maxLength": 26
        },
        "total_price_money": {
          "$ref": "#/$defs/Money",
          "description": "The total price paid for goods associated with the\nadjustment. Present if and only if `to_state` is `SOLD`. Always\nnon-negative.",
          "readOnly": true
        },
        "occurred_at": {
          "type": [
            "string",
            "null"
          ],
          "description": "A client-generated RFC 3339-formatted timestamp that indicates when\nthe inventory adjustment took place. For inventory adjustment updates, the `occurred_at`\ntimestamp cannot be older than 24 hours or in the future relative to the\ntime of the request.",
          "maxLength": 34
        },
        "created_at": {
          "type": "string",
          "description": "An RFC 3339-formatted timestamp that indicates when the inventory adjustment is received.",
          "maxLength": 34,
          "readOnly": true
        },
        "source": {
          "$ref": "#/$defs/SourceApplication",
          "description": "Information about the application that caused the\ninventory adjustment.",
          "readOnly": true
        },
        "employee_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "The Square-generated ID of the [Employee](entity:Employee) responsible for the\ninventory adjustment.",
          "maxLength": 100
        },
        "team_member_id": {
          "type": [
            "string",
            "null"
          ],
          "description": "The Square-generated ID of the [Team Member](entity:TeamMember) responsible for the\ninventory adjustment.",
          "maxLength": 100
        },
        "transaction_id": {
          "type": "string",
          "description": "The Square-generated ID of the [Transaction](entity:Transaction) that\ncaused the adjustment. Only relevant for payment-related state\ntransitions.",
          "maxLength": 255,
          "readOnly": true
        },
        "refund_id": {
          "type": "string",
          "description": "The Square-generated ID of the [Refund](entity:Refund) that\ncaused the adjustment. Only relevant for refund-related state\ntransitions.",
          "maxLength": 255,
          "readOnly": true
        },
        "purchase_order_id": {
          "type": "string",
          "description": "The Square-generated ID of the purchase order that caused the\nadjustment. Only relevant for state transitions from the Square for Retail\napp.",
          "maxLength": 100,
          "readOnly": true
        },
        "goods_receipt_id": {
          "type": "string",
          "description": "The Square-generated ID of the goods receipt that caused the\nadjustment. Only relevant for state transitions from the Square for Retail\napp.",
          "maxLength": 100,
          "readOnly": true
        },
        "adjustment_group": {
          "$ref": "#/$defs/InventoryAdjustmentGroup",
          "description": "An adjustment group bundling the related adjustments of item variations through stock conversions in a single inventory event.",
          "readOnly": true,
          "x-release-status": "BETA"
        }
      }
    },
    "InventoryAdjustmentGroup": {
      "type": "object",
      "x-release-status": "BETA",
      "properties": {
        "id": {
          "type": "string",
          "description": "A unique ID generated by Square for the\n`InventoryAdjustmentGroup`.",
          "maxLength": 100,
          "readOnly": true
        },
        "root_adjustment_id": {
          "type": "string",
          "description": "The inventory adjustment of the composed variation.",
          "maxLength": 100,
          "readOnly": true
        },
        "from_state": {
          "$ref": "#/$defs/InventoryState",
          "description": "Representative `from_state` for adjustments within the group. For example, for a group adjustment from `IN_STOCK` to `SOLD`,\nthere can be two component adjustments in the group: one from `IN_STOCK`to `COMPOSED` and the other one from `COMPOSED` to `SOLD`.\nHere, the representative `from_state` for the `InventoryAdjustmentGroup` is `IN_STOCK`.\nSee [InventoryState](#type-inventorystate) for possible values",
          "readOnly": true
        },
        "to_state": {
          "$ref": "#/$defs/InventoryState",
          "description": "Representative `to_state` for adjustments within group. For example, for a group adjustment from `IN_STOCK` to `SOLD`,\nthe two component adjustments in the group can be from `IN_STOCK` to `COMPOSED` and from `COMPOSED` to `SOLD`.\nHere, the representative `to_state` of the `InventoryAdjustmentGroup` is `SOLD`.\nSee [InventoryState](#type-inventorystate) for possible values",
          "readOnly": true
        }
      }
    },
    "InventoryChange": {
      "type": "object",
      "description": "Represents a single physical count, inventory, adjustment, or transfer\nthat is part of the history of inventory changes for a particular\n[CatalogObject](entity:CatalogObject) instance.",
      "x-release-status": "PUBLIC",
      "properties": {
        "type": {
          "$ref": "#/$defs/InventoryChangeType",
          "description": "Indicates how the inventory change is applied. See\n[InventoryChangeType](entity:InventoryChangeType) for all possible values.\nSee [InventoryChangeType](#type-inventorychangetype) for possible values"
        },
        "physical_count": {
          "$ref": "#/$defs/InventoryPhysicalCount",
          "description": "Contains details about the physical count when `type` is\n`PHYSICAL_COUNT`, and is unset for all other change types."
        },
        "adjustment": {
          "$ref": "#/$defs/InventoryAdjustment",
          "description": "Contains details about the inventory adjustment when `type` is\n`ADJUSTMENT`, and is unset for all other change types."
        },
        "transfer": {
          "$ref": "#/$defs/InventoryTransfer",
          "description": "Contains details about the inventory transfer when `type` is\n`TRANSFER`, and is unset for all other change types.\n\n_Note:_ An [InventoryTransfer](entity:InventoryTransfer) object can only be set in the input to the\n[BatchChangeInventory](api-endpoint:Inventory-BatchChangeInventory) endpoint when the seller has an active Retail Plus subscription."
        },
        "measurement_unit": {
          "$ref": "#/$defs/CatalogMeasurementUnit",
          "description": "The [CatalogMeasurementUnit](entity:CatalogMeasurementUnit) object representing the catalog measurement unit associated with the inventory change.",
          "readOnly": true
        },
        "measurement_unit_id": {
          "type": "string",
          "description": "The ID of the [CatalogMeasurementUnit](entity:CatalogMeasurementUnit) object representing the catalog measurement unit associated with the inventory change.",
          "readOnly": true
        }
      }
    },
    "InventoryChangeType": {
      "type": "string",
      "enum": [
        "PHYSICAL_COUNT",
        "ADJUSTMENT",
        "TRANSFER"
      ],
      "x-enum-elements": [
        {
          "name": "PHYSICAL_COUNT",
          "description": "The change occurred as part of a physical count update."
        },
        {
          "name": "ADJUSTMENT",
          "description": "The change occurred as part of the normal lifecycle of goods\n(e.g., as an inventory adjustment)."
        },
        {
          "name": "TRANSFER",
          "description": "The change occurred as part of an inventory transfer."
        }
      ],
      "description": "Indicates how the inventory change was appl

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/square/refs/heads/main/json-schema/square-batch-change-inventory-request-schema.json

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/square-batch-change-inventory-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.