diff --git a/SwagCommercial-storeapi.json b/SwagCommercial-storeapi.json index 03d1208..a9ad85f 100644 --- a/SwagCommercial-storeapi.json +++ b/SwagCommercial-storeapi.json @@ -443,6 +443,46 @@ }, "type": "object" }, + "AdvancedSearchCompoundDictionary": { + "required": [ + "id", + "languageId" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "languageId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "wordList": { + "type": "array", + "items": { + "type": "string" + } + }, + "minSubwordSize": { + "type": "integer", + "format": "int64" + }, + "onlyLongestMatch": { + "type": "boolean" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, "AdvancedSearchConfig": { "properties": { "id": { @@ -563,6 +603,42 @@ }, "type": "object" }, + "AdvancedSearchStopwordDictionary": { + "required": [ + "id", + "languageId" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "languageId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "stopwords": { + "type": "array", + "items": { + "type": "string" + } + }, + "extendsBuiltin": { + "type": "boolean" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, "AdvancedSearchSynonym": { "properties": { "id": { @@ -10262,6 +10338,11 @@ "description": { "type": "string" }, + "descriptionTeaser": { + "description": "Read-only, HTML-stripped excerpt of the description, derived on write.", + "type": "string", + "readOnly": true + }, "metaTitle": { "type": "string" }, @@ -11593,6 +11674,11 @@ "description": { "type": "string" }, + "descriptionTeaser": { + "description": "Read-only, HTML-stripped excerpt of the description, derived on write.", + "type": "string", + "readOnly": true + }, "metaTitle": { "type": "string" }, @@ -17391,387 +17477,91 @@ }, "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" - } - ] - }, - "positionPrice": { - "type": "number" - }, - "netPrice": { - "type": "number" - }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_regulation_price" - ] - } - } + "linkType": { + "$ref": "#/components/schemas/Category/properties/linkType" }, - { - "type": "null" + "internalLink": { + "type": "string" + }, + "externalLink": { + "type": "string" + }, + "linkNewTab": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "metaTitle": { + "type": "string" + }, + "metaDescription": { + "type": "string" + }, + "keywords": { + "type": "string" } - ] + } }, - "hasRange": { - "type": "boolean" + "path": { + "type": "string" }, - "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" - ] - }, - "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." - }, - "weight": { - "type": "string", - "enum": [ - "g", - "kg", - "oz", - "lb" - ], - "default": "kg", - "description": "Unit of weight." - } - } - } - } - }, - "CartListPrice": { - "type": "object", - "description": "", - "properties": { - "discount": { - "type": "number" - }, - "percentage": { - "type": "number" - }, - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_list_price" - ] - } - }, - "required": [ - "apiAlias" - ] - }, - "CartDeliveryInformation": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cart_delivery_information" - ] - }, - "freeDelivery": { - "type": "boolean" - }, - "deliveryTime": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "min": { - "type": "integer" - }, - "max": { - "type": "integer" - }, - "unit": { - "type": "string" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_delivery_time" - ] - } - } - }, - "height": { - "type": "integer" - }, - "length": { - "type": "integer" - }, - "restockTime": { - "type": "integer" - }, - "stock": { - "type": "integer" - }, - "weight": { - "type": "integer" - }, - "width": { - "type": "integer" } }, "required": [ + "name", + "categoryId", + "type", + "translated", + "path", "apiAlias" ] }, - "ProductListingCriteria": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" - }, - { - "type": "object", - "description": "Additional search parameters for product listings", - "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 - }, - "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" - } - ] - } - } - } - ] - }, "ProductPurchaseLimit": { "type": "object", "description": "Current quantity purchase limits for a product.", @@ -17816,1352 +17606,755 @@ } } }, - "CrossSellingElementCollection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CrossSellingElement" - } - }, - "Criteria": { + "AggregationMetrics": { "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", + "name": { "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": { "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" + "enum": [ + "avg", + "count", + "max", + "min", + "stats", + "sum" + ] }, - "excludes": { - "$ref": "#/components/schemas/Excludes" + "field": { + "type": "string" } - } + }, + "required": [ + "name", + "type", + "field" + ] }, - "NoneFieldsCriteria": { + "LineItemType": { + "type": "string", + "deprecated": true, + "enum": [ + "product", + "credit", + "custom", + "promotion", + "discount", + "container", + "quantity" + ] + }, + "LineItem": { "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": { + "children": { "type": "array", - "description": "List of ids to search for", "items": { - "type": "string" + "$ref": "#/components/schemas/LineItem" } }, - "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" - } - ] - } + "cover": { + "$ref": "#/components/schemas/Media" }, - "sort": { - "type": "array", - "description": "Sorting in the search result.", - "items": { - "$ref": "#/components/schemas/Sort" - } + "dataContextHash": { + "type": "string" }, - "aggregations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Aggregation" - } + "dataTimestamp": { + "type": "string" }, - "grouping": { - "type": "array", - "description": "Perform groupings over certain fields", - "items": { - "type": "string", - "description": "Name of a field" - } + "deliveryInformation": { + "$ref": "#/components/schemas/CartDeliveryInformation" }, - "total-count-mode": { - "$ref": "#/components/schemas/TotalCountMode" + "description": { + "type": "string" }, - "includes": { - "$ref": "#/components/schemas/Includes" + "good": { + "type": "boolean" }, - "excludes": { - "$ref": "#/components/schemas/Excludes" - } - } - }, - "Associations": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Criteria" - } - }, - "Includes": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { + "id": { "type": "string" - } - } - }, - "Excludes": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { + }, + "label": { "type": "string" - } - } - }, - "Aggregation": { - "anyOf": [ - { - "$ref": "#/components/schemas/AggregationMetrics" }, - { - "title": "AggregationEntity", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationEntity" - }, - { - "$ref": "#/components/schemas/SubAggregations" - } - ] + "modified": { + "type": "boolean" }, - { - "title": "AggregationFilter", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationFilter" - }, - { - "$ref": "#/components/schemas/SubAggregations" - } - ] + "modifiedByApp": { + "type": "boolean" }, - { - "title": "AggregationTerms", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationTerms" - }, - { - "$ref": "#/components/schemas/SubAggregations" - } - ] + "payload": { + "$ref": "#/components/schemas/ProductJsonApi" }, - { - "title": "AggregationHistogram", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationHistogram" + "price": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "calculated_price" + ] }, - { - "$ref": "#/components/schemas/SubAggregations" - } - ] - }, - { - "title": "AggregationRange", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationRange" + "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" + ] + } }, - { - "$ref": "#/components/schemas/SubAggregations" - } - ] - } - ] - }, - "SubAggregations": { - "type": "object", - "properties": { - "aggregation": { - "anyOf": [ - { - "$ref": "#/components/schemas/AggregationMetrics" + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartListPrice" + }, + { + "type": "null" + } + ] }, - { - "$ref": "#/components/schemas/AggregationEntity" + "quantity": { + "type": "number" }, - { - "$ref": "#/components/schemas/AggregationFilter" + "referencePrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartPriceReference" + }, + { + "type": "null" + } + ] }, - { - "$ref": "#/components/schemas/AggregationTerms" + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart_regulation_price" + ] + } + } + }, + { + "type": "null" + } + ] }, - { - "$ref": "#/components/schemas/AggregationHistogram" + "totalPrice": { + "type": "number" }, - { - "$ref": "#/components/schemas/AggregationRange" + "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" ] - } - } - }, - "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" - ] - }, - "Query": { - "type": "object", - "properties": { - "score": { + }, + "priceDefinition": { + "$ref": "#/components/schemas/CartPriceQuantity" + }, + "quantity": { "type": "number" }, - "query": { - "oneOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" + "quantityInformation": { + "type": "object", + "properties": { + "maxPurchase": { + "type": "number" }, - { - "$ref": "#/components/schemas/MultiNotFilter" + "minPurchase": { + "type": "number" }, - { - "$ref": "#/components/schemas/RangeFilter" + "purchaseSteps": { + "type": "number" } - ] - } - }, - "additionalProperties": true - }, - "Sort": { - "type": "object", - "properties": { - "field": { + } + }, + "referencedId": { "type": "string" }, - "order": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] + "removable": { + "type": "boolean" }, - "naturalSorting": { + "stackable": { "type": "boolean" }, + "states": { + "deprecated": true, + "type": "array", + "items": { + "type": "string", + "enum": [ + "is-physical", + "is-download" + ] + } + }, "type": { + "$ref": "#/components/schemas/OrderLineItem/properties/type" + }, + "uniqueIdentifier": { "type": "string" } }, "required": [ - "field", - "order" + "id", + "type" ] }, - "Filters": { + "CookieEntryCollection": { "type": "array", "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] + "$ref": "#/components/schemas/CookieEntry" } }, - "SimpleFilter": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": [ - "contains", - "equalsAny", - "prefix", - "suffix" - ] - }, - "field": { - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "type", - "field", - "value" - ] - }, - "EqualsFilter": { + "ProductMeasurements": { "type": "object", + "description": "Runtime field, cannot be used as part of the criteria. Measurements of a product, including dimensions and weight.", "properties": { - "type": { - "type": "string", - "enum": [ - "equals" - ] - }, - "field": { - "type": "string" - }, - "value": { - "oneOf": [ - { - "type": "string" + "width": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" }, - { + "value": { "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" - ] - }, - "field": { - "type": "string" + } }, - "parameters": { + "height": { "type": "object", "properties": { - "gte": { - "type": "number" + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" }, - "gt": { + "value": { "type": "number" + } + } + }, + "length": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" }, - "lte": { + "value": { "type": "number" + } + } + }, + "weight": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "g", + "kg", + "oz", + "lb" + ], + "default": "kg" }, - "lt": { + "value": { "type": "number" } } } - }, - "required": [ - "type", - "field", - "parameters" - ] + } }, - "CookieEntryCollection": { + "CookieGroupCollection": { "type": "array", "items": { - "$ref": "#/components/schemas/CookieEntry" - } - }, - "CartItems": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" - } - } - } - }, - "Association": { - "additionalProperties": { - "$ref": "#/components/schemas/Association" + "$ref": "#/components/schemas/CookieGroup" } }, - "CartItemsUpdate": { + "EntitySearchResult": { "type": "object", - "required": [ - "items" - ], "properties": { - "items": { + "entity": { + "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": { - "$ref": "#/components/schemas/CartLineItemUpdate" + "type": "object" } + }, + "page": { + "type": "integer", + "description": "The actual page. This can be used for pagination." + }, + "limit": { + "type": "integer", + "description": "The actual limit. This is used for pagination and goes together with the page." } } }, - "CartLineItemUpdate": { + "Price": { "type": "object", - "required": [ - "id" - ], + "description": "Price object", "properties": { - "id": { - "type": "string" + "currencyId": { + "description": "Unique identity of the associated currency.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "type": { - "$ref": "#/components/schemas/OrderLineItem/properties/type" + "gross": { + "description": "Gross price for the associated currency.", + "type": "number" }, - "quantity": { - "type": "integer" - }, - "referencedId": { - "type": "string" - }, - "label": { - "type": "string" - }, - "payload": { - "type": "object" - }, - "stackable": { - "type": "boolean" + "net": { + "description": "Net price for the associated currency.", + "type": "number" }, - "removable": { + "linked": { + "description": "Whether gross and net prices are linked through the tax configuration.", "type": "boolean" }, - "coverId": { - "type": "string" + "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" + ] }, - "priceDefinition": { + "listPrice": { + "description": "Reference list price for displaying discounts.", "type": "object", "properties": { - "type": { - "type": "string" + "currencyId": { + "description": "Unique identity of the associated currency.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "price": { + "gross": { + "description": "Gross list price for the associated currency.", "type": "number" }, - "percentage": { + "net": { + "description": "Net list price for the associated currency.", "type": "number" }, - "quantity": { - "type": "integer" - }, - "isCalculated": { + "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}$" }, - "listPrice": { + "gross": { + "description": "Gross regulation price for the associated currency.", "type": "number" }, - "taxRules": { - "type": "array", - "items": { - "type": "object", - "properties": { - "taxRate": { - "type": "number" - }, - "percentage": { - "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" } - } - } - } - }, - "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" + }, + "required": [ + "gross", + "net" ] - }, - "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" + "currencyId", + "gross", + "net" ] }, - "AggregationFilter": { - "title": "AggregationFilter", + "CartItems": { "type": "object", + "required": [ + "items" + ], "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": { + "items": { "type": "array", "items": { - "$ref": "#/components/schemas/Filters" + "$ref": "#/components/schemas/LineItem" } } - }, - "required": [ - "name", - "type", - "filter" - ] + } }, - "AggregationTerms": { - "title": "AggregationTerms", + "CookieRouteResponse": { "type": "object", + "description": "Response containing cookie groups and their configuration hash.", "properties": { - "name": { - "description": "Give your aggregation an identifier, so you can find it easier", - "type": "string" - }, - "type": { - "description": "The type of aggregation", + "apiAlias": { "type": "string", "enum": [ - "terms" + "cookie_groups_hash" ] }, - "field": { - "description": "The field you want to aggregate over.", - "type": "string" - }, - "limit": { - "description": "The number of terms to return", - "type": "number" - }, - "sort": { + "elements": { "type": "array", - "description": "Sorting the aggregation result.", + "description": "Collection of cookie groups", "items": { - "$ref": "#/components/schemas/Sort" + "$ref": "#/components/schemas/CookieGroup" } - } - }, - "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", + "hash": { "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" + "description": "Hash of the current cookie configuration. Can be used to detect changes in cookie configuration.", + "example": "f86b6a872cb83dbd22d838ceda1aa3d4" }, - "timeZone": { - "description": "The timezone of the histogram", - "type": "string" + "languageId": { + "type": "string", + "format": "uuid", + "description": "The language ID for which the cookie configuration was generated. Used to store hashes per language.", + "example": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" } }, "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": [ + "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 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" - ] + "name": "Session", + "hidden": false, + "cookie": "session-", + "apiAlias": "cookie_entry" }, { - "type": "object", - "title": "From only", - "properties": { - "from": { - "type": "string", - "description": "The lower bound of the range" - } - }, - "required": [ - "from" - ] + "name": "Timezone", + "hidden": false, + "cookie": "timezone", + "apiAlias": "cookie_entry" }, { - "type": "object", - "title": "To only", - "properties": { - "to": { - "type": "string", - "description": "The upper bound of the range" - } - }, - "required": [ - "to" - ] + "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" } - } - }, - "required": [ - "name", - "type", - "field", - "ranges" - ] + ], + "hash": "f86b6a872cb83dbd22d838ceda1aa3d4", + "languageId": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" + } }, - "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" - } + "ShippingMethodPageRouteResponse": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "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" - } + "active": { + "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" + "description": { + "type": "string" + }, + "deliveryTimeId": { + "type": "string" + }, + "deliveryTime": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "min": { + "type": "integer", + "format": "int32" + }, + "max": { + "type": "integer", + "format": "int32" + }, + "unit": { + "type": "string" + } } }, - "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" + "translations": { + "type": "array", + "items": { + "type": "object", + "properties": { + "shippingMethodId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + } + } } - ] - }, - "regulationPrice": { - "oneOf": [ - { + }, + "orderDeliveries": { + "type": "array", + "items": { "type": "object", "properties": { - "price": { - "type": "number" + "orderId": { + "type": "string" }, - "apiAlias": { + "shippingOrderAddressId": { + "type": "string" + }, + "shippingMethodId": { + "type": "string" + }, + "shippingDateEarliest": { "type": "string", - "enum": [ - "cart_regulation_price" - ] + "format": "date-time" + }, + "shippingDateLatest": { + "type": "string", + "format": "date-time" + }, + "stateId": { + "type": "string" } } - }, - { - "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" - } - }, - "ShippingMethodPageRouteResponse": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "active": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "deliveryTimeId": { - "type": "string" - }, - "deliveryTime": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "min": { - "type": "integer", - "format": "int32" - }, - "max": { - "type": "integer", - "format": "int32" - }, - "unit": { - "type": "string" - } - } - }, - "translations": { - "type": "array", - "items": { - "type": "object", - "properties": { - "shippingMethodId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - } - } - } - }, - "orderDeliveries": { - "type": "array", - "items": { - "type": "object", - "properties": { - "orderId": { - "type": "string" - }, - "shippingOrderAddressId": { - "type": "string" - }, - "shippingMethodId": { - "type": "string" - }, - "shippingDateEarliest": { - "type": "string", - "format": "date-time" - }, - "shippingDateLatest": { - "type": "string", - "format": "date-time" - }, - "stateId": { - "type": "string" - } - } - } - }, - "salesChannelDefaultAssignments": { - "type": "array", - "items": { - "type": "object", - "properties": { - "typeId": { - "type": "string" - }, - "languageId": { - "type": "string" - }, - "currencyId": { - "type": "string" - }, - "paymentMethodId": { - "type": "string" - }, - "shippingMethodId": { - "type": "string" - }, - "countryId": { - "type": "string" - }, - "navigationCategoryId": { - "type": "string" - }, - "navigationCategoryDepth": { - "type": "integer", - "format": "int32" - }, - "footerCategoryId": { - "type": "string" - }, - "serviceCategoryId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "shortName": { - "type": "string" - }, - "accessKey": { - "type": "string" - }, - "active": { - "type": "boolean" - }, - "maintenance": { - "type": "boolean" - }, - "maintenanceIpWhitelist": { - "type": "string" - }, - "mailHeaderFooterId": { - "type": "string" - }, - "customerGroupId": { - "type": "string" - }, - "hreflangActive": { - "type": "boolean" - }, - "hreflangDefaultDomainId": { - "type": "string" - } - } + }, + "salesChannelDefaultAssignments": { + "type": "array", + "items": { + "type": "object", + "properties": { + "typeId": { + "type": "string" + }, + "languageId": { + "type": "string" + }, + "currencyId": { + "type": "string" + }, + "paymentMethodId": { + "type": "string" + }, + "shippingMethodId": { + "type": "string" + }, + "countryId": { + "type": "string" + }, + "navigationCategoryId": { + "type": "string" + }, + "navigationCategoryDepth": { + "type": "integer", + "format": "int32" + }, + "footerCategoryId": { + "type": "string" + }, + "serviceCategoryId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "shortName": { + "type": "string" + }, + "accessKey": { + "type": "string" + }, + "active": { + "type": "boolean" + }, + "maintenance": { + "type": "boolean" + }, + "maintenanceIpWhitelist": { + "type": "string" + }, + "mailHeaderFooterId": { + "type": "string" + }, + "customerGroupId": { + "type": "string" + }, + "hreflangActive": { + "type": "boolean" + }, + "hreflangDefaultDomainId": { + "type": "string" + } + } } }, "salesChannels": { @@ -19290,851 +18483,1811 @@ } } }, - "mediaId": { - "type": "string" - }, - "media": { + "mediaId": { + "type": "string" + }, + "media": { + "type": "object", + "properties": { + "userId": { + "type": "string" + }, + "mimeType": { + "type": "string" + }, + "fileExtension": { + "type": "string" + }, + "fileSize": { + "type": "integer", + "format": "int32" + }, + "title": { + "type": "string" + }, + "metaDataRaw": { + "type": "string" + }, + "mediaTypeRaw": { + "type": "string" + }, + "uploadedAt": { + "type": "string", + "format": "date-time" + }, + "alt": { + "type": "string" + }, + "url": { + "type": "string" + }, + "fileName": { + "type": "string" + }, + "mediaFolderId": { + "type": "string" + }, + "private": { + "type": "boolean" + }, + "thumbnailsRo": { + "type": "string" + } + } + }, + "tags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + } + } + } + } + } + } + }, + "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" + ] + }, + "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" + ] + }, + "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" + ] + }, + { + "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": [ + "name", + "type", + "field", + "ranges" + ] + }, + "Cart": { + "type": "object", + "properties": { + "name": { + "description": "Name of the cart - for example `guest-cart`", + "type": "string" + }, + "token": { + "description": "Context token identifying the cart and the user session", + "type": "string" + }, + "price": { + "$ref": "#/components/schemas/CalculatedPrice" + }, + "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" + ] + } + } + ] + }, + "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": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "affiliateCode": { + "description": "An affiliate tracking code", + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "campaignCode": { + "description": "A campaign tracking code", + "oneOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ] + }, + "apiAlias": { + "type": "string", + "enum": [ + "cart" + ] + } + }, + "required": [ + "price", + "apiAlias" + ] + }, + "CartItemsUpdate": { + "type": "object", + "required": [ + "items" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CartLineItemUpdate" + } + } + } + }, + "CartLineItemUpdate": { + "type": "object", + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string" + }, + "type": { + "$ref": "#/components/schemas/OrderLineItem/properties/type" + }, + "quantity": { + "type": "integer" + }, + "referencedId": { + "type": "string" + }, + "label": { + "type": "string" + }, + "payload": { + "type": "object" + }, + "stackable": { + "type": "boolean" + }, + "removable": { + "type": "boolean" + }, + "coverId": { + "type": "string" + }, + "priceDefinition": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "price": { + "type": "number" + }, + "percentage": { + "type": "number" + }, + "quantity": { + "type": "integer" + }, + "isCalculated": { + "type": "boolean" + }, + "listPrice": { + "type": "number" + }, + "taxRules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "taxRate": { + "type": "number" + }, + "percentage": { + "type": "number" + } + } + } + } + } + } + } + }, + "ContextMeasurementSystemInfo": { + "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." + } + } + } + } + }, + "AccountNewsletterRecipient": { + "type": "object", + "properties": { + "status": { + "$ref": "#/components/schemas/NewsletterStatus" + }, + "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": { + "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 + }, + "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" + ] + }, + "isCalculated": { + "type": "boolean" + }, + "listPrice": { + "$ref": "#/components/schemas/CartListPrice" + }, + "price": { + "type": "number" + }, + "quantity": { + "type": "number" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "taxRules": { + "type": "array", + "items": { "type": "object", "properties": { - "userId": { - "type": "string" - }, - "mimeType": { - "type": "string" - }, - "fileExtension": { - "type": "string" - }, - "fileSize": { - "type": "integer", - "format": "int32" - }, - "title": { - "type": "string" - }, - "metaDataRaw": { - "type": "string" + "taxRate": { + "type": "number", + "format": "float" }, - "mediaTypeRaw": { + "name": { "type": "string" + } + } + } + }, + "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": "string" + }, + { + "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": [ + { + "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" + } + } + }, + "location": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "enum": [ + "cart_delivery_shipping_location" + ] + }, + "country": { + "$ref": "#/components/schemas/Country" + }, + "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" + }, + "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" }, - "uploadedAt": { - "type": "string", - "format": "date-time" - }, - "alt": { - "type": "string" + { + "$ref": "#/components/schemas/EqualsFilter" }, - "url": { - "type": "string" + { + "$ref": "#/components/schemas/MultiNotFilter" }, - "fileName": { - "type": "string" + { + "$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" }, - "mediaFolderId": { - "type": "string" + { + "$ref": "#/components/schemas/EqualsFilter" }, - "private": { - "type": "boolean" + { + "$ref": "#/components/schemas/MultiNotFilter" }, - "thumbnailsRo": { - "type": "string" - } - } - }, - "tags": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - } + { + "$ref": "#/components/schemas/RangeFilter" } - } + ] + } + }, + "sort": { + "type": "array", + "description": "Sorting in the search result.", + "items": { + "$ref": "#/components/schemas/Sort" } - } - } - }, - "ProductDetailResponse": { - "type": "object", - "description": "Represents a product along with detailed information required to display a variant selection.", - "properties": { - "product": { - "$ref": "#/components/schemas/Product" }, - "configurator": { + "aggregations": { "type": "array", - "description": "List of property groups with their corresponding options and information on how to display them.", "items": { - "$ref": "#/components/schemas/PropertyGroup" + "$ref": "#/components/schemas/Aggregation" } - } - }, - "required": [ - "product" - ] - }, - "AccountNewsletterRecipient": { - "type": "object", - "properties": { - "status": { - "$ref": "#/components/schemas/NewsletterStatus" }, - "apiAlias": { - "type": "string", - "enum": [ - "account_newsletter_recipient" - ] + "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" } - }, - "required": [ - "status", - "apiAlias" - ] + } }, - "ReferencePrice": { + "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": { - "purchaseUnit": { - "type": "number" - }, - "referenceUnit": { - "type": "number" + "page": { + "description": "Search result page", + "type": "integer" }, - "unitName": { + "term": { + "description": "Search term", "type": "string" }, - "price": { - "type": "number" + "limit": { + "description": "Number of items per result page", + "type": "integer" }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_price_reference" - ] + "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" + } + ] + } }, - "listPrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/ListPrice" - }, - { - "type": "null" - } - ] + "ids": { + "type": "array", + "description": "List of ids to search for", + "items": { + "type": "string" + } }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_regulation_price" - ] - } - } - }, - { - "type": "null" - } - ] + "query": { + "type": "string", + "description": "The query string to search for" }, - "hasRange": { - "type": "boolean" + "associations": { + "$ref": "#/components/schemas/Associations" }, - "variantId": { - "oneOf": [ - { - "type": "string", - "format": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "hasRange", - "regulationPrice", - "listPrice", - "calculatedTaxes", - "totalPrice", - "quantity", - "unitName" - ] - }, - "CookieEntry": { - "type": "object", - "properties": { - "cookie": { - "type": "string" + "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" + } + ] + } }, - "value": { - "type": "string" + "sort": { + "type": "array", + "description": "Sorting in the search result.", + "items": { + "$ref": "#/components/schemas/Sort" + } }, - "expiration": { - "type": "integer" + "aggregations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Aggregation" + } }, - "name": { - "type": "string" + "grouping": { + "type": "array", + "description": "Perform groupings over certain fields", + "items": { + "type": "string", + "description": "Name of a field" + } }, - "description": { - "type": "string" + "total-count-mode": { + "$ref": "#/components/schemas/TotalCountMode" }, - "hidden": { - "type": "boolean" + "includes": { + "$ref": "#/components/schemas/Includes" }, - "apiAlias": { - "type": "string", - "enum": [ - "cookie_entry" - ] + "excludes": { + "$ref": "#/components/schemas/Excludes" } - }, - "required": [ - "cookie", - "hidden", - "apiAlias" - ] - }, - "FindProductVariantRouteResponse": { - "type": "object", - "properties": { - "foundCombination": { - "type": "object", - "properties": { - "variantId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "options": { - "type": "array", - "items": { - "type": "string" - } - } - } + } + }, + "Associations": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/Criteria" + } + }, + "Includes": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" } } }, - "SalesChannelContext": { + "Excludes": { "type": "object", - "properties": { - "token": { - "description": "Context the user session", + "additionalProperties": { + "type": "array", + "items": { "type": "string" + } + } + }, + "Aggregation": { + "anyOf": [ + { + "$ref": "#/components/schemas/AggregationMetrics" }, - "currentCustomerGroup": { - "type": "object", - "description": "Customer group of the current user", - "properties": { - "name": { - "type": "string" + { + "title": "AggregationEntity", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationEntity" }, - "displayGross": { - "type": "boolean" + { + "$ref": "#/components/schemas/SubAggregations" } - } + ] }, - "fallbackCustomerGroup": { - "description": "Fallback group if the default customer group is not applicable", - "type": "object", - "properties": { - "name": { - "type": "string" + { + "title": "AggregationFilter", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationFilter" }, - "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" - } + { + "$ref": "#/components/schemas/SubAggregations" } - } + ] }, - "customer": { - "oneOf": [ + { + "title": "AggregationTerms", + "allOf": [ { - "type": "null" + "$ref": "#/components/schemas/AggregationTerms" }, { - "$ref": "#/components/schemas/Customer" + "$ref": "#/components/schemas/SubAggregations" } ] }, - "paymentMethod": { - "$ref": "#/components/schemas/PaymentMethod" - }, - "shippingLocation": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "enum": [ - "cart_delivery_shipping_location" - ] - }, - "country": { - "$ref": "#/components/schemas/Country" + { + "title": "AggregationHistogram", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationHistogram" }, - "address": { - "$ref": "#/components/schemas/CustomerAddress" + { + "$ref": "#/components/schemas/SubAggregations" } - } - }, - "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" + { + "title": "AggregationRange", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationRange" }, - "source": { - "type": "object", - "required": [ - "salesChannelId", - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "sales-channel", - "shop-api" - ] - }, - "salesChannelId": { - "type": "string" - } - } + { + "$ref": "#/components/schemas/SubAggregations" + } + ] + } + ] + }, + "SubAggregations": { + "type": "object", + "properties": { + "aggregation": { + "anyOf": [ + { + "$ref": "#/components/schemas/AggregationMetrics" }, - "taxState": { - "type": "string" + { + "$ref": "#/components/schemas/AggregationEntity" }, - "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" - ] + { + "$ref": "#/components/schemas/AggregationFilter" }, - "decimals": { - "type": "integer", - "format": "int32" + { + "$ref": "#/components/schemas/AggregationTerms" }, - "interval": { - "type": "number", - "format": "float" + { + "$ref": "#/components/schemas/AggregationHistogram" }, - "roundForNet": { - "type": "boolean" + { + "$ref": "#/components/schemas/AggregationRange" } - } - }, - "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" + ] + } + } + }, + "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" + ] + }, + "Query": { + "type": "object", + "properties": { + "score": { + "type": "number" + }, + "query": { + "oneOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" }, - "interval": { - "type": "number", - "format": "float" + { + "$ref": "#/components/schemas/EqualsFilter" }, - "roundForNet": { - "type": "boolean" - } - } - }, - "languageInfo": { - "type": "object", - "required": [ - "localeCode", - "name" - ], - "properties": { - "name": { - "type": "string" + { + "$ref": "#/components/schemas/MultiNotFilter" }, - "localeCode": { - "type": "string" + { + "$ref": "#/components/schemas/RangeFilter" } - } + ] + } + }, + "additionalProperties": true + }, + "Sort": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "apiAlias": { + "order": { "type": "string", "enum": [ - "sales_channel_context" + "ASC", + "DESC" ] + }, + "naturalSorting": { + "type": "boolean" + }, + "type": { + "type": "string" } }, "required": [ - "salesChannel", - "apiAlias", - "itemRounding", - "totalRounding", - "languageInfo" + "field", + "order" ] }, - "NavigationType": { - "type": "string", - "enum": [ - "main-navigation", - "footer-navigation", - "service-navigation" - ] + "Filters": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" + } + ] + } }, - "WishlistLoadRouteResponse": { + "SimpleFilter": { "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "contains", + "equalsAny", + "prefix", + "suffix" + ] + }, + "field": { + "type": "string" + }, + "value": { + "type": "string" + } + }, "required": [ - "products" - ], + "type", + "field", + "value" + ] + }, + "EqualsFilter": { + "type": "object", "properties": { - "wishlist": { - "type": "object", - "properties": { - "customerId": { + "type": { + "type": "string", + "enum": [ + "equals" + ] + }, + "field": { + "type": "string" + }, + "value": { + "oneOf": [ + { "type": "string" }, - "salesChannelId": { - "type": "string" + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" } - } - }, - "products": { - "$ref": "#/components/schemas/ProductListingResult" + ] } - } + }, + "required": [ + "type", + "field", + "value" + ] }, - "Breadcrumb": { + "MultiNotFilter": { "type": "object", "properties": { - "name": { - "type": "string" + "type": { + "type": "string", + "enum": [ + "multi", + "not" + ] }, - "categoryId": { + "operator": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "enum": [ + "and", + "or", + "nor", + "nand" + ] }, + "queries": { + "$ref": "#/components/schemas/Filters" + } + }, + "required": [ + "type", + "operator", + "queries" + ] + }, + "RangeFilter": { + "type": "object", + "properties": { "type": { - "$ref": "#/components/schemas/Category/properties/type" + "type": "string", + "enum": [ + "range" + ] }, - "translated": { + "field": { + "type": "string" + }, + "parameters": { "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" + "gte": { + "type": "number" }, - "metaTitle": { - "type": "string" + "gt": { + "type": "number" }, - "metaDescription": { - "type": "string" + "lte": { + "type": "number" }, - "keywords": { - "type": "string" + "lt": { + "type": "number" } } + } + }, + "required": [ + "type", + "field", + "parameters" + ] + }, + "CookieGroup": { + "type": "object", + "properties": { + "isRequired": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "cookie": { + "type": "string" }, - "path": { + "value": { "type": "string" }, - "seoUrls": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SeoUrl" - } + "expiration": { + "type": "integer" + }, + "entries": { + "$ref": "#/components/schemas/CookieEntryCollection" }, "apiAlias": { "type": "string", "enum": [ - "breadcrumb" + "cookie_group" ] } }, + "not": { + "allOf": [ + { + "required": [ + "cookie" + ] + }, + { + "required": [ + "entries" + ] + } + ] + }, "required": [ "name", - "categoryId", - "type", - "translated", - "path", + "isRequired", "apiAlias" ] }, - "ProductListingFlags": { + "CartDeliveryPosition": { "type": "object", - "description": "Additional flags for product listings", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { - "no-aggregations": { - "description": "Resets all aggregations in the criteria. This parameter is a flag, the value has no effect.", - "oneOf": [ - { - "type": "string" + "deliveryDate": { + "type": "object", + "properties": { + "earliest": { + "type": "string", + "format": "date-time" }, - { - "type": "null" + "latest": { + "type": "string", + "format": "date-time" } - ] + } }, - "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" - } - ] + "identifier": { + "type": "string" + }, + "lineItem": { + "$ref": "#/components/schemas/LineItem" + }, + "price": { + "$ref": "#/components/schemas/CalculatedPrice" } } }, - "LineItemType": { - "type": "string", - "deprecated": true, - "enum": [ - "product", - "credit", - "custom", - "promotion", - "discount", - "container", - "quantity" - ] - }, - "LineItem": { + "ReferencePrice": { "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" + "purchaseUnit": { + "type": "number" }, - "id": { - "type": "string" + "referenceUnit": { + "type": "number" }, - "label": { + "unitName": { "type": "string" }, - "modified": { - "type": "boolean" - }, - "modifiedByApp": { - "type": "boolean" + "price": { + "type": "number" }, - "payload": { - "$ref": "#/components/schemas/ProductJsonApi" + "apiAlias": { + "type": "string", + "enum": [ + "cart_price_reference" + ] }, - "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" - } - ] - }, - "quantity": { - "type": "number" - }, - "referencePrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartPriceReference" - }, - { - "type": "null" - } - ] + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/ListPrice" }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_regulation_price" - ] - } - } + { + "type": "null" + } + ] + }, + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" }, - { - "type": "null" + "apiAlias": { + "type": "string", + "enum": [ + "cart_regulation_price" + ] } - ] - }, - "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" + { + "type": "null" + } + ] + }, + "hasRange": { + "type": "boolean" + }, + "variantId": { + "oneOf": [ + { + "type": "string", + "format": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "hasRange", + "regulationPrice", + "listPrice", + "calculatedTaxes", + "totalPrice", + "quantity", + "unitName" + ] + }, + "OrderRouteResponse": { + "type": "object", + "properties": { + "orders": { + "type": "object", + "allOf": [ + { + "type": "object", + "required": [ + "elements" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Order" } } } + }, + { + "$ref": "#/components/schemas/EntitySearchResult" } - }, - "required": [ - "apiAlias", - "totalPrice", - "quantity", - "unitPrice" ] }, - "priceDefinition": { - "$ref": "#/components/schemas/CartPriceQuantity" - }, - "quantity": { - "type": "number" - }, - "quantityInformation": { + "paymentChangeable": { + "type": "object", + "description": "The key-value pairs contain the uuid of the order as key and a boolean as value, indicating that the payment method can still be changed.", + "additionalProperties": { + "type": "boolean" + } + } + }, + "required": [ + "orders" + ] + }, + "WishlistLoadRouteResponse": { + "type": "object", + "required": [ + "products" + ], + "properties": { + "wishlist": { "type": "object", "properties": { - "maxPurchase": { - "type": "number" - }, - "minPurchase": { - "type": "number" + "customerId": { + "type": "string" }, - "purchaseSteps": { - "type": "number" + "salesChannelId": { + "type": "string" } } }, - "referencedId": { + "products": { + "$ref": "#/components/schemas/ProductListingResult" + } + } + }, + "Sitemap": { + "type": "object", + "properties": { + "filename": { "type": "string" }, - "removable": { - "type": "boolean" - }, - "stackable": { - "type": "boolean" + "created": { + "type": "string", + "format": "date-time" + } + }, + "required": [ + "filename", + "created" + ] + }, + "NavigationType": { + "type": "string", + "enum": [ + "main-navigation", + "footer-navigation", + "service-navigation" + ] + }, + "ListPrice": { + "type": "object", + "description": "", + "properties": { + "discount": { + "type": "number" }, - "states": { - "deprecated": true, - "type": "array", - "items": { - "type": "string", - "enum": [ - "is-physical", - "is-download" - ] - } + "percentage": { + "type": "number" }, - "type": { - "$ref": "#/components/schemas/OrderLineItem/properties/type" + "price": { + "type": "number" }, - "uniqueIdentifier": { - "type": "string" + "apiAlias": { + "type": "string", + "enum": [ + "cart_list_price" + ] } }, "required": [ - "id", - "type" + "apiAlias" ] }, - "CartPriceQuantity": { + "CalculatedPrice": { "type": "object", + "description": "Represents a product along with detailed information required to display a variant selection.", "properties": { - "apiAlias": { + "unitPrice": { + "type": "number" + }, + "quantity": { + "type": "number" + }, + "rawTotal": { + "type": "number" + }, + "totalPrice": { + "type": "number" + }, + "taxStatus": { "type": "string", "enum": [ - "cart_price_quantity" + "net", + "tax-free" ] }, - "isCalculated": { - "type": "boolean" + "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" + ] + } + }, + "referencePrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartPriceReference" + }, + { + "type": "null" + } + ] }, "listPrice": { - "$ref": "#/components/schemas/CartListPrice" + "oneOf": [ + { + "$ref": "#/components/schemas/CartListPrice" + }, + { + "type": "null" + } + ] }, - "price": { + "positionPrice": { "type": "number" }, - "quantity": { + "netPrice": { "type": "number" }, "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" + "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" } - }, - "type": "object" + ] + }, + "apiAlias": { + "type": "string", + "enum": [ + "calculated_price" + ] }, "taxRules": { "type": "array", + "description": "Currently active tax rules and/or rates", "items": { "type": "object", "properties": { @@ -20147,473 +20300,248 @@ } } } - }, - "type": { - "type": "string" } }, "required": [ - "apiAlias" + "apiAlias", + "hasRange", + "regulationPrice", + "listPrice", + "referencePrice", + "calculatedTaxes", + "totalPrice", + "quantity", + "unitPrice", + "positionPrice", + "netPrice", + "taxRules", + "rawTotal", + "taxStatus" ] }, - "NewsletterStatus": { - "type": "string", - "enum": [ - "notSet", - "optIn", - "optOut", - "direct", - "undefined" - ], - "description": "The subscription status. Possible values are: notSet, optIn, optOut, direct, undefined." - }, - "OrderRouteResponse": { + "CookieEntry": { "type": "object", "properties": { - "orders": { - "type": "object", - "allOf": [ - { - "type": "object", - "required": [ - "elements" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Order" - } - } - } - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] + "cookie": { + "type": "string" }, - "paymentChangeable": { - "type": "object", - "description": "The key-value pairs contain the uuid of the order as key and a boolean as value, indicating that the payment method can still be changed.", - "additionalProperties": { - "type": "boolean" - } - } - }, - "required": [ - "orders" - ] - }, - "ProductListingResult": { - "allOf": [ - { - "$ref": "#/components/schemas/EntitySearchResult" + "value": { + "type": "string" }, - { - "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" + "expiration": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "hidden": { + "type": "boolean" + }, + "apiAlias": { + "type": "string", + "enum": [ + "cookie_entry" ] } + }, + "required": [ + "cookie", + "hidden", + "apiAlias" ] }, - "CookieRouteResponse": { + "CartListPrice": { "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": { - "type": "object", + "CustomerAddressBody": { + "description": "Added since version: 6.0.0.0", + "required": [ + "countryId", + "firstName", + "lastName", + "city", + "street" + ], "properties": { - "name": { - "description": "Name of the cart - for example `guest-cart`", + "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" }, - "token": { - "description": "Context token identifying the cart and the user session", + "lastName": { "type": "string" }, - "price": { - "$ref": "#/components/schemas/CalculatedPrice" + "zipcode": { + "type": "string" }, - "lineItems": { - "description": "All items within the cart", - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" - } + "city": { + "type": "string" }, - "errors": { + "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": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", - "anyOf": [ - { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartError" - } + "description": "Units used in the measurement system.", + "properties": { + "length": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm", + "description": "Unit of length." }, - { - "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" - ] - } + "weight": { + "type": "string", + "enum": [ + "g", + "kg", + "oz", + "lb" + ], + "default": "kg", + "description": "Unit of weight." } - ] - }, - "deliveries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartDelivery" } + } + } + }, + "CustomerAddressRead": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "readOnly": true }, - "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" - } - } - } + "customerId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "readOnly": true }, - "modified": { - "type": "boolean" + "createdAt": { + "type": "string", + "format": "date-time" }, - "customerComment": { - "description": "A comment that can be added to the cart.", + "updatedAt": { "oneOf": [ { - "type": "string" + "type": "string", + "format": "date-time" }, { "type": "null" } ] }, - "affiliateCode": { - "description": "An affiliate tracking code", - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] + "country": { + "$ref": "#/components/schemas/Country" }, - "campaignCode": { - "description": "A campaign tracking code", + "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": { @@ -20650,349 +20578,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": { + "name": { + "type": "string" + }, + "displayGross": { + "type": "boolean" + } + } + }, + "fallbackCustomerGroup": { + "description": "Fallback group if the default customer group is not applicable", + "type": "object", + "properties": { + "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" } } }, - "height": { + "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" } } }, - "length": { + "totalRounding": { "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": { + "languageInfo": { "type": "object", + "required": [ + "localeCode", + "name" + ], "properties": { - "unit": { - "type": "string", - "enum": [ - "g", - "kg", - "oz", - "lb" - ], - "default": "kg" + "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" - }, - "apiAlias": { - "type": "string", - "enum": [ - "cookie_group" - ] - } - }, - "not": { - "allOf": [ - { - "required": [ - "cookie" - ] - }, - { - "required": [ - "entries" - ] - } - ] - }, - "required": [ - "name", - "isRequired", - "apiAlias" - ] - }, - "ListPrice": { - "type": "object", - "description": "", - "properties": { - "discount": { - "type": "number" + "length": { + "type": "integer" }, - "percentage": { - "type": "number" + "restockTime": { + "type": "integer" }, - "price": { - "type": "number" + "stock": { + "type": "integer" }, - "apiAlias": { - "type": "string", - "enum": [ - "cart_list_price" - ] + "weight": { + "type": "integer" + }, + "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" + "options": { + "type": "array", + "items": { + "type": "string" + } } } - }, - "positions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartDeliveryPosition" - } - }, - "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" + ] } - } + ] }, "SearchByImageSearchTermResponse": { "type": "array", @@ -21046,44 +21132,6 @@ } } }, - "ApprovalRule": { - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "businessPartnerCustomerId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "priority": { - "type": "integer" - }, - "description": { - "type": "string" - }, - "active": { - "type": "boolean" - }, - "conditions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "value": { - "type": "string" - } - } - } - } - }, - "type": "object" - }, "PendingOrder": { "type": "object", "properties": { @@ -21291,6 +21339,44 @@ } } }, + "ApprovalRule": { + "properties": { + "id": { + "type": "string", + "format": "uuid" + }, + "businessPartnerCustomerId": { + "type": "string" + }, + "name": { + "type": "string" + }, + "priority": { + "type": "integer" + }, + "description": { + "type": "string" + }, + "active": { + "type": "boolean" + }, + "conditions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + } + }, + "type": "object" + }, "ListCategoryRouteResponse": { "type": "object", "properties": { @@ -21480,31 +21566,29 @@ "204": { "description": "No Content" }, - "CurrencyListResponse": { - "description": "Entity search result containing currencies.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Currency" - } - } - } - } - }, - "SalutationListResponse": { - "description": "Entity search result containing salutations.", + "ShippingMethodListResponse": { + "description": "Entity search result containing shipping methods.", "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/Salutation" + "$ref": "#/components/schemas/ShippingMethod" } } }, @@ -21518,57 +21602,50 @@ } } }, - "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" - } - } - }, + "CountryStateListResponse": { + "description": "Entity search result containing countries.", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "redirectUrl": { - "description": "Define the URL which browser will be redirected to", - "type": "string" + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CountryState" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" } - } + ] } } } }, - "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" @@ -21578,6 +21655,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": { @@ -21767,22 +21870,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" @@ -21792,76 +21895,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" @@ -21899,21 +21972,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" } } }, @@ -21927,18 +22010,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" } } }, @@ -21984,38 +22070,6 @@ "pattern": "^[0-9a-f]{32}$" } }, - "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" - } - ] - } - }, "criteriaPage": { "name": "page", "in": "query", @@ -22178,63 +22232,244 @@ "schema": { "$ref": "#/components/schemas/Includes" }, - "style": "deepObject", - "explode": true - }, - "criteriaExcludes": { - "name": "excludes", - "in": "query", - "description": "Specify the fields that should be excluded from the response for the given entities. Object key needs to be the entity name, and the list of fields needs to be the value. Note that the exclude fields will only be stripped on the API-Level, consider using the `fields` parameter for performance reasons.", - "schema": { - "$ref": "#/components/schemas/Excludes" + "style": "deepObject", + "explode": true + }, + "criteriaExcludes": { + "name": "excludes", + "in": "query", + "description": "Specify the fields that should be excluded from the response for the given entities. Object key needs to be the entity name, and the list of fields needs to be the value. Note that the exclude fields will only be stripped on the API-Level, consider using the `fields` parameter for performance reasons.", + "schema": { + "$ref": "#/components/schemas/Excludes" + }, + "style": "deepObject", + "explode": true + }, + "CompressedCriteria": { + "name": "_criteria", + "in": "query", + "description": "Compressed and encoded criteria object. Format: base64url(gzip(json_encode(criteria))). This parameter allows passing complex criteria as a single encoded string instead of multiple query parameters. The criteria object should be JSON-encoded, then gzipped, and finally base64url-encoded. The criteria object structure is defined in the Criteria schema (see #/components/schemas/Criteria).", + "required": false, + "schema": { + "type": "string", + "format": "base64url", + "example": "H4sIAAAAAAAAA6tWykpNzFGyqlbKz8lPTSxRslJKSi0pzSsFAGcQr7sHAAAA" + } + }, + "CompressedNoneFieldsCriteria": { + "name": "_criteria", + "in": "query", + "description": "Compressed and encoded criteria object. Format: base64url(gzip(json_encode(criteria))). This parameter allows passing complex criteria as a single encoded string instead of multiple query parameters. The criteria object should be JSON-encoded, then gzipped, and finally base64url-encoded. The criteria object structure is defined in the NoneFieldsCriteria schema (see #/components/schemas/NoneFieldsCriteria).", + "required": false, + "schema": { + "type": "string", + "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": { + "ApiKey": { + "type": "apiKey", + "description": "Identifies the sales channel you want to access the API through", + "name": "sw-access-key", + "in": "header" + }, + "ContextToken": { + "type": "apiKey", + "description": "Identifies an anonymous or identified user session", + "name": "sw-context-token", + "in": "header" + } + } + }, + "security": [ + { + "ApiKey": [] + } + ], + "paths": { + "/permission": { + "get": { + "tags": [ + "B2B Employee Management" + ], + "summary": "Fetch all available permissions", + "description": "This route is used to fetch all available permissions", + "operationId": "readPermissions", + "responses": { + "200": { + "description": "Permission collection", + "content": { + "application/json": { + "schema": { + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "permissionName": { + "type": "string" + }, + "permissionDependencies": { + "type": "array", + "items": { + "type": "string" + } + }, + "permissionGroupName": { + "type": "string" + } + } + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } + ] + }, + "post": { + "tags": [ + "B2B Employee Management" + ], + "summary": "Add a new permission", + "description": "This route is used to add a new permissions", + "operationId": "addPermission", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "name": { + "description": "Name of the new permission", + "type": "string" + }, + "group": { + "description": "Group of the new permission", + "type": "string" + }, + "dependencies": { + "description": "Optional dependencies for the new permission", + "type": "array", + "items": { + "type": "string" + } + } + }, + "type": "object" + } + } + } + }, + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "responses": { + "200": { + "description": "Permission collection", + "content": { + "application/json": { + "schema": { + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "type": "object", + "properties": { + "permissionName": { + "type": "string" + }, + "permissionDependencies": { + "type": "array", + "items": { + "type": "string" + } + }, + "permissionGroupName": { + "type": "string" + } + } + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } + } + } }, - "style": "deepObject", - "explode": true - }, - "CompressedCriteria": { - "name": "_criteria", - "in": "query", - "description": "Compressed and encoded criteria object. Format: base64url(gzip(json_encode(criteria))). This parameter allows passing complex criteria as a single encoded string instead of multiple query parameters. The criteria object should be JSON-encoded, then gzipped, and finally base64url-encoded. The criteria object structure is defined in the Criteria schema (see #/components/schemas/Criteria).", - "required": false, - "schema": { - "type": "string", - "format": "base64url", - "example": "H4sIAAAAAAAAA6tWykpNzFGyqlbKz8lPTSxRslJKSi0pzSsFAGcQr7sHAAAA" - } - }, - "CompressedNoneFieldsCriteria": { - "name": "_criteria", - "in": "query", - "description": "Compressed and encoded criteria object. Format: base64url(gzip(json_encode(criteria))). This parameter allows passing complex criteria as a single encoded string instead of multiple query parameters. The criteria object should be JSON-encoded, then gzipped, and finally base64url-encoded. The criteria object structure is defined in the NoneFieldsCriteria schema (see #/components/schemas/NoneFieldsCriteria).", - "required": false, - "schema": { - "type": "string", - "format": "base64url", - "example": "H4sIAAAAAAAAA6tWykpNzFGyqlbKz8lPTSxRslJKSi0pzSsFAGcQr7sHAAAA" - } + "security": [ + { + "ApiKey": [] + } + ] } }, - "securitySchemes": { - "ApiKey": { - "type": "apiKey", - "description": "Identifies the sales channel you want to access the API through", - "name": "sw-access-key", - "in": "header" - }, - "ContextToken": { - "type": "apiKey", - "description": "Identifies an anonymous or identified user session", - "name": "sw-context-token", - "in": "header" - } - } - }, - "security": [ - { - "ApiKey": [] - } - ], - "paths": { "/role/create": { "post": { "tags": [ @@ -22490,157 +22725,29 @@ "type": "string" }, "permissions": { - "description": "New permissions of the role", - "type": "array", - "items": { - "type": "string" - } - }, - "isDefaultRole": { - "description": "Ability to set the role as default", - "type": "boolean" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "200": { - "description": "Role entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/B2bComponentsRole" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "delete": { - "tags": [ - "B2B Employee Management" - ], - "summary": "Delete one role by id", - "description": "This route is used to delete one role by id", - "operationId": "deleteRole", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the role to be fetched", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - } - ], - "responses": { - "204": { - "description": "No content response" - } - }, - "security": [ - { - "ApiKey": [] - } - ] - } - }, - "/role/default": { - "post": { - "tags": [ - "B2B Employee Management" - ], - "summary": "Sets the default role Id for new employees", - "description": "This route is used to update the defaultRoleId for new employees", - "operationId": "updateDefaultRoleId", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "id": { - "description": "Id of the roleId to be set as default", - "type": "string" - } - }, - "type": "object" - } - } - } - }, - "responses": { - "204": { - "description": "No content response" - } - }, - "security": [ - { - "ApiKey": [] - } - ], - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } - ] - } - }, - "/permission": { - "get": { - "tags": [ - "B2B Employee Management" - ], - "summary": "Fetch all available permissions", - "description": "This route is used to fetch all available permissions", - "operationId": "readPermissions", - "responses": { - "200": { - "description": "Permission collection", - "content": { - "application/json": { - "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "type": "object", - "properties": { - "permissionName": { - "type": "string" - }, - "permissionDependencies": { - "type": "array", - "items": { - "type": "string" - } - }, - "permissionGroupName": { - "type": "string" - } - } - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" + "description": "New permissions of the role", + "type": "array", + "items": { + "type": "string" } - ] + }, + "isDefaultRole": { + "description": "Ability to set the role as default", + "type": "boolean" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Role entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bComponentsRole" } } } @@ -22650,40 +22757,56 @@ { "ApiKey": [] } + ] + }, + "delete": { + "tags": [ + "B2B Employee Management" ], + "summary": "Delete one role by id", + "description": "This route is used to delete one role by id", + "operationId": "deleteRole", "parameters": [ { - "$ref": "#/components/parameters/swLanguageId" + "name": "id", + "in": "path", + "description": "Identifier of the role to be fetched", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + } + ], + "responses": { + "204": { + "description": "No content response" + } + }, + "security": [ + { + "ApiKey": [] } ] - }, + } + }, + "/role/default": { "post": { "tags": [ "B2B Employee Management" ], - "summary": "Add a new permission", - "description": "This route is used to add a new permissions", - "operationId": "addPermission", + "summary": "Sets the default role Id for new employees", + "description": "This route is used to update the defaultRoleId for new employees", + "operationId": "updateDefaultRoleId", "requestBody": { "required": true, "content": { "application/json": { "schema": { "properties": { - "name": { - "description": "Name of the new permission", - "type": "string" - }, - "group": { - "description": "Group of the new permission", + "id": { + "description": "Id of the roleId to be set as default", "type": "string" - }, - "dependencies": { - "description": "Optional dependencies for the new permission", - "type": "array", - "items": { - "type": "string" - } } }, "type": "object" @@ -22691,57 +22814,20 @@ } } }, - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } - ], "responses": { - "200": { - "description": "Permission collection", - "content": { - "application/json": { - "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "type": "object", - "properties": { - "permissionName": { - "type": "string" - }, - "permissionDependencies": { - "type": "array", - "items": { - "type": "string" - } - }, - "permissionGroupName": { - "type": "string" - } - } - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } - } - } + "204": { + "description": "No content response" } }, "security": [ { "ApiKey": [] } + ], + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } ] } }, @@ -23833,35 +23919,15 @@ ] } }, - "/approval-rule": { + "/pending-orders/request": { "post": { "tags": [ "B2B Order Approval" ], - "summary": "List all approval rules", - "description": "This route is used to list all approval rules from the store", - "operationId": "listApprovalRules", + "summary": "Request new order approval", + "description": "This route is used to request a new order approval", + "operationId": "requestOrderApproval", "parameters": [ - { - "name": "p", - "in": "query", - "description": "Page number", - "required": false, - "schema": { - "type": "integer", - "default": 1 - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of items per page", - "required": false, - "schema": { - "type": "integer", - "default": 10 - } - }, { "$ref": "#/components/parameters/swLanguageId" } @@ -23871,104 +23937,24 @@ "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" + "properties": { + "comment": { + "description": "Message content", + "type": "string" } - ] - } - } - } - }, - "responses": { - "200": { - "description": "Entity search result containing approval rules", - "content": { - "application/json": { - "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ApprovalRule" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } + }, + "type": "object" } } } }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "get": { - "tags": [ - "B2B Order Approval" - ], - "summary": "Fetch a list of approval rules", - "description": "This route is used to load approval rules", - "operationId": "readApprovalRules", - "parameters": [ - { - "name": "p", - "in": "query", - "description": "Page number", - "required": false, - "schema": { - "type": "integer", - "default": 1 - } - }, - { - "name": "limit", - "in": "query", - "description": "Number of items per page", - "required": false, - "schema": { - "type": "integer", - "default": 10 - } - }, - { - "$ref": "#/components/parameters/swLanguageId" - } - ], "responses": { "200": { - "description": "Entity search result containing approval rules", + "description": "Pending order entity", "content": { "application/json": { "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ApprovalRule" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] + "$ref": "#/components/schemas/PendingOrder" } } } @@ -23981,76 +23967,46 @@ ] } }, - "/approval-rule/create": { + "/pending-order/{id}": { "post": { "tags": [ "B2B Order Approval" ], - "summary": "Create a new approval rule", - "description": "This route is used to create a new approval rule", - "operationId": "createApprovalRule", + "summary": "Fetch one pending order by id", + "description": "This route is used to fetch a pending order from the store by id", + "operationId": "fetchPendingOrder", "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the pending order to be fetched", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, { "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { - "required": true, + "required": false, "content": { "application/json": { "schema": { - "properties": { - "approvalRuleName": { - "description": "Name of the approval rule", - "type": "string" - }, - "approvalRuleApprove": { - "description": "ID of the role that can approve the rule", - "type": "string" - }, - "approvalRuleRole": { - "description": "ID of the role that is affected by the rule", - "type": "string" - }, - "priority": { - "description": "Priority of the approval rule", - "type": "integer" - }, - "description": { - "description": "Description of the approval rule", - "type": "string" - }, - "active": { - "description": "Active status of the approval rule", - "type": "boolean" - }, - "approvalRuleCondition": { - "description": "List of rules", - "type": "object", - "properties": { - "type": { - "description": "Type of the rule", - "type": "string" - }, - "value": { - "description": "Value", - "type": "string" - } - } - } - }, - "type": "object" + "$ref": "#/components/schemas/Criteria" } } } }, "responses": { "200": { - "description": "Approval rule entity", + "description": "Pending order entity", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApprovalRule" + "$ref": "#/components/schemas/PendingOrder" } } } @@ -24063,19 +24019,19 @@ ] } }, - "/approval-rule/{id}": { - "get": { + "/pending-order/{id}/payment-method": { + "post": { "tags": [ "B2B Order Approval" ], - "summary": "Fetch one approval rule by id", - "description": "This route is used to fetch a approval rule from the store by id", - "operationId": "readApprovalRule", + "summary": "Fetch payment methods of a pending order", + "description": "This route is used to fetch the payment methods of a pending order", + "operationId": "fetchPendingOrderPaymentMethods", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the approval rule to be fetched", + "description": "Identifier of the pending order to be fetched", "required": true, "schema": { "type": "string", @@ -24088,11 +24044,27 @@ ], "responses": { "200": { - "description": "Approval rule entity", + "description": "", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApprovalRule" + "properties": { + "total": { + "description": "Total amount", + "type": "integer" + }, + "aggregations": { + "description": "aggregation result", + "type": "object" + }, + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentMethod" + } + } + }, + "type": "object" } } } @@ -24103,19 +24075,21 @@ "ApiKey": [] } ] - }, - "patch": { + } + }, + "/pending-order/{id}/decline": { + "post": { "tags": [ "B2B Order Approval" ], - "summary": "Update a approval rule by id", - "description": "This route is used to update a approval rule from the store by id", - "operationId": "updateApprovalRule", + "summary": "Decline a pending order by id", + "description": "This route is used to decline a pending order from the store by id", + "operationId": "declinePendingOrder", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the approval rule to be updated", + "description": "Identifier of the pending order to be declined", "required": true, "schema": { "type": "string", @@ -24127,48 +24101,14 @@ } ], "requestBody": { - "required": true, + "required": false, "content": { "application/json": { "schema": { "properties": { - "approvalRuleName": { - "description": "Name of the approval rule", - "type": "string" - }, - "approvalRuleApprove": { - "description": "ID of the role that can approve the rule", - "type": "string" - }, - "approvalRuleRole": { - "description": "ID of the role that is affected by the rule", - "type": "string" - }, - "priority": { - "description": "Priority of the approval rule", - "type": "integer" - }, - "description": { - "description": "Description of the approval rule", + "comment": { + "description": "Message content", "type": "string" - }, - "active": { - "description": "Active status of the approval rule", - "type": "boolean" - }, - "approvalRuleCondition": { - "description": "List of rules", - "type": "object", - "properties": { - "type": { - "description": "Type of the rule", - "type": "string" - }, - "value": { - "description": "Value", - "type": "string" - } - } } }, "type": "object" @@ -24177,17 +24117,61 @@ } }, "responses": { - "200": { - "description": "Approval rule entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ApprovalRule" - } + "204": { + "description": "No content response" + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } + }, + "/pending-order/{id}/approve": { + "post": { + "tags": [ + "B2B Order Approval" + ], + "summary": "Approve a pending order by id", + "description": "This route is used to approve a pending order from the store by id", + "operationId": "approvePendingOrder", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the pending order to be approved", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "properties": { + "comment": { + "description": "Message content", + "type": "string" + } + }, + "type": "object" } } } }, + "responses": { + "204": { + "description": "No content response" + } + }, "security": [ { "ApiKey": [] @@ -24195,15 +24179,25 @@ ] } }, - "/pending-orders/request": { + "/pending-order/{id}/checkout/order": { "post": { "tags": [ "B2B Order Approval" ], - "summary": "Request new order approval", - "description": "This route is used to request a new order approval", - "operationId": "requestOrderApproval", + "summary": "Create a order from a pending order", + "description": "This route is used to create a order from a pending order", + "operationId": "createOrderFromPendingOrder", "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the pending order to be used to create a order", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, { "$ref": "#/components/parameters/swLanguageId" } @@ -24214,7 +24208,7 @@ "application/json": { "schema": { "properties": { - "comment": { + "customerComment": { "description": "Message content", "type": "string" } @@ -24226,11 +24220,11 @@ }, "responses": { "200": { - "description": "Pending order entity", + "description": "Order entity", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PendingOrder" + "$ref": "#/components/schemas/Order" } } } @@ -24243,23 +24237,33 @@ ] } }, - "/pending-order/{id}": { + "/approval-rule": { "post": { "tags": [ "B2B Order Approval" ], - "summary": "Fetch one pending order by id", - "description": "This route is used to fetch a pending order from the store by id", - "operationId": "fetchPendingOrder", + "summary": "List all approval rules", + "description": "This route is used to list all approval rules from the store", + "operationId": "listApprovalRules", "parameters": [ { - "name": "id", - "in": "path", - "description": "Identifier of the pending order to be fetched", - "required": true, + "name": "p", + "in": "query", + "description": "Page number", + "required": false, "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "type": "integer", + "default": 1 + } + }, + { + "name": "limit", + "in": "query", + "description": "Number of items per page", + "required": false, + "schema": { + "type": "integer", + "default": 10 } }, { @@ -24271,18 +24275,38 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Criteria" + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" + } + ] } } } }, "responses": { "200": { - "description": "Pending order entity", + "description": "Entity search result containing approval rules", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PendingOrder" + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApprovalRule" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] } } } @@ -24293,25 +24317,33 @@ "ApiKey": [] } ] - } - }, - "/pending-order/{id}/payment-method": { - "post": { + }, + "get": { "tags": [ "B2B Order Approval" ], - "summary": "Fetch payment methods of a pending order", - "description": "This route is used to fetch the payment methods of a pending order", - "operationId": "fetchPendingOrderPaymentMethods", + "summary": "Fetch a list of approval rules", + "description": "This route is used to load approval rules", + "operationId": "readApprovalRules", "parameters": [ { - "name": "id", - "in": "path", - "description": "Identifier of the pending order to be fetched", - "required": true, + "name": "p", + "in": "query", + "description": "Page number", + "required": false, "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "type": "integer", + "default": 1 + } + }, + { + "name": "limit", + "in": "query", + "description": "Number of items per page", + "required": false, + "schema": { + "type": "integer", + "default": 10 } }, { @@ -24320,27 +24352,27 @@ ], "responses": { "200": { - "description": "", + "description": "Entity search result containing approval rules", "content": { "application/json": { "schema": { - "properties": { - "total": { - "description": "Total amount", - "type": "integer" - }, - "aggregations": { - "description": "aggregation result", + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ApprovalRule" + } + } + }, "type": "object" }, - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PaymentMethod" - } + { + "$ref": "#/components/schemas/EntitySearchResult" } - }, - "type": "object" + ] } } } @@ -24353,38 +24385,62 @@ ] } }, - "/pending-order/{id}/decline": { + "/approval-rule/create": { "post": { "tags": [ "B2B Order Approval" ], - "summary": "Decline a pending order by id", - "description": "This route is used to decline a pending order from the store by id", - "operationId": "declinePendingOrder", + "summary": "Create a new approval rule", + "description": "This route is used to create a new approval rule", + "operationId": "createApprovalRule", "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the pending order to be declined", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { "properties": { - "comment": { - "description": "Message content", + "approvalRuleName": { + "description": "Name of the approval rule", + "type": "string" + }, + "approvalRuleApprove": { + "description": "ID of the role that can approve the rule", + "type": "string" + }, + "approvalRuleRole": { + "description": "ID of the role that is affected by the rule", + "type": "string" + }, + "priority": { + "description": "Priority of the approval rule", + "type": "integer" + }, + "description": { + "description": "Description of the approval rule", "type": "string" + }, + "active": { + "description": "Active status of the approval rule", + "type": "boolean" + }, + "approvalRuleCondition": { + "description": "List of rules", + "type": "object", + "properties": { + "type": { + "description": "Type of the rule", + "type": "string" + }, + "value": { + "description": "Value", + "type": "string" + } + } } }, "type": "object" @@ -24393,8 +24449,15 @@ } }, "responses": { - "204": { - "description": "No content response" + "200": { + "description": "Approval rule entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApprovalRule" + } + } + } } }, "security": [ @@ -24404,19 +24467,19 @@ ] } }, - "/pending-order/{id}/approve": { - "post": { + "/approval-rule/{id}": { + "get": { "tags": [ "B2B Order Approval" ], - "summary": "Approve a pending order by id", - "description": "This route is used to approve a pending order from the store by id", - "operationId": "approvePendingOrder", + "summary": "Fetch one approval rule by id", + "description": "This route is used to fetch a approval rule from the store by id", + "operationId": "readApprovalRule", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the pending order to be approved", + "description": "Identifier of the approval rule to be fetched", "required": true, "schema": { "type": "string", @@ -24427,47 +24490,36 @@ "$ref": "#/components/parameters/swLanguageId" } ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "properties": { - "comment": { - "description": "Message content", - "type": "string" - } - }, - "type": "object" + "responses": { + "200": { + "description": "Approval rule entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ApprovalRule" + } } } } }, - "responses": { - "204": { - "description": "No content response" - } - }, "security": [ { "ApiKey": [] } ] - } - }, - "/pending-order/{id}/checkout/order": { - "post": { + }, + "patch": { "tags": [ "B2B Order Approval" ], - "summary": "Create a order from a pending order", - "description": "This route is used to create a order from a pending order", - "operationId": "createOrderFromPendingOrder", + "summary": "Update a approval rule by id", + "description": "This route is used to update a approval rule from the store by id", + "operationId": "updateApprovalRule", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the pending order to be used to create a order", + "description": "Identifier of the approval rule to be updated", "required": true, "schema": { "type": "string", @@ -24479,14 +24531,48 @@ } ], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { "properties": { - "customerComment": { - "description": "Message content", + "approvalRuleName": { + "description": "Name of the approval rule", + "type": "string" + }, + "approvalRuleApprove": { + "description": "ID of the role that can approve the rule", + "type": "string" + }, + "approvalRuleRole": { + "description": "ID of the role that is affected by the rule", + "type": "string" + }, + "priority": { + "description": "Priority of the approval rule", + "type": "integer" + }, + "description": { + "description": "Description of the approval rule", "type": "string" + }, + "active": { + "description": "Active status of the approval rule", + "type": "boolean" + }, + "approvalRuleCondition": { + "description": "List of rules", + "type": "object", + "properties": { + "type": { + "description": "Type of the rule", + "type": "string" + }, + "value": { + "description": "Value", + "type": "string" + } + } } }, "type": "object" @@ -24496,11 +24582,11 @@ }, "responses": { "200": { - "description": "Order entity", + "description": "Approval rule entity", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Order" + "$ref": "#/components/schemas/ApprovalRule" } } } diff --git a/SwagCommercial-storeapi.summary.json b/SwagCommercial-storeapi.summary.json index c2b7dd2..482cfa1 100644 --- a/SwagCommercial-storeapi.summary.json +++ b/SwagCommercial-storeapi.summary.json @@ -64,10 +64,12 @@ "AdvancedSearchAction", "AdvancedSearchActionSearchTerm", "AdvancedSearchBoosting", + "AdvancedSearchCompoundDictionary", "AdvancedSearchConfig", "AdvancedSearchConfigField", "AdvancedSearchEntityStream", "AdvancedSearchEntityStreamFilter", + "AdvancedSearchStopwordDictionary", "AdvancedSearchSynonym", "Aggregation", "AggregationEntity",