> For the complete documentation index, see [llms.txt](https://dev.skladon.com/main/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.skladon.com/main/integration/api/products.md).

# Products

You may find descriptions of endpoints for work with products below.

## Filter products (grid)

> Paged product search. Body: \`#/definitions/V21GridRequestGeneric\`.\
> Use \*\*product\*\* column names in \`columns\`, \`sorts\[].column\`, and filter \`column\` (listed under that definition).<br>

```json
{"openapi":"3.1.1","info":{"title":"GWMS API v2.1 (v21)","version":"2.1.0"},"tags":[{"name":"Products","description":"Products, availability, grid (no separate product-sets endpoints)"}],"servers":[{"url":"https://gw.new.skladon.net/v21"}],"security":[{"authorization":[],"XApiKey":[]}],"components":{"securitySchemes":{"authorization":{"type":"apiKey","name":"authorization","in":"header"}},"parameters":{"HeaderXApiKey":{"schema":{"type":"string"},"name":"x-api-key","in":"header","required":true,"description":"Eshop API key from onboarding"},"HeaderAuthorization":{"schema":{"type":"string"},"name":"authorization","in":"header","required":true,"description":"Bearer JWT from POST /v21/users/login"}},"schemas":{"V21GenericGridResponse":{"type":"object","description":"Grid result envelope. `data.data` is an array of row objects (shape depends on requested `columns`).\n`data.request` echoes the grid request. `data.totalCount` is the total number of matching rows (for pagination).\n","required":["statusCode","message"],"properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object"}},"request":{"type":"object"},"totalCount":{"type":"number"}}}}},"ErrorMessageResponse":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"V21GridRequestGeneric":{"type":"object","description":"Paged list / search body for all `POST …/filter` endpoints.\n\n**Top-level fields**\n- `page` (integer ≥ 1, default 1)\n- `items` (page size, 1–1000, default 10)\n- `columns` (string[]): which fields each row should include; **empty array = all columns** for that grid\n- `sorts`: array of `{ column, direction }`; `direction` is `ASC`, `DESC`, `asc`, or `desc`\n- `filters`: **OR of AND-groups**. Outer array = OR. Each inner array = AND of conditions. Each condition = `{ column, operator, value }`.\n\n**Filter operators** (unless noted for stock movements only)\n- `eq` / `neq` — equal / not equal\n- `gt` / `gte` / `lt` / `lte` — comparisons\n- `in` / `nin` — value must be an **array** of scalars in `value`\n- `like` / `nlike` — substring match / not match\n- `between` / `nbetween` — `value` must be an **array of two** endpoints\n- `null` / `notnull` — column IS NULL / IS NOT NULL\n- `empty` / `notempty` — null or empty string / neither\n- **Stock movements only** (this endpoint’s filters): `likein` is also allowed (same family as `like`).\n\n**`value` type**: string, number, boolean, array, or `null`, depending on `operator` (e.g. `in`/`nin`/`between` expect arrays as above).\n\n---\n\n**Column names for `POST /products/filter`** (also use these in `sorts[].column` and filter `column`):\n`id`, `customField1`, `customField2`, `customField3`, `description`, `ean`, `expMethod`, `guid`, `hsCode`, `isbn`, `mpn`, `name`, `note`, `price`, `productType`, `rop`, `sku`, `upc`, `active`, `scanSerialNumber`, `originCountry`, `snRegex`, `unitPrice`, `weight`, `width`, `height`, `length`, `insertToProductSkus`, `insertToCountries`, `insertType`, `insertByOrderType`, `insertPriceFrom`, `insertPriceTo`, `expirationDays`, `createdAt`, `updatedAt`, `dimensionsChangedAt`, `deletedAt`, `quantityConversion`, `isDeleted`, `ageCheck`, `batteryType`.\n\n**Column names for `POST /orders/filter`**:\n`id`, `addressId`, `allowExpedition`, `billingAddressAdditionalInfo`, `billingAddressAdditionalInfo2`, `billingAttentionName`, `billingCity`, `billingCompanyId`, `billingCompanyName`, `billingEmail`, `billingName`, `billingPhone`, `billingPostCode`, `billingProvinceCode`, `billingState`, `billingStreet`, `billingTaxId`, `codCurrency`, `codPrice`, `codRefNumber`, `currency`, `eshopOrderId`, `invoiceDate`, `invoiceNumber`, `marketplace`, `message`, `method`, `note`, `orderType`, `paid`, `partnerOrderId`, `paymentMethod`, `price`, `printFiles`, `holdByQuality`, `underSanction`, `priority`, `recipientAddressAdditionalInfo`, `recipientAddressAdditionalInfo2`, `recipientAttentionName`, `recipientCity`, `recipientCompanyId`, `recipientCompanyName`, `recipientEmail`, `recipientName`, `recipientPhone`, `recipientPostCode`, `recipientProvinceCode`, `recipientState`, `recipientStreet`, `recipientTaxId`, `shipper`, `shipperServiceCode`, `shippingPrice`, `branchId`, `status`, `timestamp`, `requiredExpeditionDate`, `trackingNumbers`, `recipientGln`, `billingGln`, `deliveredAt`, `canceledAt`, `disableShippingReorder`, `updatedAt`, `waitingForPaymentAt`, `productsNotAvailableAt`, `suspendedAt`, `releaseFromSuspendedAt`, `incorrectAt`, `waitingForShipmentAt`, `shipmentOrderedAt`, `inProcessAt`, `packedAt`, `waitingForCarrierAt`, `shippedAt`, `returningBackAt`, `returnedBackAt`, `parentOrderId`, `parentEshopOrderId`, `returnTrackingNumber`, `exchangeTrackingNumber`, `eshopNote`, `orderBoxCount`, `incorrectOrderMessage`.\n(v21 order **write** payloads do not support `recipientAddressAdditionalInfo2` / `billingAddressAdditionalInfo2`; they may still appear as **read-only** grid fields.)\n\n**Column names for `POST /receivings/filter`**:\n`eshopReceivingId`, `deliveryNoteNumber`, `deliveryType`, `description`, `driverCompany`, `driverDispatcherContact`, `driverName`, `driverPhone`, `driverTrailerLicensePlate`, `duty`, `estimatedDelivery`, `status`, `supplier`, `trackingNumber`, `unitsAmount`, `urgent`, `eshopNote`, `priority`, `containerNumber`, `announcedPalletsCount`, `receivingType`, `incoterms`, `realDelivery`, `slaSuspended`, `photoDocumentationTaken`, `deliveredPalletsCount`, `deliveredCartonsCount`, `returnedEurPalletsCount`, `deliveredStandardPalletsCount`, `returnedStandardPalletsCount`, `deliveredOtherPalletsCount`, `deliveredBrokenPalletsCount`, `skladonNote`, `unloadedAt`, `receivedAt`, `confirmedAt`, `canceledAt`.\n\n**Column names for `POST /returns/filter`**:\n`description`, `eshopReturnId`, `eshopOrderId`, `note`, `orderType`, `shipper`, `shipperServiceCode`, `status`, `trackingNumber`, `rma`, `createdAt`, `canceledAt`, `confirmedAt`, `eshopNote`.\n\n**Column names for `POST /claims/filter`**:\n`eshopClaimId`, `eshopOrderId`, `description`, `note`, `claimCause`, `claimOtherType`, `status`, `createdAt`, `resolutionText`, `resolver`, `eshopNote`.\n\n**Column names for `POST /stock-movements/filter`**:\n`count`, `createdAt`, `updatedAt`, `expirationDate`, `id`, `lot`, `sku`, `type`.\n","properties":{"page":{"type":"integer","minimum":1,"default":1},"items":{"type":"integer","minimum":1,"maximum":1000,"default":10},"columns":{"type":"array","items":{"type":"string"}},"sorts":{"type":"array","items":{"type":"object","required":["column","direction"],"properties":{"column":{"type":"string"},"direction":{"type":"string","enum":["ASC","DESC","asc","desc"]}}}},"filters":{"type":"array","description":"Outer array = OR of groups. Each inner array = AND of `{ column, operator, value }`.\nOperators and allowed `column` values are documented on `V21GridRequestGeneric`.\n","items":{"type":"array","items":{"type":"object","required":["column","operator","value"],"properties":{"column":{"type":"string"},"operator":{"type":"string","description":"Filter operator; see `V21GridRequestGeneric` for the full list.\nStock-movement filters also support `likein`.\n"},"value":{"description":"Scalar, array, or null — depends on operator (e.g. `in`/`nin`/`between` use arrays)."}}}}}}}}},"paths":{"/products/filter":{"post":{"tags":["Products"],"summary":"Filter products (grid)","description":"Paged product search. Body: `#/definitions/V21GridRequestGeneric`.\nUse **product** column names in `columns`, `sorts[].column`, and filter `column` (listed under that definition).\n","operationId":"v21_postProductsFilter","parameters":[{"$ref":"#/components/parameters/HeaderXApiKey"},{"$ref":"#/components/parameters/HeaderAuthorization"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21GenericGridResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21GridRequestGeneric"}}},"required":true}}}}}
```

## Create product

> For a \*\*bundle/set\*\* (\`productType\` \`pack\`), \*\*\`productSetItems\` is required\*\* (≥1 component line: \`sku\` + \`count\`).\
> Do not send \`scanSerialNumber\`.<br>

```json
{"openapi":"3.1.1","info":{"title":"GWMS API v2.1 (v21)","version":"2.1.0"},"tags":[{"name":"Products","description":"Products, availability, grid (no separate product-sets endpoints)"}],"servers":[{"url":"https://gw.new.skladon.net/v21"}],"security":[{"authorization":[],"XApiKey":[]}],"components":{"securitySchemes":{"authorization":{"type":"apiKey","name":"authorization","in":"header"}},"parameters":{"HeaderXApiKey":{"schema":{"type":"string"},"name":"x-api-key","in":"header","required":true,"description":"Eshop API key from onboarding"},"HeaderAuthorization":{"schema":{"type":"string"},"name":"authorization","in":"header","required":true,"description":"Bearer JWT from POST /v21/users/login"}},"schemas":{"V21ProductResponseEnvelope":{"type":"object","required":["statusCode","message"],"properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/V21ProductResponse"}}},"V21ProductResponse":{"allOf":[{"$ref":"#/components/schemas/V21ProductCreate"},{"type":"object","properties":{"id":{"type":"integer"},"weight":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"},"length":{"type":"number"},"insertToProductSkus":{"type":"array","items":{"type":"string"}},"insertToCountries":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2}},"insertType":{"type":"string"},"insertByOrderType":{"type":"string","enum":["all","b2c","b2b"]},"insertPriceFrom":{"type":"number"},"insertPriceTo":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"dimensionsChangedAt":{"type":"string"},"deletedAt":{"type":"string"},"quantityConversion":{"type":"integer"}}}]},"V21ProductCreate":{"type":"object","required":["sku","name","expMethod","productType","active","scanImeiSn"],"properties":{"sku":{"type":"string","minLength":1},"guid":{"type":"string"},"name":{"type":"string","minLength":1},"description":{"type":"string"},"price":{"type":"number"},"hsCode":{"type":"string"},"upc":{"type":"string"},"ean":{"type":"string"},"rop":{"type":"integer","default":0},"expMethod":{"type":"string","enum":["FIFO","FEFO"]},"mpn":{"type":"string"},"isbn":{"type":"string"},"note":{"type":"string"},"productType":{"type":"string","enum":["pack","packagingMaterial","semiProduct","finalProduct","promoMaterial","virtual","serviceProduct"]},"customField1":{"type":"string"},"customField2":{"type":"string"},"customField3":{"type":"string"},"ageCheck":{"type":"boolean","default":false},"active":{"type":"boolean"},"scanImeiSn":{"type":"integer","enum":[0,1,2],"description":"Scan mode: 0=No scanning, 1=Serial numbers, 2=IMEI (with automatic regex ^[0-9]{14,16}$ when snRegex is empty). Same as GWMS v2."},"originCountry":{"type":"string"},"isDeleted":{"type":"boolean"},"batteryType":{"type":"string","enum":["no","device","device_lr41","package","alone"]},"snRegex":{"type":"string","default":""},"unitPrice":{"type":"string","description":"Product currency code (ISO 4217, 3 letters). Null or empty string allowed."},"expirationDays":{"type":"integer","default":0},"productSetItems":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductSetItem"},"description":"Component lines for a **pack** (`productType` `pack`): **required on create** (at least one line with `sku` and `count`).\nOn **PATCH**, required when the body sets `productType` to `pack` (same request must include non-empty `productSetItems`).\nIf you send a non-empty array with any other `productType`, the API returns **400** (ignored by core would be misleading).\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductAttachmentFile"}}}},"V21ProductSetItem":{"type":"object","required":["sku","count"],"properties":{"sku":{"type":"string","minLength":1},"count":{"type":"integer","minimum":1}}},"V21ProductAttachmentFile":{"type":"object","required":["type","fileName","fileType"],"properties":{"id":{"type":"integer","minimum":1},"data":{"type":"string"},"type":{"type":"string","enum":["instruction","label","other"]},"fileName":{"type":"string","minLength":1},"fileType":{"type":"string","minLength":1},"fileSize":{"type":"string"}}},"ErrorMessageResponse":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/products":{"post":{"tags":["Products"],"summary":"Create product","description":"For a **bundle/set** (`productType` `pack`), **`productSetItems` is required** (≥1 component line: `sku` + `count`).\nDo not send `scanSerialNumber`.\n","operationId":"v21_postProducts","parameters":[{"$ref":"#/components/parameters/HeaderXApiKey"},{"$ref":"#/components/parameters/HeaderAuthorization"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductResponseEnvelope"}}}},"400":{"description":"Zod validation or Core error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductCreate"}}},"required":true}}}}}
```

## GET /products/{sku}

> Get product by SKU

```json
{"openapi":"3.1.1","info":{"title":"GWMS API v2.1 (v21)","version":"2.1.0"},"tags":[{"name":"Products","description":"Products, availability, grid (no separate product-sets endpoints)"}],"servers":[{"url":"https://gw.new.skladon.net/v21"}],"security":[{"authorization":[],"XApiKey":[]}],"components":{"securitySchemes":{"authorization":{"type":"apiKey","name":"authorization","in":"header"}},"schemas":{"V21ProductResponseEnvelope":{"type":"object","required":["statusCode","message"],"properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/V21ProductResponse"}}},"V21ProductResponse":{"allOf":[{"$ref":"#/components/schemas/V21ProductCreate"},{"type":"object","properties":{"id":{"type":"integer"},"weight":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"},"length":{"type":"number"},"insertToProductSkus":{"type":"array","items":{"type":"string"}},"insertToCountries":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2}},"insertType":{"type":"string"},"insertByOrderType":{"type":"string","enum":["all","b2c","b2b"]},"insertPriceFrom":{"type":"number"},"insertPriceTo":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"dimensionsChangedAt":{"type":"string"},"deletedAt":{"type":"string"},"quantityConversion":{"type":"integer"}}}]},"V21ProductCreate":{"type":"object","required":["sku","name","expMethod","productType","active","scanImeiSn"],"properties":{"sku":{"type":"string","minLength":1},"guid":{"type":"string"},"name":{"type":"string","minLength":1},"description":{"type":"string"},"price":{"type":"number"},"hsCode":{"type":"string"},"upc":{"type":"string"},"ean":{"type":"string"},"rop":{"type":"integer","default":0},"expMethod":{"type":"string","enum":["FIFO","FEFO"]},"mpn":{"type":"string"},"isbn":{"type":"string"},"note":{"type":"string"},"productType":{"type":"string","enum":["pack","packagingMaterial","semiProduct","finalProduct","promoMaterial","virtual","serviceProduct"]},"customField1":{"type":"string"},"customField2":{"type":"string"},"customField3":{"type":"string"},"ageCheck":{"type":"boolean","default":false},"active":{"type":"boolean"},"scanImeiSn":{"type":"integer","enum":[0,1,2],"description":"Scan mode: 0=No scanning, 1=Serial numbers, 2=IMEI (with automatic regex ^[0-9]{14,16}$ when snRegex is empty). Same as GWMS v2."},"originCountry":{"type":"string"},"isDeleted":{"type":"boolean"},"batteryType":{"type":"string","enum":["no","device","device_lr41","package","alone"]},"snRegex":{"type":"string","default":""},"unitPrice":{"type":"string","description":"Product currency code (ISO 4217, 3 letters). Null or empty string allowed."},"expirationDays":{"type":"integer","default":0},"productSetItems":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductSetItem"},"description":"Component lines for a **pack** (`productType` `pack`): **required on create** (at least one line with `sku` and `count`).\nOn **PATCH**, required when the body sets `productType` to `pack` (same request must include non-empty `productSetItems`).\nIf you send a non-empty array with any other `productType`, the API returns **400** (ignored by core would be misleading).\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductAttachmentFile"}}}},"V21ProductSetItem":{"type":"object","required":["sku","count"],"properties":{"sku":{"type":"string","minLength":1},"count":{"type":"integer","minimum":1}}},"V21ProductAttachmentFile":{"type":"object","required":["type","fileName","fileType"],"properties":{"id":{"type":"integer","minimum":1},"data":{"type":"string"},"type":{"type":"string","enum":["instruction","label","other"]},"fileName":{"type":"string","minLength":1},"fileType":{"type":"string","minLength":1},"fileSize":{"type":"string"}}},"ErrorMessageResponse":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/products/{sku}":{"get":{"tags":["Products"],"summary":"Get product by SKU","operationId":"v21_getProductBySku","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductResponseEnvelope"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}}}}}}}
```

## GET /products/guid/{guid}

> Get product by GUID

```json
{"openapi":"3.1.1","info":{"title":"GWMS API v2.1 (v21)","version":"2.1.0"},"tags":[{"name":"Products","description":"Products, availability, grid (no separate product-sets endpoints)"}],"servers":[{"url":"https://gw.new.skladon.net/v21"}],"security":[{"authorization":[],"XApiKey":[]}],"components":{"securitySchemes":{"authorization":{"type":"apiKey","name":"authorization","in":"header"}},"schemas":{"V21ProductResponseEnvelope":{"type":"object","required":["statusCode","message"],"properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/V21ProductResponse"}}},"V21ProductResponse":{"allOf":[{"$ref":"#/components/schemas/V21ProductCreate"},{"type":"object","properties":{"id":{"type":"integer"},"weight":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"},"length":{"type":"number"},"insertToProductSkus":{"type":"array","items":{"type":"string"}},"insertToCountries":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2}},"insertType":{"type":"string"},"insertByOrderType":{"type":"string","enum":["all","b2c","b2b"]},"insertPriceFrom":{"type":"number"},"insertPriceTo":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"dimensionsChangedAt":{"type":"string"},"deletedAt":{"type":"string"},"quantityConversion":{"type":"integer"}}}]},"V21ProductCreate":{"type":"object","required":["sku","name","expMethod","productType","active","scanImeiSn"],"properties":{"sku":{"type":"string","minLength":1},"guid":{"type":"string"},"name":{"type":"string","minLength":1},"description":{"type":"string"},"price":{"type":"number"},"hsCode":{"type":"string"},"upc":{"type":"string"},"ean":{"type":"string"},"rop":{"type":"integer","default":0},"expMethod":{"type":"string","enum":["FIFO","FEFO"]},"mpn":{"type":"string"},"isbn":{"type":"string"},"note":{"type":"string"},"productType":{"type":"string","enum":["pack","packagingMaterial","semiProduct","finalProduct","promoMaterial","virtual","serviceProduct"]},"customField1":{"type":"string"},"customField2":{"type":"string"},"customField3":{"type":"string"},"ageCheck":{"type":"boolean","default":false},"active":{"type":"boolean"},"scanImeiSn":{"type":"integer","enum":[0,1,2],"description":"Scan mode: 0=No scanning, 1=Serial numbers, 2=IMEI (with automatic regex ^[0-9]{14,16}$ when snRegex is empty). Same as GWMS v2."},"originCountry":{"type":"string"},"isDeleted":{"type":"boolean"},"batteryType":{"type":"string","enum":["no","device","device_lr41","package","alone"]},"snRegex":{"type":"string","default":""},"unitPrice":{"type":"string","description":"Product currency code (ISO 4217, 3 letters). Null or empty string allowed."},"expirationDays":{"type":"integer","default":0},"productSetItems":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductSetItem"},"description":"Component lines for a **pack** (`productType` `pack`): **required on create** (at least one line with `sku` and `count`).\nOn **PATCH**, required when the body sets `productType` to `pack` (same request must include non-empty `productSetItems`).\nIf you send a non-empty array with any other `productType`, the API returns **400** (ignored by core would be misleading).\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductAttachmentFile"}}}},"V21ProductSetItem":{"type":"object","required":["sku","count"],"properties":{"sku":{"type":"string","minLength":1},"count":{"type":"integer","minimum":1}}},"V21ProductAttachmentFile":{"type":"object","required":["type","fileName","fileType"],"properties":{"id":{"type":"integer","minimum":1},"data":{"type":"string"},"type":{"type":"string","enum":["instruction","label","other"]},"fileName":{"type":"string","minLength":1},"fileType":{"type":"string","minLength":1},"fileSize":{"type":"string"}}},"ErrorMessageResponse":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/products/guid/{guid}":{"get":{"tags":["Products"],"summary":"Get product by GUID","operationId":"v21_getProductByGuid","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductResponseEnvelope"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}}}}}}}
```

## PUT /products/guid/{guid}

> Update product by GUID

```json
{"openapi":"3.1.1","info":{"title":"GWMS API v2.1 (v21)","version":"2.1.0"},"tags":[{"name":"Products","description":"Products, availability, grid (no separate product-sets endpoints)"}],"servers":[{"url":"https://gw.new.skladon.net/v21"}],"security":[{"authorization":[],"XApiKey":[]}],"components":{"securitySchemes":{"authorization":{"type":"apiKey","name":"authorization","in":"header"}},"schemas":{"V21ProductResponseEnvelope":{"type":"object","required":["statusCode","message"],"properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/V21ProductResponse"}}},"V21ProductResponse":{"allOf":[{"$ref":"#/components/schemas/V21ProductCreate"},{"type":"object","properties":{"id":{"type":"integer"},"weight":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"},"length":{"type":"number"},"insertToProductSkus":{"type":"array","items":{"type":"string"}},"insertToCountries":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2}},"insertType":{"type":"string"},"insertByOrderType":{"type":"string","enum":["all","b2c","b2b"]},"insertPriceFrom":{"type":"number"},"insertPriceTo":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"dimensionsChangedAt":{"type":"string"},"deletedAt":{"type":"string"},"quantityConversion":{"type":"integer"}}}]},"V21ProductCreate":{"type":"object","required":["sku","name","expMethod","productType","active","scanImeiSn"],"properties":{"sku":{"type":"string","minLength":1},"guid":{"type":"string"},"name":{"type":"string","minLength":1},"description":{"type":"string"},"price":{"type":"number"},"hsCode":{"type":"string"},"upc":{"type":"string"},"ean":{"type":"string"},"rop":{"type":"integer","default":0},"expMethod":{"type":"string","enum":["FIFO","FEFO"]},"mpn":{"type":"string"},"isbn":{"type":"string"},"note":{"type":"string"},"productType":{"type":"string","enum":["pack","packagingMaterial","semiProduct","finalProduct","promoMaterial","virtual","serviceProduct"]},"customField1":{"type":"string"},"customField2":{"type":"string"},"customField3":{"type":"string"},"ageCheck":{"type":"boolean","default":false},"active":{"type":"boolean"},"scanImeiSn":{"type":"integer","enum":[0,1,2],"description":"Scan mode: 0=No scanning, 1=Serial numbers, 2=IMEI (with automatic regex ^[0-9]{14,16}$ when snRegex is empty). Same as GWMS v2."},"originCountry":{"type":"string"},"isDeleted":{"type":"boolean"},"batteryType":{"type":"string","enum":["no","device","device_lr41","package","alone"]},"snRegex":{"type":"string","default":""},"unitPrice":{"type":"string","description":"Product currency code (ISO 4217, 3 letters). Null or empty string allowed."},"expirationDays":{"type":"integer","default":0},"productSetItems":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductSetItem"},"description":"Component lines for a **pack** (`productType` `pack`): **required on create** (at least one line with `sku` and `count`).\nOn **PATCH**, required when the body sets `productType` to `pack` (same request must include non-empty `productSetItems`).\nIf you send a non-empty array with any other `productType`, the API returns **400** (ignored by core would be misleading).\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductAttachmentFile"}}}},"V21ProductSetItem":{"type":"object","required":["sku","count"],"properties":{"sku":{"type":"string","minLength":1},"count":{"type":"integer","minimum":1}}},"V21ProductAttachmentFile":{"type":"object","required":["type","fileName","fileType"],"properties":{"id":{"type":"integer","minimum":1},"data":{"type":"string"},"type":{"type":"string","enum":["instruction","label","other"]},"fileName":{"type":"string","minLength":1},"fileType":{"type":"string","minLength":1},"fileSize":{"type":"string"}}},"ErrorMessageResponse":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/products/guid/{guid}":{"put":{"tags":["Products"],"summary":"Update product by GUID","operationId":"v21_putProductByGuid","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductResponseEnvelope"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductCreate"}}},"required":true}}}}}
```

## PUT /products/{sku}

> Update product by SKU (full body)

```json
{"openapi":"3.1.1","info":{"title":"GWMS API v2.1 (v21)","version":"2.1.0"},"tags":[{"name":"Products","description":"Products, availability, grid (no separate product-sets endpoints)"}],"servers":[{"url":"https://gw.new.skladon.net/v21"}],"security":[{"authorization":[],"XApiKey":[]}],"components":{"securitySchemes":{"authorization":{"type":"apiKey","name":"authorization","in":"header"}},"schemas":{"V21ProductResponseEnvelope":{"type":"object","required":["statusCode","message"],"properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/V21ProductResponse"}}},"V21ProductResponse":{"allOf":[{"$ref":"#/components/schemas/V21ProductCreate"},{"type":"object","properties":{"id":{"type":"integer"},"weight":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"},"length":{"type":"number"},"insertToProductSkus":{"type":"array","items":{"type":"string"}},"insertToCountries":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2}},"insertType":{"type":"string"},"insertByOrderType":{"type":"string","enum":["all","b2c","b2b"]},"insertPriceFrom":{"type":"number"},"insertPriceTo":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"dimensionsChangedAt":{"type":"string"},"deletedAt":{"type":"string"},"quantityConversion":{"type":"integer"}}}]},"V21ProductCreate":{"type":"object","required":["sku","name","expMethod","productType","active","scanImeiSn"],"properties":{"sku":{"type":"string","minLength":1},"guid":{"type":"string"},"name":{"type":"string","minLength":1},"description":{"type":"string"},"price":{"type":"number"},"hsCode":{"type":"string"},"upc":{"type":"string"},"ean":{"type":"string"},"rop":{"type":"integer","default":0},"expMethod":{"type":"string","enum":["FIFO","FEFO"]},"mpn":{"type":"string"},"isbn":{"type":"string"},"note":{"type":"string"},"productType":{"type":"string","enum":["pack","packagingMaterial","semiProduct","finalProduct","promoMaterial","virtual","serviceProduct"]},"customField1":{"type":"string"},"customField2":{"type":"string"},"customField3":{"type":"string"},"ageCheck":{"type":"boolean","default":false},"active":{"type":"boolean"},"scanImeiSn":{"type":"integer","enum":[0,1,2],"description":"Scan mode: 0=No scanning, 1=Serial numbers, 2=IMEI (with automatic regex ^[0-9]{14,16}$ when snRegex is empty). Same as GWMS v2."},"originCountry":{"type":"string"},"isDeleted":{"type":"boolean"},"batteryType":{"type":"string","enum":["no","device","device_lr41","package","alone"]},"snRegex":{"type":"string","default":""},"unitPrice":{"type":"string","description":"Product currency code (ISO 4217, 3 letters). Null or empty string allowed."},"expirationDays":{"type":"integer","default":0},"productSetItems":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductSetItem"},"description":"Component lines for a **pack** (`productType` `pack`): **required on create** (at least one line with `sku` and `count`).\nOn **PATCH**, required when the body sets `productType` to `pack` (same request must include non-empty `productSetItems`).\nIf you send a non-empty array with any other `productType`, the API returns **400** (ignored by core would be misleading).\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductAttachmentFile"}}}},"V21ProductSetItem":{"type":"object","required":["sku","count"],"properties":{"sku":{"type":"string","minLength":1},"count":{"type":"integer","minimum":1}}},"V21ProductAttachmentFile":{"type":"object","required":["type","fileName","fileType"],"properties":{"id":{"type":"integer","minimum":1},"data":{"type":"string"},"type":{"type":"string","enum":["instruction","label","other"]},"fileName":{"type":"string","minLength":1},"fileType":{"type":"string","minLength":1},"fileSize":{"type":"string"}}},"ErrorMessageResponse":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]}}},"paths":{"/products/{sku}":{"put":{"tags":["Products"],"summary":"Update product by SKU (full body)","operationId":"v21_putProductBySku","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductResponseEnvelope"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductCreate"}}},"required":true}}}}}
```

## PATCH /products/guid/{guid}

> Patch product by GUID

```json
{"openapi":"3.1.1","info":{"title":"GWMS API v2.1 (v21)","version":"2.1.0"},"tags":[{"name":"Products","description":"Products, availability, grid (no separate product-sets endpoints)"}],"servers":[{"url":"https://gw.new.skladon.net/v21"}],"security":[{"authorization":[],"XApiKey":[]}],"components":{"securitySchemes":{"authorization":{"type":"apiKey","name":"authorization","in":"header"}},"schemas":{"V21ProductResponseEnvelope":{"type":"object","required":["statusCode","message"],"properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/V21ProductResponse"}}},"V21ProductResponse":{"allOf":[{"$ref":"#/components/schemas/V21ProductCreate"},{"type":"object","properties":{"id":{"type":"integer"},"weight":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"},"length":{"type":"number"},"insertToProductSkus":{"type":"array","items":{"type":"string"}},"insertToCountries":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2}},"insertType":{"type":"string"},"insertByOrderType":{"type":"string","enum":["all","b2c","b2b"]},"insertPriceFrom":{"type":"number"},"insertPriceTo":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"dimensionsChangedAt":{"type":"string"},"deletedAt":{"type":"string"},"quantityConversion":{"type":"integer"}}}]},"V21ProductCreate":{"type":"object","required":["sku","name","expMethod","productType","active","scanImeiSn"],"properties":{"sku":{"type":"string","minLength":1},"guid":{"type":"string"},"name":{"type":"string","minLength":1},"description":{"type":"string"},"price":{"type":"number"},"hsCode":{"type":"string"},"upc":{"type":"string"},"ean":{"type":"string"},"rop":{"type":"integer","default":0},"expMethod":{"type":"string","enum":["FIFO","FEFO"]},"mpn":{"type":"string"},"isbn":{"type":"string"},"note":{"type":"string"},"productType":{"type":"string","enum":["pack","packagingMaterial","semiProduct","finalProduct","promoMaterial","virtual","serviceProduct"]},"customField1":{"type":"string"},"customField2":{"type":"string"},"customField3":{"type":"string"},"ageCheck":{"type":"boolean","default":false},"active":{"type":"boolean"},"scanImeiSn":{"type":"integer","enum":[0,1,2],"description":"Scan mode: 0=No scanning, 1=Serial numbers, 2=IMEI (with automatic regex ^[0-9]{14,16}$ when snRegex is empty). Same as GWMS v2."},"originCountry":{"type":"string"},"isDeleted":{"type":"boolean"},"batteryType":{"type":"string","enum":["no","device","device_lr41","package","alone"]},"snRegex":{"type":"string","default":""},"unitPrice":{"type":"string","description":"Product currency code (ISO 4217, 3 letters). Null or empty string allowed."},"expirationDays":{"type":"integer","default":0},"productSetItems":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductSetItem"},"description":"Component lines for a **pack** (`productType` `pack`): **required on create** (at least one line with `sku` and `count`).\nOn **PATCH**, required when the body sets `productType` to `pack` (same request must include non-empty `productSetItems`).\nIf you send a non-empty array with any other `productType`, the API returns **400** (ignored by core would be misleading).\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductAttachmentFile"}}}},"V21ProductSetItem":{"type":"object","required":["sku","count"],"properties":{"sku":{"type":"string","minLength":1},"count":{"type":"integer","minimum":1}}},"V21ProductAttachmentFile":{"type":"object","required":["type","fileName","fileType"],"properties":{"id":{"type":"integer","minimum":1},"data":{"type":"string"},"type":{"type":"string","enum":["instruction","label","other"]},"fileName":{"type":"string","minLength":1},"fileType":{"type":"string","minLength":1},"fileSize":{"type":"string"}}},"ErrorMessageResponse":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"V21ProductPatch":{"type":"object","description":"Any non-empty subset of V21ProductCreate fields (at least one). Matches partial strict Zod.","minProperties":1,"additionalProperties":true}}},"paths":{"/products/guid/{guid}":{"patch":{"tags":["Products"],"summary":"Patch product by GUID","operationId":"v21_patchProductByGuid","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductResponseEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductPatch"}}},"required":true}}}}}
```

## PATCH /products/{sku}

> Partial update product by SKU (at least one field)

```json
{"openapi":"3.1.1","info":{"title":"GWMS API v2.1 (v21)","version":"2.1.0"},"tags":[{"name":"Products","description":"Products, availability, grid (no separate product-sets endpoints)"}],"servers":[{"url":"https://gw.new.skladon.net/v21"}],"security":[{"authorization":[],"XApiKey":[]}],"components":{"securitySchemes":{"authorization":{"type":"apiKey","name":"authorization","in":"header"}},"schemas":{"V21ProductResponseEnvelope":{"type":"object","required":["statusCode","message"],"properties":{"statusCode":{"type":"number"},"message":{"type":"string"},"data":{"$ref":"#/components/schemas/V21ProductResponse"}}},"V21ProductResponse":{"allOf":[{"$ref":"#/components/schemas/V21ProductCreate"},{"type":"object","properties":{"id":{"type":"integer"},"weight":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"},"length":{"type":"number"},"insertToProductSkus":{"type":"array","items":{"type":"string"}},"insertToCountries":{"type":"array","items":{"type":"string","minLength":2,"maxLength":2}},"insertType":{"type":"string"},"insertByOrderType":{"type":"string","enum":["all","b2c","b2b"]},"insertPriceFrom":{"type":"number"},"insertPriceTo":{"type":"number"},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"dimensionsChangedAt":{"type":"string"},"deletedAt":{"type":"string"},"quantityConversion":{"type":"integer"}}}]},"V21ProductCreate":{"type":"object","required":["sku","name","expMethod","productType","active","scanImeiSn"],"properties":{"sku":{"type":"string","minLength":1},"guid":{"type":"string"},"name":{"type":"string","minLength":1},"description":{"type":"string"},"price":{"type":"number"},"hsCode":{"type":"string"},"upc":{"type":"string"},"ean":{"type":"string"},"rop":{"type":"integer","default":0},"expMethod":{"type":"string","enum":["FIFO","FEFO"]},"mpn":{"type":"string"},"isbn":{"type":"string"},"note":{"type":"string"},"productType":{"type":"string","enum":["pack","packagingMaterial","semiProduct","finalProduct","promoMaterial","virtual","serviceProduct"]},"customField1":{"type":"string"},"customField2":{"type":"string"},"customField3":{"type":"string"},"ageCheck":{"type":"boolean","default":false},"active":{"type":"boolean"},"scanImeiSn":{"type":"integer","enum":[0,1,2],"description":"Scan mode: 0=No scanning, 1=Serial numbers, 2=IMEI (with automatic regex ^[0-9]{14,16}$ when snRegex is empty). Same as GWMS v2."},"originCountry":{"type":"string"},"isDeleted":{"type":"boolean"},"batteryType":{"type":"string","enum":["no","device","device_lr41","package","alone"]},"snRegex":{"type":"string","default":""},"unitPrice":{"type":"string","description":"Product currency code (ISO 4217, 3 letters). Null or empty string allowed."},"expirationDays":{"type":"integer","default":0},"productSetItems":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductSetItem"},"description":"Component lines for a **pack** (`productType` `pack`): **required on create** (at least one line with `sku` and `count`).\nOn **PATCH**, required when the body sets `productType` to `pack` (same request must include non-empty `productSetItems`).\nIf you send a non-empty array with any other `productType`, the API returns **400** (ignored by core would be misleading).\n"},"files":{"type":"array","items":{"$ref":"#/components/schemas/V21ProductAttachmentFile"}}}},"V21ProductSetItem":{"type":"object","required":["sku","count"],"properties":{"sku":{"type":"string","minLength":1},"count":{"type":"integer","minimum":1}}},"V21ProductAttachmentFile":{"type":"object","required":["type","fileName","fileType"],"properties":{"id":{"type":"integer","minimum":1},"data":{"type":"string"},"type":{"type":"string","enum":["instruction","label","other"]},"fileName":{"type":"string","minLength":1},"fileType":{"type":"string","minLength":1},"fileSize":{"type":"string"}}},"ErrorMessageResponse":{"type":"object","properties":{"statusCode":{"type":"number"},"message":{"type":"string"}},"required":["statusCode","message"]},"V21ProductPatch":{"type":"object","description":"Any non-empty subset of V21ProductCreate fields (at least one). Matches partial strict Zod.","minProperties":1,"additionalProperties":true}}},"paths":{"/products/{sku}":{"patch":{"tags":["Products"],"summary":"Partial update product by SKU (at least one field)","operationId":"v21_patchProductBySku","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductResponseEnvelope"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessageResponse"}}}}},"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/V21ProductPatch"}}},"required":true}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://dev.skladon.com/main/integration/api/products.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
