From 7aec6a324b233c075e4cdaf3e99d54e5dac726d7 Mon Sep 17 00:00:00 2001 From: shopwareBot Date: Tue, 7 Jul 2026 08:21:05 +0000 Subject: [PATCH] [create-pull-request] automated change --- SwagCustomizedProducts-storeapi.json | 5658 +++++++++--------- SwagCustomizedProducts-storeapi.summary.json | 7 + 2 files changed, 2954 insertions(+), 2711 deletions(-) diff --git a/SwagCustomizedProducts-storeapi.json b/SwagCustomizedProducts-storeapi.json index 4cedbe9..5fde38e 100644 --- a/SwagCustomizedProducts-storeapi.json +++ b/SwagCustomizedProducts-storeapi.json @@ -7,7 +7,7 @@ "name": "MIT", "url": "https://github.com/shopware/shopware/blob/trunk/LICENSE" }, - "version": "6.7.10.2" + "version": "6.7.12.1" }, "servers": [ { @@ -546,6 +546,84 @@ }, "type": "object" }, + "AppMcpPrompt": { + "description": "Added since version: 6.7.11.0", + "required": [ + "label" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" + } + }, + "type": "object" + }, + "AppMcpResource": { + "description": "Added since version: 6.7.11.0", + "required": [ + "label" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" + } + }, + "type": "object" + }, + "AppMcpTool": { + "description": "Added since version: 6.7.11.0", + "required": [ + "label" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" + } + }, + "type": "object" + }, "AppPaymentMethod": { "description": "Added since version: 6.4.1.0", "properties": { @@ -3378,7 +3456,7 @@ "description": "Unique number associated with every document.", "type": "string" }, - "config": { + "customFields": { "type": "object" }, "createdAt": { @@ -3386,8 +3464,9 @@ "format": "date-time", "readOnly": true }, - "customFields": { - "type": "object" + "config": { + "type": "object", + "deprecated": true }, "updatedAt": { "type": "string", @@ -6994,6 +7073,12 @@ "description": "When the value is set to true, the product is hidden when sold out.", "type": "boolean" }, + "availableStock": { + "description": "Indicates the number of products still available. This value results from the stock minus the open orders.", + "type": "integer", + "format": "int64", + "readOnly": true + }, "stock": { "description": "Indicates the number of products available.", "type": "integer", @@ -7147,6 +7232,11 @@ "description": { "type": "string" }, + "descriptionTeaser": { + "description": "Read-only, HTML-stripped excerpt of the description, derived on write.", + "type": "string", + "readOnly": true + }, "metaTitle": { "type": "string" }, @@ -7181,13 +7271,6 @@ "readOnly": true, "deprecated": true }, - "availableStock": { - "description": "Indicates the number of products still available. This value results from the stock minus the open orders.", - "type": "integer", - "format": "int64", - "readOnly": true, - "deprecated": true - }, "calculatedPrice": { "type": "object" }, @@ -8131,6 +8214,12 @@ "description": "When the value is set to true, the product is hidden when sold out.", "type": "boolean" }, + "availableStock": { + "description": "Indicates the number of products still available. This value results from the stock minus the open orders.", + "type": "integer", + "format": "int64", + "readOnly": true + }, "stock": { "description": "Indicates the number of products available.", "type": "integer", @@ -8284,6 +8373,11 @@ "description": { "type": "string" }, + "descriptionTeaser": { + "description": "Read-only, HTML-stripped excerpt of the description, derived on write.", + "type": "string", + "readOnly": true + }, "metaTitle": { "type": "string" }, @@ -8318,13 +8412,6 @@ "readOnly": true, "deprecated": true }, - "availableStock": { - "description": "Indicates the number of products still available. This value results from the stock minus the open orders.", - "type": "integer", - "format": "int64", - "readOnly": true, - "deprecated": true - }, "calculatedPrice": { "type": "object", "$ref": "#/components/schemas/CalculatedPrice" @@ -9866,6 +9953,26 @@ }, "type": "object" }, + "SalesChannelFile": { + "description": "Added since version: 6.7.12.0", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, "SalesChannelTrackingCustomer": { "description": "Added since version: 6.7.9.0", "properties": { @@ -12787,1541 +12894,734 @@ }, "type": "object" }, - "CookieGroupCollection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CookieGroup" - } + "NewsletterStatus": { + "type": "string", + "enum": [ + "notSet", + "optIn", + "optOut", + "direct", + "undefined" + ], + "description": "The subscription status. Possible values are: notSet, optIn, optOut, direct, undefined." }, - "CalculatedPrice": { + "Breadcrumb": { "type": "object", - "description": "Represents a product along with detailed information required to display a variant selection.", "properties": { - "unitPrice": { - "type": "number" - }, - "quantity": { - "type": "number" - }, - "rawTotal": { - "type": "number" - }, - "totalPrice": { - "type": "number" + "name": { + "type": "string" }, - "taxStatus": { + "categoryId": { "type": "string", - "enum": [ - "net", - "tax-free" - ] + "pattern": "^[0-9a-f]{32}$" }, - "calculatedTaxes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cart_tax_calculated" - ] - }, - "tax": { - "type": "number" - }, - "taxRate": { - "type": "number" - }, - "price": { - "type": "number" - } - }, - "required": [ - "apiAlias", - "tax", - "taxRate", - "price" - ] - } + "type": { + "$ref": "#/components/schemas/Category/properties/type" }, - "referencePrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartPriceReference" + "translated": { + "type": "object", + "additionalProperties": true, + "properties": { + "customFields": { + "type": "object" }, - { - "type": "null" - } - ] - }, - "listPrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartListPrice" + "slotConfig": { + "type": "object" }, - { - "type": "null" + "linkType": { + "$ref": "#/components/schemas/Category/properties/linkType" + }, + "internalLink": { + "type": "string" + }, + "externalLink": { + "type": "string" + }, + "linkNewTab": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "metaTitle": { + "type": "string" + }, + "metaDescription": { + "type": "string" + }, + "keywords": { + "type": "string" } - ] + } }, - "positionPrice": { - "type": "number" + "path": { + "type": "string" }, - "netPrice": { - "type": "number" - }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_regulation_price" - ] - } - } - }, - { - "type": "null" - } - ] - }, - "hasRange": { - "type": "boolean" - }, - "variantId": { - "oneOf": [ - { - "type": "string", - "format": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] + "seoUrls": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SeoUrl" + } }, "apiAlias": { "type": "string", "enum": [ - "calculated_price" + "breadcrumb" ] - }, - "taxRules": { - "type": "array", - "description": "Currently active tax rules and/or rates", - "items": { - "type": "object", - "properties": { - "taxRate": { - "type": "number", - "format": "float" - }, - "name": { - "type": "string" - } - } - } } }, "required": [ - "apiAlias", - "hasRange", - "regulationPrice", - "listPrice", - "referencePrice", - "calculatedTaxes", - "totalPrice", - "quantity", - "unitPrice", - "positionPrice", - "netPrice", - "taxRules", - "rawTotal", - "taxStatus" + "name", + "categoryId", + "type", + "translated", + "path", + "apiAlias" ] }, - "MeasurementUnits": { + "ProductPurchaseLimit": { "type": "object", - "description": "Configuration of the measurement system", + "description": "Current quantity purchase limits for a product.", + "required": [ + "productId", + "minPurchase", + "purchaseSteps", + "maxPurchase", + "stock", + "apiAlias" + ], "properties": { - "system": { + "productId": { "type": "string", - "enum": [ - "metric", - "imperial" + "pattern": "^[0-9a-f]{32}$", + "description": "The product ID." + }, + "minPurchase": { + "type": "integer", + "description": "Minimum quantity a customer can purchase." + }, + "purchaseSteps": { + "type": "integer", + "description": "Step increment for quantity selection." + }, + "maxPurchase": { + "type": "integer", + "description": "Maximum quantity a customer can purchase, reflecting current stock for closeout products." + }, + "stock": { + "type": [ + "integer", + "null" ], - "default": "metric", - "description": "The measurement system used in the store. 'metric' for metric system, 'imperial' for imperial system." + "description": "Current stock level of the product." }, - "units": { - "type": "object", - "description": "Units used in the measurement system.", - "properties": { - "length": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm", - "description": "Unit of length." - }, - "weight": { - "type": "string", - "enum": [ - "g", - "kg", - "oz", - "lb" - ], - "default": "kg", - "description": "Unit of weight." - } - } + "apiAlias": { + "type": "string", + "enum": [ + "product_purchase_limit" + ] } } }, - "CartListPrice": { + "AggregationMetrics": { "type": "object", - "description": "", "properties": { - "discount": { - "type": "number" - }, - "percentage": { - "type": "number" - }, - "price": { - "type": "number" + "name": { + "type": "string" }, - "apiAlias": { + "type": { "type": "string", "enum": [ - "cart_list_price" + "avg", + "count", + "max", + "min", + "stats", + "sum" ] + }, + "field": { + "type": "string" } }, "required": [ - "apiAlias" + "name", + "type", + "field" ] }, - "CartDeliveryInformation": { + "LineItemType": { + "type": "string", + "deprecated": true, + "enum": [ + "product", + "credit", + "custom", + "promotion", + "discount", + "container", + "quantity" + ] + }, + "LineItem": { "type": "object", "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cart_delivery_information" - ] + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LineItem" + } }, - "freeDelivery": { - "type": "boolean" + "cover": { + "$ref": "#/components/schemas/Media" }, - "deliveryTime": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "min": { - "type": "integer" - }, - "max": { - "type": "integer" - }, - "unit": { - "type": "string" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_delivery_time" - ] - } - } + "dataContextHash": { + "type": "string" }, - "height": { - "type": "integer" + "dataTimestamp": { + "type": "string" }, - "length": { - "type": "integer" + "deliveryInformation": { + "$ref": "#/components/schemas/CartDeliveryInformation" }, - "restockTime": { - "type": "integer" + "description": { + "type": "string" }, - "stock": { - "type": "integer" + "good": { + "type": "boolean" }, - "weight": { - "type": "integer" + "id": { + "type": "string" }, - "width": { - "type": "integer" - } - }, - "required": [ - "apiAlias" - ] - }, - "ProductListingCriteria": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" + "label": { + "type": "string" }, - { - "type": "object", - "description": "Additional search parameters for product listings", + "modified": { + "type": "boolean" + }, + "modifiedByApp": { + "type": "boolean" + }, + "payload": { + "$ref": "#/components/schemas/ProductJsonApi" + }, + "price": { + "type": "object", "properties": { - "order": { - "description": "Specifies the sorting of the products by `availableSortings`. If not set, the default sorting will be set according to the shop settings. The available sorting options are sent within the response under the `availableSortings` key. In order to sort by a field, consider using the `sort` parameter from the listing criteria. Do not use both parameters together, as it might lead to unexpected results.", - "type": "string" - }, - "limit": { - "description": "Number of items per result page. If not set, the limit will be set according to the default products per page, defined in the system settings.", - "type": "integer", - "minimum": 0 - }, - "p": { - "description": "Search result page", - "type": "integer", - "default": 1 - }, - "manufacturer": { - "description": "Filter by manufacturers. List of manufacturer identifiers separated by a `|`.", - "type": "string" - }, - "min-price": { - "description": "Filters by a minimum product price. Has to be lower than the `max-price` filter.", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "max-price": { - "description": "Filters by a maximum product price. Has to be higher than the `min-price` filter.", - "type": "integer", - "minimum": 0, - "default": 0 - }, - "rating": { - "description": "Filter products with a minimum average rating.", - "type": "integer" - }, - "shipping-free": { - "description": "Filters products that are marked as shipping-free.", - "type": "boolean", - "default": false - }, - "properties": { - "description": "Filters products by their properties. List of property identifiers separated by a `|`.", - "type": "string" - }, - "manufacturer-filter": { - "description": "Enables/disabled filtering by manufacturer. If set to false, the `manufacturer` filter will be ignored. Also the `aggregations[manufacturer]` key will be removed from the response.", - "type": "boolean", - "default": true - }, - "price-filter": { - "description": "Enables/disabled filtering by price. If set to false, the `min-price` and `max-price` filter will be ignored. Also the `aggregations[price]` key will be removed from the response.", - "type": "boolean", - "default": true + "apiAlias": { + "type": "string", + "enum": [ + "calculated_price" + ] }, - "rating-filter": { - "description": "Enables/disabled filtering by rating. If set to false, the `rating` filter will be ignored. Also the `aggregations[rating]` key will be removed from the response.", - "type": "boolean", - "default": true + "calculatedTaxes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "cart_tax_calculated" + ] + }, + "tax": { + "type": "number" + }, + "taxRate": { + "type": "number" + }, + "price": { + "type": "number" + } + }, + "required": [ + "apiAlias", + "tax", + "taxRate", + "price" + ] + } }, - "shipping-free-filter": { - "description": "Enables/disabled filtering by shipping-free products. If set to false, the `shipping-free` filter will be ignored. Also the `aggregations[shipping-free]` key will be removed from the response.", - "type": "boolean", - "default": true + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartListPrice" + }, + { + "type": "null" + } + ] }, - "property-filter": { - "description": "Enables/disabled filtering by properties products. If set to false, the `properties` filter will be ignored. Also the `aggregations[properties]` key will be removed from the response.", - "type": "boolean", - "default": true + "quantity": { + "type": "number" }, - "property-whitelist": { - "description": "A whitelist of property identifiers which can be used for filtering. List of property identifiers separated by a `|`. The `property-filter` must be `true`, otherwise the whitelist has no effect.", - "type": "string" + "referencePrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartPriceReference" + }, + { + "type": "null" + } + ] }, - "reduce-aggregations": { - "description": "By sending the parameter `reduce-aggregations` , the post-filters that were applied by the customer, are also applied to the aggregations. This has the consequence that only values are returned in the aggregations that would lead to further filter results. This parameter is a flag, the value has no effect.", + "regulationPrice": { "oneOf": [ { - "type": "string" + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_regulation_price" + ] + } + } }, { "type": "null" } ] + }, + "totalPrice": { + "type": "number" + }, + "unitPrice": { + "type": "number" + }, + "taxRules": { + "type": "array", + "description": "Currently active tax rules and/or rates", + "items": { + "type": "object", + "properties": { + "taxRate": { + "type": "number", + "format": "float" + }, + "name": { + "type": "string" + } + } + } + } + }, + "required": [ + "apiAlias", + "totalPrice", + "quantity", + "unitPrice" + ] + }, + "priceDefinition": { + "$ref": "#/components/schemas/CartPriceQuantity" + }, + "quantity": { + "type": "number" + }, + "quantityInformation": { + "type": "object", + "properties": { + "maxPurchase": { + "type": "number" + }, + "minPurchase": { + "type": "number" + }, + "purchaseSteps": { + "type": "number" } } - } - ] - }, - "ProductPurchaseLimit": { - "type": "object", - "description": "Current quantity purchase limits for a product.", - "required": [ - "productId", - "minPurchase", - "purchaseSteps", - "maxPurchase", - "stock", - "apiAlias" - ], - "properties": { - "productId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The product ID." }, - "minPurchase": { - "type": "integer", - "description": "Minimum quantity a customer can purchase." + "referencedId": { + "type": "string" }, - "purchaseSteps": { - "type": "integer", - "description": "Step increment for quantity selection." + "removable": { + "type": "boolean" }, - "maxPurchase": { - "type": "integer", - "description": "Maximum quantity a customer can purchase, reflecting current stock for closeout products." + "stackable": { + "type": "boolean" }, - "stock": { - "type": [ - "integer", - "null" - ], - "description": "Current stock level of the product." + "states": { + "deprecated": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "is-physical", + "is-download" + ] + } }, - "apiAlias": { - "type": "string", - "enum": [ - "product_purchase_limit" - ] + "type": { + "$ref": "#/components/schemas/OrderLineItem/properties/type" + }, + "uniqueIdentifier": { + "type": "string" } - } + }, + "required": [ + "id", + "type" + ] }, - "CrossSellingElementCollection": { + "CookieEntryCollection": { "type": "array", "items": { - "$ref": "#/components/schemas/CrossSellingElement" + "$ref": "#/components/schemas/CookieEntry" } }, - "Criteria": { + "ProductMeasurements": { "type": "object", - "description": "Search parameters. For more information, see our documentation on [Search Queries](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#structure)", + "description": "Runtime field, cannot be used as part of the criteria. Measurements of a product, including dimensions and weight.", "properties": { - "page": { - "description": "Search result page", - "type": "integer" - }, - "term": { - "description": "Search term", - "type": "string" - }, - "limit": { - "description": "Number of items per result page", - "type": "integer" - }, - "filter": { - "type": "array", - "description": "List of filters to restrict the search result. For more information, see [Search Queries > Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#filter)", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } - }, - "ids": { - "type": "array", - "description": "List of ids to search for", - "items": { - "type": "string" - } - }, - "query": { - "type": "string", - "description": "The query string to search for" - }, - "associations": { - "$ref": "#/components/schemas/Associations" - }, - "post-filter": { - "type": "array", - "description": "Filters that applied without affecting aggregations. For more information, see [Search Queries > Post Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#post-filter)", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } - }, - "sort": { - "type": "array", - "description": "Sorting in the search result.", - "items": { - "$ref": "#/components/schemas/Sort" + "width": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" + }, + "value": { + "type": "number" + } } }, - "aggregations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Aggregation" + "height": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" + }, + "value": { + "type": "number" + } } }, - "fields": { - "type": "array", - "description": "Fields which should be returned in the search result.", - "items": { - "type": "string", - "description": "Name of a field" + "length": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" + }, + "value": { + "type": "number" + } } }, - "grouping": { - "type": "array", - "description": "Perform groupings over certain fields", - "items": { - "type": "string", - "description": "Name of a field" + "weight": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "g", + "kg", + "oz", + "lb" + ], + "default": "kg" + }, + "value": { + "type": "number" + } } - }, - "total-count-mode": { - "$ref": "#/components/schemas/TotalCountMode" - }, - "includes": { - "$ref": "#/components/schemas/Includes" - }, - "excludes": { - "$ref": "#/components/schemas/Excludes" } } }, - "NoneFieldsCriteria": { + "CookieGroupCollection": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CookieGroup" + } + }, + "EntitySearchResult": { "type": "object", - "description": "Search parameters. For more information, see our documentation on [Search Queries](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#structure)", "properties": { - "page": { - "description": "Search result page", - "type": "integer" - }, - "term": { - "description": "Search term", + "entity": { "type": "string" }, - "limit": { - "description": "Number of items per result page", - "type": "integer" + "total": { + "type": "integer", + "description": "The total number of found entities" }, - "filter": { + "aggregations": { "type": "array", - "description": "List of filters to restrict the search result. For more information, see [Search Queries > Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#filter)", + "description": "Contains aggregated data. A simple example is the determination of the average price from a product search query.", "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] + "type": "object" } }, - "ids": { - "type": "array", - "description": "List of ids to search for", - "items": { - "type": "string" - } + "page": { + "type": "integer", + "description": "The actual page. This can be used for pagination." }, - "query": { + "limit": { + "type": "integer", + "description": "The actual limit. This is used for pagination and goes together with the page." + } + } + }, + "Price": { + "type": "object", + "description": "Price object", + "properties": { + "currencyId": { + "description": "Unique identity of the associated currency.", "type": "string", - "description": "The query string to search for" + "pattern": "^[0-9a-f]{32}$" }, - "associations": { - "$ref": "#/components/schemas/Associations" + "gross": { + "description": "Gross price for the associated currency.", + "type": "number" }, - "post-filter": { - "type": "array", - "description": "Filters that applied without affecting aggregations. For more information, see [Search Queries > Post Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#post-filter)", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } - }, - "sort": { - "type": "array", - "description": "Sorting in the search result.", - "items": { - "$ref": "#/components/schemas/Sort" - } - }, - "aggregations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Aggregation" - } - }, - "grouping": { - "type": "array", - "description": "Perform groupings over certain fields", - "items": { - "type": "string", - "description": "Name of a field" - } - }, - "total-count-mode": { - "$ref": "#/components/schemas/TotalCountMode" - }, - "includes": { - "$ref": "#/components/schemas/Includes" + "net": { + "description": "Net price for the associated currency.", + "type": "number" }, - "excludes": { - "$ref": "#/components/schemas/Excludes" - } - } - }, - "Associations": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Criteria" - } - }, - "Includes": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Excludes": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Aggregation": { - "anyOf": [ - { - "$ref": "#/components/schemas/AggregationMetrics" + "linked": { + "description": "Whether gross and net prices are linked through the tax configuration.", + "type": "boolean" }, - { - "title": "AggregationEntity", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationEntity" + "percentage": { + "description": "Discount percentage relative to the list price for the gross and net amounts. `null` when no list price is set.", + "type": [ + "object", + "null" + ], + "properties": { + "gross": { + "description": "Discount percentage relative to the gross list price.", + "type": "number" }, - { - "$ref": "#/components/schemas/SubAggregations" + "net": { + "description": "Discount percentage relative to the net list price.", + "type": "number" } + }, + "required": [ + "gross", + "net" ] }, - { - "title": "AggregationFilter", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationFilter" + "listPrice": { + "description": "Reference list price for displaying discounts.", + "type": "object", + "properties": { + "currencyId": { + "description": "Unique identity of the associated currency.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - { - "$ref": "#/components/schemas/SubAggregations" - } - ] - }, - { - "title": "AggregationTerms", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationTerms" + "gross": { + "description": "Gross list price for the associated currency.", + "type": "number" }, - { - "$ref": "#/components/schemas/SubAggregations" - } - ] - }, - { - "title": "AggregationHistogram", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationHistogram" + "net": { + "description": "Net list price for the associated currency.", + "type": "number" }, - { - "$ref": "#/components/schemas/SubAggregations" + "linked": { + "description": "Whether gross and net list prices are linked through the tax configuration.", + "type": "boolean" } + }, + "required": [ + "gross", + "net" ] }, - { - "title": "AggregationRange", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationRange" - }, - { - "$ref": "#/components/schemas/SubAggregations" - } - ] - } - ] - }, - "SubAggregations": { - "type": "object", - "properties": { - "aggregation": { - "anyOf": [ - { - "$ref": "#/components/schemas/AggregationMetrics" - }, - { - "$ref": "#/components/schemas/AggregationEntity" - }, - { - "$ref": "#/components/schemas/AggregationFilter" + "regulationPrice": { + "description": "Reference price used for legal price disclosures.", + "type": "object", + "properties": { + "currencyId": { + "description": "Unique identity of the associated currency.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - { - "$ref": "#/components/schemas/AggregationTerms" + "gross": { + "description": "Gross regulation price for the associated currency.", + "type": "number" }, - { - "$ref": "#/components/schemas/AggregationHistogram" + "net": { + "description": "Net regulation price for the associated currency.", + "type": "number" }, - { - "$ref": "#/components/schemas/AggregationRange" + "linked": { + "description": "Whether gross and net regulation prices are linked through the tax configuration.", + "type": "boolean" } + }, + "required": [ + "gross", + "net" ] } - } - }, - "TotalCountMode": { - "description": "Whether the total for the total number of hits should be determined for the search query. none = disabled total count, exact = calculate exact total amount (slow), next-pages = calculate only for next page (fast)", - "type": "string", - "default": "none", - "enum": [ - "none", - "exact", - "next-pages" + }, + "required": [ + "currencyId", + "gross", + "net" ] }, - "Query": { + "CartItems": { "type": "object", + "required": [ + "items" + ], "properties": { - "score": { - "type": "number" - }, - "query": { - "oneOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LineItem" + } } - }, - "additionalProperties": true + } }, - "Sort": { + "CookieRouteResponse": { "type": "object", + "description": "Response containing cookie groups and their configuration hash.", "properties": { - "field": { - "type": "string" - }, - "order": { + "apiAlias": { "type": "string", "enum": [ - "ASC", - "DESC" - ] - }, - "naturalSorting": { - "type": "boolean" - }, - "type": { - "type": "string" - } - }, - "required": [ - "field", - "order" - ] - }, - "Filters": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } - }, - "SimpleFilter": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "contains", - "equalsAny", - "prefix", - "suffix" - ] - }, - "field": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "type", - "field", - "value" - ] - }, - "EqualsFilter": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "equals" - ] - }, - "field": { - "type": "string" - }, - "value": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "type", - "field", - "value" - ] - }, - "MultiNotFilter": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "multi", - "not" - ] - }, - "operator": { - "type": "string", - "enum": [ - "and", - "or", - "nor", - "nand" - ] - }, - "queries": { - "$ref": "#/components/schemas/Filters" - } - }, - "required": [ - "type", - "operator", - "queries" - ] - }, - "RangeFilter": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "range" + "cookie_groups_hash" ] }, - "field": { - "type": "string" - }, - "parameters": { - "type": "object", - "properties": { - "gte": { - "type": "number" - }, - "gt": { - "type": "number" - }, - "lte": { - "type": "number" - }, - "lt": { - "type": "number" - } - } - } - }, - "required": [ - "type", - "field", - "parameters" - ] - }, - "CookieEntryCollection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CookieEntry" - } - }, - "CartItems": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { + "elements": { "type": "array", + "description": "Collection of cookie groups", "items": { - "$ref": "#/components/schemas/LineItem" + "$ref": "#/components/schemas/CookieGroup" } - } - } - }, - "Association": { - "additionalProperties": { - "$ref": "#/components/schemas/Association" - } - }, - "AggregationEntity": { - "title": "AggregationEntity", - "type": "object", - "properties": { - "name": { - "description": "Give your aggregation an identifier, so you can find it easier", - "type": "string" }, - "type": { - "description": "The type of aggregation", + "hash": { "type": "string", - "enum": [ - "entity" - ] - }, - "field": { - "description": "The field you want to aggregate over.", - "type": "string" - }, - "definition": { - "description": "The entity definition e.g \"product_manufacturer\".", - "type": "string" - } - }, - "required": [ - "name", - "type", - "field", - "definition" - ] - }, - "AggregationFilter": { - "title": "AggregationFilter", - "type": "object", - "properties": { - "name": { - "description": "Give your aggregation an identifier, so you can find it easier", - "type": "string" + "description": "Hash of the current cookie configuration. Can be used to detect changes in cookie configuration.", + "example": "f86b6a872cb83dbd22d838ceda1aa3d4" }, - "type": { - "description": "The type of aggregation", + "languageId": { "type": "string", - "enum": [ - "filter" - ] - }, - "filter": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Filters" - } + "format": "uuid", + "description": "The language ID for which the cookie configuration was generated. Used to store hashes per language.", + "example": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" } }, "required": [ - "name", - "type", - "filter" - ] - }, - "AggregationTerms": { - "title": "AggregationTerms", - "type": "object", - "properties": { - "name": { - "description": "Give your aggregation an identifier, so you can find it easier", - "type": "string" - }, - "type": { - "description": "The type of aggregation", - "type": "string", - "enum": [ - "terms" - ] - }, - "field": { - "description": "The field you want to aggregate over.", - "type": "string" - }, - "limit": { - "description": "The number of terms to return", - "type": "number" - }, - "sort": { - "type": "array", - "description": "Sorting the aggregation result.", - "items": { - "$ref": "#/components/schemas/Sort" - } - } - }, - "required": [ - "name", - "type", - "field" - ] - }, - "AggregationHistogram": { - "title": "AggregationHistogram", - "type": "object", - "properties": { - "name": { - "description": "Give your aggregation an identifier, so you can find it easier", - "type": "string" - }, - "type": { - "description": "The type of aggregation", - "type": "string", - "enum": [ - "histogram" - ] - }, - "field": { - "description": "The field you want to aggregate over.", - "type": "string" - }, - "interval": { - "description": "The interval of the histogram", - "type": "number" - }, - "format": { - "description": "The format of the histogram", - "type": "string" - }, - "timeZone": { - "description": "The timezone of the histogram", - "type": "string" - } - }, - "required": [ - "name", - "type", - "field" - ] - }, - "AggregationRange": { - "title": "AggregationRange", - "description": "For more information, see [Aggregations Reference > Range Aggregation](https://developer.shopware.com/docs/resources/references/core-reference/dal-reference/aggregations-reference.html#range-aggregations)", - "type": "object", - "properties": { - "name": { - "description": "Give your aggregation an identifier, so you can find it easier", - "type": "string" - }, - "type": { - "description": "The type of aggregation", - "type": "string", - "enum": [ - "range" - ] - }, - "field": { - "description": "The field you want to aggregate over.", - "type": "string" - }, - "ranges": { - "description": "The ranges of the aggregation", - "type": "array", - "items": { - "type": "object", - "anyOf": [ - { - "type": "object", - "title": "From and to", - "properties": { - "from": { - "type": "number", - "description": "The lower bound of the range" - }, - "to": { - "type": "number", - "description": "The upper bound of the range" - } - }, - "required": [ - "from", - "to" - ] - }, + "elements", + "hash", + "languageId", + "apiAlias" + ], + "example": { + "apiAlias": "cookie_groups_hash", + "elements": [ + { + "isRequired": true, + "description": "Cookies required for this shop to function:", + "name": "Technically required", + "entries": [ { - "type": "object", - "title": "From only", - "properties": { - "from": { - "type": "string", - "description": "The lower bound of the range" - } - }, - "required": [ - "from" - ] + "name": "Session", + "hidden": false, + "cookie": "session-", + "apiAlias": "cookie_entry" }, { - "type": "object", - "title": "To only", - "properties": { - "to": { - "type": "string", - "description": "The upper bound of the range" - } - }, - "required": [ - "to" - ] - } - ] - } - } - }, - "required": [ - "name", - "type", - "field", - "ranges" - ] - }, - "Price": { - "type": "object", - "description": "Price object", - "properties": { - "currencyId": { - "description": "Unique identity of the associated currency.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "gross": { - "description": "Gross price for the associated currency.", - "type": "number" - }, - "net": { - "description": "Net price for the associated currency.", - "type": "number" - }, - "linked": { - "description": "Whether gross and net prices are linked through the tax configuration.", - "type": "boolean" - }, - "percentage": { - "description": "Discount percentage relative to the list price for the gross and net amounts. `null` when no list price is set.", - "type": [ - "object", - "null" - ], - "properties": { - "gross": { - "description": "Discount percentage relative to the gross list price.", - "type": "number" - }, - "net": { - "description": "Discount percentage relative to the net list price.", - "type": "number" - } - }, - "required": [ - "gross", - "net" - ] - }, - "listPrice": { - "description": "Reference list price for displaying discounts.", - "type": "object", - "properties": { - "currencyId": { - "description": "Unique identity of the associated currency.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "gross": { - "description": "Gross list price for the associated currency.", - "type": "number" - }, - "net": { - "description": "Net list price for the associated currency.", - "type": "number" - }, - "linked": { - "description": "Whether gross and net list prices are linked through the tax configuration.", - "type": "boolean" - } - }, - "required": [ - "gross", - "net" - ] - }, - "regulationPrice": { - "description": "Reference price used for legal price disclosures.", - "type": "object", - "properties": { - "currencyId": { - "description": "Unique identity of the associated currency.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "gross": { - "description": "Gross regulation price for the associated currency.", - "type": "number" - }, - "net": { - "description": "Net regulation price for the associated currency.", - "type": "number" - }, - "linked": { - "description": "Whether gross and net regulation prices are linked through the tax configuration.", - "type": "boolean" - } - }, - "required": [ - "gross", - "net" - ] - } - }, - "required": [ - "currencyId", - "gross", - "net" - ] - }, - "AggregationMetrics": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "avg", - "count", - "max", - "min", - "stats", - "sum" - ] - }, - "field": { - "type": "string" - } - }, - "required": [ - "name", - "type", - "field" - ] - }, - "CartPriceReference": { - "type": "object", - "properties": { - "purchaseUnit": { - "type": "number" - }, - "referenceUnit": { - "type": "number" - }, - "unitName": { - "type": "string" - }, - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_price_reference" - ] - }, - "listPrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartListPrice" - }, - { - "type": "null" - } - ] - }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_regulation_price" - ] - } - } - }, - { - "type": "null" - } - ] - }, - "hasRange": { - "type": "boolean" - }, - "variantId": { - "oneOf": [ - { - "type": "string", - "format": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "apiAlias", - "hasRange", - "regulationPrice", - "listPrice", - "calculatedTaxes", - "totalPrice", - "quantity", - "unitName" - ] - }, - "CustomerAddressBody": { - "description": "Added since version: 6.0.0.0", - "required": [ - "countryId", - "firstName", - "lastName", - "city", - "street" - ], - "properties": { - "countryId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "countryStateId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "salutationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "firstName": { - "type": "string" - }, - "lastName": { - "type": "string" - }, - "zipcode": { - "type": "string" - }, - "city": { - "type": "string" - }, - "company": { - "type": "string" - }, - "street": { - "type": "string" - }, - "department": { - "type": "string" - }, - "title": { - "type": "string" - }, - "phoneNumber": { - "type": "string" - }, - "additionalAddressLine1": { - "type": "string" - }, - "additionalAddressLine2": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "country": { - "$ref": "#/components/schemas/Country" - }, - "countryState": { - "$ref": "#/components/schemas/CountryState" - }, - "salutation": { - "$ref": "#/components/schemas/Salutation" - } - }, - "type": "object" - }, - "CustomerAddressRead": { - "type": "object", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "readOnly": true - }, - "customerId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "readOnly": true - }, - "createdAt": { - "type": "string", - "format": "date-time" - }, - "updatedAt": { - "oneOf": [ - { - "type": "string", - "format": "date-time" - }, - { - "type": "null" - } - ] - }, - "country": { - "$ref": "#/components/schemas/Country" - }, - "countryState": { - "oneOf": [ - { - "$ref": "#/components/schemas/CountryState" - }, - { - "type": "null" - } - ] - }, - "salutation": { - "$ref": "#/components/schemas/Salutation" - } - }, - "required": [ - "customerId", - "createdAt", - "updatedAt", - "country", - "salutation" - ] - }, - "NavigationRouteResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Category" + "name": "Timezone", + "hidden": false, + "cookie": "timezone", + "apiAlias": "cookie_entry" + }, + { + "value": "1", + "expiration": 30, + "name": "Cookie preferences", + "hidden": true, + "cookie": "cookie-preference", + "apiAlias": "cookie_entry" + } + ], + "apiAlias": "cookie_group" + }, + { + "isRequired": false, + "description": "Cookies used for statistics and shop performance metrics.", + "name": "Statistics", + "entries": [ + { + "value": "1", + "expiration": 30, + "name": "Google Analytics", + "hidden": false, + "cookie": "google-analytics-enabled", + "apiAlias": "cookie_entry" + } + ], + "apiAlias": "cookie_group" + }, + { + "isRequired": false, + "description": "Allows Google to collect personal data for online advertising and marketing.", + "name": "Marketing", + "entries": [ + { + "value": "1", + "expiration": 30, + "name": "Google Advertising", + "hidden": false, + "cookie": "google-ads-enabled", + "apiAlias": "cookie_entry" + } + ], + "apiAlias": "cookie_group" + }, + { + "isRequired": false, + "name": "Comfort features", + "entries": [ + { + "value": "1", + "expiration": 30, + "name": "YouTube video", + "hidden": false, + "cookie": "youtube-video", + "apiAlias": "cookie_entry" + } + ], + "apiAlias": "cookie_group" + } + ], + "hash": "f86b6a872cb83dbd22d838ceda1aa3d4", + "languageId": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" } }, "ShippingMethodPageRouteResponse": { @@ -14666,224 +13966,707 @@ } } }, - "ProductDetailResponse": { + "CartPriceReference": { "type": "object", - "description": "Represents a product along with detailed information required to display a variant selection.", "properties": { - "product": { - "$ref": "#/components/schemas/Product" + "purchaseUnit": { + "type": "number" + }, + "referenceUnit": { + "type": "number" + }, + "unitName": { + "type": "string" + }, + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_price_reference" + ] + }, + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartListPrice" + }, + { + "type": "null" + } + ] + }, + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_regulation_price" + ] + } + } + }, + { + "type": "null" + } + ] + }, + "hasRange": { + "type": "boolean" + }, + "variantId": { + "oneOf": [ + { + "type": "string", + "format": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "apiAlias", + "hasRange", + "regulationPrice", + "listPrice", + "calculatedTaxes", + "totalPrice", + "quantity", + "unitName" + ] + }, + "AggregationEntity": { + "title": "AggregationEntity", + "type": "object", + "properties": { + "name": { + "description": "Give your aggregation an identifier, so you can find it easier", + "type": "string" + }, + "type": { + "description": "The type of aggregation", + "type": "string", + "enum": [ + "entity" + ] + }, + "field": { + "description": "The field you want to aggregate over.", + "type": "string" + }, + "definition": { + "description": "The entity definition e.g \"product_manufacturer\".", + "type": "string" + } + }, + "required": [ + "name", + "type", + "field", + "definition" + ] + }, + "AggregationFilter": { + "title": "AggregationFilter", + "type": "object", + "properties": { + "name": { + "description": "Give your aggregation an identifier, so you can find it easier", + "type": "string" + }, + "type": { + "description": "The type of aggregation", + "type": "string", + "enum": [ + "filter" + ] + }, + "filter": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Filters" + } + } + }, + "required": [ + "name", + "type", + "filter" + ] + }, + "AggregationTerms": { + "title": "AggregationTerms", + "type": "object", + "properties": { + "name": { + "description": "Give your aggregation an identifier, so you can find it easier", + "type": "string" + }, + "type": { + "description": "The type of aggregation", + "type": "string", + "enum": [ + "terms" + ] + }, + "field": { + "description": "The field you want to aggregate over.", + "type": "string" + }, + "limit": { + "description": "The number of terms to return", + "type": "number" + }, + "sort": { + "type": "array", + "description": "Sorting the aggregation result.", + "items": { + "$ref": "#/components/schemas/Sort" + } + } + }, + "required": [ + "name", + "type", + "field" + ] + }, + "AggregationHistogram": { + "title": "AggregationHistogram", + "type": "object", + "properties": { + "name": { + "description": "Give your aggregation an identifier, so you can find it easier", + "type": "string" + }, + "type": { + "description": "The type of aggregation", + "type": "string", + "enum": [ + "histogram" + ] }, - "configurator": { - "type": "array", - "description": "List of property groups with their corresponding options and information on how to display them.", - "items": { - "$ref": "#/components/schemas/PropertyGroup" - } + "field": { + "description": "The field you want to aggregate over.", + "type": "string" + }, + "interval": { + "description": "The interval of the histogram", + "type": "number" + }, + "format": { + "description": "The format of the histogram", + "type": "string" + }, + "timeZone": { + "description": "The timezone of the histogram", + "type": "string" } }, "required": [ - "product" + "name", + "type", + "field" ] }, - "AccountNewsletterRecipient": { + "AggregationRange": { + "title": "AggregationRange", + "description": "For more information, see [Aggregations Reference > Range Aggregation](https://developer.shopware.com/docs/resources/references/core-reference/dal-reference/aggregations-reference.html#range-aggregations)", "type": "object", "properties": { - "status": { - "type": "string", - "enum": [ - "undefined", - "notSet", - "direct", - "optIn", - "optOut" - ] + "name": { + "description": "Give your aggregation an identifier, so you can find it easier", + "type": "string" }, - "apiAlias": { + "type": { + "description": "The type of aggregation", "type": "string", "enum": [ - "account_newsletter_recipient" + "range" ] + }, + "field": { + "description": "The field you want to aggregate over.", + "type": "string" + }, + "ranges": { + "description": "The ranges of the aggregation", + "type": "array", + "items": { + "type": "object", + "anyOf": [ + { + "type": "object", + "title": "From and to", + "properties": { + "from": { + "type": "number", + "description": "The lower bound of the range" + }, + "to": { + "type": "number", + "description": "The upper bound of the range" + } + }, + "required": [ + "from", + "to" + ] + }, + { + "type": "object", + "title": "From only", + "properties": { + "from": { + "type": "string", + "description": "The lower bound of the range" + } + }, + "required": [ + "from" + ] + }, + { + "type": "object", + "title": "To only", + "properties": { + "to": { + "type": "string", + "description": "The upper bound of the range" + } + }, + "required": [ + "to" + ] + } + ] + } } }, "required": [ - "status", - "apiAlias" + "name", + "type", + "field", + "ranges" ] }, - "ReferencePrice": { + "Cart": { "type": "object", "properties": { - "purchaseUnit": { - "type": "number" - }, - "referenceUnit": { - "type": "number" + "name": { + "description": "Name of the cart - for example `guest-cart`", + "type": "string" }, - "unitName": { + "token": { + "description": "Context token identifying the cart and the user session", "type": "string" }, "price": { - "type": "number" + "$ref": "#/components/schemas/CalculatedPrice" }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_price_reference" + "lineItems": { + "description": "All items within the cart", + "type": "array", + "items": { + "$ref": "#/components/schemas/LineItem" + } + }, + "errors": { + "type": "object", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", + "anyOf": [ + { + "type": "array", + "items": { + "$ref": "#/components/schemas/CartError" + } + }, + { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "code": { + "type": "number" + }, + "key": { + "type": "string" + }, + "level": { + "type": "number" + }, + "message": { + "type": "string" + }, + "messageKey": { + "type": "string" + } + }, + "required": [ + "code", + "key", + "level", + "message", + "messageKey" + ] + } + } ] }, - "listPrice": { + "deliveries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CartDelivery" + } + }, + "transactions": { + "description": "A list of all payment transactions associated with the current cart.", + "type": "array", + "items": { + "type": "object", + "properties": { + "paymentMethodId": { + "type": "string" + }, + "amount": { + "$ref": "#/components/schemas/CalculatedPrice" + } + } + } + }, + "modified": { + "type": "boolean" + }, + "customerComment": { + "description": "A comment that can be added to the cart.", "oneOf": [ { - "$ref": "#/components/schemas/ListPrice" + "type": "string" }, { "type": "null" } ] }, - "regulationPrice": { + "affiliateCode": { + "description": "An affiliate tracking code", "oneOf": [ { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_regulation_price" - ] - } - } + "type": "string" }, { "type": "null" } ] }, - "hasRange": { - "type": "boolean" - }, - "variantId": { + "campaignCode": { + "description": "A campaign tracking code", "oneOf": [ { - "type": "string", - "format": "^[0-9a-f]{32}$" + "type": "string" }, { "type": "null" } ] + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart" + ] } }, "required": [ - "hasRange", - "regulationPrice", - "listPrice", - "calculatedTaxes", - "totalPrice", - "quantity", - "unitName" + "price", + "apiAlias" ] }, - "CookieEntry": { + "CartItemsUpdate": { "type": "object", + "required": [ + "items" + ], "properties": { - "cookie": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CartLineItemUpdate" + } + } + } + }, + "CartLineItemUpdate": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { "type": "string" }, - "value": { - "type": "string" + "type": { + "$ref": "#/components/schemas/OrderLineItem/properties/type" }, - "expiration": { + "quantity": { "type": "integer" }, - "name": { + "referencedId": { "type": "string" }, - "description": { + "label": { "type": "string" }, - "hidden": { + "payload": { + "type": "object" + }, + "stackable": { "type": "boolean" }, - "apiAlias": { - "type": "string", - "enum": [ - "cookie_entry" - ] - } - }, - "required": [ - "cookie", - "hidden", - "apiAlias" - ] - }, - "FindProductVariantRouteResponse": { - "type": "object", - "properties": { - "foundCombination": { + "removable": { + "type": "boolean" + }, + "coverId": { + "type": "string" + }, + "priceDefinition": { "type": "object", "properties": { - "variantId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "type": { + "type": "string" }, - "options": { + "price": { + "type": "number" + }, + "percentage": { + "type": "number" + }, + "quantity": { + "type": "integer" + }, + "isCalculated": { + "type": "boolean" + }, + "listPrice": { + "type": "number" + }, + "taxRules": { "type": "array", "items": { - "type": "string" + "type": "object", + "properties": { + "taxRate": { + "type": "number" + }, + "percentage": { + "type": "number" + } + } } } } } } }, - "SalesChannelContext": { + "ContextMeasurementSystemInfo": { "type": "object", + "description": "Configuration of the measurement system used in the store, by default including units for length and weight.", "properties": { - "token": { - "description": "Context the user session", - "type": "string" + "system": { + "type": "string", + "enum": [ + "metric", + "imperial" + ], + "default": "metric", + "description": "The measurement system used in the store. 'metric' for metric system, 'imperial' for imperial system." }, - "currentCustomerGroup": { + "units": { "type": "object", - "description": "Customer group of the current user", + "description": "Units used in the measurement system.", "properties": { - "name": { - "type": "string" + "length": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm", + "description": "Unit of length." }, - "displayGross": { - "type": "boolean" + "weight": { + "type": "string", + "enum": [ + "g", + "kg", + "oz", + "lb" + ], + "default": "kg", + "description": "Unit of weight." } } + } + } + }, + "AccountNewsletterRecipient": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/NewsletterStatus" }, - "fallbackCustomerGroup": { - "description": "Fallback group if the default customer group is not applicable", + "apiAlias": { + "type": "string", + "enum": [ + "account_newsletter_recipient" + ] + } + }, + "required": [ + "status", + "apiAlias" + ] + }, + "ProductListingCriteria": { + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" + }, + { "type": "object", + "description": "Additional search parameters for product listings", "properties": { - "name": { + "order": { + "description": "Specifies the sorting of the products by `availableSortings`. If not set, the default sorting will be set according to the shop settings. The available sorting options are sent within the response under the `availableSortings` key. In order to sort by a field, consider using the `sort` parameter from the listing criteria. Do not use both parameters together, as it might lead to unexpected results.", "type": "string" }, - "displayGross": { - "type": "boolean" + "limit": { + "description": "Number of items per result page. If not set, the limit will be set according to the default products per page, defined in the system settings.", + "type": "integer", + "minimum": 0 + }, + "p": { + "description": "Search result page", + "type": "integer", + "default": 1 + }, + "manufacturer": { + "description": "Filter by manufacturers. List of manufacturer identifiers separated by a `|`.", + "type": "string" + }, + "min-price": { + "description": "Filters by a minimum product price. Has to be lower than the `max-price` filter.", + "type": "integer", + "minimum": 0, + "default": 0 + }, + "max-price": { + "description": "Filters by a maximum product price. Has to be higher than the `min-price` filter.", + "type": "integer", + "minimum": 0, + "default": 0 + }, + "rating": { + "description": "Filter products with a minimum average rating.", + "type": "integer" + }, + "shipping-free": { + "description": "Filters products that are marked as shipping-free.", + "type": "boolean", + "default": false + }, + "properties": { + "description": "Filters products by their properties. List of property identifiers separated by a `|`.", + "type": "string" + }, + "manufacturer-filter": { + "description": "Enables/disabled filtering by manufacturer. If set to false, the `manufacturer` filter will be ignored. Also the `aggregations[manufacturer]` key will be removed from the response.", + "type": "boolean", + "default": true + }, + "price-filter": { + "description": "Enables/disabled filtering by price. If set to false, the `min-price` and `max-price` filter will be ignored. Also the `aggregations[price]` key will be removed from the response.", + "type": "boolean", + "default": true + }, + "rating-filter": { + "description": "Enables/disabled filtering by rating. If set to false, the `rating` filter will be ignored. Also the `aggregations[rating]` key will be removed from the response.", + "type": "boolean", + "default": true + }, + "shipping-free-filter": { + "description": "Enables/disabled filtering by shipping-free products. If set to false, the `shipping-free` filter will be ignored. Also the `aggregations[shipping-free]` key will be removed from the response.", + "type": "boolean", + "default": true + }, + "property-filter": { + "description": "Enables/disabled filtering by properties products. If set to false, the `properties` filter will be ignored. Also the `aggregations[properties]` key will be removed from the response.", + "type": "boolean", + "default": true + }, + "property-whitelist": { + "description": "A whitelist of property identifiers which can be used for filtering. List of property identifiers separated by a `|`. The `property-filter` must be `true`, otherwise the whitelist has no effect.", + "type": "string" + }, + "reduce-aggregations": { + "description": "By sending the parameter `reduce-aggregations` , the post-filters that were applied by the customer, are also applied to the aggregations. This has the consequence that only values are returned in the aggregations that would lead to further filter results. This parameter is a flag, the value has no effect.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] } } + } + ] + }, + "CartPriceQuantity": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "cart_price_quantity" + ] }, - "currency": { - "$ref": "#/components/schemas/Currency" + "isCalculated": { + "type": "boolean" }, - "salesChannel": { - "$ref": "#/components/schemas/SalesChannel" + "listPrice": { + "$ref": "#/components/schemas/CartListPrice" }, - "measurementSystem": { - "$ref": "#/components/schemas/ContextMeasurementSystemInfo" + "price": { + "type": "number" + }, + "quantity": { + "type": "number" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" }, "taxRules": { "type": "array", - "description": "Currently active tax rules and/or rates", "items": { "type": "object", "properties": { @@ -14897,20 +14680,60 @@ } } }, - "customer": { + "type": { + "type": "string" + } + }, + "required": [ + "apiAlias" + ] + }, + "ProductListingFlags": { + "type": "object", + "description": "Additional flags for product listings", + "properties": { + "no-aggregations": { + "description": "Resets all aggregations in the criteria. This parameter is a flag, the value has no effect.", "oneOf": [ { - "type": "null" + "type": "string" }, { - "$ref": "#/components/schemas/Customer" + "type": "null" } ] }, - "paymentMethod": { - "$ref": "#/components/schemas/PaymentMethod" + "only-aggregations": { + "description": "If this flag is set, no products are fetched. Sorting and associations are also ignored. This parameter is a flag, the value has no effect.", + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + } + }, + "CartDelivery": { + "type": "object", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", + "properties": { + "deliveryDate": { + "type": "object", + "properties": { + "earliest": { + "type": "string", + "format": "date-time" + }, + "latest": { + "type": "string", + "format": "date-time" + } + } }, - "shippingLocation": { + "location": { "type": "object", "properties": { "apiAlias": { @@ -14924,557 +14747,733 @@ }, "address": { "$ref": "#/components/schemas/CustomerAddress" + }, + "state": { + "$ref": "#/components/schemas/CountryState" } } }, + "positions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CartDeliveryPosition" + } + }, + "shippingCosts": { + "$ref": "#/components/schemas/CalculatedPrice" + }, "shippingMethod": { "$ref": "#/components/schemas/ShippingMethod" + } + } + }, + "Association": { + "additionalProperties": { + "$ref": "#/components/schemas/Association" + } + }, + "ProductDetailResponse": { + "type": "object", + "description": "Represents a product along with detailed information required to display a variant selection.", + "properties": { + "product": { + "$ref": "#/components/schemas/Product" }, - "context": { - "description": "Core context with general configuration values and state", - "type": "object", - "properties": { - "versionId": { - "type": "string" - }, - "currencyId": { - "type": "string" - }, - "currencyFactor": { - "type": "integer" - }, - "currencyPrecision": { - "type": "integer", - "format": "int32" - }, - "languageIdChain": { - "type": "array", - "items": { - "type": "string" + "configurator": { + "type": "array", + "description": "List of property groups with their corresponding options and information on how to display them.", + "items": { + "$ref": "#/components/schemas/PropertyGroup" + } + } + }, + "required": [ + "product" + ] + }, + "Criteria": { + "type": "object", + "description": "Search parameters. For more information, see our documentation on [Search Queries](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#structure)", + "properties": { + "page": { + "description": "Search result page", + "type": "integer" + }, + "term": { + "description": "Search term", + "type": "string" + }, + "limit": { + "description": "Number of items per result page", + "type": "integer" + }, + "filter": { + "type": "array", + "description": "List of filters to restrict the search result. For more information, see [Search Queries > Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#filter)", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" + } + ] + } + }, + "ids": { + "type": "array", + "description": "List of ids to search for", + "items": { + "type": "string" + } + }, + "query": { + "type": "string", + "description": "The query string to search for" + }, + "associations": { + "$ref": "#/components/schemas/Associations" + }, + "post-filter": { + "type": "array", + "description": "Filters that applied without affecting aggregations. For more information, see [Search Queries > Post Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#post-filter)", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" + } + ] + } + }, + "sort": { + "type": "array", + "description": "Sorting in the search result.", + "items": { + "$ref": "#/components/schemas/Sort" + } + }, + "aggregations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Aggregation" + } + }, + "fields": { + "type": "array", + "description": "Fields which should be returned in the search result.", + "items": { + "type": "string", + "description": "Name of a field" + } + }, + "grouping": { + "type": "array", + "description": "Perform groupings over certain fields", + "items": { + "type": "string", + "description": "Name of a field" + } + }, + "total-count-mode": { + "$ref": "#/components/schemas/TotalCountMode" + }, + "includes": { + "$ref": "#/components/schemas/Includes" + }, + "excludes": { + "$ref": "#/components/schemas/Excludes" + } + } + }, + "NoneFieldsCriteria": { + "type": "object", + "description": "Search parameters. For more information, see our documentation on [Search Queries](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#structure)", + "properties": { + "page": { + "description": "Search result page", + "type": "integer" + }, + "term": { + "description": "Search term", + "type": "string" + }, + "limit": { + "description": "Number of items per result page", + "type": "integer" + }, + "filter": { + "type": "array", + "description": "List of filters to restrict the search result. For more information, see [Search Queries > Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#filter)", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" } - }, - "scope": { - "type": "string" - }, - "source": { - "type": "object", - "required": [ - "salesChannelId", - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "sales-channel", - "shop-api" - ] - }, - "salesChannelId": { - "type": "string" - } + ] + } + }, + "ids": { + "type": "array", + "description": "List of ids to search for", + "items": { + "type": "string" + } + }, + "query": { + "type": "string", + "description": "The query string to search for" + }, + "associations": { + "$ref": "#/components/schemas/Associations" + }, + "post-filter": { + "type": "array", + "description": "Filters that applied without affecting aggregations. For more information, see [Search Queries > Post Filter](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#post-filter)", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" } - }, - "taxState": { - "type": "string" - }, - "useCache": { - "type": "boolean" - } + ] } }, - "itemRounding": { - "type": "object", - "required": [ - "decimals", - "interval", - "roundForNet", - "apiAlias" - ], - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" - ] - }, - "decimals": { - "type": "integer", - "format": "int32" - }, - "interval": { - "type": "number", - "format": "float" - }, - "roundForNet": { - "type": "boolean" - } + "sort": { + "type": "array", + "description": "Sorting in the search result.", + "items": { + "$ref": "#/components/schemas/Sort" } }, - "totalRounding": { - "type": "object", - "required": [ - "decimals", - "interval", - "roundForNet", - "apiAlias" - ], - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" - ] - }, - "decimals": { - "type": "integer", - "format": "int32" - }, - "interval": { - "type": "number", - "format": "float" - }, - "roundForNet": { - "type": "boolean" - } + "aggregations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Aggregation" } }, - "languageInfo": { - "type": "object", - "required": [ - "localeCode", - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "localeCode": { - "type": "string" - } + "grouping": { + "type": "array", + "description": "Perform groupings over certain fields", + "items": { + "type": "string", + "description": "Name of a field" } }, - "apiAlias": { - "type": "string", - "enum": [ - "sales_channel_context" - ] + "total-count-mode": { + "$ref": "#/components/schemas/TotalCountMode" + }, + "includes": { + "$ref": "#/components/schemas/Includes" + }, + "excludes": { + "$ref": "#/components/schemas/Excludes" } - }, - "required": [ - "salesChannel", - "apiAlias", - "itemRounding", - "totalRounding", - "languageInfo" - ] + } }, - "NavigationType": { - "type": "string", - "enum": [ - "main-navigation", - "footer-navigation", - "service-navigation" - ] + "Associations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Criteria" + } }, - "WishlistLoadRouteResponse": { + "Includes": { "type": "object", - "required": [ - "products" - ], - "properties": { - "wishlist": { - "type": "object", - "properties": { - "customerId": { - "type": "string" - }, - "salesChannelId": { - "type": "string" - } - } - }, - "products": { - "$ref": "#/components/schemas/ProductListingResult" + "additionalProperties": { + "type": "array", + "items": { + "type": "string" } } }, - "Breadcrumb": { + "Excludes": { "type": "object", - "properties": { - "name": { + "additionalProperties": { + "type": "array", + "items": { "type": "string" + } + } + }, + "Aggregation": { + "anyOf": [ + { + "$ref": "#/components/schemas/AggregationMetrics" }, - "categoryId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "type": { - "$ref": "#/components/schemas/Category/properties/type" - }, - "translated": { - "type": "object", - "additionalProperties": true, - "properties": { - "customFields": { - "type": "object" - }, - "slotConfig": { - "type": "object" - }, - "linkType": { - "$ref": "#/components/schemas/Category/properties/linkType" - }, - "internalLink": { - "type": "string" - }, - "externalLink": { - "type": "string" - }, - "linkNewTab": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "metaTitle": { - "type": "string" + { + "title": "AggregationEntity", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationEntity" }, - "metaDescription": { - "type": "string" + { + "$ref": "#/components/schemas/SubAggregations" + } + ] + }, + { + "title": "AggregationFilter", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationFilter" }, - "keywords": { - "type": "string" + { + "$ref": "#/components/schemas/SubAggregations" } - } + ] }, - "path": { - "type": "string" + { + "title": "AggregationTerms", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationTerms" + }, + { + "$ref": "#/components/schemas/SubAggregations" + } + ] }, - "seoUrls": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SeoUrl" - } + { + "title": "AggregationHistogram", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationHistogram" + }, + { + "$ref": "#/components/schemas/SubAggregations" + } + ] }, - "apiAlias": { - "type": "string", - "enum": [ - "breadcrumb" + { + "title": "AggregationRange", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationRange" + }, + { + "$ref": "#/components/schemas/SubAggregations" + } ] } - }, - "required": [ - "name", - "categoryId", - "type", - "translated", - "path", - "apiAlias" ] }, - "ProductListingFlags": { + "SubAggregations": { "type": "object", - "description": "Additional flags for product listings", "properties": { - "no-aggregations": { - "description": "Resets all aggregations in the criteria. This parameter is a flag, the value has no effect.", - "oneOf": [ + "aggregation": { + "anyOf": [ { - "type": "string" + "$ref": "#/components/schemas/AggregationMetrics" }, { - "type": "null" - } - ] - }, - "only-aggregations": { - "description": "If this flag is set, no products are fetched. Sorting and associations are also ignored. This parameter is a flag, the value has no effect.", - "oneOf": [ + "$ref": "#/components/schemas/AggregationEntity" + }, { - "type": "string" + "$ref": "#/components/schemas/AggregationFilter" }, { - "type": "null" + "$ref": "#/components/schemas/AggregationTerms" + }, + { + "$ref": "#/components/schemas/AggregationHistogram" + }, + { + "$ref": "#/components/schemas/AggregationRange" } ] } } }, - "LineItemType": { + "TotalCountMode": { + "description": "Whether the total for the total number of hits should be determined for the search query. none = disabled total count, exact = calculate exact total amount (slow), next-pages = calculate only for next page (fast)", "type": "string", - "deprecated": true, + "default": "none", "enum": [ - "product", - "credit", - "custom", - "promotion", - "discount", - "container", - "quantity" + "none", + "exact", + "next-pages" ] }, - "LineItem": { + "Query": { "type": "object", "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" - } - }, - "cover": { - "$ref": "#/components/schemas/Media" - }, - "dataContextHash": { - "type": "string" - }, - "dataTimestamp": { - "type": "string" - }, - "deliveryInformation": { - "$ref": "#/components/schemas/CartDeliveryInformation" - }, - "description": { - "type": "string" - }, - "good": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "modified": { - "type": "boolean" - }, - "modifiedByApp": { - "type": "boolean" - }, - "payload": { - "$ref": "#/components/schemas/ProductJsonApi" + "score": { + "type": "number" }, - "price": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "calculated_price" - ] - }, - "calculatedTaxes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cart_tax_calculated" - ] - }, - "tax": { - "type": "number" - }, - "taxRate": { - "type": "number" - }, - "price": { - "type": "number" - } - }, - "required": [ - "apiAlias", - "tax", - "taxRate", - "price" - ] - } - }, - "listPrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartListPrice" - }, - { - "type": "null" - } - ] + "query": { + "oneOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" }, - "quantity": { - "type": "number" + { + "$ref": "#/components/schemas/EqualsFilter" }, - "referencePrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartPriceReference" - }, - { - "type": "null" - } - ] + { + "$ref": "#/components/schemas/MultiNotFilter" }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_regulation_price" - ] - } - } - }, - { - "type": "null" - } - ] + { + "$ref": "#/components/schemas/RangeFilter" + } + ] + } + }, + "additionalProperties": true + }, + "Sort": { + "type": "object", + "properties": { + "field": { + "type": "string" + }, + "order": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] + }, + "naturalSorting": { + "type": "boolean" + }, + "type": { + "type": "string" + } + }, + "required": [ + "field", + "order" + ] + }, + "Filters": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" + } + ] + } + }, + "SimpleFilter": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "contains", + "equalsAny", + "prefix", + "suffix" + ] + }, + "field": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "type", + "field", + "value" + ] + }, + "EqualsFilter": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "equals" + ] + }, + "field": { + "type": "string" + }, + "value": { + "oneOf": [ + { + "type": "string" }, - "totalPrice": { + { "type": "number" }, - "unitPrice": { - "type": "number" + { + "type": "boolean" }, - "taxRules": { - "type": "array", - "description": "Currently active tax rules and/or rates", - "items": { - "type": "object", - "properties": { - "taxRate": { - "type": "number", - "format": "float" - }, - "name": { - "type": "string" - } - } - } + { + "type": "null" } - }, - "required": [ - "apiAlias", - "totalPrice", - "quantity", - "unitPrice" + ] + } + }, + "required": [ + "type", + "field", + "value" + ] + }, + "MultiNotFilter": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "multi", + "not" ] }, - "priceDefinition": { - "$ref": "#/components/schemas/CartPriceQuantity" + "operator": { + "type": "string", + "enum": [ + "and", + "or", + "nor", + "nand" + ] }, - "quantity": { - "type": "number" + "queries": { + "$ref": "#/components/schemas/Filters" + } + }, + "required": [ + "type", + "operator", + "queries" + ] + }, + "RangeFilter": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "range" + ] }, - "quantityInformation": { + "field": { + "type": "string" + }, + "parameters": { "type": "object", "properties": { - "maxPurchase": { + "gte": { "type": "number" }, - "minPurchase": { + "gt": { "type": "number" }, - "purchaseSteps": { + "lte": { + "type": "number" + }, + "lt": { "type": "number" } } + } + }, + "required": [ + "type", + "field", + "parameters" + ] + }, + "CookieGroup": { + "type": "object", + "properties": { + "isRequired": { + "type": "boolean" }, - "referencedId": { + "name": { "type": "string" }, - "removable": { - "type": "boolean" + "description": { + "type": "string" }, - "stackable": { - "type": "boolean" + "cookie": { + "type": "string" }, - "states": { - "deprecated": true, - "type": "array", - "items": { - "type": "string", - "enum": [ - "is-physical", - "is-download" - ] - } + "value": { + "type": "string" }, - "type": { - "$ref": "#/components/schemas/OrderLineItem/properties/type" + "expiration": { + "type": "integer" }, - "uniqueIdentifier": { - "type": "string" + "entries": { + "$ref": "#/components/schemas/CookieEntryCollection" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cookie_group" + ] } }, + "not": { + "allOf": [ + { + "required": [ + "cookie" + ] + }, + { + "required": [ + "entries" + ] + } + ] + }, "required": [ - "id", - "type", - "deliveryInformation", - "payload", - "quantity", - "states" + "name", + "isRequired", + "apiAlias" ] }, - "CartPriceQuantity": { + "CartDeliveryPosition": { + "type": "object", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", + "properties": { + "deliveryDate": { + "type": "object", + "properties": { + "earliest": { + "type": "string", + "format": "date-time" + }, + "latest": { + "type": "string", + "format": "date-time" + } + } + }, + "identifier": { + "type": "string" + }, + "lineItem": { + "$ref": "#/components/schemas/LineItem" + }, + "price": { + "$ref": "#/components/schemas/CalculatedPrice" + } + } + }, + "ReferencePrice": { "type": "object", "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cart_price_quantity" - ] + "purchaseUnit": { + "type": "number" }, - "isCalculated": { - "type": "boolean" + "referenceUnit": { + "type": "number" }, - "listPrice": { - "$ref": "#/components/schemas/CartListPrice" + "unitName": { + "type": "string" }, "price": { "type": "number" }, - "quantity": { - "type": "number" + "apiAlias": { + "type": "string", + "enum": [ + "cart_price_reference" + ] }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/ListPrice" + }, + { + "type": "null" } - }, - "type": "object" + ] }, - "taxRules": { - "type": "array", - "items": { - "type": "object", - "properties": { - "taxRate": { - "type": "number", - "format": "float" - }, - "name": { - "type": "string" + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_regulation_price" + ] + } } + }, + { + "type": "null" } - } + ] }, - "type": { - "type": "string" + "hasRange": { + "type": "boolean" + }, + "variantId": { + "oneOf": [ + { + "type": "string", + "format": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] } }, "required": [ - "apiAlias" + "hasRange", + "regulationPrice", + "listPrice", + "calculatedTaxes", + "totalPrice", + "quantity", + "unitName" ] }, "OrderRouteResponse": { @@ -15514,416 +15513,452 @@ "orders" ] }, - "ProductListingResult": { - "allOf": [ - { - "$ref": "#/components/schemas/EntitySearchResult" - }, - { + "WishlistLoadRouteResponse": { + "type": "object", + "required": [ + "products" + ], + "properties": { + "wishlist": { "type": "object", "properties": { - "currentFilters": { - "type": "object", - "description": "Contains the state of the filters. These can be used to create listing filters.", - "properties": { - "navigationId": { - "type": "string" - }, - "manufacturer": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "price": { - "type": "object", - "properties": { - "min": { - "type": "integer", - "default": 0 - }, - "max": { - "type": "integer", - "default": 0 - } - }, - "required": [ - "min", - "max" - ] - }, - "rating": { - "oneOf": [ - { - "type": "integer" - }, - { - "type": "null" - } - ] - }, - "shipping-free": { - "type": "boolean", - "default": false - }, - "properties": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "search": { - "type": "string" - } - }, - "required": [ - "manufacturer", - "navigationId", - "price", - "properties", - "rating", - "shipping-free" - ] - }, - "availableSortings": { - "type": "array", - "description": "Contains the available sorting. These can be used to show a sorting select-box in the product listing.", - "items": { - "type": "object", - "properties": { - "label": { - "type": "string" - }, - "translated": { - "type": "object", - "properties": { - "label": { - "type": "string" - } - }, - "required": [ - "label" - ] - }, - "key": { - "type": "string" - }, - "priority": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "product_sorting" - ] - } - }, - "required": [ - "label", - "translated", - "key", - "priority", - "apiAlias" - ] - } - }, - "sorting": { + "customerId": { "type": "string" }, - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } - }, - "entity": { - "type": "string", - "enum": [ - "product" - ] - }, - "apiAlias": { - "type": "string", - "enum": [ - "product_listing" - ] + "salesChannelId": { + "type": "string" } - }, - "required": [ - "elements", - "availableSortings", - "currentFilters", - "apiAlias" - ] + } + }, + "products": { + "$ref": "#/components/schemas/ProductListingResult" + } + } + }, + "Sitemap": { + "type": "object", + "properties": { + "filename": { + "type": "string" + }, + "created": { + "type": "string", + "format": "date-time" } + }, + "required": [ + "filename", + "created" ] }, - "CookieRouteResponse": { + "NavigationType": { + "type": "string", + "enum": [ + "main-navigation", + "footer-navigation", + "service-navigation" + ] + }, + "ListPrice": { "type": "object", - "description": "Response containing cookie groups and their configuration hash.", + "description": "", "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cookie_groups_hash" - ] + "discount": { + "type": "number" }, - "elements": { - "type": "array", - "description": "Collection of cookie groups", - "items": { - "$ref": "#/components/schemas/CookieGroup" - } + "percentage": { + "type": "number" }, - "hash": { - "type": "string", - "description": "Hash of the current cookie configuration. Can be used to detect changes in cookie configuration.", - "example": "f86b6a872cb83dbd22d838ceda1aa3d4" + "price": { + "type": "number" }, - "languageId": { + "apiAlias": { "type": "string", - "format": "uuid", - "description": "The language ID for which the cookie configuration was generated. Used to store hashes per language.", - "example": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" + "enum": [ + "cart_list_price" + ] } }, "required": [ - "elements", - "hash", - "languageId", "apiAlias" - ], - "example": { - "apiAlias": "cookie_groups_hash", - "elements": [ - { - "isRequired": true, - "description": "Cookies required for this shop to function:", - "name": "Technically required", - "entries": [ - { - "name": "Session", - "hidden": false, - "cookie": "session-", - "apiAlias": "cookie_entry" - }, - { - "name": "Timezone", - "hidden": false, - "cookie": "timezone", - "apiAlias": "cookie_entry" - }, - { - "value": "1", - "expiration": 30, - "name": "Cookie preferences", - "hidden": true, - "cookie": "cookie-preference", - "apiAlias": "cookie_entry" - } - ], - "apiAlias": "cookie_group" - }, - { - "isRequired": false, - "description": "Cookies used for statistics and shop performance metrics.", - "name": "Statistics", - "entries": [ - { - "value": "1", - "expiration": 30, - "name": "Google Analytics", - "hidden": false, - "cookie": "google-analytics-enabled", - "apiAlias": "cookie_entry" - } - ], - "apiAlias": "cookie_group" - }, - { - "isRequired": false, - "description": "Allows Google to collect personal data for online advertising and marketing.", - "name": "Marketing", - "entries": [ - { - "value": "1", - "expiration": 30, - "name": "Google Advertising", - "hidden": false, - "cookie": "google-ads-enabled", - "apiAlias": "cookie_entry" - } - ], - "apiAlias": "cookie_group" - }, - { - "isRequired": false, - "name": "Comfort features", - "entries": [ - { - "value": "1", - "expiration": 30, - "name": "YouTube video", - "hidden": false, - "cookie": "youtube-video", - "apiAlias": "cookie_entry" - } - ], - "apiAlias": "cookie_group" - } - ], - "hash": "f86b6a872cb83dbd22d838ceda1aa3d4", - "languageId": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" - } + ] }, - "Cart": { + "CalculatedPrice": { "type": "object", + "description": "Represents a product along with detailed information required to display a variant selection.", "properties": { - "name": { - "description": "Name of the cart - for example `guest-cart`", - "type": "string" + "unitPrice": { + "type": "number" }, - "token": { - "description": "Context token identifying the cart and the user session", - "type": "string" + "quantity": { + "type": "number" }, - "price": { - "$ref": "#/components/schemas/CalculatedPrice" + "rawTotal": { + "type": "number" }, - "lineItems": { - "description": "All items within the cart", + "totalPrice": { + "type": "number" + }, + "taxStatus": { + "type": "string", + "enum": [ + "net", + "tax-free" + ] + }, + "calculatedTaxes": { "type": "array", "items": { - "$ref": "#/components/schemas/LineItem" + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "cart_tax_calculated" + ] + }, + "tax": { + "type": "number" + }, + "taxRate": { + "type": "number" + }, + "price": { + "type": "number" + } + }, + "required": [ + "apiAlias", + "tax", + "taxRate", + "price" + ] } }, - "errors": { - "type": "object", - "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", - "anyOf": [ + "referencePrice": { + "oneOf": [ { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartError" - } + "$ref": "#/components/schemas/CartPriceReference" + }, + { + "type": "null" + } + ] + }, + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartListPrice" }, + { + "type": "null" + } + ] + }, + "positionPrice": { + "type": "number" + }, + "netPrice": { + "type": "number" + }, + "regulationPrice": { + "oneOf": [ { "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "code": { - "type": "number" - }, - "key": { - "type": "string" - }, - "level": { - "type": "number" - }, - "message": { - "type": "string" - }, - "messageKey": { - "type": "string" - } + "properties": { + "price": { + "type": "number" }, - "required": [ - "code", - "key", - "level", - "message", - "messageKey" - ] + "apiAlias": { + "type": "string", + "enum": [ + "cart_regulation_price" + ] + } } + }, + { + "type": "null" } ] }, - "deliveries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartDelivery" - } + "hasRange": { + "type": "boolean" }, - "transactions": { - "description": "A list of all payment transactions associated with the current cart.", + "variantId": { + "oneOf": [ + { + "type": "string", + "format": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + }, + "apiAlias": { + "type": "string", + "enum": [ + "calculated_price" + ] + }, + "taxRules": { "type": "array", + "description": "Currently active tax rules and/or rates", "items": { "type": "object", "properties": { - "paymentMethodId": { - "type": "string" + "taxRate": { + "type": "number", + "format": "float" }, - "amount": { - "$ref": "#/components/schemas/CalculatedPrice" + "name": { + "type": "string" } } } + } + }, + "required": [ + "apiAlias", + "hasRange", + "regulationPrice", + "listPrice", + "referencePrice", + "calculatedTaxes", + "totalPrice", + "quantity", + "unitPrice", + "positionPrice", + "netPrice", + "taxRules", + "rawTotal", + "taxStatus" + ] + }, + "CookieEntry": { + "type": "object", + "properties": { + "cookie": { + "type": "string" }, - "modified": { + "value": { + "type": "string" + }, + "expiration": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "hidden": { "type": "boolean" }, - "customerComment": { - "description": "A comment that can be added to the cart.", - "oneOf": [ - { - "type": "string" + "apiAlias": { + "type": "string", + "enum": [ + "cookie_entry" + ] + } + }, + "required": [ + "cookie", + "hidden", + "apiAlias" + ] + }, + "CartListPrice": { + "type": "object", + "description": "", + "properties": { + "discount": { + "type": "number" + }, + "percentage": { + "type": "number" + }, + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_list_price" + ] + } + }, + "required": [ + "apiAlias" + ] + }, + "CustomerAddressBody": { + "description": "Added since version: 6.0.0.0", + "required": [ + "countryId", + "firstName", + "lastName", + "city", + "street" + ], + "properties": { + "countryId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "countryStateId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "salutationId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "zipcode": { + "type": "string" + }, + "city": { + "type": "string" + }, + "company": { + "type": "string" + }, + "street": { + "type": "string" + }, + "department": { + "type": "string" + }, + "title": { + "type": "string" + }, + "phoneNumber": { + "type": "string" + }, + "additionalAddressLine1": { + "type": "string" + }, + "additionalAddressLine2": { + "type": "string" + }, + "customFields": { + "type": "object" + }, + "country": { + "$ref": "#/components/schemas/Country" + }, + "countryState": { + "$ref": "#/components/schemas/CountryState" + }, + "salutation": { + "$ref": "#/components/schemas/Salutation" + } + }, + "type": "object" + }, + "MeasurementUnits": { + "type": "object", + "description": "Configuration of the measurement system", + "properties": { + "system": { + "type": "string", + "enum": [ + "metric", + "imperial" + ], + "default": "metric", + "description": "The measurement system used in the store. 'metric' for metric system, 'imperial' for imperial system." + }, + "units": { + "type": "object", + "description": "Units used in the measurement system.", + "properties": { + "length": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm", + "description": "Unit of length." }, - { - "type": "null" + "weight": { + "type": "string", + "enum": [ + "g", + "kg", + "oz", + "lb" + ], + "default": "kg", + "description": "Unit of weight." } - ] + } + } + } + }, + "CustomerAddressRead": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "readOnly": true }, - "affiliateCode": { - "description": "An affiliate tracking code", + "customerId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "readOnly": true + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { "oneOf": [ { - "type": "string" + "type": "string", + "format": "date-time" }, { "type": "null" } ] }, - "campaignCode": { - "description": "A campaign tracking code", + "country": { + "$ref": "#/components/schemas/Country" + }, + "countryState": { "oneOf": [ { - "type": "string" + "$ref": "#/components/schemas/CountryState" }, { "type": "null" } ] }, - "apiAlias": { - "type": "string", - "enum": [ - "cart" - ] - } - }, - "required": [ - "price", - "apiAlias" - ] - }, - "Sitemap": { - "type": "object", - "properties": { - "filename": { - "type": "string" - }, - "created": { - "type": "string", - "format": "date-time" + "salutation": { + "$ref": "#/components/schemas/Salutation" } }, "required": [ - "filename", - "created" + "customerId", + "createdAt", + "updatedAt", + "country", + "salutation" ] }, "CrossSellingElement": { @@ -15960,349 +15995,507 @@ "apiAlias" ] }, - "ProductMeasurements": { + "SalesChannelContext": { "type": "object", - "description": "Runtime field, cannot be used as part of the criteria. Measurements of a product, including dimensions and weight.", "properties": { - "width": { + "token": { + "description": "Context the user session", + "type": "string" + }, + "currentCustomerGroup": { "type": "object", + "description": "Customer group of the current user", "properties": { - "unit": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm" + "name": { + "type": "string" }, - "value": { - "type": "number" + "displayGross": { + "type": "boolean" } } }, - "height": { + "fallbackCustomerGroup": { + "description": "Fallback group if the default customer group is not applicable", "type": "object", "properties": { - "unit": { + "name": { + "type": "string" + }, + "displayGross": { + "type": "boolean" + } + } + }, + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "salesChannel": { + "$ref": "#/components/schemas/SalesChannel" + }, + "measurementSystem": { + "$ref": "#/components/schemas/ContextMeasurementSystemInfo" + }, + "taxRules": { + "type": "array", + "description": "Currently active tax rules and/or rates", + "items": { + "type": "object", + "properties": { + "taxRate": { + "type": "number", + "format": "float" + }, + "name": { + "type": "string" + } + } + } + }, + "customer": { + "oneOf": [ + { + "type": "null" + }, + { + "$ref": "#/components/schemas/Customer" + } + ] + }, + "paymentMethod": { + "$ref": "#/components/schemas/PaymentMethod" + }, + "shippingLocation": { + "type": "object", + "properties": { + "apiAlias": { "type": "string", "enum": [ - "mm", - "cm", - "m", - "in", - "ft" + "cart_delivery_shipping_location" + ] + }, + "country": { + "$ref": "#/components/schemas/Country" + }, + "address": { + "$ref": "#/components/schemas/CustomerAddress" + } + } + }, + "shippingMethod": { + "$ref": "#/components/schemas/ShippingMethod" + }, + "context": { + "description": "Core context with general configuration values and state", + "type": "object", + "properties": { + "versionId": { + "type": "string" + }, + "currencyId": { + "type": "string" + }, + "currencyFactor": { + "type": "integer" + }, + "currencyPrecision": { + "type": "integer", + "format": "int32" + }, + "languageIdChain": { + "type": "array", + "items": { + "type": "string" + } + }, + "scope": { + "type": "string" + }, + "source": { + "type": "object", + "required": [ + "salesChannelId", + "type" ], - "default": "mm" + "properties": { + "type": { + "type": "string", + "enum": [ + "sales-channel", + "shop-api" + ] + }, + "salesChannelId": { + "type": "string" + } + } }, - "value": { - "type": "number" + "taxState": { + "type": "string" + }, + "useCache": { + "type": "boolean" } } }, - "length": { + "itemRounding": { "type": "object", + "required": [ + "decimals", + "interval", + "roundForNet", + "apiAlias" + ], "properties": { - "unit": { + "apiAlias": { "type": "string", "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm" + "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" + ] }, - "value": { - "type": "number" + "decimals": { + "type": "integer", + "format": "int32" + }, + "interval": { + "type": "number", + "format": "float" + }, + "roundForNet": { + "type": "boolean" } } }, - "weight": { + "totalRounding": { "type": "object", + "required": [ + "decimals", + "interval", + "roundForNet", + "apiAlias" + ], "properties": { - "unit": { + "apiAlias": { "type": "string", "enum": [ - "g", - "kg", - "oz", - "lb" - ], - "default": "kg" + "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" + ] + }, + "decimals": { + "type": "integer", + "format": "int32" + }, + "interval": { + "type": "number", + "format": "float" + }, + "roundForNet": { + "type": "boolean" + } + } + }, + "languageInfo": { + "type": "object", + "required": [ + "localeCode", + "name" + ], + "properties": { + "name": { + "type": "string" }, - "value": { - "type": "number" + "localeCode": { + "type": "string" } } - } - } - }, - "CartError": { - "type": "object", - "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", - "properties": { - "key": { - "type": "string" }, - "level": { - "type": "number", + "apiAlias": { + "type": "string", "enum": [ - 0, - 10, - 20 - ], - "description": "* `0` - notice,\n* `10` - warning,\n* `20` - error" - }, - "message": { - "type": "string" - }, - "messageKey": { - "type": "string" + "sales_channel_context" + ] } }, "required": [ - "key", - "level", - "message", - "messageKey" + "salesChannel", + "apiAlias", + "itemRounding", + "totalRounding", + "languageInfo" ] }, - "ContextMeasurementSystemInfo": { + "SuccessResponse": { "type": "object", - "description": "Configuration of the measurement system used in the store, by default including units for length and weight.", "properties": { - "system": { - "type": "string", - "enum": [ - "metric", - "imperial" - ], - "default": "metric", - "description": "The measurement system used in the store. 'metric' for metric system, 'imperial' for imperial system." - }, - "units": { - "type": "object", - "description": "Units used in the measurement system.", - "properties": { - "length": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm", - "description": "Unit of length." - }, - "weight": { - "type": "string", - "enum": [ - "g", - "kg", - "oz", - "lb" - ], - "default": "kg", - "description": "Unit of weight." - } - } + "success": { + "type": "boolean" } } }, - "CartDeliveryPosition": { + "NavigationRouteResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Category" + } + }, + "CartDeliveryInformation": { "type": "object", - "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { - "deliveryDate": { + "apiAlias": { + "type": "string", + "enum": [ + "cart_delivery_information" + ] + }, + "freeDelivery": { + "type": "boolean" + }, + "deliveryTime": { "type": "object", "properties": { - "earliest": { - "type": "string", - "format": "date-time" + "name": { + "type": "string" }, - "latest": { + "min": { + "type": "integer" + }, + "max": { + "type": "integer" + }, + "unit": { + "type": "string" + }, + "apiAlias": { "type": "string", - "format": "date-time" + "enum": [ + "cart_delivery_time" + ] } } }, - "identifier": { - "type": "string" - }, - "lineItem": { - "$ref": "#/components/schemas/LineItem" - }, - "price": { - "$ref": "#/components/schemas/CalculatedPrice" - } - } - }, - "CookieGroup": { - "type": "object", - "properties": { - "isRequired": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "cookie": { - "type": "string" - }, - "value": { - "type": "string" - }, - "expiration": { + "height": { "type": "integer" }, - "entries": { - "$ref": "#/components/schemas/CookieEntryCollection" + "length": { + "type": "integer" }, - "apiAlias": { - "type": "string", - "enum": [ - "cookie_group" - ] - } - }, - "not": { - "allOf": [ - { - "required": [ - "cookie" - ] - }, - { - "required": [ - "entries" - ] - } - ] - }, - "required": [ - "name", - "isRequired", - "apiAlias" - ] - }, - "ListPrice": { - "type": "object", - "description": "", - "properties": { - "discount": { - "type": "number" + "restockTime": { + "type": "integer" }, - "percentage": { - "type": "number" + "stock": { + "type": "integer" }, - "price": { - "type": "number" + "weight": { + "type": "integer" }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_list_price" - ] + "width": { + "type": "integer" } }, "required": [ "apiAlias" ] }, - "CartDelivery": { + "FindProductVariantRouteResponse": { "type": "object", - "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { - "deliveryDate": { - "type": "object", - "properties": { - "earliest": { - "type": "string", - "format": "date-time" - }, - "latest": { - "type": "string", - "format": "date-time" - } - } - }, - "location": { + "foundCombination": { "type": "object", "properties": { - "apiAlias": { + "variantId": { "type": "string", - "enum": [ - "cart_delivery_shipping_location" - ] - }, - "country": { - "$ref": "#/components/schemas/Country" - }, - "address": { - "$ref": "#/components/schemas/CustomerAddress" + "pattern": "^[0-9a-f]{32}$" }, - "state": { - "$ref": "#/components/schemas/CountryState" - } - } - }, - "positions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartDeliveryPosition" + "options": { + "type": "array", + "items": { + "type": "string" + } + } } - }, - "shippingCosts": { - "$ref": "#/components/schemas/CalculatedPrice" - }, - "shippingMethod": { - "$ref": "#/components/schemas/ShippingMethod" } } }, - "EntitySearchResult": { + "CrossSellingElementCollection": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CrossSellingElement" + } + }, + "CartError": { "type": "object", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { - "entity": { + "key": { "type": "string" }, - "total": { - "type": "integer", - "description": "The total number of found entities" - }, - "aggregations": { - "type": "array", - "description": "Contains aggregated data. A simple example is the determination of the average price from a product search query.", - "items": { - "type": "object" - } + "level": { + "type": "number", + "enum": [ + 0, + 10, + 20 + ], + "description": "* `0` - notice,\n* `10` - warning,\n* `20` - error" }, - "page": { - "type": "integer", - "description": "The actual page. This can be used for pagination." + "message": { + "type": "string" }, - "limit": { - "type": "integer", - "description": "The actual limit. This is used for pagination and goes together with the page." + "messageKey": { + "type": "string" } - } + }, + "required": [ + "key", + "level", + "message", + "messageKey" + ] }, - "SuccessResponse": { - "type": "object", - "properties": { - "success": { - "type": "boolean" + "ProductListingResult": { + "allOf": [ + { + "$ref": "#/components/schemas/EntitySearchResult" + }, + { + "type": "object", + "properties": { + "currentFilters": { + "type": "object", + "description": "Contains the state of the filters. These can be used to create listing filters.", + "properties": { + "navigationId": { + "type": "string" + }, + "manufacturer": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "price": { + "type": "object", + "properties": { + "min": { + "type": "integer", + "default": 0 + }, + "max": { + "type": "integer", + "default": 0 + } + }, + "required": [ + "min", + "max" + ] + }, + "rating": { + "oneOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ] + }, + "shipping-free": { + "type": "boolean", + "default": false + }, + "properties": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "search": { + "type": "string" + } + }, + "required": [ + "manufacturer", + "navigationId", + "price", + "properties", + "rating", + "shipping-free" + ] + }, + "availableSortings": { + "type": "array", + "description": "Contains the available sorting. These can be used to show a sorting select-box in the product listing.", + "items": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "translated": { + "type": "object", + "properties": { + "label": { + "type": "string" + } + }, + "required": [ + "label" + ] + }, + "key": { + "type": "string" + }, + "priority": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "product_sorting" + ] + } + }, + "required": [ + "label", + "translated", + "key", + "priority", + "apiAlias" + ] + } + }, + "sorting": { + "type": "string" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Product" + } + }, + "entity": { + "type": "string", + "enum": [ + "product" + ] + }, + "apiAlias": { + "type": "string", + "enum": [ + "product_listing" + ] + } + }, + "required": [ + "elements", + "availableSortings", + "currentFilters", + "apiAlias" + ] } - } + ] } }, "responses": { @@ -16438,24 +16631,80 @@ } } }, + "429": { + "description": "Too Many Requests", + "content": { + "application/vnd.api+json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "429", + "title": "Too Many Requests", + "description": "Rate limit exceeded. Please wait before retrying." + } + ] + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "429", + "title": "Too Many Requests", + "description": "Rate limit exceeded. Please wait before retrying." + } + ] + } + } + } + }, "204": { "description": "No Content" }, - "CurrencyListResponse": { - "description": "Entity search result containing currencies.", + "ShippingMethodListResponse": { + "description": "Entity search result containing shipping methods.", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Currency" - } + "allOf": [ + { + "required": [ + "elements" + ], + "properties": { + "total": { + "description": "Total amount", + "type": "integer" + }, + "aggregations": { + "description": "aggregation result", + "type": "object" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ShippingMethod" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] } } } }, - "SalutationListResponse": { - "description": "Entity search result containing salutations.", + "CountryStateListResponse": { + "description": "Entity search result containing countries.", "content": { "application/json": { "schema": { @@ -16465,7 +16714,7 @@ "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/Salutation" + "$ref": "#/components/schemas/CountryState" } } }, @@ -16479,57 +16728,25 @@ } } }, - "ContextTokenResponse": { - "description": "Returns the context token. Use that as your `sw-context-token` header for subsequent requests. Redirect if getRedirectUrl is set.", - "headers": { - "sw-context-token": { - "description": "Contains sw-context-token value", - "schema": { - "type": "string" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "redirectUrl": { - "description": "Define the URL which browser will be redirected to", - "type": "string" - } - } - } - } - } - }, - "ShippingMethodListResponse": { - "description": "Entity search result containing shipping methods.", + "SeoUrlListResponse": { + "description": "Entity search result containing seo urls.", "content": { "application/json": { "schema": { "allOf": [ { - "required": [ - "elements" - ], "properties": { - "total": { - "description": "Total amount", - "type": "integer" - }, - "aggregations": { - "description": "aggregation result", - "type": "object" - }, "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/ShippingMethod" + "$ref": "#/components/schemas/SeoUrl" } } }, - "type": "object" + "type": "object", + "required": [ + "elements" + ] }, { "$ref": "#/components/schemas/EntitySearchResult" @@ -16539,6 +16756,32 @@ } } }, + "PaymentMethodListResponse": { + "description": "", + "content": { + "application/json": { + "schema": { + "properties": { + "total": { + "description": "Total amount", + "type": "integer" + }, + "aggregations": { + "description": "aggregation result", + "type": "object" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentMethod" + } + } + }, + "type": "object" + } + } + } + }, "OpenApi3": { "description": "Returns information about the store API.", "content": { @@ -16728,22 +16971,22 @@ } } }, - "CountryStateListResponse": { - "description": "Entity search result containing countries.", + "CategoryListResponse": { + "description": "Entity search result containing categories.", "content": { "application/json": { "schema": { "allOf": [ { + "type": "object", "properties": { "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/CountryState" + "$ref": "#/components/schemas/Category" } } - }, - "type": "object" + } }, { "$ref": "#/components/schemas/EntitySearchResult" @@ -16753,76 +16996,46 @@ } } }, - "PaymentMethodListResponse": { - "description": "", - "content": { - "application/json": { + "ContextTokenResponse": { + "description": "Returns the context token. Use that as your `sw-context-token` header for subsequent requests. Redirect if getRedirectUrl is set.", + "headers": { + "sw-context-token": { + "description": "Contains sw-context-token value", "schema": { - "properties": { - "total": { - "description": "Total amount", - "type": "integer" - }, - "aggregations": { - "description": "aggregation result", - "type": "object" - }, - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PaymentMethod" - } - } - }, - "type": "object" + "type": "string" } } - } - }, - "SeoUrlListResponse": { - "description": "Entity search result containing seo urls.", + }, "content": { "application/json": { "schema": { - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SeoUrl" - } - } - }, - "type": "object", - "required": [ - "elements" - ] - }, - { - "$ref": "#/components/schemas/EntitySearchResult" + "type": "object", + "properties": { + "redirectUrl": { + "description": "Define the URL which browser will be redirected to", + "type": "string" } - ] + } } } } }, - "CategoryListResponse": { - "description": "Entity search result containing categories.", + "SalutationListResponse": { + "description": "Entity search result containing salutations.", "content": { "application/json": { "schema": { "allOf": [ { - "type": "object", "properties": { "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/Category" + "$ref": "#/components/schemas/Salutation" } } - } + }, + "type": "object" }, { "$ref": "#/components/schemas/EntitySearchResult" @@ -16860,21 +17073,31 @@ } } }, - "ProductListResponse": { - "description": "Entity search result containing products", + "CurrencyListResponse": { + "description": "Entity search result containing currencies.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Currency" + } + } + } + } + }, + "CountryListResponse": { + "description": "Entity search result containing countries.", "content": { "application/json": { "schema": { "allOf": [ { - "required": [ - "elements" - ], "properties": { "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/Product" + "$ref": "#/components/schemas/Country" } } }, @@ -16888,18 +17111,21 @@ } } }, - "CountryListResponse": { - "description": "Entity search result containing countries.", + "ProductListResponse": { + "description": "Entity search result containing products", "content": { "application/json": { "schema": { "allOf": [ { + "required": [ + "elements" + ], "properties": { "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/Country" + "$ref": "#/components/schemas/Product" } } }, @@ -16935,36 +17161,14 @@ "default": "application/json" } }, - "noAggregations": { - "name": "no-aggregations", - "in": "query", - "description": "Resets all aggregations in the criteria. This parameter is a flag, the value has no effect.", - "required": false, - "schema": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] - } - }, - "onlyAggregations": { - "name": "only-aggregations", - "in": "query", - "description": "If this flag is set, no products are fetched. Sorting and associations are also ignored. This parameter is a flag, the value has no effect.", + "swLanguageId": { + "name": "sw-language-id", + "in": "header", + "description": "Instructs Shopware to return the response in the given language.", "required": false, "schema": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] + "type": "string", + "pattern": "^[0-9a-f]{32}$" } }, "criteriaPage": { @@ -17163,6 +17367,38 @@ "format": "base64url", "example": "H4sIAAAAAAAAA6tWykpNzFGyqlbKz8lPTSxRslJKSi0pzSsFAGcQr7sHAAAA" } + }, + "noAggregations": { + "name": "no-aggregations", + "in": "query", + "description": "Resets all aggregations in the criteria. This parameter is a flag, the value has no effect.", + "required": false, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } + }, + "onlyAggregations": { + "name": "only-aggregations", + "in": "query", + "description": "If this flag is set, no products are fetched. Sorting and associations are also ignored. This parameter is a flag, the value has no effect.", + "required": false, + "schema": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + } } }, "securitySchemes": { diff --git a/SwagCustomizedProducts-storeapi.summary.json b/SwagCustomizedProducts-storeapi.summary.json index f6e3af6..5f2dc7c 100644 --- a/SwagCustomizedProducts-storeapi.summary.json +++ b/SwagCustomizedProducts-storeapi.summary.json @@ -16,6 +16,9 @@ "AppCmsBlock", "AppFlowAction", "AppFlowEvent", + "AppMcpPrompt", + "AppMcpResource", + "AppMcpTool", "AppPaymentMethod", "AppScriptCondition", "AppShippingMethod", @@ -30,6 +33,8 @@ "CartDeliveryPosition", "CartError", "CartItems", + "CartItemsUpdate", + "CartLineItemUpdate", "CartListPrice", "CartPriceQuantity", "CartPriceReference", @@ -117,6 +122,7 @@ "NavigationType", "NewsletterRecipient", "NewsletterRecipientJsonApi", + "NewsletterStatus", "NoneFieldsCriteria", "Notification", "NumberRange", @@ -183,6 +189,7 @@ "SalesChannelAnalytics", "SalesChannelContext", "SalesChannelDomain", + "SalesChannelFile", "SalesChannelTrackingCustomer", "SalesChannelTrackingOrder", "SalesChannelType",