From ae7d454da114641a987d6bc0115f6ea0a95dc1b0 Mon Sep 17 00:00:00 2001 From: shopwareBot Date: Fri, 14 Aug 2026 09:25:24 +0000 Subject: [PATCH] [create-pull-request] automated change --- SwagCommercial-storeapi.json | 34100 +++++++++++-------------- SwagCommercial-storeapi.summary.json | 113 +- 2 files changed, 14984 insertions(+), 19229 deletions(-) diff --git a/SwagCommercial-storeapi.json b/SwagCommercial-storeapi.json index 8c0e554..7a57189 100644 --- a/SwagCommercial-storeapi.json +++ b/SwagCommercial-storeapi.json @@ -16,47 +16,110 @@ ], "components": { "schemas": { - "AdvancedSearchAction": { + "B2bComponentsBudget": { "properties": { + "extensions": { + "properties": { + "subscriptionBudgets": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/b2b-components-budget/1e4002da52224f484ff690aa9b0bfb2a/subscriptionBudgets" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "b2b_components_subscription_budget" + }, + "id": { + "type": "string", + "example": "db9b610a5feba7efda832033f6be0bbf" + } + } + } + } + }, + "type": "object" + } + }, + "type": "object" + }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "name": { + "type": "string" }, - "updatedAt": { - "type": "string", - "format": "date-time", + "costCentre": { + "type": "string" + }, + "technicalName": { + "type": "string" + }, + "active": { + "type": "boolean" + }, + "amount": { + "type": "number", + "format": "float" + }, + "usedAmount": { + "type": "number", + "format": "float", "readOnly": true - } - }, - "type": "object" - }, - "AdvancedSearchActionSearchTerm": { - "properties": { - "id": { + }, + "startDate": { + "type": "string" + }, + "endDate": { + "type": "string" + }, + "renewsType": { + "type": "string" + }, + "allowApproval": { + "type": "boolean" + }, + "showRemaining": { + "type": "boolean" + }, + "notify": { + "type": "boolean" + }, + "notificationConfig": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "customFields": { + "type": "object" + }, + "customerId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "reviewerRoleId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "AdvancedSearchBoosting": { - "properties": { - "id": { + "createdById": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, @@ -69,192 +132,115 @@ "type": "string", "format": "date-time", "readOnly": true - } - }, - "type": "object" - }, - "AdvancedSearchCompoundDictionary": { - "required": [ - "id", - "languageId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" }, - "languageId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "customer": { + "$ref": "#/components/schemas/Customer" }, - "wordList": { + "organizations": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/B2bComponentsOrganization" } }, - "minSubwordSize": { - "type": "integer", - "format": "int64" - }, - "onlyLongestMatch": { - "type": "boolean" + "notificationRecipients": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bEmployee" + } }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "reviewerRole": { + "$ref": "#/components/schemas/B2bComponentsRole" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "currency": { + "$ref": "#/components/schemas/Currency" } }, - "type": "object" + "type": "object", + "description": "Added since version: 6.7.4.0", + "required": [ + "id", + "name", + "technicalName", + "amount", + "startDate" + ] }, - "AdvancedSearchConfig": { + "B2bComponentsOrganization": { "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "hitCount": { + "extensions": { "properties": { - "product": { - "properties": { - "maxSuggestCount": { - "type": "integer", - "format": "int64" - }, - "maxSearchCount": { - "type": "integer", - "format": "int64" - } - }, - "type": "object" - }, - "product_manufacturer": { - "properties": { - "maxSuggestCount": { - "type": "integer", - "format": "int64" - }, - "maxSearchCount": { - "type": "integer", - "format": "int64" - } - }, + "organizationBreadcrumb": { "type": "object" }, - "category": { - "properties": { - "maxSuggestCount": { - "type": "integer", - "format": "int64" - }, - "maxSearchCount": { - "type": "integer", - "format": "int64" - } - }, + "organizationInheritance": { "type": "object" } }, "type": "object" }, - "createdAt": { + "id": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "AdvancedSearchConfigField": { - "properties": { - "id": { + "name": { + "type": "string" + }, + "technicalName": { + "type": "string" + }, + "description": { + "type": "string" + }, + "customerId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "parentId": { "type": "string", - "format": "date-time", + "pattern": "^[0-9a-f]{32}$" + }, + "childCount": { + "type": "integer", + "format": "int64", "readOnly": true }, - "updatedAt": { - "type": "string", - "format": "date-time", + "level": { + "type": "integer", + "format": "int64", "readOnly": true - } - }, - "type": "object" - }, - "AdvancedSearchEntityStream": { - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "path": { "type": "string", - "format": "date-time", "readOnly": true }, - "updatedAt": { + "treeSortPath": { "type": "string", - "format": "date-time", "readOnly": true - } - }, - "type": "object" - }, - "AdvancedSearchEntityStreamFilter": { - "properties": { - "id": { + }, + "defaultShippingAddressId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "defaultBillingAddressId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "AdvancedSearchStopwordDictionary": { - "required": [ - "id", - "languageId" - ], - "properties": { - "id": { + "createdById": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "languageId": { + "updatedById": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "stopwords": { - "type": "array", - "items": { - "type": "string" - } + "createdBy": { + "$ref": "#/components/schemas/User" }, - "extendsBuiltin": { - "type": "boolean" + "updatedBy": { + "$ref": "#/components/schemas/User" + }, + "customFields": { + "type": "object" }, "createdAt": { "type": "string", @@ -265,67 +251,146 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "customer": { + "$ref": "#/components/schemas/Customer" + }, + "parent": { + "$ref": "#/components/schemas/B2bComponentsOrganization" + }, + "employees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bEmployee" + } + }, + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsOrganization" + } + }, + "organizationCustomerAddresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsOrganizationCustomerAddress" + } + }, + "shippingAddresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomerAddress" + } + }, + "billingAddresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomerAddress" + } + }, + "paymentMethods": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PaymentMethod" + } + }, + "shippingMethods": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ShippingMethod" + } + }, + "defaultShippingAddress": { + "$ref": "#/components/schemas/CustomerAddress" + }, + "defaultBillingAddress": { + "$ref": "#/components/schemas/CustomerAddress" } }, - "type": "object" + "type": "object", + "required": [ + "id", + "name", + "customerId" + ] }, - "AdvancedSearchSynonym": { + "B2bComponentsPendingOrder": { "properties": { + "extensions": { + "properties": { + "budgetId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "budget": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/b2b-components-pending-order/e87c4279c6f83e4de2543a63bf59b373/budget" + } + } + }, + "data": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "b2b_components_budget" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "2f212049ce79d2b949fd242043004288" + } + } + } + }, + "type": "object" + } + }, + "type": "object" + }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "orderId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "billingAddressId": { "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "B2bBusinessPartner": { - "properties": { - "id": { + "pattern": "^[0-9a-f]{32}$" + }, + "customerId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customFields": { - "type": "object" + "employeeId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "decidedById": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "approvalRuleId": { "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "B2bComponentsAdvancedProductCatalogs": { - "description": "Added since version: 6.7.1.0", - "required": [ - "id", - "organizationId", - "salesChannelId" - ], - "properties": { - "id": { + "pattern": "^[0-9a-f]{32}$" + }, + "stateId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "autoAddNewCategories": { - "type": "boolean" + "currencyId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "organizationId": { + "countryId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, @@ -333,94 +398,81 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customFields": { - "type": "object" + "shippingMethodId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "paymentMethodId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "languageId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "categories": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Category" - } - } - }, - "type": "object" - }, - "B2bComponentsApprovalRule": { - "description": "Added since version: 6.6.0.0", - "required": [ - "id", - "name", - "priority", - "active", - "conditions" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "description": { + "cartPayload": { "type": "string" }, - "priority": { - "type": "integer", - "format": "int64" - }, - "active": { - "type": "boolean" - }, - "conditions": { + "price": { + "required": [ + "netPrice", + "totalPrice", + "positionPrice", + "rawTotal", + "taxStatus" + ], + "properties": { + "netPrice": { + "type": "number", + "format": "float" + }, + "totalPrice": { + "type": "number", + "format": "float" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "positionPrice": { + "type": "number", + "format": "float" + }, + "rawTotal": { + "type": "number", + "format": "float" + }, + "taxStatus": { + "type": "string" + } + }, "type": "object" }, - "reviewerRoleId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "originalPrice": { + "type": "number", + "format": "float" }, - "affectedRoleId": { + "taxStatus": { "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" + "readOnly": true }, - "createdAt": { - "type": "string", - "format": "date-time", + "amountTotal": { + "type": "number", + "format": "float", "readOnly": true }, - "updatedAt": { - "type": "string", - "format": "date-time", + "amountNet": { + "type": "number", + "format": "float", "readOnly": true }, - "reviewerRole": { - "$ref": "#/components/schemas/B2bComponentsRole" + "reason": { + "type": "string" }, - "affectedRole": { - "$ref": "#/components/schemas/B2bComponentsRole" - } - }, - "type": "object" - }, - "B2bComponentsApprovalRuleAppScriptCondition": { - "description": "Added since version: 6.6.3.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "customFields": { + "type": "object" }, "createdAt": { "type": "string", @@ -432,84 +484,117 @@ "format": "date-time", "readOnly": true }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "B2bComponentsBudget": { - "description": "Added since version: 6.7.4.0", - "required": [ - "id", - "name", - "technicalName", - "amount", - "startDate" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" + "order": { + "$ref": "#/components/schemas/Order" }, - "costCentre": { - "type": "string" + "billingAddress": { + "$ref": "#/components/schemas/B2bComponentsPendingOrderAddress" }, - "technicalName": { - "type": "string" + "customer": { + "$ref": "#/components/schemas/Customer" }, - "active": { - "type": "boolean" + "employee": { + "$ref": "#/components/schemas/B2bEmployee" }, - "amount": { - "type": "number", - "format": "float" + "decidedBy": { + "$ref": "#/components/schemas/B2bEmployee" }, - "usedAmount": { - "type": "number", - "format": "float", - "readOnly": true + "approvalRule": { + "$ref": "#/components/schemas/B2bComponentsApprovalRule" }, - "startDate": { - "type": "string" + "stateMachineState": { + "$ref": "#/components/schemas/StateMachineState" }, - "endDate": { - "type": "string" + "currency": { + "$ref": "#/components/schemas/Currency" }, - "renewsType": { - "type": "string" + "country": { + "$ref": "#/components/schemas/Country" }, - "allowApproval": { - "type": "boolean" + "language": { + "$ref": "#/components/schemas/Language" }, - "showRemaining": { - "type": "boolean" + "paymentMethod": { + "$ref": "#/components/schemas/PaymentMethod" }, - "notify": { - "type": "boolean" + "shippingMethod": { + "$ref": "#/components/schemas/ShippingMethod" }, - "notificationConfig": { + "addresses": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsPendingOrderAddress" + } + } + }, + "type": "object", + "description": "Added since version: 6.6.0.0", + "required": [ + "id", + "billingAddressId", + "customerId", + "employeeId", + "stateId", + "currencyId", + "countryId", + "salesChannelId", + "shippingMethodId", + "paymentMethodId", + "languageId", + "cartPayload" + ] + }, + "B2bComponentsShoppingList": { + "properties": { + "extensions": { "properties": { - "type": { - "type": "string" + "organizationId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "value": { - "type": "string" + "organization": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/b2b-components-shopping-list/23cb3bfda723e05b43cb25a427ee5a25/organization" + } + } + }, + "data": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "b2b_components_organization" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "b4c1948c087fafc89a88450fcbb64c77" + } + } + } + }, + "type": "object" } }, "type": "object" }, - "customFields": { - "type": "object" - }, - "customerId": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "reviewerRoleId": { + "name": { + "type": "string" + }, + "active": { + "type": "boolean" + }, + "salesChannelId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, @@ -517,19 +602,67 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "updatedById": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "customerId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "extensions": { - "properties": { - "subscriptionBudgets": { + "employeeId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "customFields": { + "type": "object" + }, + "price": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Price" + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "customer": { + "$ref": "#/components/schemas/Customer" + }, + "employee": { + "$ref": "#/components/schemas/B2bEmployee" + }, + "lineItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsShoppingListLineItem" + } + } + }, + "type": "object", + "description": "Added since version: 6.6.2.0", + "required": [ + "id", + "salesChannelId", + "customerId" + ] + }, + "B2bEmployee": { + "properties": { + "extensions": { + "properties": { + "organizationId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "organization": { "properties": { "links": { "type": "object", @@ -537,23 +670,21 @@ "related": { "type": "string", "format": "uri-reference", - "example": "/b2b-components-budget/1e4002da52224f484ff690aa9b0bfb2a/subscriptionBudgets" + "example": "/b2b-employee/1131eb0b1859b37129289fe3bcc9e70b/organization" } } }, "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_subscription_budget" - }, - "id": { - "type": "string", - "example": "db9b610a5feba7efda832033f6be0bbf" - } + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "b2b_components_organization" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "b4c1948c087fafc89a88450fcbb64c77" } } } @@ -563,102 +694,126 @@ }, "type": "object" }, - "customer": { - "$ref": "#/components/schemas/Customer" - }, - "organizations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsOrganization" - } - }, - "notificationRecipients": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bEmployee" - } - }, - "reviewerRole": { - "$ref": "#/components/schemas/B2bComponentsRole" - }, - "currency": { - "$ref": "#/components/schemas/Currency" - } - }, - "type": "object" - }, - "B2bComponentsBudgetNotificationRecipient": { - "description": "Added since version: 6.7.4.0", - "required": [ - "budgetId", - "employeeId" - ], - "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "budgetId": { + "customFields": { + "type": "object" + }, + "isPrimaryMembership": { + "type": "boolean" + }, + "detachedAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time" }, - "employeeId": { + "status": { + "type": "string" + }, + "languageId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "budget": { - "$ref": "#/components/schemas/B2bComponentsBudget" + "firstName": { + "type": "string" }, - "employee": { - "$ref": "#/components/schemas/B2bEmployee" - } - }, - "type": "object" - }, - "B2bComponentsBudgetOrganization": { - "description": "Added since version: 6.7.4.0", - "required": [ - "budgetId", - "organizationId" - ], - "properties": { - "id": { + "lastName": { + "type": "string" + }, + "email": { + "type": "string" + }, + "accountId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "budgetId": { + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "organizationId": { + "updatedAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "budget": { - "$ref": "#/components/schemas/B2bComponentsBudget" + "account": { + "$ref": "#/components/schemas/B2bEmployeeAccount" }, - "organization": { - "$ref": "#/components/schemas/B2bComponentsOrganization" + "role": { + "$ref": "#/components/schemas/B2bComponentsRole" + }, + "language": { + "$ref": "#/components/schemas/Language" } }, - "type": "object" - }, - "B2bComponentsEmployeeWishlist": { + "type": "object", "required": [ "id", - "employeeId", - "salesChannelId" - ], + "languageId", + "firstName", + "lastName", + "email" + ] + }, + "B2bEmployeeAccount": { "properties": { + "extensions": { + "properties": { + "defaultEmployeeId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "defaultEmployee": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/b2b-employee-account/d44c56f59f71fa5dfc80938683b96e81/defaultEmployee" + } + } + }, + "data": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "b2b_employee" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "dcc27abeb81b4e3a5d24d9a66132c3bf" + } + } + } + }, + "type": "object" + } + }, + "type": "object" + }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "employeeId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "status": { + "type": "string" }, - "salesChannelId": { + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "email": { + "type": "string" + }, + "languageId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, @@ -675,135 +830,194 @@ "format": "date-time", "readOnly": true }, - "employee": { - "$ref": "#/components/schemas/B2bEmployee" - }, - "salesChannel": { - "$ref": "#/components/schemas/SalesChannel" + "language": { + "$ref": "#/components/schemas/Language" }, - "products": { + "employees": { "type": "array", "items": { - "$ref": "#/components/schemas/B2bComponentsEmployeeWishlistProduct" + "$ref": "#/components/schemas/B2bEmployee" } } }, - "type": "object" - }, - "B2bComponentsEmployeeWishlistProduct": { + "type": "object", "required": [ "id", - "employeeWishlistId", - "productId", - "productVersionId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "employeeWishlistId": { + "firstName", + "lastName", + "email", + "languageId" + ] + }, + "Customer": { + "properties": { + "extensions": { + "properties": { + "specificFeatures": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/customer/ce26601dac0dea138b7295f02b7620a7/specificFeatures" + } + } + }, + "data": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "customer_specific_features" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "5cfb6fcb7542e25892e1a35cd6a06c54" + } + } + } + }, + "type": "object" + } + }, + "type": "object" + }, + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productId": { + "groupId": { + "description": "Unique identity of customer group.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productVersionId": { + "salesChannelId": { + "description": "Unique identity of sales channel.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customFields": { - "type": "object" + "languageId": { + "description": "Unique identity of language.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "lastPaymentMethodId": { + "description": "Unique identity of previous payment method.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "defaultBillingAddressId": { + "description": "Unique identity of default billing address.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "employeeWishlist": { - "$ref": "#/components/schemas/B2bComponentsEmployeeWishlist" + "defaultShippingAddressId": { + "description": "Unique identity of default shipping address.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "product": { - "$ref": "#/components/schemas/Product" - } - }, - "type": "object" - }, - "B2bComponentsIndividualPricing": { - "description": "Added since version: 6.7.8.0", - "required": [ - "id", - "active", - "showStrikeThrough", - "name", - "target", - "priority", - "applyToAllProducts", - "useValidityRange", - "actionType", - "tiers" - ], - "properties": { - "id": { + "customerNumber": { + "description": "Unique number assigned to identity a customer.", + "type": "string" + }, + "salutationId": { + "description": "Unique identity of salutation.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "active": { - "type": "boolean" + "firstName": { + "description": "First name of the customer.", + "type": "string" }, - "showStrikeThrough": { - "type": "boolean" + "lastName": { + "description": "Last name of the customer.", + "type": "string" }, - "name": { + "email": { + "description": "Email ID of the customer.", "type": "string" }, - "target": { + "title": { + "description": "Titles or honorifics like Mr, Mrs, etc.", "type": "string" }, - "priority": { - "type": "integer", - "format": "int64" + "affiliateCode": { + "description": "An affiliate code is an identification option with which website operators can mark outgoing links.", + "type": "string" }, - "applyToAllProducts": { + "campaignCode": { + "description": "A campaign code is the globally unique identifier for a campaign.", + "type": "string" + }, + "active": { + "description": "To keep the status of the customer active, the boolean value is set to `true`.", "type": "boolean" }, - "productStreamId": { + "doubleOptInRegistration": { + "description": "Set to `true` to allow user subscriptions to an email marketing list.", + "type": "boolean" + }, + "doubleOptInEmailSentDate": { + "description": "Date and time when the double opt-in email was sent.", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time" }, - "useValidityRange": { - "type": "boolean" + "doubleOptInConfirmDate": { + "description": "Date and time when the double opt-in email was confirmed.", + "type": "string", + "format": "date-time" }, - "validFrom": { + "hash": { + "description": "Customer registration double opt-in hash for confirming the customer account.", "type": "string" }, - "validUntil": { - "type": "string" + "guest": { + "description": "Boolean value is `true` if it is to be a guest account.", + "type": "boolean" }, - "description": { - "type": "string" + "firstLogin": { + "description": "To capture date and time of customer's first login.", + "type": "string", + "format": "date-time" }, - "actionType": { + "lastLogin": { + "description": "To capture date and time of customer's last login.", + "type": "string", + "format": "date-time" + }, + "birthday": { + "description": "To capture customer's birthday details.", "type": "string" }, - "actionAmount": { + "lastOrderDate": { + "description": "Captures last order date.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "orderCount": { + "description": "Captures the number of orders placed.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "orderTotalAmount": { + "description": "Sum of total amount to be paid.", "type": "number", - "format": "float" + "format": "float", + "readOnly": true }, - "createdById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "reviewCount": { + "description": "Number of reviews the customer has given.", + "type": "integer", + "format": "int64", + "readOnly": true }, - "updatedById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "customFields": { + "type": "object" }, "tagIds": { "type": "array", @@ -813,8 +1027,18 @@ }, "readOnly": true }, - "customFields": { - "type": "object" + "requestedGroupId": { + "description": "Unique identity of requested group.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "createdById": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "updatedById": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, "createdAt": { "type": "string", @@ -826,67 +1050,297 @@ "format": "date-time", "readOnly": true }, - "createdBy": { - "$ref": "#/components/schemas/User" + "group": { + "$ref": "#/components/schemas/CustomerGroup", + "description": "Customer group determining pricing and permissions" }, - "updatedBy": { - "$ref": "#/components/schemas/User" + "language": { + "$ref": "#/components/schemas/Language", + "description": "Preferred language for customer communication" }, - "productStream": { - "$ref": "#/components/schemas/ProductStream" + "lastPaymentMethod": { + "$ref": "#/components/schemas/PaymentMethod", + "description": "Last used payment method by the customer" }, - "tiers": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsIndividualPricingTier" - } + "defaultBillingAddress": { + "$ref": "#/components/schemas/CustomerAddress", + "description": "Default billing address for the customer" }, - "companyAssignments": { + "activeBillingAddress": { + "$ref": "#/components/schemas/CustomerAddress", + "description": "Currently active billing address in the session" + }, + "defaultShippingAddress": { + "$ref": "#/components/schemas/CustomerAddress", + "description": "Default shipping address for the customer" + }, + "activeShippingAddress": { + "$ref": "#/components/schemas/CustomerAddress", + "description": "Currently active shipping address in the session" + }, + "salutation": { + "$ref": "#/components/schemas/Salutation", + "description": "Customer salutation (e.g., Mr., Mrs., Ms.)" + }, + "addresses": { + "description": "All addresses saved for the customer", "type": "array", "items": { - "$ref": "#/components/schemas/B2bComponentsIndividualPricingCompanyAssignment" + "$ref": "#/components/schemas/CustomerAddress" } }, "tags": { + "description": "Tags assigned to the customer for organization and segmentation", "type": "array", "items": { "$ref": "#/components/schemas/Tag" } - } + }, + "apiAlias": { + "type": "string", + "const": "customer" + } }, - "type": "object" - }, - "B2bComponentsIndividualPricingCompanyAssignment": { - "description": "Added since version: 6.7.8.0", + "type": "object", + "description": "Added since version: 6.0.0.0", "required": [ + "apiAlias", + "activeBillingAddress", + "activeShippingAddress", "id", - "individualPricingId", - "customerId", - "scope" + "groupId", + "salesChannelId", + "languageId", + "defaultBillingAddressId", + "defaultShippingAddressId", + "customerNumber", + "firstName", + "lastName", + "email" ], + "oneOf": [ + { + "required": [ + "accountType" + ], + "properties": { + "accountType": { + "type": "string", + "enum": [ + "private" + ] + } + } + }, + { + "required": [ + "accountType", + "vatIds", + "company" + ], + "properties": { + "accountType": { + "type": "string", + "enum": [ + "business" + ] + }, + "vatIds": { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + }, + "company": { + "type": "string" + } + } + } + ] + }, + "CustomerAddress": { "properties": { + "extensions": { + "properties": { + "organizationCustomerAddresses": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/customer-address/1b4b031005f93d02d887e7d66efb653b/organizationCustomerAddresses" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "b2b_components_organization_customer_address" + }, + "id": { + "type": "string", + "example": "ada6a19a929bea8dbec29edb3d68df58" + } + } + } + } + }, + "type": "object" + }, + "shippingOrganizations": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/customer-address/1b4b031005f93d02d887e7d66efb653b/shippingOrganizations" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "b2b_components_organization" + }, + "id": { + "type": "string", + "example": "91f4ddd1dd77c56814febc8cdb355696" + } + } + } + } + }, + "type": "object" + }, + "billingOrganizations": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/customer-address/1b4b031005f93d02d887e7d66efb653b/billingOrganizations" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "b2b_components_organization" + }, + "id": { + "type": "string", + "example": "aff42a9b805cb256b5fa77d84c3fa8a9" + } + } + } + } + }, + "type": "object" + } + }, + "type": "object" + }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "individualPricingId": { + "customerId": { + "description": "Unique identity of customer.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customerId": { + "countryId": { + "description": "Unique identity of country.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "scope": { + "countryStateId": { + "description": "Unique identity of country's state.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "salutationId": { + "description": "Unique identity of salutation.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "firstName": { + "description": "First name of the customer.", "type": "string" }, - "organizationUnitIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true + "lastName": { + "description": "Last name of the customer.", + "type": "string" + }, + "zipcode": { + "description": "Postal or zip code of customer's address.", + "type": "string" + }, + "city": { + "description": "Name of customer's city.", + "type": "string" + }, + "company": { + "description": "Name of customer's company.", + "type": "string" + }, + "street": { + "description": "Name of customer's street.", + "type": "string" + }, + "department": { + "description": "Name of customer's department.", + "type": "string" + }, + "title": { + "description": "Titles given to customer like Dr. , Prof., etc", + "type": "string" + }, + "phoneNumber": { + "description": "Customer's phone number.", + "type": "string" + }, + "additionalAddressLine1": { + "description": "Additional customer's address information.", + "type": "string" + }, + "additionalAddressLine2": { + "description": "Additional customer's address information.", + "type": "string" + }, + "hash": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "string" + }, + "customFields": { + "type": "object" + }, + "isDefaultBillingAddress": { + "description": "Added since version: 6.7.7.0. Runtime field, cannot be used as part of the criteria.", + "type": "boolean" + }, + "isDefaultShippingAddress": { + "description": "Added since version: 6.7.7.0. Runtime field, cannot be used as part of the criteria.", + "type": "boolean" }, "createdAt": { "type": "string", @@ -898,204 +1352,129 @@ "format": "date-time", "readOnly": true }, - "individualPricing": { - "$ref": "#/components/schemas/B2bComponentsIndividualPricing" + "country": { + "$ref": "#/components/schemas/Country" }, - "customer": { - "$ref": "#/components/schemas/Customer" + "countryState": { + "$ref": "#/components/schemas/CountryState" }, - "units": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsOrganization" - } + "salutation": { + "$ref": "#/components/schemas/Salutation" } }, - "type": "object" - }, - "B2bComponentsIndividualPricingCompanyAssignmentUnit": { - "description": "Added since version: 6.7.8.0", + "type": "object", + "description": "Added since version: 6.0.0.0", "required": [ - "assignmentId", - "orgUnitId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "assignmentId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "orgUnitId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "assignment": { - "$ref": "#/components/schemas/B2bComponentsIndividualPricingCompanyAssignment" - }, - "orgUnit": { - "$ref": "#/components/schemas/B2bComponentsOrganization" - } - }, - "type": "object" + "id", + "customerId", + "countryId", + "firstName", + "lastName", + "city", + "street" + ] }, - "B2bComponentsIndividualPricingComputedCache": { + "Media": { "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "extensions": { + "properties": { + "mediaAiTag": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/media/3b563524fdb17b4a86590470d40bef74/mediaAiTag" + } + } + }, + "data": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "media_ai_tag" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "3c88197809d464216a8c40a8db191b38" + } + } + } + }, + "type": "object" + } + }, + "type": "object" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "B2bComponentsIndividualPricingTag": { - "description": "Added since version: 6.7.8.0", - "required": [ - "individualPricingId", - "tagId" - ], - "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "individualPricingId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "tagId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "individualPricing": { - "$ref": "#/components/schemas/B2bComponentsIndividualPricing" + "mimeType": { + "description": "A string sent along with a file indicating the type of the file. For example: image/jpeg.", + "type": "string" }, - "tag": { - "$ref": "#/components/schemas/Tag" - } - }, - "type": "object" - }, - "B2bComponentsIndividualPricingTier": { - "description": "Added since version: 6.7.8.0", - "required": [ - "individualPricingId", - "id", - "qtyFrom", - "price" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "fileExtension": { + "description": "Type of file indication. For example: jpeg, png.", + "type": "string" }, - "individualPricingId": { + "uploadedAt": { + "description": "Date and time at which media was added.", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "qtyFrom": { - "type": "integer", - "format": "int64" + "fileName": { + "description": "Name of the media file uploaded.", + "type": "string" }, - "qtyTo": { + "fileSize": { + "description": "Size of the file media file uploaded.", "type": "integer", - "format": "int64" - }, - "price": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Price" - } - }, - "createdAt": { - "type": "string", - "format": "date-time", + "format": "int64", "readOnly": true }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "metaData": { + "type": "object", + "readOnly": true, + "properties": { + "height": { + "type": "integer", + "format": "int64" + }, + "width": { + "type": "integer", + "format": "int64" + } + } }, - "individualPricing": { - "$ref": "#/components/schemas/B2bComponentsIndividualPricing" - } - }, - "type": "object" - }, - "B2bComponentsOrganization": { - "required": [ - "id", - "name", - "customerId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "config": { + "type": "object" }, - "name": { + "alt": { "type": "string" }, - "technicalName": { + "title": { "type": "string" }, - "description": { + "url": { + "description": "Runtime field, cannot be used as part of the criteria.", "type": "string" }, - "customerId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "parentId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "childCount": { - "type": "integer", - "format": "int64", - "readOnly": true - }, - "level": { - "type": "integer", - "format": "int64", - "readOnly": true - }, "path": { - "type": "string", - "readOnly": true - }, - "treeSortPath": { - "type": "string", - "readOnly": true - }, - "defaultShippingAddressId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "defaultBillingAddressId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "type": "string" }, - "createdById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "hasFile": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "boolean" }, - "updatedById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "private": { + "description": "When `true`, the media display is kept private.", + "type": "boolean" }, "customFields": { "type": "object" @@ -1110,268 +1489,226 @@ "format": "date-time", "readOnly": true }, - "extensions": { - "properties": { - "organizationBreadcrumb": { - "type": "object" - }, - "organizationInheritance": { - "type": "object" - } - }, + "translated": { "type": "object" }, - "customer": { - "$ref": "#/components/schemas/Customer" - }, - "parent": { - "$ref": "#/components/schemas/B2bComponentsOrganization" - }, - "employees": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bEmployee" - } - }, - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsOrganization" - } - }, - "organizationCustomerAddresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsOrganizationCustomerAddress" - } - }, - "shippingAddresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CustomerAddress" - } - }, - "billingAddresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CustomerAddress" - } - }, - "paymentMethods": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PaymentMethod" - } - }, - "shippingMethods": { + "thumbnails": { + "description": "Generated thumbnail images in various sizes", "type": "array", "items": { - "$ref": "#/components/schemas/ShippingMethod" + "$ref": "#/components/schemas/MediaThumbnail" } }, - "defaultShippingAddress": { - "$ref": "#/components/schemas/CustomerAddress" - }, - "defaultBillingAddress": { - "$ref": "#/components/schemas/CustomerAddress" - }, - "createdBy": { - "$ref": "#/components/schemas/User" - }, - "updatedBy": { - "$ref": "#/components/schemas/User" - } - }, - "type": "object" - }, - "B2bComponentsOrganizationCustomerAddress": { - "required": [ - "id", - "organizationId", - "customerAddressId", - "type" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "organizationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customerAddressId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "type": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { + "apiAlias": { "type": "string", - "format": "date-time", - "readOnly": true - }, - "customerAddress": { - "$ref": "#/components/schemas/CustomerAddress" + "const": "media" } }, - "type": "object" - }, - "B2bComponentsPendingOrder": { - "description": "Added since version: 6.6.0.0", + "type": "object", + "description": "Added since version: 6.0.0.0", "required": [ - "id", - "billingAddressId", - "customerId", - "employeeId", - "stateId", - "currencyId", - "countryId", - "salesChannelId", - "shippingMethodId", - "paymentMethodId", - "languageId", - "cartPayload" - ], + "apiAlias", + "fileExtension", + "fileName", + "hasFile", + "path", + "private", + "url", + "id" + ] + }, + "Order": { "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "orderId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "billingAddressId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customerId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "employeeId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "decidedById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "approvalRuleId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "stateId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "currencyId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "countryId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "salesChannelId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "shippingMethodId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "paymentMethodId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "languageId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "cartPayload": { - "type": "string" - }, - "price": { - "required": [ - "netPrice", - "totalPrice", - "positionPrice", - "rawTotal", - "taxStatus" - ], + "extensions": { "properties": { - "netPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "calculatedTaxes": { - "type": "object" + "subscriptionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "taxRules": { + "subscription": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/order/a240fa27925a635b08dc28c9e4f9216d/subscription" + } + } + }, + "data": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "subscription" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "b48b13e73a6ac2a86dc54425dd24d9ff" + } + } + } + }, + "type": "object" + }, + "initialSubscriptions": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/order/a240fa27925a635b08dc28c9e4f9216d/initialSubscriptions" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "subscription" + }, + "id": { + "type": "string", + "example": "3b40c275cdd1f84402bcef5be1651f64" + } + } + } + } + }, + "type": "object" + }, + "returns": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/order/a240fa27925a635b08dc28c9e4f9216d/returns" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "order_return" + }, + "id": { + "type": "string", + "example": "7fff84525c6516919851a9005373f87e" + } + } + } + } + }, + "type": "object" + }, + "orderEmployee": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/order/a240fa27925a635b08dc28c9e4f9216d/orderEmployee" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "b2b_order_employee" + }, + "id": { + "type": "string", + "example": "5ea451c08a87db806089c4031601c29a" + } + } + } + } + }, + "type": "object" + }, + "quote": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/order/a240fa27925a635b08dc28c9e4f9216d/quote" + } + } + }, + "data": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "quote" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "7a674c327bfa07f7c1204fb38ca6ef3b" + } + } + } + }, + "type": "object" + }, + "organizationId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "organization": { + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/order/a240fa27925a635b08dc28c9e4f9216d/organization" + } + } + }, + "data": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "b2b_components_organization" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "b4c1948c087fafc89a88450fcbb64c77" + } + } + } + }, "type": "object" }, - "positionPrice": { - "type": "number", - "format": "float" - }, - "rawTotal": { - "type": "number", - "format": "float" - }, - "taxStatus": { - "type": "string" - } - }, - "type": "object" - }, - "originalPrice": { - "type": "number", - "format": "float" - }, - "taxStatus": { - "type": "string", - "readOnly": true - }, - "amountTotal": { - "type": "number", - "format": "float", - "readOnly": true - }, - "amountNet": { - "type": "number", - "format": "float", - "readOnly": true - }, - "reason": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "extensions": { - "properties": { "budgetId": { "type": "string", "pattern": "^[0-9a-f]{32}$" @@ -1384,7 +1721,7 @@ "related": { "type": "string", "format": "uri-reference", - "example": "/b2b-components-pending-order/e87c4279c6f83e4de2543a63bf59b373/budget" + "example": "/order/a240fa27925a635b08dc28c9e4f9216d/budget" } } }, @@ -1408,113 +1745,199 @@ }, "type": "object" }, - "order": { - "$ref": "#/components/schemas/Order" + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "billingAddress": { - "$ref": "#/components/schemas/B2bComponentsPendingOrderAddress" + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "customer": { - "$ref": "#/components/schemas/Customer" + "orderNumber": { + "description": "Unique number associated with every order.", + "type": "string" }, - "employee": { - "$ref": "#/components/schemas/B2bEmployee" + "billingAddressId": { + "description": "Unique identity of the billing address.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "decidedBy": { - "$ref": "#/components/schemas/B2bEmployee" + "billingAddressVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "approvalRule": { - "$ref": "#/components/schemas/B2bComponentsApprovalRule" + "primaryOrderDeliveryId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "stateMachineState": { - "$ref": "#/components/schemas/StateMachineState" + "primaryOrderDeliveryVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "currency": { - "$ref": "#/components/schemas/Currency" + "primaryOrderTransactionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "country": { - "$ref": "#/components/schemas/Country" + "primaryOrderTransactionVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "language": { - "$ref": "#/components/schemas/Language" + "currencyId": { + "description": "Unique identity of the currency.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "paymentMethod": { - "$ref": "#/components/schemas/PaymentMethod" + "languageId": { + "description": "Unique identity of the language.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "shippingMethod": { - "$ref": "#/components/schemas/ShippingMethod" + "salesChannelId": { + "description": "Unique identity of the sales channel.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsPendingOrderAddress" - } - } - }, - "type": "object" - }, - "B2bComponentsPendingOrderAddress": { - "description": "Added since version: 6.6.0.0", - "required": [ - "id", - "countryId", - "firstName", - "lastName", - "street", - "city" - ], - "properties": { - "id": { + "orderDateTime": { + "description": "Timestamp when the order was placed.", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time" }, - "countryId": { + "orderDate": { + "description": "Date when the order was placed.", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "readOnly": true }, - "countryStateId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "price": { + "type": "object", + "$ref": "#/components/schemas/CartPrice" }, - "firstName": { - "type": "string" + "amountTotal": { + "description": "Gross price of the order.", + "type": "number", + "format": "float", + "readOnly": true }, - "lastName": { - "type": "string" + "amountNet": { + "description": "Net price of the order.", + "type": "number", + "format": "float", + "readOnly": true }, - "street": { - "type": "string" + "positionPrice": { + "description": "Price of each line item in the cart multiplied by its quantity excluding charges like shipping cost, rules, taxes etc.", + "type": "number", + "format": "float", + "readOnly": true }, - "zipcode": { - "type": "string" + "taxStatus": { + "description": "TaxStatus takes `Free`, `Net` or `Gross` as values.", + "type": "string", + "readOnly": true }, - "city": { - "type": "string" + "shippingCosts": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], + "properties": { + "unitPrice": { + "type": "number", + "format": "float" + }, + "totalPrice": { + "type": "number", + "format": "float" + }, + "quantity": { + "type": "integer", + "format": "int64" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "referencePrice": { + "type": "object" + }, + "listPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + }, + "discount": { + "type": "number", + "format": "float" + }, + "percentage": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" + } + }, + "type": "object" }, - "company": { - "type": "string" + "shippingTotal": { + "description": "Total shipping cost of the ordered product.", + "type": "number", + "format": "float", + "readOnly": true }, - "department": { + "currencyFactor": { + "description": "Rate at which currency is exchanged.", + "type": "number", + "format": "float" + }, + "deepLinkCode": { + "description": "It is a generated special code linked to email. It is used to access orders placed by guest customers.", "type": "string" }, - "title": { + "affiliateCode": { + "description": "An affiliate code is an identification option with which website operators can mark outgoing links.", "type": "string" }, - "vatId": { + "campaignCode": { + "description": "A campaign code is the globally unique identifier for a campaign.", "type": "string" }, - "phoneNumber": { + "customerComment": { + "description": "Comments given by comments.", "type": "string" }, - "additionalAddressLine1": { + "source": { + "description": "Source of orders either via normal order placement or subscriptions.", "type": "string" }, - "additionalAddressLine2": { + "taxCalculationType": { "type": "string" }, "customFields": { "type": "object" }, + "createdById": { + "description": "Unique identity of createdBy.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "updatedById": { + "description": "Unique identity of updatedBy.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, "createdAt": { "type": "string", "format": "date-time", @@ -1525,532 +1948,379 @@ "format": "date-time", "readOnly": true }, - "country": { - "$ref": "#/components/schemas/Country" + "stateMachineState": { + "$ref": "#/components/schemas/StateMachineState", + "description": "Current order state (e.g., open, in_progress, completed, cancelled)" }, - "countryState": { - "$ref": "#/components/schemas/CountryState" + "primaryOrderDelivery": { + "$ref": "#/components/schemas/OrderDelivery", + "description": "Primary delivery information for the order" }, - "pendingOrder": { - "$ref": "#/components/schemas/B2bComponentsPendingOrder" + "primaryOrderTransaction": { + "$ref": "#/components/schemas/OrderTransaction", + "description": "Primary payment transaction for the order" }, - "salutation": { - "$ref": "#/components/schemas/Salutation" - } - }, - "type": "object" - }, - "B2bComponentsRole": { - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "orderCustomer": { + "$ref": "#/components/schemas/OrderCustomer", + "description": "Customer information associated with the order" }, - "name": { - "type": "string" + "currency": { + "$ref": "#/components/schemas/Currency", + "description": "Currency used for the order" }, - "permissions": { + "language": { + "$ref": "#/components/schemas/Language", + "description": "Language used when placing the order" + }, + "addresses": { + "description": "All addresses associated with the order (billing and shipping)", "type": "array", "items": { - "type": "object", - "additionalProperties": false + "$ref": "#/components/schemas/OrderAddress" } }, - "customFields": { - "type": "object" + "billingAddress": { + "$ref": "#/components/schemas/OrderAddress", + "description": "Billing address for the order" }, - "default": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "boolean" + "deliveries": { + "description": "Delivery information including shipping address and tracking", + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderDelivery" + } }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "lineItems": { + "description": "Order line items (products, discounts, fees)", + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderLineItem" + } }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "transactions": { + "description": "Payment transactions for the order", + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderTransaction" + } + }, + "documents": { + "description": "Generated documents (invoices, delivery notes, credit notes)", + "type": "array", + "items": { + "$ref": "#/components/schemas/Document" + } + }, + "tags": { + "description": "Tags assigned to the order for organization and filtering", + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } } }, - "type": "object" - }, - "B2bComponentsShoppingListJsonApi": { - "description": "Added since version: 6.6.2.0", - "allOf": [ - { - "$ref": "#/components/schemas/resource" - }, - { - "required": [ - "id", - "salesChannelId", - "customerId" - ], + "type": "object", + "description": "Added since version: 6.0.0.0", + "required": [ + "documents", + "orderDate", + "stateMachineState", + "price", + "id", + "billingAddressId", + "currencyId", + "languageId", + "salesChannelId", + "orderDateTime", + "currencyFactor" + ] + }, + "OrderLineItem": { + "properties": { + "extensions": { "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "active": { - "type": "boolean" - }, - "salesChannelId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "updatedById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customerId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "employeeId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "price": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Price" - } - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "extensions": { + "returns": { "properties": { - "organizationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "organization": { + "links": { + "type": "object", "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/b2b-components-shopping-list/23cb3bfda723e05b43cb25a427ee5a25/organization" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_organization" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "b4c1948c087fafc89a88450fcbb64c77" - } + "related": { + "type": "string", + "format": "uri-reference", + "example": "/order-line-item/40b401ac0b29ac5c5c8ffce649fdef62/returns" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "order_return_line_item" + }, + "id": { + "type": "string", + "example": "7fff84525c6516919851a9005373f87e" } } - }, - "type": "object" + } } }, "type": "object" }, - "relationships": { + "stateId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "state": { "properties": { - "customer": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/b2b-components-shopping-list/23cb3bfda723e05b43cb25a427ee5a25/customer" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "customer" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "91ec1f9324753048c0096d036a694f86" - } - } - } - }, - "type": "object" - }, - "employee": { + "links": { + "type": "object", "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/b2b-components-shopping-list/23cb3bfda723e05b43cb25a427ee5a25/employee" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_employee" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "fa5473530e4d1a5a1e1eb53d2fedb10c" - } - } + "related": { + "type": "string", + "format": "uri-reference", + "example": "/order-line-item/40b401ac0b29ac5c5c8ffce649fdef62/state" } - }, - "type": "object" + } }, - "lineItems": { + "data": { + "type": "object", "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/b2b-components-shopping-list/23cb3bfda723e05b43cb25a427ee5a25/lineItems" - } - } + "type": { + "type": "string", + "example": "state_machine_state" }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_shopping_list_line_item" - }, - "id": { - "type": "string", - "example": "a042af1aa9f3853fe3cd7dabc065568f" - } - } - } + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "9ed39e2ea931586b6a985a6942ef573e" } - }, - "type": "object" + } } }, "type": "object" } }, "type": "object" - } - ] - }, - "B2bComponentsShoppingList": { - "description": "Added since version: 6.6.2.0", - "required": [ - "id", - "salesChannelId", - "customerId" - ], - "properties": { + }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "name": { - "type": "string" + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "active": { - "type": "boolean" + "orderId": { + "description": "Unique identity of order.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "salesChannelId": { + "orderVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdById": { + "productId": { + "description": "Unique identity of product.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "updatedById": { + "productVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customerId": { + "promotionId": { + "description": "Unique identity of product.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "employeeId": { + "parentId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customFields": { - "type": "object" + "parentVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "price": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Price" - } - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { + "coverId": { + "description": "Unique identity of cover image.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "extensions": { - "properties": { - "organizationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "organization": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/b2b-components-shopping-list/23cb3bfda723e05b43cb25a427ee5a25/organization" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_organization" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "b4c1948c087fafc89a88450fcbb64c77" - } - } - } - }, - "type": "object" - } - }, - "type": "object" + "identifier": { + "description": "It is a unique identity of an item in cart before its converted to an order.", + "type": "string" }, - "customer": { - "$ref": "#/components/schemas/Customer" + "referencedId": { + "description": "Unique identity of type of entity.", + "type": "string" }, - "employee": { - "$ref": "#/components/schemas/B2bEmployee" + "quantity": { + "description": "Number of items of product.", + "type": "integer", + "format": "int64" }, - "lineItems": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsShoppingListLineItem" - } - } - }, - "type": "object" - }, - "B2bComponentsShoppingListLineItemJsonApi": { - "description": "Added since version: 6.6.2.0", - "allOf": [ - { - "$ref": "#/components/schemas/resource" + "label": { + "description": "It is a typical product name given to the line item.", + "type": "string" }, - { - "required": [ - "id", - "quantity" - ], + "payload": { + "type": "object", "properties": { - "id": { + "categoryIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "readOnly": true + }, + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true + }, + "customFields": { + "type": "object" + }, + "features": { + "type": "array" + }, + "isCloseout": { + "type": "boolean" + }, + "isNew": { + "type": "boolean" }, - "productId": { + "manufacturerId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productVersionId": { + "markAsTopseller": { + "type": "boolean" + }, + "optionIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "readOnly": true + }, + "options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PropertyGroupOption" + } + }, + "parentId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "price": { + "productNumber": { + "type": "string" + }, + "propertyIds": { "type": "array", "items": { - "$ref": "#/components/schemas/Price" - } + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "readOnly": true }, - "quantity": { + "releaseDate": { + "type": "string", + "format": "date-time" + }, + "stock": { "type": "integer", "format": "int64" }, - "createdAt": { - "type": "string", - "format": "date-time", + "streamIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, "readOnly": true }, - "updatedAt": { - "type": "string", - "format": "date-time", + "tagIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, "readOnly": true }, - "relationships": { - "properties": { - "product": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/b2b-components-shopping-list-line-item/30d48c8d92682de24e11d3f72c5dd1ea/product" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "product" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "f5bf48aa40cad7891eb709fcf1fde128" - } - } - } - }, - "type": "object" - } - }, - "type": "object" + "taxId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "productType": { + "$ref": "#/components/schemas/Product/properties/type" } - }, - "type": "object" - } - ] - }, - "B2bComponentsShoppingListLineItem": { - "description": "Added since version: 6.6.2.0", - "required": [ - "id", - "quantity" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + } }, - "productId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "good": { + "description": "When set to true, it indicates the line item is physical else it is virtual.", + "type": "boolean" }, - "productVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "removable": { + "description": "Allows the line item to be removable from the cart when set to true.", + "type": "boolean" }, - "price": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Price" - } + "stackable": { + "description": "Allows to change the quantity of the line item when set to true.", + "type": "boolean" }, - "quantity": { + "position": { + "description": "Position of line items placed in an order.", "type": "integer", "format": "int64" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "priceDefinition": { + "type": "object", + "$ref": "#/components/schemas/CartPriceQuantity" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "unitPrice": { + "description": "Price of product per item (where, quantity=1).", + "type": "number", + "format": "float" }, - "product": { - "$ref": "#/components/schemas/Product" - } - }, - "type": "object" - }, - "B2bComponentsSubscriptionBudget": { - "description": "Added since version: 6.7.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "totalPrice": { + "description": "Cost of product based on quantity.", + "type": "number", + "format": "float" }, - "subscription": { - "$ref": "#/components/schemas/Subscription" + "description": { + "description": "Description of line items in an order.", + "type": "string" }, - "budget": { - "$ref": "#/components/schemas/B2bComponentsBudget" - } - }, - "type": "object" - }, - "B2bComponentsSubscriptionEmployee": { - "required": [ - "id", - "subscriptionId", - "employeeId" - ], - "properties": { - "id": { + "type": { + "description": "Type refers to the entity type of an item whether it is product or promotion for instance.", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "enum": [ + "product", + "credit", + "custom", + "promotion", + "container", + "discount", + "quantity" + ] }, - "subscriptionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "customFields": { + "type": "object" }, - "employeeId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "states": { + "type": "array", + "items": { + "type": "string" + }, + "deprecated": true }, "createdAt": { "type": "string", @@ -2062,72 +2332,63 @@ "format": "date-time", "readOnly": true }, - "employee": { - "$ref": "#/components/schemas/B2bEmployee" - } - }, - "type": "object" - }, - "B2bEmployee": { - "required": [ - "id", - "languageId", - "firstName", - "lastName", - "email" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "isPrimaryMembership": { - "type": "boolean" - }, - "detachedAt": { - "type": "string", - "format": "date-time" - }, - "status": { - "type": "string" - }, - "languageId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "cover": { + "$ref": "#/components/schemas/Media", + "description": "Line item image or thumbnail" }, - "firstName": { - "type": "string" + "product": { + "$ref": "#/components/schemas/Product", + "description": "Referenced product if this is a product line item" }, - "lastName": { - "type": "string" + "orderDeliveryPositions": { + "description": "Delivery positions for this line item", + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderDeliveryPosition" + } }, - "email": { - "type": "string" + "downloads": { + "description": "Digital downloads associated with this line item", + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderLineItemDownload" + } }, - "accountId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "parent": { + "$ref": "#/components/schemas/OrderLineItem" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderLineItem" + } }, - "updatedAt": { + "apiAlias": { "type": "string", - "format": "date-time", - "readOnly": true + "const": "order_line_item" }, + "translated": { + "type": "object" + } + }, + "type": "object", + "description": "Added since version: 6.0.0.0", + "required": [ + "apiAlias", + "id", + "orderId", + "identifier", + "quantity", + "label", + "children", + "states" + ] + }, + "Product": { + "properties": { "extensions": { "properties": { - "organizationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "organization": { + "reviewSummaries": { "properties": { "links": { "type": "object", @@ -2135,91 +2396,95 @@ "related": { "type": "string", "format": "uri-reference", - "example": "/b2b-employee/1131eb0b1859b37129289fe3bcc9e70b/organization" + "example": "/product/deb10517653c255364175796ace3553f/reviewSummaries" } } }, "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "product_review_summary" + }, + "id": { + "type": "string", + "example": "c9c718522e64ffa5effb26cef94f4849" + } + } + } + } + }, + "type": "object" + }, + "bundleItems": { + "description": "Bundle items assigned to this grouped bundle product.", + "properties": { + "links": { "type": "object", "properties": { - "type": { + "related": { "type": "string", - "example": "b2b_components_organization" - }, - "id": { + "format": "uri-reference", + "example": "/product/deb10517653c255364175796ace3553f/bundleItems" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "bundle_item" + }, + "id": { + "type": "string", + "example": "d7706d2e11bc4878ffb242403ea5b274" + } + } + } + } + }, + "type": "object" + }, + "bundleDiscounts": { + "description": "Discount configurations that belong to this bundle.", + "properties": { + "links": { + "type": "object", + "properties": { + "related": { "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "b4c1948c087fafc89a88450fcbb64c77" + "format": "uri-reference", + "example": "/product/deb10517653c255364175796ace3553f/bundleDiscounts" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "bundle_discount" + }, + "id": { + "type": "string", + "example": "a79712cce6d0182645b519f6add10f77" + } } } } }, "type": "object" - } - }, - "type": "object" - }, - "account": { - "$ref": "#/components/schemas/B2bEmployeeAccount" - }, - "role": { - "$ref": "#/components/schemas/B2bComponentsRole" - }, - "language": { - "$ref": "#/components/schemas/Language" - } - }, - "type": "object" - }, - "B2bEmployeeAccount": { - "required": [ - "id", - "firstName", - "lastName", - "email", - "languageId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "status": { - "type": "string" - }, - "firstName": { - "type": "string" - }, - "lastName": { - "type": "string" - }, - "email": { - "type": "string" - }, - "languageId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "extensions": { - "properties": { - "defaultEmployeeId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" }, - "defaultEmployee": { + "bundleSalesChannels": { + "description": "Sales channels in which this bundle is available.", "properties": { "links": { "type": "object", @@ -2227,21 +2492,125 @@ "related": { "type": "string", "format": "uri-reference", - "example": "/b2b-employee-account/d44c56f59f71fa5dfc80938683b96e81/defaultEmployee" + "example": "/product/deb10517653c255364175796ace3553f/bundleSalesChannels" } } }, "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "sales_channel" + }, + "id": { + "type": "string", + "example": "d4aa52cb00cd89c5e047c6a5c72a0384" + } + } + } + } + }, + "type": "object", + "readOnly": true + }, + "bundleItemsCount": { + "description": "Runtime-only number of bundle items used for storefront display and validation. Runtime field, cannot be used as part of the criteria.", + "type": "integer", + "format": "int64" + }, + "items": { + "description": "Products referenced as bundle items of this bundle.", + "properties": { + "links": { "type": "object", "properties": { - "type": { + "related": { "type": "string", - "example": "b2b_employee" - }, - "id": { + "format": "uri-reference", + "example": "/product/deb10517653c255364175796ace3553f/items" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "product" + }, + "id": { + "type": "string", + "example": "691d502cfd0e0626cd3b058e5682ad1c" + } + } + } + } + }, + "type": "object" + }, + "belongToBundleItems": { + "description": "Reference to the bundle item definition when this product acts as a bundle item.", + "properties": { + "links": { + "type": "object", + "properties": { + "related": { "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "dcc27abeb81b4e3a5d24d9a66132c3bf" + "format": "uri-reference", + "example": "/product/deb10517653c255364175796ace3553f/belongToBundleItems" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "bundle_item" + }, + "id": { + "type": "string", + "example": "db4ef6a91ceb3a70935c07a3617ea4cd" + } + } + } + } + }, + "type": "object" + }, + "bundles": { + "description": "Bundles that include this product as an item.", + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/product/deb10517653c255364175796ace3553f/bundles" + } + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "product" + }, + "id": { + "type": "string", + "example": "9e21e19f42862a3b26cd7aae135a3f74" + } } } } @@ -2251,306 +2620,205 @@ }, "type": "object" }, - "language": { - "$ref": "#/components/schemas/Language" - }, - "employees": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bEmployee" - } - } - }, - "type": "object" - }, - "B2bOrderEmployee": { - "required": [ - "firstName", - "lastName" - ], - "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "firstName": { - "type": "string" - }, - "lastName": { - "type": "string" + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "parentId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "parentVersionId": { "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "B2bPermission": { - "required": [ - "id", - "name", - "group" - ], - "properties": { - "id": { + "pattern": "^[0-9a-f]{32}$" + }, + "manufacturerId": { + "description": "Unique identity of the manufacturer.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "name": { - "type": "string" + "productManufacturerVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "group": { - "type": "string" + "unitId": { + "description": "Unique identity of the unit.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "dependencies": { - "type": "array", - "items": { - "type": "string" - } + "taxId": { + "description": "Unique identity of tax.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "coverId": { + "description": "Unique identity of a ProductMedia item used as product cover.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "CustomPrice": { - "required": [ - "id", - "productId", - "price" - ], - "properties": { - "id": { + "productMediaVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productId": { + "deliveryTimeId": { + "description": "Unique identity of delivery time.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productVersionId": { + "canonicalProductId": { + "description": "Unique identity of canonical product.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customerId": { + "canonicalProductVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customerGroupId": { + "cmsPageId": { + "description": "Unique identity of CMS page.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "price": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "customer": { - "$ref": "#/components/schemas/Customer" - }, - "customerGroup": { - "$ref": "#/components/schemas/CustomerGroup" - }, - "product": { - "$ref": "#/components/schemas/Product" - } - }, - "type": "object" - }, - "Customer": { - "properties": { - "extensions": { - "properties": { - "specificFeatures": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/customer/ce26601dac0dea138b7295f02b7620a7/specificFeatures" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "customer_specific_features" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "5cfb6fcb7542e25892e1a35cd6a06c54" - } - } - } - }, - "type": "object" - } - }, - "type": "object" - }, - "id": { + "cmsPageVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "groupId": { - "description": "Unique identity of customer group.", + "openGraphMediaId": { + "description": "Media used as Open Graph image for social media sharing.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "salesChannelId": { - "description": "Unique identity of sales channel.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "productNumber": { + "description": "Unique number assigned to individual products. Define rules for automatic assignment of every product creation as per your number range.", + "type": "string" }, - "languageId": { - "description": "Unique identity of language.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "restockTime": { + "description": "The restock time in days indicates how long it will take until a sold out item is back in stock.", + "type": "integer", + "format": "int64" }, - "lastPaymentMethodId": { - "description": "Unique identity of previous payment method.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "active": { + "description": "When boolean value is `true`, the products are available for selection in the storefront for purchase.", + "type": "boolean" }, - "defaultBillingAddressId": { - "description": "Unique identity of default billing address.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "available": { + "description": "Indicates weather the product is available or not.", + "type": "boolean", + "readOnly": true }, - "defaultShippingAddressId": { - "description": "Unique identity of default shipping address.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "isCloseout": { + "description": "When the value is set to true, the product is hidden when sold out.", + "type": "boolean" }, - "customerNumber": { - "description": "Unique number assigned to identity a customer.", - "type": "string" + "availableStock": { + "description": "Indicates the number of products still available. This value results from the stock minus the open orders.", + "type": "integer", + "format": "int64", + "readOnly": true }, - "salutationId": { - "description": "Unique identity of salutation.", + "stock": { + "description": "Indicates the number of products available.", + "type": "integer", + "format": "int64" + }, + "displayGroup": { + "description": "Runtime field, cannot be used as part of the criteria.", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "readOnly": true }, - "firstName": { - "description": "First name of the customer.", + "manufacturerNumber": { + "description": "Unique number that describes the manufacturer.", "type": "string" }, - "lastName": { - "description": "Last name of the customer.", + "ean": { + "description": "Indicates EAN of the product.", "type": "string" }, - "email": { - "description": "Email ID of the customer.", - "type": "string" + "purchaseSteps": { + "description": "Specifies the scales in which the item is to be offered. For example, a scale of 2 means that your customers can purchase 2, 4, 6 products, etc., but not 1, 3 or 5.", + "type": "integer", + "format": "int64" }, - "title": { - "description": "Titles or honorifics like Mr, Mrs, etc.", - "type": "string" + "maxPurchase": { + "description": "Maximum number of items that can be purchased.", + "type": "integer", + "format": "int64" }, - "affiliateCode": { - "description": "An affiliate code is an identification option with which website operators can mark outgoing links.", - "type": "string" + "minPurchase": { + "description": "Minimum number of items that can be purchased.", + "type": "integer", + "format": "int64" }, - "campaignCode": { - "description": "A campaign code is the globally unique identifier for a campaign.", - "type": "string" + "purchaseUnit": { + "description": "Quantity of the item purchased. For example, 500ml, 2kg, etc.", + "type": "number", + "format": "float" }, - "active": { - "description": "To keep the status of the customer active, the boolean value is set to `true`.", - "type": "boolean" + "referenceUnit": { + "description": "Price of purchased item calculated as per the reference unit. Say, you bought 500ml of milk and the price is calculated in reference to 1000ml.", + "type": "number", + "format": "float" }, - "doubleOptInRegistration": { - "description": "Set to `true` to allow user subscriptions to an email marketing list.", + "shippingFree": { + "description": "Indicates weather the shipping price is free or not.", "type": "boolean" }, - "doubleOptInEmailSentDate": { - "description": "Date and time when the double opt-in email was sent.", - "type": "string", - "format": "date-time" + "markAsTopseller": { + "description": "Indicates weather the product is top seller or not.", + "type": "boolean" }, - "doubleOptInConfirmDate": { - "description": "Date and time when the double opt-in email was confirmed.", - "type": "string", - "format": "date-time" + "weight": { + "description": "The weight of the product.", + "type": "number", + "format": "float" }, - "hash": { - "description": "Customer registration double opt-in hash for confirming the customer account.", - "type": "string" + "width": { + "description": "The width of the product.", + "type": "number", + "format": "float" }, - "guest": { - "description": "Boolean value is `true` if it is to be a guest account.", - "type": "boolean" + "height": { + "description": "The height of the product.", + "type": "number", + "format": "float" }, - "firstLogin": { - "description": "To capture date and time of customer's first login.", - "type": "string", - "format": "date-time" + "length": { + "description": "The length of the product.", + "type": "number", + "format": "float" }, - "lastLogin": { - "description": "To capture date and time of customer's last login.", + "releaseDate": { + "description": "The release date of a product or product model. This can be used to distinguish the exact variant of a product.", "type": "string", "format": "date-time" }, - "birthday": { - "description": "To capture customer's birthday details.", - "type": "string" - }, - "lastOrderDate": { - "description": "Captures last order date.", - "type": "string", - "format": "date-time", - "readOnly": true - }, - "orderCount": { - "description": "Captures the number of orders placed.", - "type": "integer", - "format": "int64", - "readOnly": true - }, - "orderTotalAmount": { - "description": "Sum of total amount to be paid.", + "ratingAverage": { + "description": "Average of all the ratings.", "type": "number", "format": "float", "readOnly": true }, - "reviewCount": { - "description": "Number of reviews the customer has given.", - "type": "integer", - "format": "int64", + "categoryTree": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, "readOnly": true }, - "customFields": { - "type": "object" + "propertyIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "readOnly": true }, - "tagIds": { + "optionIds": { "type": "array", "items": { "type": "string", @@ -2558,391 +2826,390 @@ }, "readOnly": true }, - "requestedGroupId": { - "description": "Unique identity of requested group.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "streamIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "readOnly": true }, - "createdById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "tagIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "readOnly": true }, - "updatedById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "categoryIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "readOnly": true }, - "createdAt": { - "type": "string", - "format": "date-time", + "childCount": { + "type": "integer", + "format": "int64", "readOnly": true }, - "updatedAt": { - "type": "string", - "format": "date-time", + "sales": { + "description": "Frequency of the product sales.", + "type": "integer", + "format": "int64", "readOnly": true }, - "group": { - "$ref": "#/components/schemas/CustomerGroup", - "description": "Customer group determining pricing and permissions" + "metaDescription": { + "type": "string" }, - "language": { - "$ref": "#/components/schemas/Language", - "description": "Preferred language for customer communication" + "name": { + "type": "string" }, - "lastPaymentMethod": { - "$ref": "#/components/schemas/PaymentMethod", - "description": "Last used payment method by the customer" + "keywords": { + "type": "string" }, - "defaultBillingAddress": { - "$ref": "#/components/schemas/CustomerAddress", - "description": "Default billing address for the customer" + "description": { + "type": "string" }, - "activeBillingAddress": { - "$ref": "#/components/schemas/CustomerAddress", - "description": "Currently active billing address in the session" + "descriptionTeaser": { + "description": "Read-only, HTML-stripped excerpt of the description, derived on write.", + "type": "string", + "readOnly": true }, - "defaultShippingAddress": { - "$ref": "#/components/schemas/CustomerAddress", - "description": "Default shipping address for the customer" + "metaTitle": { + "type": "string" }, - "activeShippingAddress": { - "$ref": "#/components/schemas/CustomerAddress", - "description": "Currently active shipping address in the session" + "packUnit": { + "type": "string" }, - "salutation": { - "$ref": "#/components/schemas/Salutation", - "description": "Customer salutation (e.g., Mr., Mrs., Ms.)" + "packUnitPlural": { + "type": "string" }, - "addresses": { - "description": "All addresses saved for the customer", + "customFields": { + "type": "object" + }, + "ogTitle": { + "type": "string" + }, + "ogDescription": { + "type": "string" + }, + "type": { + "description": "The type of the product, e.g., physical or digital.", + "type": "string", + "enum": [ + "physical", + "digital" + ] + }, + "states": { "type": "array", "items": { - "$ref": "#/components/schemas/CustomerAddress" - } + "type": "string" + }, + "readOnly": true, + "deprecated": true }, - "tags": { - "description": "Tags assigned to the customer for organization and segmentation", + "calculatedPrice": { + "type": "object", + "$ref": "#/components/schemas/CalculatedPrice" + }, + "calculatedPrices": { "type": "array", "items": { - "$ref": "#/components/schemas/Tag" + "type": "object", + "additionalProperties": false, + "allOf": [ + { + "$ref": "#/components/schemas/CalculatedPrice" + } + ] } }, - "apiAlias": { - "type": "string", - "const": "customer" - } - }, - "type": "object", - "description": "Added since version: 6.0.0.0", - "required": [ - "apiAlias", - "activeBillingAddress", - "activeShippingAddress", - "id", - "groupId", - "salesChannelId", - "languageId", - "defaultBillingAddressId", - "defaultShippingAddressId", - "customerNumber", - "firstName", - "lastName", - "email" - ], - "oneOf": [ - { - "required": [ - "accountType" - ], - "properties": { - "accountType": { - "type": "string", - "enum": [ - "private" - ] - } - } + "calculatedMaxPurchase": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "integer", + "format": "int64" }, - { - "required": [ - "accountType", - "vatIds", - "company" - ], + "calculatedCheapestPrice": { + "type": "object", "properties": { - "accountType": { - "type": "string", - "enum": [ - "business" + "unitPrice": { + "type": "number" + }, + "quantity": { + "type": "number" + }, + "totalPrice": { + "type": "number" + }, + "referencePrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/ReferencePrice" + }, + { + "type": "null" + } ] }, - "vatIds": { - "type": "array", - "items": { - "type": "string" - }, - "minItems": 1 + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/ListPrice" + }, + { + "type": "null" + } + ] }, - "company": { - "type": "string" - } - } - } - ] - }, - "CustomerAddress": { - "properties": { - "extensions": { - "properties": { - "organizationCustomerAddresses": { - "properties": { - "links": { + "regulationPrice": { + "oneOf": [ + { "type": "object", "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/customer-address/1b4b031005f93d02d887e7d66efb653b/organizationCustomerAddresses" + "price": { + "type": "number" } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_organization_customer_address" - }, - "id": { - "type": "string", - "example": "ada6a19a929bea8dbec29edb3d68df58" - } - } - } - } - }, - "type": "object" - }, - "shippingOrganizations": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/customer-address/1b4b031005f93d02d887e7d66efb653b/shippingOrganizations" - } - } + }, + "required": [ + "price" + ] }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_organization" - }, - "id": { - "type": "string", - "example": "91f4ddd1dd77c56814febc8cdb355696" - } - } - } + { + "type": "null" } - }, - "type": "object" + ] }, - "billingOrganizations": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/customer-address/1b4b031005f93d02d887e7d66efb653b/billingOrganizations" - } - } + "hasRange": { + "type": "boolean" + }, + "variantId": { + "oneOf": [ + { + "type": "string", + "format": "" }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_organization" - }, - "id": { - "type": "string", - "example": "aff42a9b805cb256b5fa77d84c3fa8a9" - } - } - } + { + "type": "null" } - }, - "type": "object" + ] + }, + "apiAlias": { + "type": "string", + "const": "calculated_cheapest_price" } - }, - "type": "object" + } }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "isNew": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "boolean" }, - "customerId": { - "description": "Unique identity of customer.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "sortedProperties": { + "type": "object" }, - "countryId": { - "description": "Unique identity of country.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "measurements": { + "type": "object", + "$ref": "#/components/schemas/ProductMeasurements" }, - "countryStateId": { - "description": "Unique identity of country's state.", + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "salutationId": { - "description": "Unique identity of salutation.", + "updatedAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "firstName": { - "description": "First name of the customer.", - "type": "string" + "translated": { + "type": "object" }, - "lastName": { - "description": "Last name of the customer.", - "type": "string" + "downloads": { + "description": "Downloadable files associated with the product (e.g., manuals, digital content)", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductDownload" + } }, - "zipcode": { - "description": "Postal or zip code of customer's address.", - "type": "string" + "parent": { + "$ref": "#/components/schemas/Product", + "description": "Unique identity of the product." }, - "city": { - "description": "Name of customer's city.", - "type": "string" + "children": { + "description": "Product variants that inherit from this parent product", + "type": "array", + "items": { + "$ref": "#/components/schemas/Product" + } }, - "company": { - "description": "Name of customer's company.", - "type": "string" + "deliveryTime": { + "$ref": "#/components/schemas/DeliveryTime", + "description": "Estimated delivery time for the product" }, - "street": { - "description": "Name of customer's street.", - "type": "string" + "tax": { + "$ref": "#/components/schemas/Tax", + "description": "Tax configuration (rate and calculation rules)" }, - "department": { - "description": "Name of customer's department.", - "type": "string" + "manufacturer": { + "$ref": "#/components/schemas/ProductManufacturer", + "description": "Product manufacturer or brand information" }, - "title": { - "description": "Titles given to customer like Dr. , Prof., etc", - "type": "string" + "unit": { + "$ref": "#/components/schemas/Unit", + "description": "Product unit of measure (e.g., piece, liter, kg)" }, - "phoneNumber": { - "description": "Customer's phone number.", - "type": "string" + "cover": { + "$ref": "#/components/schemas/ProductMedia", + "description": "Main product image displayed in listings and detail pages" }, - "additionalAddressLine1": { - "description": "Additional customer's address information.", - "type": "string" + "openGraphMedia": { + "$ref": "#/components/schemas/Media", + "description": "Open Graph image for social media sharing" }, - "additionalAddressLine2": { - "description": "Additional customer's address information.", - "type": "string" + "cmsPage": { + "$ref": "#/components/schemas/CmsPage", + "description": "Custom CMS page layout for the product detail page" }, - "hash": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "string" + "canonicalProduct": { + "$ref": "#/components/schemas/Product", + "description": "Canonical product reference for variant consolidation and SEO purposes" }, - "customFields": { - "type": "object" + "media": { + "description": "Product images and media gallery", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductMedia" + } }, - "isDefaultBillingAddress": { - "description": "Added since version: 6.7.7.0. Runtime field, cannot be used as part of the criteria.", - "type": "boolean" + "crossSellings": { + "description": "Cross-selling configurations (related products, accessories, similar items)", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductCrossSelling" + } }, - "isDefaultShippingAddress": { - "description": "Added since version: 6.7.7.0. Runtime field, cannot be used as part of the criteria.", - "type": "boolean" + "configuratorSettings": { + "description": "Variant configurator settings defining available options for product variants", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductConfiguratorSetting" + } }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "productReviews": { + "description": "Customer reviews and ratings for the product", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductReview" + } }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "mainCategories": { + "description": "Primary category assignments per sales channel for SEO and navigation", + "type": "array", + "items": { + "$ref": "#/components/schemas/MainCategory" + } }, - "country": { - "$ref": "#/components/schemas/Country" + "seoUrls": { + "description": "SEO-friendly URLs for the product across different sales channels", + "type": "array", + "items": { + "$ref": "#/components/schemas/SeoUrl" + } }, - "countryState": { - "$ref": "#/components/schemas/CountryState" + "options": { + "description": "Product variant options (e.g., size, color) that define different variants", + "type": "array", + "items": { + "$ref": "#/components/schemas/PropertyGroupOption" + } }, - "salutation": { - "$ref": "#/components/schemas/Salutation" - } - }, - "type": "object", - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "customerId", - "countryId", - "firstName", - "lastName", - "city", - "street" - ] - }, - "CustomerSpecificFeatures": { - "required": [ - "customerId", - "features" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "properties": { + "description": "Product properties and characteristics for filtering", + "type": "array", + "items": { + "$ref": "#/components/schemas/PropertyGroupOption" + } }, - "customerId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "categories": { + "description": "Categories this product is assigned to", + "type": "array", + "items": { + "$ref": "#/components/schemas/Category" + } }, - "features": { - "type": "object" + "streams": { + "description": "Dynamic product streams this product belongs to based on defined filters", + "type": "array", + "items": { + "$ref": "#/components/schemas/ProductStream" + } }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "categoriesRo": { + "description": "Read-only category tree including all parent categories for optimized queries", + "type": "array", + "items": { + "$ref": "#/components/schemas/Category" + } }, - "updatedAt": { + "tags": { + "description": "Tags for organizing and filtering products", + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" + } + }, + "seoCategory": { + "$ref": "#/components/schemas/Category", + "description": "Main category used for SEO URL generation in the current sales channel" + }, + "apiAlias": { "type": "string", - "format": "date-time", - "readOnly": true + "const": "product" }, - "customer": { - "$ref": "#/components/schemas/Customer" + "variantListingConfig": { + "oneOf": [ + { + "type": "object", + "properties": { + "displayParent": { + "type": "boolean" + } + } + }, + { + "type": "null" + } + ] } }, - "type": "object" + "type": "object", + "description": "Represents a product along with detailed information required to display a variant selection.", + "required": [ + "apiAlias", + "calculatedPrice", + "calculatedPrices", + "seoCategory", + "type", + "translated", + "id", + "taxId", + "productNumber", + "stock", + "name" + ] }, - "Media": { + "Quote": { "properties": { "extensions": { "properties": { - "mediaAiTag": { + "organizationId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "organization": { "properties": { "links": { "type": "object", @@ -2950,7 +3217,7 @@ "related": { "type": "string", "format": "uri-reference", - "example": "/media/3b563524fdb17b4a86590470d40bef74/mediaAiTag" + "example": "/quote/c48e929b2b1eabba2ba036884433345e/organization" } } }, @@ -2959,12 +3226,12 @@ "properties": { "type": { "type": "string", - "example": "media_ai_tag" + "example": "b2b_components_organization" }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$", - "example": "3c88197809d464216a8c40a8db191b38" + "example": "b4c1948c087fafc89a88450fcbb64c77" } } } @@ -2978,124 +3245,217 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "mimeType": { - "description": "A string sent along with a file indicating the type of the file. For example: image/jpeg.", - "type": "string" - }, - "fileExtension": { - "description": "Type of file indication. For example: jpeg, png.", - "type": "string" - }, - "uploadedAt": { - "description": "Date and time at which media was added.", + "versionId": { "type": "string", - "format": "date-time", - "readOnly": true - }, - "fileName": { - "description": "Name of the media file uploaded.", - "type": "string" + "pattern": "^[0-9a-f]{32}$" }, - "fileSize": { - "description": "Size of the file media file uploaded.", - "type": "integer", - "format": "int64", - "readOnly": true + "stateId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "metaData": { - "type": "object", - "readOnly": true, + "displayState": { "properties": { - "height": { - "type": "integer", - "format": "int64" + "storefrontState": { + "type": "string" }, - "width": { - "type": "integer", - "format": "int64" + "adminState": { + "type": "string" } - } - }, - "config": { + }, "type": "object" }, - "alt": { - "type": "string" + "userId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "title": { - "type": "string" + "currencyId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "url": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "string" + "languageId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "path": { - "type": "string" + "salesChannelId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "hasFile": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "boolean" + "createdById": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "private": { - "description": "When `true`, the media display is kept private.", - "type": "boolean" + "updatedById": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "customFields": { - "type": "object" + "customerId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "orderId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "orderVersionId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "translated": { - "type": "object" + "quoteNumber": { + "type": "string" }, - "thumbnails": { - "description": "Generated thumbnail images in various sizes", - "type": "array", - "items": { - "$ref": "#/components/schemas/MediaThumbnail" - } + "expirationDate": { + "type": "string", + "format": "date-time" }, - "apiAlias": { + "sentAt": { "type": "string", - "const": "media" - } - }, - "type": "object", - "description": "Added since version: 6.0.0.0", - "required": [ - "apiAlias", - "fileExtension", - "fileName", - "hasFile", - "path", - "private", - "url", - "id" - ] - }, - "MediaAiTag": { - "required": [ - "id" - ], - "properties": { - "id": { + "format": "date-time" + }, + "quoteCreatedAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time" }, - "tags": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false - } + "requestedAt": { + "type": "string", + "format": "date-time" + }, + "price": { + "required": [ + "netPrice", + "totalPrice", + "positionPrice", + "rawTotal", + "taxStatus" + ], + "properties": { + "netPrice": { + "type": "number", + "format": "float" + }, + "totalPrice": { + "type": "number", + "format": "float" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "positionPrice": { + "type": "number", + "format": "float" + }, + "rawTotal": { + "type": "number", + "format": "float" + }, + "taxStatus": { + "type": "string" + } + }, + "type": "object" + }, + "shippingCosts": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], + "properties": { + "unitPrice": { + "type": "number", + "format": "float" + }, + "totalPrice": { + "type": "number", + "format": "float" + }, + "quantity": { + "type": "integer", + "format": "int64" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "referencePrice": { + "type": "object" + }, + "listPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + }, + "discount": { + "type": "number", + "format": "float" + }, + "percentage": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "discount": { + "properties": { + "type": { + "type": "string" + }, + "value": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "taxStatus": { + "type": "string", + "readOnly": true + }, + "amountTotal": { + "type": "number", + "format": "float", + "readOnly": true + }, + "amountNet": { + "type": "number", + "format": "float", + "readOnly": true + }, + "subtotalNet": { + "type": "number", + "format": "float" + }, + "totalDiscount": { + "type": "number", + "format": "float" + }, + "totalLineItemDiscount": { + "type": "number", + "format": "float" + }, + "customFields": { + "type": "object" + }, + "sendNotification": { + "type": "boolean" }, "createdAt": { "type": "string", @@ -3107,24 +3467,98 @@ "format": "date-time", "readOnly": true }, - "translated": { - "type": "object" + "stateMachineState": { + "$ref": "#/components/schemas/StateMachineState" }, - "media": { - "$ref": "#/components/schemas/Media" + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "language": { + "$ref": "#/components/schemas/Language" + }, + "notificationRecipients": { + "type": "array", + "items": { + "type": "object", + "description": "Admin user reference returned on commercial associations.", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "createdAt": { + "type": "string", + "format": "date-time" + }, + "updatedAt": { + "type": [ + "string", + "null" + ], + "format": "date-time" + } + } + } + }, + "notificationEmployees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bEmployee" + } + }, + "lineItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteLineItem" + } + }, + "deliveries": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteDelivery" + } + }, + "transactions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteTransaction" + } + }, + "comments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteComment" + } + }, + "documents": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteDocument" + } + }, + "histories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteHistory" + } } }, - "type": "object" + "type": "object", + "description": "Added since version: 6.5.3.0", + "required": [ + "id", + "stateId", + "currencyId", + "languageId", + "salesChannelId", + "customerId" + ] }, - "Order": { + "Rule": { "properties": { "extensions": { "properties": { - "subscriptionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "subscription": { + "warehouseGroup": { "properties": { "links": { "type": "object", @@ -3132,98 +3566,7 @@ "related": { "type": "string", "format": "uri-reference", - "example": "/order/a240fa27925a635b08dc28c9e4f9216d/subscription" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "subscription" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "b48b13e73a6ac2a86dc54425dd24d9ff" - } - } - } - }, - "type": "object" - }, - "initialSubscriptions": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/order/a240fa27925a635b08dc28c9e4f9216d/initialSubscriptions" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "subscription" - }, - "id": { - "type": "string", - "example": "3b40c275cdd1f84402bcef5be1651f64" - } - } - } - } - }, - "type": "object" - }, - "returns": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/order/a240fa27925a635b08dc28c9e4f9216d/returns" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "order_return" - }, - "id": { - "type": "string", - "example": "7fff84525c6516919851a9005373f87e" - } - } - } - } - }, - "type": "object" - }, - "orderEmployee": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/order/a240fa27925a635b08dc28c9e4f9216d/orderEmployee" + "example": "/rule/ab7a485ebe75b6dd7243ad719f23c7de/warehouseGroup" } } }, @@ -3234,52 +3577,58 @@ "properties": { "type": { "type": "string", - "example": "b2b_order_employee" + "example": "warehouse_group" }, "id": { "type": "string", - "example": "5ea451c08a87db806089c4031601c29a" + "example": "1768e3071b62161d415e0c24332055ed" } } } } }, "type": "object" - }, - "quote": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/order/a240fa27925a635b08dc28c9e4f9216d/quote" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "quote" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "7a674c327bfa07f7c1204fb38ca6ef3b" - } - } - } - }, - "type": "object" - }, - "organizationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "organization": { + } + }, + "type": "object" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "name": { + "description": "Name of the rule defined.", + "type": "string" + }, + "description": { + "description": "Description of the rule.", + "type": "string" + }, + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object", + "description": "Added since version: 6.0.0.0", + "required": [ + "name" + ] + }, + "Subscription": { + "properties": { + "extensions": { + "properties": { + "subscriptionEmployee": { "properties": { "links": { "type": "object", @@ -3287,7 +3636,7 @@ "related": { "type": "string", "format": "uri-reference", - "example": "/order/a240fa27925a635b08dc28c9e4f9216d/organization" + "example": "/subscription/787ad0b7a17de4ad6b1711bbf8d79fcb/subscriptionEmployee" } } }, @@ -3296,23 +3645,19 @@ "properties": { "type": { "type": "string", - "example": "b2b_components_organization" + "example": "b2b_components_subscription_employee" }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$", - "example": "b4c1948c087fafc89a88450fcbb64c77" + "example": "a4844d7989267e34103e44248b16cf6c" } } } }, "type": "object" }, - "budgetId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "budget": { + "subscriptionBudget": { "properties": { "links": { "type": "object", @@ -3320,7 +3665,7 @@ "related": { "type": "string", "format": "uri-reference", - "example": "/order/a240fa27925a635b08dc28c9e4f9216d/budget" + "example": "/subscription/787ad0b7a17de4ad6b1711bbf8d79fcb/subscriptionBudget" } } }, @@ -3329,12 +3674,12 @@ "properties": { "type": { "type": "string", - "example": "b2b_components_budget" + "example": "b2b_components_subscription_budget" }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$", - "example": "2f212049ce79d2b949fd242043004288" + "example": "6b2732717e6360e8eccfd947596f4e64" } } } @@ -3348,232 +3693,91 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "convertedOrder": { + "type": "object" }, - "orderNumber": { - "description": "Unique number associated with every order.", + "subscriptionNumber": { "type": "string" }, - "billingAddressId": { - "description": "Unique identity of the billing address.", + "nextSchedule": { + "type": "string", + "format": "date-time" + }, + "followingNextSchedule": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "string", + "format": "date-time" + }, + "salesChannelId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "billingAddressVersionId": { + "subscriptionPlanId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "primaryOrderDeliveryId": { + "subscriptionPlanName": { + "type": "string" + }, + "subscriptionIntervalId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "primaryOrderDeliveryVersionId": { + "subscriptionIntervalName": { + "type": "string" + }, + "dateInterval": { + "type": "string" + }, + "cronInterval": { + "type": "string" + }, + "initialExecutionCount": { + "type": "integer", + "format": "int64" + }, + "remainingExecutionCount": { + "type": "integer", + "format": "int64" + }, + "billingAddressId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "primaryOrderTransactionId": { + "shippingAddressId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "primaryOrderTransactionVersionId": { + "shippingMethodId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "paymentMethodId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, "currencyId": { - "description": "Unique identity of the currency.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, "languageId": { - "description": "Unique identity of the language.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "salesChannelId": { - "description": "Unique identity of the sales channel.", + "initialOrderId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderDateTime": { - "description": "Timestamp when the order was placed.", + "initialOrderVersionId": { "type": "string", - "format": "date-time" + "pattern": "^[0-9a-f]{32}$" }, - "orderDate": { - "description": "Date when the order was placed.", + "customFields": { + "type": "object" + }, + "createdAt": { "type": "string", - "readOnly": true - }, - "price": { - "required": [ - "netPrice", - "totalPrice", - "positionPrice", - "rawTotal", - "taxStatus" - ], - "properties": { - "netPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "positionPrice": { - "type": "number", - "format": "float" - }, - "rawTotal": { - "type": "number", - "format": "float" - }, - "taxStatus": { - "type": "string" - } - }, - "type": "object", - "$ref": "#/components/schemas/CalculatedPrice" - }, - "amountTotal": { - "description": "Gross price of the order.", - "type": "number", - "format": "float", - "readOnly": true - }, - "amountNet": { - "description": "Net price of the order.", - "type": "number", - "format": "float", - "readOnly": true - }, - "positionPrice": { - "description": "Price of each line item in the cart multiplied by its quantity excluding charges like shipping cost, rules, taxes etc.", - "type": "number", - "format": "float", - "readOnly": true - }, - "taxStatus": { - "description": "TaxStatus takes `Free`, `Net` or `Gross` as values.", - "type": "string", - "readOnly": true - }, - "shippingCosts": { - "required": [ - "unitPrice", - "totalPrice", - "quantity" - ], - "properties": { - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "referencePrice": { - "type": "object" - }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "shippingTotal": { - "description": "Total shipping cost of the ordered product.", - "type": "number", - "format": "float", - "readOnly": true - }, - "currencyFactor": { - "description": "Rate at which currency is exchanged.", - "type": "number", - "format": "float" - }, - "deepLinkCode": { - "description": "It is a generated special code linked to email. It is used to access orders placed by guest customers.", - "type": "string" - }, - "affiliateCode": { - "description": "An affiliate code is an identification option with which website operators can mark outgoing links.", - "type": "string" - }, - "campaignCode": { - "description": "A campaign code is the globally unique identifier for a campaign.", - "type": "string" - }, - "customerComment": { - "description": "Comments given by comments.", - "type": "string" - }, - "source": { - "description": "Source of orders either via normal order placement or subscriptions.", - "type": "string" - }, - "taxCalculationType": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdById": { - "description": "Unique identity of createdBy.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "updatedById": { - "description": "Unique identity of updatedBy.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", + "format": "date-time", "readOnly": true }, "updatedAt": { @@ -3581,379 +3785,296 @@ "format": "date-time", "readOnly": true }, - "stateMachineState": { - "$ref": "#/components/schemas/StateMachineState", - "description": "Current order state (e.g., open, in_progress, completed, cancelled)" - }, - "primaryOrderDelivery": { - "$ref": "#/components/schemas/OrderDelivery", - "description": "Primary delivery information for the order" + "subscriptionPlan": { + "$ref": "#/components/schemas/SubscriptionPlan" }, - "primaryOrderTransaction": { - "$ref": "#/components/schemas/OrderTransaction", - "description": "Primary payment transaction for the order" + "subscriptionInterval": { + "$ref": "#/components/schemas/SubscriptionInterval" }, - "orderCustomer": { - "$ref": "#/components/schemas/OrderCustomer", - "description": "Customer information associated with the order" + "subscriptionCustomer": { + "$ref": "#/components/schemas/SubscriptionCustomer" }, - "currency": { - "$ref": "#/components/schemas/Currency", - "description": "Currency used for the order" + "billingAddress": { + "$ref": "#/components/schemas/SubscriptionAddress" }, - "language": { - "$ref": "#/components/schemas/Language", - "description": "Language used when placing the order" + "shippingAddress": { + "$ref": "#/components/schemas/SubscriptionAddress" }, "addresses": { - "description": "All addresses associated with the order (billing and shipping)", "type": "array", "items": { - "$ref": "#/components/schemas/OrderAddress" + "$ref": "#/components/schemas/SubscriptionAddress" } }, - "billingAddress": { - "$ref": "#/components/schemas/OrderAddress", - "description": "Billing address for the order" - }, - "deliveries": { - "description": "Delivery information including shipping address and tracking", - "type": "array", - "items": { - "$ref": "#/components/schemas/OrderDelivery" - } + "paymentMethod": { + "$ref": "#/components/schemas/PaymentMethod" }, - "lineItems": { - "description": "Order line items (products, discounts, fees)", - "type": "array", - "items": { - "$ref": "#/components/schemas/OrderLineItem" - } + "shippingMethod": { + "$ref": "#/components/schemas/ShippingMethod" }, - "transactions": { - "description": "Payment transactions for the order", - "type": "array", - "items": { - "$ref": "#/components/schemas/OrderTransaction" - } + "stateMachineState": { + "$ref": "#/components/schemas/StateMachineState" }, - "documents": { - "description": "Generated documents (invoices, delivery notes, credit notes)", + "orders": { "type": "array", "items": { - "$ref": "#/components/schemas/Document" + "$ref": "#/components/schemas/Order" } }, "tags": { - "description": "Tags assigned to the order for organization and filtering", "type": "array", "items": { "$ref": "#/components/schemas/Tag" } + }, + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "language": { + "$ref": "#/components/schemas/Language" + }, + "initialOrder": { + "$ref": "#/components/schemas/Order" } }, "type": "object", - "description": "Added since version: 6.0.0.0", "required": [ - "documents", - "orderDate", - "stateMachineState", - "price", "id", - "billingAddressId", - "currencyId", - "languageId", + "convertedOrder", + "subscriptionNumber", + "nextSchedule", + "followingNextSchedule", "salesChannelId", - "orderDateTime", - "currencyFactor" + "subscriptionPlanName", + "subscriptionIntervalName", + "dateInterval", + "cronInterval", + "billingAddressId", + "shippingAddressId", + "shippingMethodId", + "paymentMethodId", + "currencyId", + "languageId" ] }, - "OrderLineItem": { + "User": { + "description": "Added since version: 6.0.0.0", "properties": { - "extensions": { - "properties": { - "returns": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/order-line-item/40b401ac0b29ac5c5c8ffce649fdef62/returns" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "order_return_line_item" - }, - "id": { - "type": "string", - "example": "7fff84525c6516919851a9005373f87e" - } - } - } - } - }, - "type": "object" - }, - "stateId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "state": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/order-line-item/40b401ac0b29ac5c5c8ffce649fdef62/state" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "state_machine_state" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "9ed39e2ea931586b6a985a6942ef573e" - } - } - } - }, - "type": "object" - } - }, - "type": "object" - }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "orderId": { - "description": "Unique identity of order.", + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "NaturalLanguageSearchTermResponse": { + "type": "array", + "items": { + "type": "object", + "required": [ + "term", + "reason", + "apiAlias" + ], + "properties": { + "term": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "apiAlias": { + "type": "string", + "enum": [ + "product_natural_language_search_term" + ] + } + } + } + }, + "SearchByImageSearchTermResponse": { + "type": "array", + "items": { + "type": "object", + "required": [ + "term", + "apiAlias" + ], + "properties": { + "term": { + "type": "string" + }, + "apiAlias": { + "type": "string", + "enum": [ + "product_image_upload_search_term" + ] + }, + "extensions": { + "type": "array", + "items": { + "type": "object" + } + } + } + } + }, + "AdvancedSearchAction": { + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderVersionId": { + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "productId": { - "description": "Unique identity of product.", + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "AdvancedSearchActionSearchTerm": { + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productVersionId": { + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "promotionId": { - "description": "Unique identity of product.", + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "AdvancedSearchBoosting": { + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "parentId": { + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "parentVersionId": { + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "AdvancedSearchCompoundDictionary": { + "required": [ + "id", + "languageId" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "coverId": { - "description": "Unique identity of cover image.", + "languageId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "identifier": { - "description": "It is a unique identity of an item in cart before its converted to an order.", - "type": "string" - }, - "referencedId": { - "description": "Unique identity of type of entity.", - "type": "string" + "wordList": { + "type": "array", + "items": { + "type": "string" + } }, - "quantity": { - "description": "Number of items of product.", + "minSubwordSize": { "type": "integer", "format": "int64" }, - "label": { - "description": "It is a typical product name given to the line item.", - "type": "string" + "onlyLongestMatch": { + "type": "boolean" }, - "payload": { - "type": "object", + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "AdvancedSearchConfig": { + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "hitCount": { "properties": { - "categoryIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "product": { + "properties": { + "maxSuggestCount": { + "type": "integer", + "format": "int64" + }, + "maxSearchCount": { + "type": "integer", + "format": "int64" + } }, - "readOnly": true - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "customFields": { "type": "object" }, - "features": { - "type": "array" - }, - "isCloseout": { - "type": "boolean" - }, - "isNew": { - "type": "boolean" - }, - "manufacturerId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "markAsTopseller": { - "type": "boolean" - }, - "optionIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true - }, - "options": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PropertyGroupOption" - } - }, - "parentId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productNumber": { - "type": "string" - }, - "propertyIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true - }, - "releaseDate": { - "type": "string", - "format": "date-time" - }, - "stock": { - "type": "integer", - "format": "int64" - }, - "streamIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "product_manufacturer": { + "properties": { + "maxSuggestCount": { + "type": "integer", + "format": "int64" + }, + "maxSearchCount": { + "type": "integer", + "format": "int64" + } }, - "readOnly": true + "type": "object" }, - "tagIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "category": { + "properties": { + "maxSuggestCount": { + "type": "integer", + "format": "int64" + }, + "maxSearchCount": { + "type": "integer", + "format": "int64" + } }, - "readOnly": true - }, - "taxId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productType": { - "$ref": "#/components/schemas/Product/properties/type" + "type": "object" } - } - }, - "good": { - "description": "When set to true, it indicates the line item is physical else it is virtual.", - "type": "boolean" - }, - "removable": { - "description": "Allows the line item to be removable from the cart when set to true.", - "type": "boolean" - }, - "stackable": { - "description": "Allows to change the quantity of the line item when set to true.", - "type": "boolean" - }, - "position": { - "description": "Position of line items placed in an order.", - "type": "integer", - "format": "int64" - }, - "priceDefinition": { - "type": "object", - "$ref": "#/components/schemas/CartPriceQuantity" - }, - "unitPrice": { - "description": "Price of product per item (where, quantity=1).", - "type": "number", - "format": "float" - }, - "totalPrice": { - "description": "Cost of product based on quantity.", - "type": "number", - "format": "float" - }, - "description": { - "description": "Description of line items in an order.", - "type": "string" - }, - "type": { - "description": "Type refers to the entity type of an item whether it is product or promotion for instance.", - "type": "string", - "enum": [ - "product", - "credit", - "custom", - "promotion", - "container", - "discount", - "quantity" - ] - }, - "customFields": { - "type": "object" - }, - "states": { - "type": "array", - "items": { - "type": "string" }, - "deprecated": true + "type": "object" }, "createdAt": { "type": "string", @@ -3964,60 +4085,11 @@ "type": "string", "format": "date-time", "readOnly": true - }, - "cover": { - "$ref": "#/components/schemas/Media", - "description": "Line item image or thumbnail" - }, - "product": { - "$ref": "#/components/schemas/Product", - "description": "Referenced product if this is a product line item" - }, - "orderDeliveryPositions": { - "description": "Delivery positions for this line item", - "type": "array", - "items": { - "$ref": "#/components/schemas/OrderDeliveryPosition" - } - }, - "downloads": { - "description": "Digital downloads associated with this line item", - "type": "array", - "items": { - "$ref": "#/components/schemas/OrderLineItemDownload" - } - }, - "parent": { - "$ref": "#/components/schemas/OrderLineItem" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OrderLineItem" - } - }, - "apiAlias": { - "type": "string", - "const": "order_line_item" - }, - "translated": { - "type": "object" } }, - "type": "object", - "description": "Added since version: 6.0.0.0", - "required": [ - "apiAlias", - "id", - "orderId", - "identifier", - "quantity", - "label", - "children", - "states" - ] + "type": "object" }, - "OrderProductWarehouse": { + "AdvancedSearchConfigField": { "properties": { "id": { "type": "string", @@ -4036,149 +4108,28 @@ }, "type": "object" }, - "OrderReturn": { - "required": [ - "id", - "orderId", - "stateId", - "returnNumber", - "requestedAt" - ], + "AdvancedSearchEntityStream": { "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "orderId": { + "updatedAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "orderVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "price": { - "required": [ - "netPrice", - "totalPrice", - "positionPrice", - "rawTotal", - "taxStatus" - ], - "properties": { - "netPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "positionPrice": { - "type": "number", - "format": "float" - }, - "rawTotal": { - "type": "number", - "format": "float" - }, - "taxStatus": { - "type": "string" - } - }, - "type": "object" - }, - "shippingCosts": { - "required": [ - "unitPrice", - "totalPrice", - "quantity" - ], - "properties": { - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "referencePrice": { - "type": "object" - }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "stateId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "returnNumber": { - "type": "string" - }, - "requestedAt": { - "type": "string", - "format": "date-time" - }, - "amountTotal": { - "type": "number", - "format": "float" - }, - "amountNet": { - "type": "number", - "format": "float" - }, - "createdById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "updatedById": { + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "AdvancedSearchEntityStreamFilter": { + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, @@ -4191,73 +4142,49 @@ "type": "string", "format": "date-time", "readOnly": true - }, - "state": { - "$ref": "#/components/schemas/StateMachineState" - }, - "lineItems": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OrderReturnLineItem" - } } }, "type": "object" }, - "OrderReturnLineItem": { + "AdvancedSearchStopwordDictionary": { "required": [ "id", - "orderReturnId", - "orderLineItemId", - "reasonId", - "quantity", - "stateId" + "languageId" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "orderReturnId": { + "languageId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderReturnVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "stopwords": { + "type": "array", + "items": { + "type": "string" + } }, - "orderLineItemId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "extendsBuiltin": { + "type": "boolean" }, - "orderLineItemVersionId": { + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "reasonId": { + "updatedAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "refundAmount": { - "type": "number", - "format": "float" - }, - "restockQuantity": { - "type": "integer", - "format": "int64" - }, - "customFields": { - "type": "object" - }, - "stateId": { + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "AdvancedSearchSynonym": { + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, @@ -4270,31 +4197,35 @@ "type": "string", "format": "date-time", "readOnly": true - }, - "reason": { - "$ref": "#/components/schemas/OrderReturnLineItemReason" - }, - "state": { - "$ref": "#/components/schemas/StateMachineState" } }, "type": "object" }, - "OrderReturnLineItemReason": { + "B2bComponentsAdvancedProductCatalogs": { + "description": "Added since version: 6.7.1.0", "required": [ "id", - "reasonKey" + "organizationId", + "salesChannelId" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "reasonKey": { - "type": "string" + "autoAddNewCategories": { + "type": "boolean" }, - "content": { - "type": "string" + "organizationId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "salesChannelId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "customFields": { + "type": "object" }, "createdAt": { "type": "string", @@ -4306,450 +4237,363 @@ "format": "date-time", "readOnly": true }, - "translated": { - "type": "object" + "categories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Category" + } } }, "type": "object" }, - "OrderWarehouseGroup": { + "ListCategoryRouteResponse": { + "type": "object", + "properties": { + "categories": { + "$ref": "#/components/schemas/EntitySearchResult" + } + }, + "required": [ + "categories" + ] + }, + "B2bComponentsBudgetNotificationRecipient": { + "description": "Added since version: 6.7.4.0", + "required": [ + "budgetId", + "employeeId" + ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "budgetId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "employeeId": { "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" + "pattern": "^[0-9a-f]{32}$" + }, + "budget": { + "$ref": "#/components/schemas/B2bComponentsBudget" + }, + "employee": { + "$ref": "#/components/schemas/B2bEmployee" + } + }, + "type": "object" }, - "Product": { + "B2bComponentsBudgetOrganization": { + "description": "Added since version: 6.7.4.0", + "required": [ + "budgetId", + "organizationId" + ], "properties": { - "extensions": { - "properties": { - "reviewSummaries": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/product/deb10517653c255364175796ace3553f/reviewSummaries" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "product_review_summary" - }, - "id": { - "type": "string", - "example": "c9c718522e64ffa5effb26cef94f4849" - } - } - } - } - }, - "type": "object" - }, - "bundleItems": { - "description": "Bundle items assigned to this grouped bundle product.", - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/product/deb10517653c255364175796ace3553f/bundleItems" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "bundle_item" - }, - "id": { - "type": "string", - "example": "d7706d2e11bc4878ffb242403ea5b274" - } - } - } - } - }, - "type": "object" - }, - "bundleDiscounts": { - "description": "Discount configurations that belong to this bundle.", - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/product/deb10517653c255364175796ace3553f/bundleDiscounts" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "bundle_discount" - }, - "id": { - "type": "string", - "example": "a79712cce6d0182645b519f6add10f77" - } - } - } - } - }, - "type": "object" - }, - "bundleSalesChannels": { - "description": "Sales channels in which this bundle is available.", - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/product/deb10517653c255364175796ace3553f/bundleSalesChannels" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "sales_channel" - }, - "id": { - "type": "string", - "example": "d4aa52cb00cd89c5e047c6a5c72a0384" - } - } - } - } - }, - "type": "object", - "readOnly": true - }, - "bundleItemsCount": { - "description": "Runtime-only number of bundle items used for storefront display and validation. Runtime field, cannot be used as part of the criteria.", - "type": "integer", - "format": "int64" - }, - "items": { - "description": "Products referenced as bundle items of this bundle.", - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/product/deb10517653c255364175796ace3553f/items" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "product" - }, - "id": { - "type": "string", - "example": "691d502cfd0e0626cd3b058e5682ad1c" - } - } - } - } - }, - "type": "object" - }, - "belongToBundleItems": { - "description": "Reference to the bundle item definition when this product acts as a bundle item.", - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/product/deb10517653c255364175796ace3553f/belongToBundleItems" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "bundle_item" - }, - "id": { - "type": "string", - "example": "db4ef6a91ceb3a70935c07a3617ea4cd" - } - } - } - } - }, - "type": "object" - }, - "bundles": { - "description": "Bundles that include this product as an item.", - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/product/deb10517653c255364175796ace3553f/bundles" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "product" - }, - "id": { - "type": "string", - "example": "9e21e19f42862a3b26cd7aae135a3f74" - } - } - } - } - }, - "type": "object" - } - }, - "type": "object" - }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { + "budgetId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "parentId": { + "organizationId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "parentVersionId": { + "budget": { + "$ref": "#/components/schemas/B2bComponentsBudget" + }, + "organization": { + "$ref": "#/components/schemas/B2bComponentsOrganization" + } + }, + "type": "object" + }, + "B2bComponentsSubscriptionBudget": { + "description": "Added since version: 6.7.0.0", + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "manufacturerId": { - "description": "Unique identity of the manufacturer.", + "subscription": { + "$ref": "#/components/schemas/Subscription" + }, + "budget": { + "$ref": "#/components/schemas/B2bComponentsBudget" + } + }, + "type": "object" + }, + "CustomerSpecificFeatures": { + "required": [ + "customerId", + "features" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productManufacturerVersionId": { + "customerId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "unitId": { - "description": "Unique identity of the unit.", + "features": { + "type": "object" + }, + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "taxId": { - "description": "Unique identity of tax.", + "updatedAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "coverId": { - "description": "Unique identity of a ProductMedia item used as product cover.", + "customer": { + "$ref": "#/components/schemas/Customer" + } + }, + "type": "object" + }, + "B2bBusinessPartner": { + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productMediaVersionId": { + "customFields": { + "type": "object" + }, + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "deliveryTimeId": { - "description": "Unique identity of delivery time.", + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "B2bComponentsRole": { + "required": [ + "id", + "name" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "canonicalProductId": { - "description": "Unique identity of canonical product.", + "name": { + "type": "string" + }, + "permissions": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false + } + }, + "customFields": { + "type": "object" + }, + "default": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "boolean" + }, + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "canonicalProductVersionId": { + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "B2bComponentsSubscriptionEmployee": { + "required": [ + "id", + "subscriptionId", + "employeeId" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "cmsPageId": { - "description": "Unique identity of CMS page.", + "subscriptionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "cmsPageVersionId": { + "employeeId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "openGraphMediaId": { - "description": "Media used as Open Graph image for social media sharing.", + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "employee": { + "$ref": "#/components/schemas/B2bEmployee" + } + }, + "type": "object" + }, + "B2bOrderEmployee": { + "required": [ + "firstName", + "lastName" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productNumber": { - "description": "Unique number assigned to individual products. Define rules for automatic assignment of every product creation as per your number range.", + "firstName": { "type": "string" }, - "restockTime": { - "description": "The restock time in days indicates how long it will take until a sold out item is back in stock.", - "type": "integer", - "format": "int64" + "lastName": { + "type": "string" }, - "active": { - "description": "When boolean value is `true`, the products are available for selection in the storefront for purchase.", - "type": "boolean" + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "available": { - "description": "Indicates weather the product is available or not.", - "type": "boolean", + "updatedAt": { + "type": "string", + "format": "date-time", "readOnly": true + } + }, + "type": "object" + }, + "B2bPermission": { + "required": [ + "id", + "name", + "group" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "isCloseout": { - "description": "When the value is set to true, the product is hidden when sold out.", - "type": "boolean" + "name": { + "type": "string" }, - "availableStock": { - "description": "Indicates the number of products still available. This value results from the stock minus the open orders.", - "type": "integer", - "format": "int64", - "readOnly": true + "group": { + "type": "string" }, - "stock": { - "description": "Indicates the number of products available.", - "type": "integer", - "format": "int64" + "dependencies": { + "type": "array", + "items": { + "type": "string" + } }, - "displayGroup": { - "description": "Runtime field, cannot be used as part of the criteria.", + "createdAt": { "type": "string", + "format": "date-time", "readOnly": true }, - "manufacturerNumber": { - "description": "Unique number that describes the manufacturer.", + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "B2bComponentsIndividualPricing": { + "description": "Added since version: 6.7.8.0", + "required": [ + "id", + "active", + "showStrikeThrough", + "name", + "target", + "priority", + "applyToAllProducts", + "useValidityRange", + "actionType", + "tiers" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "active": { + "type": "boolean" + }, + "showStrikeThrough": { + "type": "boolean" + }, + "name": { "type": "string" }, - "ean": { - "description": "Indicates EAN of the product.", + "target": { "type": "string" }, - "purchaseSteps": { - "description": "Specifies the scales in which the item is to be offered. For example, a scale of 2 means that your customers can purchase 2, 4, 6 products, etc., but not 1, 3 or 5.", - "type": "integer", - "format": "int64" - }, - "maxPurchase": { - "description": "Maximum number of items that can be purchased.", - "type": "integer", - "format": "int64" - }, - "minPurchase": { - "description": "Minimum number of items that can be purchased.", + "priority": { "type": "integer", "format": "int64" }, - "purchaseUnit": { - "description": "Quantity of the item purchased. For example, 500ml, 2kg, etc.", - "type": "number", - "format": "float" + "applyToAllProducts": { + "type": "boolean" }, - "referenceUnit": { - "description": "Price of purchased item calculated as per the reference unit. Say, you bought 500ml of milk and the price is calculated in reference to 1000ml.", - "type": "number", - "format": "float" + "productStreamId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "shippingFree": { - "description": "Indicates weather the shipping price is free or not.", + "useValidityRange": { "type": "boolean" }, - "markAsTopseller": { - "description": "Indicates weather the product is top seller or not.", - "type": "boolean" + "validFrom": { + "type": "string" }, - "weight": { - "description": "The weight of the product.", - "type": "number", - "format": "float" + "validUntil": { + "type": "string" }, - "width": { - "description": "The width of the product.", - "type": "number", - "format": "float" + "description": { + "type": "string" }, - "height": { - "description": "The height of the product.", - "type": "number", - "format": "float" + "actionType": { + "type": "string" }, - "length": { - "description": "The length of the product.", + "actionAmount": { "type": "number", "format": "float" }, - "releaseDate": { - "description": "The release date of a product or product model. This can be used to distinguish the exact variant of a product.", + "createdById": { "type": "string", - "format": "date-time" + "pattern": "^[0-9a-f]{32}$" }, - "ratingAverage": { - "description": "Average of all the ratings.", - "type": "number", - "format": "float", - "readOnly": true + "updatedById": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "categoryTree": { + "tagIds": { "type": "array", "items": { "type": "string", @@ -4757,39 +4601,74 @@ }, "readOnly": true }, - "propertyIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", "readOnly": true }, - "optionIds": { + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "createdBy": { + "$ref": "#/components/schemas/User" + }, + "updatedBy": { + "$ref": "#/components/schemas/User" + }, + "productStream": { + "$ref": "#/components/schemas/ProductStream" + }, + "tiers": { "type": "array", "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true + "$ref": "#/components/schemas/B2bComponentsIndividualPricingTier" + } }, - "streamIds": { + "companyAssignments": { "type": "array", "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true + "$ref": "#/components/schemas/B2bComponentsIndividualPricingCompanyAssignment" + } }, - "tagIds": { + "tags": { "type": "array", "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true + "$ref": "#/components/schemas/Tag" + } + } + }, + "type": "object" + }, + "B2bComponentsIndividualPricingCompanyAssignment": { + "description": "Added since version: 6.7.8.0", + "required": [ + "id", + "individualPricingId", + "customerId", + "scope" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "categoryIds": { + "individualPricingId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "customerId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "scope": { + "type": "string" + }, + "organizationUnitIds": { "type": "array", "items": { "type": "string", @@ -4797,169 +4676,136 @@ }, "readOnly": true }, - "childCount": { - "type": "integer", - "format": "int64", + "createdAt": { + "type": "string", + "format": "date-time", "readOnly": true }, - "sales": { - "description": "Frequency of the product sales.", - "type": "integer", - "format": "int64", + "updatedAt": { + "type": "string", + "format": "date-time", "readOnly": true }, - "metaDescription": { - "type": "string" - }, - "name": { - "type": "string" - }, - "keywords": { - "type": "string" + "individualPricing": { + "$ref": "#/components/schemas/B2bComponentsIndividualPricing" }, - "description": { - "type": "string" + "customer": { + "$ref": "#/components/schemas/Customer" }, - "descriptionTeaser": { - "description": "Read-only, HTML-stripped excerpt of the description, derived on write.", + "units": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsOrganization" + } + } + }, + "type": "object" + }, + "B2bComponentsIndividualPricingCompanyAssignmentUnit": { + "description": "Added since version: 6.7.8.0", + "required": [ + "assignmentId", + "orgUnitId" + ], + "properties": { + "id": { "type": "string", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "metaTitle": { - "type": "string" + "assignmentId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "packUnit": { - "type": "string" + "orgUnitId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "packUnitPlural": { - "type": "string" + "assignment": { + "$ref": "#/components/schemas/B2bComponentsIndividualPricingCompanyAssignment" }, - "customFields": { - "type": "object" + "orgUnit": { + "$ref": "#/components/schemas/B2bComponentsOrganization" + } + }, + "type": "object" + }, + "B2bComponentsIndividualPricingComputedCache": { + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "ogTitle": { - "type": "string" + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "ogDescription": { - "type": "string" + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "B2bComponentsIndividualPricingTag": { + "description": "Added since version: 6.7.8.0", + "required": [ + "individualPricingId", + "tagId" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "type": { - "description": "The type of the product, e.g., physical or digital.", + "individualPricingId": { "type": "string", - "enum": [ - "physical", - "digital" - ] + "pattern": "^[0-9a-f]{32}$" }, - "states": { - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true, - "deprecated": true + "tagId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "calculatedPrice": { - "type": "object", - "$ref": "#/components/schemas/CalculatedPrice" + "individualPricing": { + "$ref": "#/components/schemas/B2bComponentsIndividualPricing" }, - "calculatedPrices": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": false, - "allOf": [ - { - "$ref": "#/components/schemas/CalculatedPrice" - } - ] - } + "tag": { + "$ref": "#/components/schemas/Tag" + } + }, + "type": "object" + }, + "B2bComponentsIndividualPricingTier": { + "description": "Added since version: 6.7.8.0", + "required": [ + "individualPricingId", + "id", + "qtyFrom", + "price" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "calculatedMaxPurchase": { - "description": "Runtime field, cannot be used as part of the criteria.", + "individualPricingId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "qtyFrom": { "type": "integer", "format": "int64" }, - "calculatedCheapestPrice": { - "type": "object", - "properties": { - "unitPrice": { - "type": "number" - }, - "quantity": { - "type": "number" - }, - "totalPrice": { - "type": "number" - }, - "referencePrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/ReferencePrice" - }, - { - "type": "null" - } - ] - }, - "listPrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/ListPrice" - }, - { - "type": "null" - } - ] - }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - } - }, - "required": [ - "price" - ] - }, - { - "type": "null" - } - ] - }, - "hasRange": { - "type": "boolean" - }, - "variantId": { - "oneOf": [ - { - "type": "string", - "format": "" - }, - { - "type": "null" - } - ] - }, - "apiAlias": { - "type": "string", - "const": "calculated_cheapest_price" - } - } - }, - "isNew": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "boolean" - }, - "sortedProperties": { - "type": "object" + "qtyTo": { + "type": "integer", + "format": "int64" }, - "measurements": { - "type": "object", - "$ref": "#/components/schemas/ProductMeasurements" + "price": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Price" + } }, "createdAt": { "type": "string", @@ -4971,207 +4817,156 @@ "format": "date-time", "readOnly": true }, - "translated": { - "type": "object" + "individualPricing": { + "$ref": "#/components/schemas/B2bComponentsIndividualPricing" + } + }, + "type": "object" + }, + "B2bComponentsApprovalRule": { + "description": "Added since version: 6.6.0.0", + "required": [ + "id", + "name", + "priority", + "active", + "conditions" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "downloads": { - "description": "Downloadable files associated with the product (e.g., manuals, digital content)", - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductDownload" - } + "name": { + "type": "string" }, - "parent": { - "$ref": "#/components/schemas/Product", - "description": "Unique identity of the product." + "description": { + "type": "string" }, - "children": { - "description": "Product variants that inherit from this parent product", - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } + "priority": { + "type": "integer", + "format": "int64" }, - "deliveryTime": { - "$ref": "#/components/schemas/DeliveryTime", - "description": "Estimated delivery time for the product" + "active": { + "type": "boolean" }, - "tax": { - "$ref": "#/components/schemas/Tax", - "description": "Tax configuration (rate and calculation rules)" + "conditions": { + "type": "object" }, - "manufacturer": { - "$ref": "#/components/schemas/ProductManufacturer", - "description": "Product manufacturer or brand information" + "reviewerRoleId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "unit": { - "$ref": "#/components/schemas/Unit", - "description": "Product unit of measure (e.g., piece, liter, kg)" + "affectedRoleId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "cover": { - "$ref": "#/components/schemas/ProductMedia", - "description": "Main product image displayed in listings and detail pages" + "customFields": { + "type": "object" }, - "openGraphMedia": { - "$ref": "#/components/schemas/Media", - "description": "Open Graph image for social media sharing" + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "cmsPage": { - "$ref": "#/components/schemas/CmsPage", - "description": "Custom CMS page layout for the product detail page" + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "canonicalProduct": { - "$ref": "#/components/schemas/Product", - "description": "Canonical product reference for variant consolidation and SEO purposes" + "reviewerRole": { + "$ref": "#/components/schemas/B2bComponentsRole" }, - "media": { - "description": "Product images and media gallery", - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductMedia" - } + "affectedRole": { + "$ref": "#/components/schemas/B2bComponentsRole" + } + }, + "type": "object" + }, + "B2bComponentsApprovalRuleAppScriptCondition": { + "description": "Added since version: 6.6.3.0", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "crossSellings": { - "description": "Cross-selling configurations (related products, accessories, similar items)", - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductCrossSelling" - } + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "configuratorSettings": { - "description": "Variant configurator settings defining available options for product variants", - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductConfiguratorSetting" - } - }, - "productReviews": { - "description": "Customer reviews and ratings for the product", - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductReview" - } - }, - "mainCategories": { - "description": "Primary category assignments per sales channel for SEO and navigation", - "type": "array", - "items": { - "$ref": "#/components/schemas/MainCategory" - } - }, - "seoUrls": { - "description": "SEO-friendly URLs for the product across different sales channels", - "type": "array", - "items": { - "$ref": "#/components/schemas/SeoUrl" - } - }, - "options": { - "description": "Product variant options (e.g., size, color) that define different variants", - "type": "array", - "items": { - "$ref": "#/components/schemas/PropertyGroupOption" - } - }, - "properties": { - "description": "Product properties and characteristics for filtering", - "type": "array", - "items": { - "$ref": "#/components/schemas/PropertyGroupOption" - } - }, - "categories": { - "description": "Categories this product is assigned to", - "type": "array", - "items": { - "$ref": "#/components/schemas/Category" - } - }, - "streams": { - "description": "Dynamic product streams this product belongs to based on defined filters", - "type": "array", - "items": { - "$ref": "#/components/schemas/ProductStream" - } - }, - "categoriesRo": { - "description": "Read-only category tree including all parent categories for optimized queries", - "type": "array", - "items": { - "$ref": "#/components/schemas/Category" - } - }, - "tags": { - "description": "Tags for organizing and filtering products", - "type": "array", - "items": { - "$ref": "#/components/schemas/Tag" - } - }, - "seoCategory": { - "$ref": "#/components/schemas/Category", - "description": "Main category used for SEO URL generation in the current sales channel" - }, - "apiAlias": { + "updatedAt": { "type": "string", - "const": "product" + "format": "date-time", + "readOnly": true }, - "variantListingConfig": { - "oneOf": [ - { - "type": "object", - "properties": { - "displayParent": { - "type": "boolean" - } - } - }, - { - "type": "null" - } - ] + "translated": { + "type": "object" } }, - "type": "object", - "description": "Represents a product along with detailed information required to display a variant selection.", - "required": [ - "apiAlias", - "calculatedPrice", - "calculatedPrices", - "seoCategory", - "type", - "translated", - "id", - "taxId", - "productNumber", - "stock", - "name" - ] + "type": "object" }, - "ProductReviewSummary": { + "B2bComponentsPendingOrderAddress": { + "description": "Added since version: 6.6.0.0", "required": [ "id", - "productId", - "salesChannelId" + "countryId", + "firstName", + "lastName", + "street", + "city" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productId": { + "countryId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "salesChannelId": { + "countryStateId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "summary": { + "firstName": { "type": "string" }, - "visible": { - "type": "boolean" + "lastName": { + "type": "string" + }, + "street": { + "type": "string" + }, + "zipcode": { + "type": "string" + }, + "city": { + "type": "string" + }, + "company": { + "type": "string" + }, + "department": { + "type": "string" + }, + "title": { + "type": "string" + }, + "vatId": { + "type": "string" + }, + "phoneNumber": { + "type": "string" + }, + "additionalAddressLine1": { + "type": "string" + }, + "additionalAddressLine2": { + "type": "string" + }, + "customFields": { + "type": "object" }, "createdAt": { "type": "string", @@ -5183,24 +4978,44 @@ "format": "date-time", "readOnly": true }, - "translated": { - "type": "object" + "country": { + "$ref": "#/components/schemas/Country" }, - "product": { - "$ref": "#/components/schemas/Product" + "countryState": { + "$ref": "#/components/schemas/CountryState" }, - "salesChannel": { - "$ref": "#/components/schemas/SalesChannel" + "pendingOrder": { + "$ref": "#/components/schemas/B2bComponentsPendingOrder" + }, + "salutation": { + "$ref": "#/components/schemas/Salutation" } }, "type": "object" }, - "ProductWarehouse": { + "B2bComponentsOrganizationCustomerAddress": { + "required": [ + "id", + "organizationId", + "customerAddressId", + "type" + ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, + "organizationId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "customerAddressId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "type": { + "type": "string" + }, "createdAt": { "type": "string", "format": "date-time", @@ -5210,644 +5025,412 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "customerAddress": { + "$ref": "#/components/schemas/CustomerAddress" } }, "type": "object" }, - "QuoteJsonApi": { - "description": "Added since version: 6.5.3.0", - "allOf": [ - { - "$ref": "#/components/schemas/resource" + "EmployeeAvailableContextsResponse": { + "type": "object", + "required": [ + "contextSelectionRequired", + "contexts" + ], + "properties": { + "contextSelectionRequired": { + "description": "True when the account has more than one context and none is active yet, so the storefront must prompt the user to pick one before continuing.", + "type": "boolean" }, - { - "required": [ - "id", - "stateId", - "currencyId", - "languageId", - "salesChannelId", - "customerId" + "contexts": { + "description": "Every active membership the logged-in account can act as.", + "type": "array", + "items": { + "$ref": "#/components/schemas/EmployeeContext" + } + }, + "defaultEmployeeId": { + "description": "The account's default context, auto-activated on the next login. Null when no default is set.", + "type": [ + "string", + "null" ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "stateId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "displayState": { - "properties": { - "storefrontState": { - "type": "string" - }, - "adminState": { - "type": "string" - } - }, - "type": "object" - }, - "userId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "currencyId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "languageId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "salesChannelId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "updatedById": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customerId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "orderId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "orderVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "pattern": "^[0-9a-f]{32}$" + } + } + }, + "EmployeeContext": { + "type": "object", + "required": [ + "employeeId", + "companyName", + "active" + ], + "properties": { + "employeeId": { + "description": "Identifier of the employee identity that represents this membership.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "companyId": { + "description": "Identifier of the business partner customer (company). Null when the context is not bound to a specific customer record.", + "type": [ + "string", + "null" + ], + "pattern": "^[0-9a-f]{32}$" + }, + "companyName": { + "description": "Display name of the company this context belongs to.", + "type": "string" + }, + "roleId": { + "description": "Identifier of the B2B role granted in this context. Null when no role is assigned.", + "type": [ + "string", + "null" + ], + "pattern": "^[0-9a-f]{32}$" + }, + "roleName": { + "description": "Name of the B2B role granted in this context. Null when no role is assigned.", + "type": [ + "string", + "null" + ] + }, + "active": { + "description": "Whether this context is the one currently active for the session.", + "type": "boolean" + } + } + }, + "QuoteComment": { + "required": [ + "id", + "comment", + "quoteId" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "comment": { + "type": "string" + }, + "seenAt": { + "type": "string", + "format": "date-time" + }, + "quoteId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "customerId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "employeeId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteLineItemId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteLineItemVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "createdById": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "stateId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "deprecated": true + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "customer": { + "$ref": "#/components/schemas/Customer" + }, + "employee": { + "$ref": "#/components/schemas/B2bEmployee" + }, + "lineItem": { + "$ref": "#/components/schemas/QuoteLineItem" + }, + "stateMachineState": { + "$ref": "#/components/schemas/StateMachineState" + } + }, + "type": "object" + }, + "QuoteDelivery": { + "description": "Added since version: 6.5.3.0", + "required": [ + "id", + "quoteId", + "shippingMethodId", + "shippingDateEarliest", + "shippingDateLatest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "shippingMethodId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "shippingDateEarliest": { + "type": "string", + "format": "date-time" + }, + "shippingDateLatest": { + "type": "string", + "format": "date-time" + }, + "shippingCosts": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], + "properties": { + "unitPrice": { + "type": "number", + "format": "float" }, - "quoteNumber": { - "type": "string" + "totalPrice": { + "type": "number", + "format": "float" }, - "expirationDate": { - "type": "string", - "format": "date-time" + "quantity": { + "type": "integer", + "format": "int64" }, - "sentAt": { - "type": "string", - "format": "date-time" + "calculatedTaxes": { + "type": "object" }, - "quoteCreatedAt": { - "type": "string", - "format": "date-time" + "taxRules": { + "type": "object" }, - "requestedAt": { - "type": "string", - "format": "date-time" + "referencePrice": { + "type": "object" }, - "price": { - "required": [ - "netPrice", - "totalPrice", - "positionPrice", - "rawTotal", - "taxStatus" - ], + "listPrice": { "properties": { - "netPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { + "price": { "type": "number", "format": "float" }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "positionPrice": { + "discount": { "type": "number", "format": "float" }, - "rawTotal": { + "percentage": { "type": "number", "format": "float" - }, - "taxStatus": { - "type": "string" } }, "type": "object" }, - "shippingCosts": { - "required": [ - "unitPrice", - "totalPrice", - "quantity" - ], + "regulationPrice": { "properties": { - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "referencePrice": { - "type": "object" - }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "discount": { - "properties": { - "type": { - "type": "string" - }, - "value": { + "price": { "type": "number", "format": "float" } }, "type": "object" - }, - "taxStatus": { - "type": "string", - "readOnly": true - }, - "amountTotal": { - "type": "number", - "format": "float", - "readOnly": true - }, - "amountNet": { - "type": "number", - "format": "float", - "readOnly": true - }, - "subtotalNet": { + } + }, + "type": "object" + }, + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "shippingMethod": { + "$ref": "#/components/schemas/ShippingMethod" + }, + "positions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteDeliveryPosition" + } + } + }, + "type": "object" + }, + "QuoteDeliveryPosition": { + "description": "Added since version: 6.5.3.0", + "required": [ + "id", + "quoteDeliveryId", + "quoteLineItemId" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteDeliveryId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteDeliveryVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteLineItemId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteLineItemVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "price": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], + "properties": { + "unitPrice": { "type": "number", "format": "float" }, - "totalDiscount": { + "totalPrice": { "type": "number", "format": "float" }, - "totalLineItemDiscount": { - "type": "number", - "format": "float" + "quantity": { + "type": "integer", + "format": "int64" }, - "customFields": { + "calculatedTaxes": { "type": "object" }, - "sendNotification": { - "type": "boolean" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "taxRules": { + "type": "object" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "referencePrice": { + "type": "object" }, - "extensions": { + "listPrice": { "properties": { - "organizationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "price": { + "type": "number", + "format": "float" }, - "organization": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/organization" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_organization" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "b4c1948c087fafc89a88450fcbb64c77" - } - } - } - }, - "type": "object" + "discount": { + "type": "number", + "format": "float" + }, + "percentage": { + "type": "number", + "format": "float" } }, "type": "object" }, - "relationships": { + "regulationPrice": { "properties": { - "stateMachineState": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/stateMachineState" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "state_machine_state" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "1ab22d393154f21e3be76aca3ec3ee31" - } - } - } - }, - "type": "object" - }, - "currency": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/currency" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "currency" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "1af0389838508d7016a9841eb6273962" - } - } - } - }, - "type": "object" - }, - "language": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/language" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "language" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "8512ae7d57b1396273f76fe6ed341a23" - } - } - } - }, - "type": "object" - }, - "notificationRecipients": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/notificationRecipients" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "user" - }, - "id": { - "type": "string", - "example": "bd4a2b3045182246fac51c0abc10c4d7" - } - } - } - } - }, - "type": "object" - }, - "notificationEmployees": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/notificationEmployees" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_employee" - }, - "id": { - "type": "string", - "example": "7dd22b6dd4eb80f03ef9e485e6981b63" - } - } - } - } - }, - "type": "object" - }, - "lineItems": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/lineItems" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "quote_line_item" - }, - "id": { - "type": "string", - "example": "a042af1aa9f3853fe3cd7dabc065568f" - } - } - } - } - }, - "type": "object" - }, - "deliveries": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/deliveries" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "quote_delivery" - }, - "id": { - "type": "string", - "example": "6fc31b6b9cd717cc0dcb81152308f8af" - } - } - } - } - }, - "type": "object" - }, - "transactions": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/transactions" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "quote_transaction" - }, - "id": { - "type": "string", - "example": "c15b977dd99332ca8623fbdfb86827e8" - } - } - } - } - }, - "type": "object" - }, - "comments": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/comments" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "quote_comment" - }, - "id": { - "type": "string", - "example": "a5d491060952aa8ad5fdee071be752de" - } - } - } - } - }, - "type": "object" - }, - "documents": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/documents" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "quote_document" - }, - "id": { - "type": "string", - "example": "21f64da1e5792c8295b964d159a14491" - } - } - } - } - }, - "type": "object" - }, - "histories": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/histories" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "quote_history" - }, - "id": { - "type": "string", - "example": "d7e502230e221c8b2f25a93cb2b9dad0" - } - } - } - } - }, - "type": "object" + "price": { + "type": "number", + "format": "float" } }, "type": "object" } }, "type": "object" + }, + "unitPrice": { + "type": "number", + "format": "float" + }, + "totalPrice": { + "type": "number", + "format": "float" + }, + "quantity": { + "type": "integer", + "format": "int64" + }, + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true } - ] + }, + "type": "object" }, - "Quote": { - "description": "Added since version: 6.5.3.0", + "QuoteDocument": { "required": [ "id", - "stateId", - "currencyId", - "languageId", - "salesChannelId", - "customerId" + "documentTypeId", + "fileType", + "quoteId", + "config", + "deepLinkCode" ], "properties": { "id": { @@ -5858,213 +5441,207 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "stateId": { + "documentNumber": { + "type": "string" + }, + "documentTypeId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "displayState": { - "properties": { - "storefrontState": { - "type": "string" - }, - "adminState": { - "type": "string" - } - }, + "fileType": { + "type": "string" + }, + "quoteId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "config": { "type": "object" }, - "userId": { + "sent": { + "type": "boolean" + }, + "static": { + "type": "boolean" + }, + "active": { + "type": "boolean" + }, + "deepLinkCode": { + "type": "string" + }, + "documentMediaFileId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "currencyId": { + "documentA11yMediaFileId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "languageId": { + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "documentType": { + "$ref": "#/components/schemas/DocumentType" + }, + "quote": { + "$ref": "#/components/schemas/Quote" + }, + "documentMediaFile": { + "$ref": "#/components/schemas/Media" + }, + "documentA11yMediaFile": { + "$ref": "#/components/schemas/Media" + } + }, + "type": "object" + }, + "QuoteEmployee": { + "required": [ + "firstName", + "lastName" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "salesChannelId": { + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "QuoteEmployeeNotificationRecipient": { + "required": [ + "quoteId", + "quoteVersionId", + "employeeId" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdById": { + "quoteId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "updatedById": { + "quoteVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customerId": { + "employeeId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderId": { + "quote": { + "$ref": "#/components/schemas/Quote" + }, + "employee": { + "$ref": "#/components/schemas/B2bEmployee" + } + }, + "type": "object" + }, + "QuoteHistory": { + "required": [ + "id", + "quoteId", + "action" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderVersionId": { + "versionId": { + "description": "Version identifier of the quote history entity.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteNumber": { + "quoteId": { + "description": "Unique identity of the related quote.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteVersionId": { + "description": "Version identifier of the related quote.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "commentId": { + "description": "Unique identity of the related quote comment.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "commentVersionId": { + "description": "Version identifier of the related quote comment.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "changes": { + "type": "object" + }, + "action": { + "description": "Action represented by this quote history entry.", "type": "string" }, - "expirationDate": { + "isResolved": { + "description": "Marks whether this quote history entry has been resolved.", + "type": "boolean" + }, + "seenAt": { + "description": "Timestamp when this quote history entry was seen.", "type": "string", "format": "date-time" }, "sentAt": { + "description": "Timestamp when this quote history entry was sent.", "type": "string", "format": "date-time" }, - "quoteCreatedAt": { + "createdById": { + "description": "Unique identity of the user who created the history entry.", "type": "string", - "format": "date-time" + "pattern": "^[0-9a-f]{32}$" }, - "requestedAt": { + "customerId": { + "description": "Unique identity of the customer who created the history entry.", "type": "string", - "format": "date-time" + "pattern": "^[0-9a-f]{32}$" }, - "price": { - "required": [ - "netPrice", - "totalPrice", - "positionPrice", - "rawTotal", - "taxStatus" - ], - "properties": { - "netPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "positionPrice": { - "type": "number", - "format": "float" - }, - "rawTotal": { - "type": "number", - "format": "float" - }, - "taxStatus": { - "type": "string" - } - }, - "type": "object" - }, - "shippingCosts": { - "required": [ - "unitPrice", - "totalPrice", - "quantity" - ], - "properties": { - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "referencePrice": { - "type": "object" - }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "discount": { - "properties": { - "type": { - "type": "string" - }, - "value": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "taxStatus": { - "type": "string", - "readOnly": true - }, - "amountTotal": { - "type": "number", - "format": "float", - "readOnly": true - }, - "amountNet": { - "type": "number", - "format": "float", - "readOnly": true - }, - "subtotalNet": { - "type": "number", - "format": "float" - }, - "totalDiscount": { - "type": "number", - "format": "float" - }, - "totalLineItemDiscount": { - "type": "number", - "format": "float" - }, - "customFields": { - "type": "object" - }, - "sendNotification": { - "type": "boolean" + "employeeId": { + "description": "Unique identity of the employee who created the history entry.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, "createdAt": { "type": "string", @@ -6076,109 +5653,41 @@ "format": "date-time", "readOnly": true }, - "extensions": { - "properties": { - "organizationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "organization": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/quote/c48e929b2b1eabba2ba036884433345e/organization" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_organization" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "b4c1948c087fafc89a88450fcbb64c77" - } - } - } - }, - "type": "object" - } - }, - "type": "object" - }, - "stateMachineState": { - "$ref": "#/components/schemas/StateMachineState" - }, - "currency": { - "$ref": "#/components/schemas/Currency" - }, - "language": { - "$ref": "#/components/schemas/Language" - }, - "notificationRecipients": { - "type": "array", - "items": { - "$ref": "#/components/schemas/User" - } - }, - "notificationEmployees": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bEmployee" - } - }, - "lineItems": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteLineItem" - } - }, - "deliveries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteDelivery" - } + "quote": { + "$ref": "#/components/schemas/Quote", + "description": "Quote associated with this history entry." }, - "transactions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteTransaction" - } + "comment": { + "$ref": "#/components/schemas/QuoteComment", + "description": "Comment linked to this quote history entry." }, - "comments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteComment" - } + "createdBy": { + "$ref": "#/components/schemas/User", + "description": "Admin user reference returned on commercial associations.", + "nullable": true }, - "documents": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteDocument" - } + "customer": { + "$ref": "#/components/schemas/Customer", + "description": "Customer who created this quote history entry." }, - "histories": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteHistory" - } + "employee": { + "$ref": "#/components/schemas/B2bEmployee", + "description": "Employee who created this quote history entry." } }, "type": "object" }, - "QuoteComment": { + "QuoteLineItem": { + "description": "Added since version: 6.5.3.0", "required": [ "id", - "comment", - "quoteId" + "quoteId", + "identifier", + "children", + "states", + "label", + "quantity", + "position" ], "properties": { "id": { @@ -6189,13 +5698,6 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "comment": { - "type": "string" - }, - "seenAt": { - "type": "string", - "format": "date-time" - }, "quoteId": { "type": "string", "pattern": "^[0-9a-f]{32}$" @@ -6204,154 +5706,114 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customerId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "identifier": { + "type": "string" }, - "employeeId": { + "parentId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteLineItemId": { + "parentVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteLineItemVersionId": { + "productId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdById": { + "productVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "stateId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", + "states": { + "type": "array", + "items": { + "type": "string" + }, "deprecated": true }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "label": { + "type": "string" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "description": { + "type": "string" }, - "customer": { - "$ref": "#/components/schemas/Customer" + "quantity": { + "type": "integer", + "format": "int64" }, - "employee": { - "$ref": "#/components/schemas/B2bEmployee" + "type": { + "type": "string" }, - "lineItem": { - "$ref": "#/components/schemas/QuoteLineItem" + "payload": { + "type": "object" }, - "stateMachineState": { - "$ref": "#/components/schemas/StateMachineState" - } - }, - "type": "object" - }, - "QuoteDelivery": { - "description": "Added since version: 6.5.3.0", - "required": [ - "id", - "quoteId", - "shippingMethodId", - "shippingDateEarliest", - "shippingDateLatest" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "unitPrice": { + "type": "number", + "format": "float" }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "totalPrice": { + "type": "number", + "format": "float" }, - "quoteId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "priceDefinition": { + "type": "object" }, - "quoteVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "shippingMethodId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "requestedPrice": { + "type": "number", + "format": "float" }, - "shippingDateEarliest": { - "type": "string", - "format": "date-time" + "productPrice": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Price" + } }, - "shippingDateLatest": { - "type": "string", - "format": "date-time" + "purchasePrice": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Price" + } }, - "shippingCosts": { - "required": [ - "unitPrice", - "totalPrice", - "quantity" - ], + "discount": { "properties": { - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" + "type": { + "type": "string" }, - "quantity": { + "value": { "type": "integer", "format": "int64" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "referencePrice": { - "type": "object" - }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" } }, "type": "object" }, + "good": { + "type": "boolean" + }, + "removable": { + "type": "boolean" + }, + "stackable": { + "type": "boolean" + }, + "position": { + "type": "integer", + "format": "int64" + }, + "referencedId": { + "type": "string" + }, + "coverId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, "customFields": { "type": "object" }, + "deletedAt": { + "type": "string", + "format": "date-time" + }, "createdAt": { "type": "string", "format": "date-time", @@ -6362,24 +5824,44 @@ "format": "date-time", "readOnly": true }, - "shippingMethod": { - "$ref": "#/components/schemas/ShippingMethod" + "parent": { + "$ref": "#/components/schemas/QuoteLineItem" }, - "positions": { + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteLineItem" + } + }, + "cover": { + "$ref": "#/components/schemas/Media" + }, + "deliveryPositions": { "type": "array", "items": { "$ref": "#/components/schemas/QuoteDeliveryPosition" } + }, + "comments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteComment" + } + }, + "histories": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteLineItemHistory" + } } }, "type": "object" }, - "QuoteDeliveryPosition": { - "description": "Added since version: 6.5.3.0", + "QuoteLineItemHistory": { "required": [ "id", - "quoteDeliveryId", - "quoteLineItemId" + "quoteLineItemId", + "action" ], "properties": { "id": { @@ -6387,212 +5869,248 @@ "pattern": "^[0-9a-f]{32}$" }, "versionId": { + "description": "Version identifier of the quote line item history entity.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteDeliveryId": { + "quoteLineItemId": { + "description": "Unique identity of the related quote line item.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteDeliveryVersionId": { + "quoteLineItemVersionId": { + "description": "Version identifier of the related quote line item.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteLineItemId": { + "parentId": { + "description": "Unique identity of the parent quote line item history entry.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteLineItemVersionId": { + "parentVersionId": { + "description": "Version identifier of the parent quote line item history entry.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "price": { - "required": [ - "unitPrice", - "totalPrice", - "quantity" - ], - "properties": { - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "referencePrice": { - "type": "object" - }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - } - }, + "commentId": { + "description": "Unique identity of the related quote comment.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "commentVersionId": { + "description": "Version identifier of the related quote comment.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "changes": { "type": "object" }, - "unitPrice": { - "type": "number", - "format": "float" + "isCurrent": { + "description": "Marks whether this is the current history state for the quote line item.", + "type": "boolean" }, - "totalPrice": { - "type": "number", - "format": "float" + "action": { + "description": "Action represented by this quote line item history entry.", + "type": "string" }, - "quantity": { - "type": "integer", - "format": "int64" + "isResolved": { + "description": "Marks whether this quote line item history entry has been resolved.", + "type": "boolean" }, - "customFields": { - "type": "object" + "seenAt": { + "description": "Timestamp when this quote line item history entry was seen.", + "type": "string", + "format": "date-time" }, - "createdAt": { + "sentAt": { + "description": "Timestamp when this quote line item history entry was sent.", "type": "string", - "format": "date-time", - "readOnly": true + "format": "date-time" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "QuoteDocument": { - "required": [ - "id", - "documentTypeId", - "fileType", - "quoteId", - "config", - "deepLinkCode" - ], - "properties": { - "id": { + "createdById": { + "description": "Unique identity of the user who created the history entry.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { + "customerId": { + "description": "Unique identity of the customer who created the history entry.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "documentNumber": { - "type": "string" - }, - "documentTypeId": { + "employeeId": { + "description": "Unique identity of the employee who created the history entry.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "fileType": { - "type": "string" - }, - "quoteId": { + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "quoteVersionId": { + "updatedAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "config": { - "type": "object" - }, - "sent": { - "type": "boolean" + "format": "date-time", + "readOnly": true }, - "static": { - "type": "boolean" + "quoteLineItem": { + "$ref": "#/components/schemas/QuoteLineItem", + "description": "Quote line item associated with this history entry." }, - "active": { - "type": "boolean" + "parent": { + "$ref": "#/components/schemas/QuoteLineItemHistory", + "description": "Parent quote line item history entry this reply belongs to." }, - "deepLinkCode": { - "type": "string" + "children": { + "description": "Child quote line item history entries replying to this entry.", + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteLineItemHistory" + } }, - "documentMediaFileId": { + "comment": { + "$ref": "#/components/schemas/QuoteComment", + "description": "Comment linked to this quote line item history entry." + } + }, + "type": "object" + }, + "QuoteNotificationRecipient": { + "required": [ + "quoteId", + "quoteVersionId", + "userId" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "documentA11yMediaFileId": { + "quoteId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customFields": { - "type": "object" - }, - "createdAt": { + "quoteVersionId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "userId": { "type": "string", - "format": "date-time", - "readOnly": true - }, - "documentType": { - "$ref": "#/components/schemas/DocumentType" + "pattern": "^[0-9a-f]{32}$" }, "quote": { "$ref": "#/components/schemas/Quote" }, - "documentMediaFile": { - "$ref": "#/components/schemas/Media" - }, - "documentA11yMediaFile": { - "$ref": "#/components/schemas/Media" + "user": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + } } }, "type": "object" }, - "QuoteEmployee": { + "QuoteTransaction": { + "description": "Added since version: 6.5.3.0", "required": [ - "firstName", - "lastName" + "id", + "quoteId", + "paymentMethodId", + "amount" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "firstName": { - "type": "string" + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "lastName": { - "type": "string" + "quoteId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quoteVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "paymentMethodId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "amount": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], + "properties": { + "unitPrice": { + "type": "number", + "format": "float" + }, + "totalPrice": { + "type": "number", + "format": "float" + }, + "quantity": { + "type": "integer", + "format": "int64" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "referencePrice": { + "type": "object" + }, + "listPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + }, + "discount": { + "type": "number", + "format": "float" + }, + "percentage": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "customFields": { + "type": "object" }, "createdAt": { "type": "string", @@ -6603,110 +6121,124 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "paymentMethod": { + "$ref": "#/components/schemas/PaymentMethod" } }, "type": "object" }, - "QuoteEmployeeNotificationRecipient": { + "B2bComponentsShoppingListLineItem": { + "description": "Added since version: 6.6.2.0", "required": [ - "quoteId", - "employeeId" + "id", + "quantity" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteId": { + "productId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteVersionId": { + "productVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "employeeId": { + "price": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Price" + } + }, + "quantity": { + "type": "integer", + "format": "int64" + }, + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "quote": { - "$ref": "#/components/schemas/Quote" + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "employee": { - "$ref": "#/components/schemas/B2bEmployee" + "product": { + "$ref": "#/components/schemas/Product" } }, "type": "object" }, - "QuoteHistory": { + "CustomPrice": { "required": [ "id", - "quoteId", - "action" + "productId", + "price" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { - "description": "Version identifier of the quote history entity.", + "productId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteId": { - "description": "Unique identity of the related quote.", + "productVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteVersionId": { - "description": "Version identifier of the related quote.", + "customerId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "commentId": { - "description": "Unique identity of the related quote comment.", + "customerGroupId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "commentVersionId": { - "description": "Version identifier of the related quote comment.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "changes": { + "price": { "type": "object" }, - "action": { - "description": "Action represented by this quote history entry.", - "type": "string" - }, - "isResolved": { - "description": "Marks whether this quote history entry has been resolved.", - "type": "boolean" - }, - "seenAt": { - "description": "Timestamp when this quote history entry was seen.", + "createdAt": { "type": "string", - "format": "date-time" + "format": "date-time", + "readOnly": true }, - "sentAt": { - "description": "Timestamp when this quote history entry was sent.", + "updatedAt": { "type": "string", - "format": "date-time" + "format": "date-time", + "readOnly": true }, - "createdById": { - "description": "Unique identity of the user who created the history entry.", + "customer": { + "$ref": "#/components/schemas/Customer" + }, + "customerGroup": { + "$ref": "#/components/schemas/CustomerGroup" + }, + "product": { + "$ref": "#/components/schemas/Product" + } + }, + "type": "object" + }, + "SwagDelayAction": { + "required": [ + "id" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customerId": { - "description": "Unique identity of the customer who created the history entry.", + "orderId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "employeeId": { - "description": "Unique identity of the employee who created the history entry.", + "customerId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, @@ -6719,366 +6251,279 @@ "type": "string", "format": "date-time", "readOnly": true + } + }, + "type": "object" + }, + "MediaAiTag": { + "required": [ + "id" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "quote": { - "$ref": "#/components/schemas/Quote", - "description": "Quote associated with this history entry." + "tags": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false + } }, - "comment": { - "$ref": "#/components/schemas/QuoteComment", - "description": "Comment linked to this quote history entry." + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "createdBy": { - "$ref": "#/components/schemas/User", - "description": "User who created this quote history entry." + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "customer": { - "$ref": "#/components/schemas/Customer", - "description": "Customer who created this quote history entry." + "translated": { + "type": "object" }, - "employee": { - "$ref": "#/components/schemas/B2bEmployee", - "description": "Employee who created this quote history entry." + "media": { + "$ref": "#/components/schemas/Media" } }, "type": "object" }, - "QuoteLineItem": { - "description": "Added since version: 6.5.3.0", - "required": [ - "id", - "quoteId", - "identifier", - "children", - "states", - "label", - "quantity", - "position" - ], + "OrderProductWarehouse": { "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "quoteId": { + "updatedAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "quoteVersionId": { + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "OrderWarehouseGroup": { + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "identifier": { - "type": "string" + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "parentId": { + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "ProductWarehouse": { + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "parentVersionId": { + "createdAt": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "date-time", + "readOnly": true }, - "productId": { + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "Warehouse": { + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productVersionId": { + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "WarehouseGroup": { + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "states": { - "type": "array", - "items": { - "type": "string" - }, - "deprecated": true + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "label": { - "type": "string" + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + } + }, + "type": "object" + }, + "BundleProduct": { + "type": "object", + "required": [ + "id", + "productNumber" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "description": { + "name": { "type": "string" }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "type": { + "productNumber": { "type": "string" }, - "payload": { - "type": "object" - }, - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "priceDefinition": { - "type": "object" + "active": { + "type": "boolean" }, - "requestedPrice": { - "type": "number", - "format": "float" + "available": { + "type": "boolean" }, - "productPrice": { + "bundleItems": { "type": "array", "items": { - "$ref": "#/components/schemas/Price" + "$ref": "#/components/schemas/BundleItem" } }, - "purchasePrice": { + "bundleDiscounts": { "type": "array", "items": { - "$ref": "#/components/schemas/Price" + "$ref": "#/components/schemas/BundleDiscount" } }, - "discount": { - "properties": { - "type": { - "type": "string" - }, - "value": { - "type": "integer", - "format": "int64" - } - }, - "type": "object" - }, - "good": { - "type": "boolean" - }, - "removable": { - "type": "boolean" - }, - "stackable": { - "type": "boolean" - }, - "position": { - "type": "integer", - "format": "int64" - }, - "referencedId": { - "type": "string" - }, - "coverId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "deletedAt": { - "type": "string", - "format": "date-time" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { + "apiAlias": { "type": "string", - "format": "date-time", - "readOnly": true - }, - "parent": { - "$ref": "#/components/schemas/QuoteLineItem" - }, - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteLineItem" - } - }, - "cover": { - "$ref": "#/components/schemas/Media" - }, - "deliveryPositions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteDeliveryPosition" - } - }, - "comments": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteComment" - } - }, - "histories": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteLineItemHistory" - } + "example": "product" } - }, - "type": "object" + } }, - "QuoteLineItemHistory": { + "BundleItem": { + "type": "object", "required": [ - "id", - "quoteLineItemId", - "action" + "productId", + "quantity", + "min", + "required" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { - "description": "Version identifier of the quote line item history entity.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "quoteLineItemId": { - "description": "Unique identity of the related quote line item.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "quoteLineItemVersionId": { - "description": "Version identifier of the related quote line item.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "parentId": { - "description": "Unique identity of the parent quote line item history entry.", + "productId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "parentVersionId": { - "description": "Version identifier of the parent quote line item history entry.", + "bundleId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "commentId": { - "description": "Unique identity of the related quote comment.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "quantity": { + "type": "integer", + "minimum": 1 }, - "commentVersionId": { - "description": "Version identifier of the related quote comment.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "min": { + "type": "integer", + "minimum": 1 }, - "changes": { - "type": "object" + "max": { + "type": "integer" }, - "isCurrent": { - "description": "Marks whether this is the current history state for the quote line item.", + "required": { "type": "boolean" }, - "action": { - "description": "Action represented by this quote line item history entry.", - "type": "string" + "position": { + "type": "integer" }, - "isResolved": { - "description": "Marks whether this quote line item history entry has been resolved.", + "showBundleOnItemPdp": { "type": "boolean" }, - "seenAt": { - "description": "Timestamp when this quote line item history entry was seen.", - "type": "string", - "format": "date-time" - }, - "sentAt": { - "description": "Timestamp when this quote line item history entry was sent.", - "type": "string", - "format": "date-time" - }, - "createdById": { - "description": "Unique identity of the user who created the history entry.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customerId": { - "description": "Unique identity of the customer who created the history entry.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "employeeId": { - "description": "Unique identity of the employee who created the history entry.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "product": { + "type": "object" }, - "updatedAt": { + "apiAlias": { "type": "string", - "format": "date-time", - "readOnly": true - }, - "quoteLineItem": { - "$ref": "#/components/schemas/QuoteLineItem", - "description": "Quote line item associated with this history entry." - }, - "parent": { - "$ref": "#/components/schemas/QuoteLineItemHistory", - "description": "Parent quote line item history entry this reply belongs to." - }, - "children": { - "description": "Child quote line item history entries replying to this entry.", - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteLineItemHistory" - } - }, - "comment": { - "$ref": "#/components/schemas/QuoteComment", - "description": "Comment linked to this quote line item history entry." + "example": "bundle_item" } - }, - "type": "object" + } }, - "QuoteNotificationRecipient": { + "BundleDiscount": { + "type": "object", "required": [ - "quoteId", - "userId" + "id", + "type", + "value" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteId": { + "type": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "enum": [ + "absolute", + "percentage" + ] }, - "quoteVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "value": { + "type": "number" }, - "userId": { + "maxValue": { + "type": "number" + }, + "currencyId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quote": { - "$ref": "#/components/schemas/Quote" + "preventCombination": { + "type": "boolean" }, - "user": { - "$ref": "#/components/schemas/User" + "active": { + "type": "boolean" + }, + "apiAlias": { + "type": "string", + "example": "bundle_discount" } - }, - "type": "object" + } }, - "QuoteTransaction": { - "description": "Added since version: 6.5.3.0", + "OrderReturn": { "required": [ "id", - "quoteId", - "paymentMethodId", - "amount" + "orderId", + "stateId", + "returnNumber", + "requestedAt" ], "properties": { "id": { @@ -7089,25 +6534,58 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quoteId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "quoteVersionId": { + "orderId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "paymentMethodId": { + "orderVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "amount": { + "price": { "required": [ - "unitPrice", + "netPrice", "totalPrice", - "quantity" - ], - "properties": { + "positionPrice", + "rawTotal", + "taxStatus" + ], + "properties": { + "netPrice": { + "type": "number", + "format": "float" + }, + "totalPrice": { + "type": "number", + "format": "float" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "positionPrice": { + "type": "number", + "format": "float" + }, + "rawTotal": { + "type": "number", + "format": "float" + }, + "taxStatus": { + "type": "string" + } + }, + "type": "object" + }, + "shippingCosts": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], + "properties": { "unitPrice": { "type": "number", "format": "float" @@ -7158,8 +6636,32 @@ }, "type": "object" }, - "customFields": { - "type": "object" + "stateId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "returnNumber": { + "type": "string" + }, + "requestedAt": { + "type": "string", + "format": "date-time" + }, + "amountTotal": { + "type": "number", + "format": "float" + }, + "amountNet": { + "type": "number", + "format": "float" + }, + "createdById": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "updatedById": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, "createdAt": { "type": "string", @@ -7171,64 +6673,150 @@ "format": "date-time", "readOnly": true }, - "paymentMethod": { - "$ref": "#/components/schemas/PaymentMethod" + "state": { + "$ref": "#/components/schemas/StateMachineState" + }, + "lineItems": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderReturnLineItem" + } } }, "type": "object" }, - "Rule": { + "OrderReturnLineItem": { + "required": [ + "id", + "orderReturnId", + "orderLineItemId", + "reasonId", + "quantity", + "stateId" + ], "properties": { - "extensions": { - "properties": { - "warehouseGroup": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/rule/ab7a485ebe75b6dd7243ad719f23c7de/warehouseGroup" - } - } - }, - "data": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "warehouse_group" - }, - "id": { - "type": "string", - "example": "1768e3071b62161d415e0c24332055ed" - } - } - } - } - }, - "type": "object" - } - }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "orderReturnId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "orderReturnVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "orderLineItemId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "orderLineItemVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "reasonId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quantity": { + "type": "integer", + "format": "int64" + }, + "refundAmount": { + "type": "number", + "format": "float" + }, + "restockQuantity": { + "type": "integer", + "format": "int64" + }, + "customFields": { "type": "object" }, + "stateId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "reason": { + "$ref": "#/components/schemas/OrderReturnLineItemReason" + }, + "state": { + "$ref": "#/components/schemas/StateMachineState" + } + }, + "type": "object" + }, + "OrderReturnLineItemReason": { + "required": [ + "id", + "reasonKey" + ], + "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "name": { - "description": "Name of the rule defined.", + "reasonKey": { "type": "string" }, - "description": { - "description": "Description of the rule.", + "content": { "type": "string" }, - "customFields": { + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { "type": "object" + } + }, + "type": "object" + }, + "ProductReviewSummary": { + "required": [ + "id", + "productId", + "salesChannelId" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "productId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "salesChannelId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "summary": { + "type": "string" + }, + "visible": { + "type": "boolean" }, "createdAt": { "type": "string", @@ -7239,13 +6827,18 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "translated": { + "type": "object" + }, + "product": { + "$ref": "#/components/schemas/Product" + }, + "salesChannel": { + "$ref": "#/components/schemas/SalesChannel" } }, - "type": "object", - "description": "Added since version: 6.0.0.0", - "required": [ - "name" - ] + "type": "object" }, "SpatialRenderConfigSize": { "properties": { @@ -7440,240 +7033,7 @@ }, "type": "object" }, - "Subscription": { - "required": [ - "id", - "convertedOrder", - "subscriptionNumber", - "nextSchedule", - "followingNextSchedule", - "salesChannelId", - "subscriptionPlanName", - "subscriptionIntervalName", - "dateInterval", - "cronInterval", - "billingAddressId", - "shippingAddressId", - "shippingMethodId", - "paymentMethodId", - "currencyId", - "languageId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "convertedOrder": { - "type": "object" - }, - "subscriptionNumber": { - "type": "string" - }, - "nextSchedule": { - "type": "string", - "format": "date-time" - }, - "followingNextSchedule": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "string", - "format": "date-time" - }, - "salesChannelId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "subscriptionPlanId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "subscriptionPlanName": { - "type": "string" - }, - "subscriptionIntervalId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "subscriptionIntervalName": { - "type": "string" - }, - "dateInterval": { - "type": "string" - }, - "cronInterval": { - "type": "string" - }, - "initialExecutionCount": { - "type": "integer", - "format": "int64" - }, - "remainingExecutionCount": { - "type": "integer", - "format": "int64" - }, - "billingAddressId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "shippingAddressId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "shippingMethodId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "paymentMethodId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "currencyId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "languageId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "initialOrderId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "initialOrderVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "extensions": { - "properties": { - "subscriptionEmployee": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/subscription/787ad0b7a17de4ad6b1711bbf8d79fcb/subscriptionEmployee" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_subscription_employee" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "a4844d7989267e34103e44248b16cf6c" - } - } - } - }, - "type": "object" - }, - "subscriptionBudget": { - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/subscription/787ad0b7a17de4ad6b1711bbf8d79fcb/subscriptionBudget" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "b2b_components_subscription_budget" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "6b2732717e6360e8eccfd947596f4e64" - } - } - } - }, - "type": "object" - } - }, - "type": "object" - }, - "subscriptionPlan": { - "$ref": "#/components/schemas/SubscriptionPlan" - }, - "subscriptionInterval": { - "$ref": "#/components/schemas/SubscriptionInterval" - }, - "subscriptionCustomer": { - "$ref": "#/components/schemas/SubscriptionCustomer" - }, - "billingAddress": { - "$ref": "#/components/schemas/SubscriptionAddress" - }, - "shippingAddress": { - "$ref": "#/components/schemas/SubscriptionAddress" - }, - "addresses": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SubscriptionAddress" - } - }, - "paymentMethod": { - "$ref": "#/components/schemas/PaymentMethod" - }, - "shippingMethod": { - "$ref": "#/components/schemas/ShippingMethod" - }, - "stateMachineState": { - "$ref": "#/components/schemas/StateMachineState" - }, - "orders": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Order" - } - }, - "tags": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Tag" - } - }, - "currency": { - "$ref": "#/components/schemas/Currency" - }, - "language": { - "$ref": "#/components/schemas/Language" - }, - "initialOrder": { - "$ref": "#/components/schemas/Order" - } - }, - "type": "object" - }, - "SubscriptionAddress": { + "SubscriptionAddress": { "required": [ "id", "countryId", @@ -7895,22 +7255,114 @@ }, "type": "object" }, - "SubscriptionPlanJsonApi": { - "allOf": [ - { - "$ref": "#/components/schemas/resource" + "SubscriptionPlan": { + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - { - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "active": { + "type": "boolean" + }, + "minimumExecutionCount": { + "type": "integer", + "format": "int64" + }, + "activeStorefrontLabel": { + "type": "boolean" + }, + "availabilityRuleId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "discountPercentage": { + "type": "number", + "format": "float" + }, + "label": { + "type": "string" + }, + "discountPrice": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Price" + } + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" + }, + "subscriptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Subscription" + } + } + }, + "type": "object" + }, + "SubscriptionPlanIntervalMapping": { + "required": [ + "subscriptionIntervalId", + "subscriptionPlanId" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "subscriptionIntervalId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "subscriptionPlanId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "subscriptionPlan": { + "$ref": "#/components/schemas/SubscriptionPlan" + }, + "subscriptionInterval": { + "$ref": "#/components/schemas/SubscriptionInterval" + } + }, + "type": "object" + }, + "SubscriptionPlanJsonApi": { + "allOf": [ + { + "$ref": "#/components/schemas/resource" + }, + { + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "name": { "type": "string" }, "description": { @@ -7997,98 +7449,6 @@ } ] }, - "SubscriptionPlan": { - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "active": { - "type": "boolean" - }, - "minimumExecutionCount": { - "type": "integer", - "format": "int64" - }, - "activeStorefrontLabel": { - "type": "boolean" - }, - "availabilityRuleId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "discountPercentage": { - "type": "number", - "format": "float" - }, - "label": { - "type": "string" - }, - "discountPrice": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Price" - } - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - }, - "subscriptions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Subscription" - } - } - }, - "type": "object" - }, - "SubscriptionPlanIntervalMapping": { - "required": [ - "subscriptionIntervalId", - "subscriptionPlanId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "subscriptionIntervalId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "subscriptionPlanId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "subscriptionPlan": { - "$ref": "#/components/schemas/SubscriptionPlan" - }, - "subscriptionInterval": { - "$ref": "#/components/schemas/SubscriptionInterval" - } - }, - "type": "object" - }, "SubscriptionPlanProductMapping": { "required": [ "productId", @@ -8147,978 +7507,1075 @@ }, "type": "object" }, - "SwagDelayAction": { - "required": [ - "id" - ], + "AccountNewsletterRecipient": { + "type": "object", "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "orderId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customerId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "status": { + "$ref": "#/components/schemas/NewsletterStatus" }, - "updatedAt": { + "apiAlias": { "type": "string", - "format": "date-time", - "readOnly": true + "const": "account_newsletter_recipient" } }, - "type": "object" + "required": [ + "status", + "apiAlias" + ] }, - "Warehouse": { + "AggregationEntity": { + "title": "AggregationEntity", + "type": "object", "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "name": { + "description": "Give your aggregation an identifier, so you can find it easier", + "type": "string" }, - "createdAt": { + "type": { + "description": "The type of aggregation", "type": "string", - "format": "date-time", - "readOnly": true + "enum": [ + "entity" + ] }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "field": { + "description": "The field you want to aggregate over.", + "type": "string" + }, + "definition": { + "description": "The entity definition e.g \"product_manufacturer\".", + "type": "string" } }, - "type": "object" - }, - "WarehouseGroup": { - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" + "required": [ + "name", + "type", + "field", + "definition" + ] }, - "CartPriceReference": { + "AggregationFilter": { + "title": "AggregationFilter", "type": "object", "properties": { - "purchaseUnit": { - "type": "number" - }, - "referenceUnit": { - "type": "number" - }, - "unitName": { + "name": { + "description": "Give your aggregation an identifier, so you can find it easier", "type": "string" }, - "price": { - "type": "number" - }, - "apiAlias": { + "type": { + "description": "The type of aggregation", "type": "string", - "const": "cart_price_reference" - }, - "listPrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartListPrice" - }, - { - "type": "null" - } - ] - }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "const": "cart_regulation_price" - } - } - }, - { - "type": "null" - } + "enum": [ + "filter" ] }, - "hasRange": { - "type": "boolean" - }, - "variantId": { - "oneOf": [ - { - "type": "string", - "format": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] + "filter": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Filters" + } } }, "required": [ - "apiAlias", - "hasRange", - "regulationPrice", - "listPrice", - "unitName" + "name", + "type", + "filter" ] }, - "CrossSellingElement": { + "AggregationTerms": { + "title": "AggregationTerms", "type": "object", "properties": { - "crossSelling": { - "$ref": "#/components/schemas/ProductCrossSelling" + "name": { + "description": "Give your aggregation an identifier, so you can find it easier", + "type": "string" }, - "products": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } + "type": { + "description": "The type of aggregation", + "type": "string", + "enum": [ + "terms" + ] }, - "total": { - "type": "integer", - "format": "int32" + "field": { + "description": "The field you want to aggregate over.", + "type": "string" }, - "streamId": { - "type": "string", - "format": "uuid" + "limit": { + "description": "The number of terms to return", + "type": "number" }, - "apiAlias": { - "type": "string", - "const": "cross_selling_element" + "sort": { + "type": "array", + "description": "Sorting the aggregation result.", + "items": { + "$ref": "#/components/schemas/Sort" + } } }, "required": [ - "crossSelling", - "products", - "total", - "apiAlias" + "name", + "type", + "field" ] }, - "Breadcrumb": { + "AggregationHistogram": { + "title": "AggregationHistogram", "type": "object", "properties": { "name": { + "description": "Give your aggregation an identifier, so you can find it easier", "type": "string" }, - "categoryId": { + "type": { + "description": "The type of aggregation", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "enum": [ + "histogram" + ] }, - "type": { - "$ref": "#/components/schemas/Category/properties/type" + "field": { + "description": "The field you want to aggregate over.", + "type": "string" }, - "translated": { - "type": "object", - "additionalProperties": true, - "properties": { - "customFields": { - "type": "object" - }, - "slotConfig": { - "type": "object" - }, - "linkType": { - "$ref": "#/components/schemas/Category/properties/linkType" - }, - "internalLink": { - "type": "string" - }, - "externalLink": { - "type": "string" - }, - "linkNewTab": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "metaTitle": { - "type": "string" - }, - "metaDescription": { - "type": "string" - }, - "keywords": { - "type": "string" - } - } + "interval": { + "description": "The interval of the histogram", + "type": "number" }, - "path": { + "format": { + "description": "The format of the histogram", "type": "string" }, - "seoUrls": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SeoUrl" - } - }, - "apiAlias": { - "type": "string", - "const": "breadcrumb" + "timeZone": { + "description": "The timezone of the histogram", + "type": "string" } }, "required": [ "name", - "categoryId", "type", - "translated", - "path", - "apiAlias" + "field" ] }, - "ProductListingFlags": { + "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", - "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" - } - ] + "name": { + "description": "Give your aggregation an identifier, so you can find it easier", + "type": "string" }, - "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" - } + "type": { + "description": "The type of aggregation", + "type": "string", + "enum": [ + "range" ] - } - } - }, - "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", + "field": { + "description": "The field you want to aggregate over.", "type": "string" }, - "limit": { - "description": "Number of items per result page", - "type": "integer" - }, - "filter": { + "ranges": { + "description": "The ranges of the aggregation", "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": { + "type": "object", "anyOf": [ { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" + "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" + ] }, { - "$ref": "#/components/schemas/MultiNotFilter" + "type": "object", + "title": "From only", + "properties": { + "from": { + "type": "string", + "description": "The lower bound of the range" + } + }, + "required": [ + "from" + ] }, { - "$ref": "#/components/schemas/RangeFilter" + "type": "object", + "title": "To only", + "properties": { + "to": { + "type": "string", + "description": "The upper bound of the range" + } + }, + "required": [ + "to" + ] } ] } + } + }, + "required": [ + "name", + "type", + "field", + "ranges" + ] + }, + "AggregationMetrics": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "ids": { - "type": "array", - "description": "List of ids to search for", - "items": { - "type": "string" - } - }, - "query": { + "type": { "type": "string", - "description": "The query string to search for" + "enum": [ + "avg", + "count", + "max", + "min", + "stats", + "sum" + ] }, - "associations": { - "$ref": "#/components/schemas/Associations" + "field": { + "type": "string" + } + }, + "required": [ + "name", + "type", + "field" + ] + }, + "Breadcrumb": { + "type": "object", + "properties": { + "name": { + "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" - } - ] - } + "categoryId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "sort": { - "type": "array", - "description": "Sorting in the search result.", - "items": { - "$ref": "#/components/schemas/Sort" - } + "type": { + "$ref": "#/components/schemas/Category/properties/type" }, - "aggregations": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Aggregation" + "translated": { + "type": "object", + "additionalProperties": true, + "properties": { + "customFields": { + "type": "object" + }, + "slotConfig": { + "type": "object" + }, + "linkType": { + "$ref": "#/components/schemas/Category/properties/linkType" + }, + "internalLink": { + "type": "string" + }, + "externalLink": { + "type": "string" + }, + "linkNewTab": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "metaTitle": { + "type": "string" + }, + "metaDescription": { + "type": "string" + }, + "keywords": { + "type": "string" + } } }, - "fields": { - "type": "array", - "description": "Fields which should be returned in the search result.", - "items": { - "type": "string", - "description": "Name of a field" - } + "path": { + "type": "string" }, - "grouping": { + "seoUrls": { "type": "array", - "description": "Perform groupings over certain fields", "items": { - "type": "string", - "description": "Name of a field" + "$ref": "#/components/schemas/SeoUrl" } }, - "total-count-mode": { - "$ref": "#/components/schemas/TotalCountMode" - }, - "includes": { - "$ref": "#/components/schemas/Includes" - }, - "excludes": { - "$ref": "#/components/schemas/Excludes" + "apiAlias": { + "type": "string", + "const": "breadcrumb" } - } + }, + "required": [ + "name", + "categoryId", + "type", + "translated", + "path", + "apiAlias" + ] }, - "NoneFieldsCriteria": { + "CalculatedPrice": { "type": "object", - "description": "Search parameters. For more information, see our documentation on [Search Queries](https://shopware.stoplight.io/docs/store-api/docs/concepts/search-queries.md#structure)", + "description": "Represents the calculated price of an item, including taxes and optional reference, list and regulation prices.", "properties": { - "page": { - "description": "Search result page", - "type": "integer" + "unitPrice": { + "type": "number" }, - "term": { - "description": "Search term", - "type": "string" + "quantity": { + "type": "number" }, - "limit": { - "description": "Number of items per result page", - "type": "integer" + "totalPrice": { + "type": "number" }, - "filter": { + "calculatedTaxes": { "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" + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "const": "cart_tax_calculated" }, - { - "$ref": "#/components/schemas/EqualsFilter" + "tax": { + "type": "number" }, - { - "$ref": "#/components/schemas/MultiNotFilter" + "taxRate": { + "type": "number" }, - { - "$ref": "#/components/schemas/RangeFilter" + "price": { + "type": "number" } + }, + "required": [ + "apiAlias", + "tax", + "taxRate", + "price" ] } }, - "ids": { - "type": "array", - "description": "List of ids to search for", - "items": { - "type": "string" - } + "referencePrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartPriceReference" + }, + { + "type": "null" + } + ] }, - "query": { - "type": "string", - "description": "The query string to search for" + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartListPrice" + }, + { + "type": "null" + } + ] }, - "associations": { - "$ref": "#/components/schemas/Associations" + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "const": "cart_regulation_price" + } + } + }, + { + "type": "null" + } + ] }, - "post-filter": { + "apiAlias": { + "type": "string", + "const": "calculated_price" + }, + "taxRules": { "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)", + "description": "Currently active tax rules and/or rates", "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" + "type": "object", + "properties": { + "taxRate": { + "type": "number", + "format": "float" }, - { - "$ref": "#/components/schemas/RangeFilter" + "name": { + "type": "string" } - ] + } } + } + }, + "required": [ + "apiAlias", + "regulationPrice", + "listPrice", + "referencePrice", + "calculatedTaxes", + "totalPrice", + "quantity", + "unitPrice", + "taxRules" + ] + }, + "Cart": { + "type": "object", + "properties": { + "name": { + "description": "Name of the cart - for example `guest-cart`", + "type": "string" }, - "sort": { + "token": { + "description": "Context token identifying the cart and the user session", + "type": "string" + }, + "price": { + "$ref": "#/components/schemas/CartPrice" + }, + "lineItems": { + "description": "All items within the cart", "type": "array", - "description": "Sorting in the search result.", "items": { - "$ref": "#/components/schemas/Sort" + "$ref": "#/components/schemas/LineItem" } }, - "aggregations": { + "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/Aggregation" + "$ref": "#/components/schemas/CartDelivery" } }, - "grouping": { + "transactions": { + "description": "A list of all payment transactions associated with the current cart.", "type": "array", - "description": "Perform groupings over certain fields", "items": { - "type": "string", - "description": "Name of a field" + "type": "object", + "properties": { + "paymentMethodId": { + "type": "string" + }, + "amount": { + "$ref": "#/components/schemas/CalculatedPrice" + } + } } }, - "total-count-mode": { - "$ref": "#/components/schemas/TotalCountMode" - }, - "includes": { - "$ref": "#/components/schemas/Includes" - }, - "excludes": { - "$ref": "#/components/schemas/Excludes" - } - } - }, - "Associations": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/Criteria" - } - }, - "Includes": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Excludes": { - "type": "object", - "additionalProperties": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "Aggregation": { - "anyOf": [ - { - "$ref": "#/components/schemas/AggregationMetrics" - }, - { - "title": "AggregationEntity", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationEntity" - }, - { - "$ref": "#/components/schemas/SubAggregations" - } - ] + "modified": { + "type": "boolean" }, - { - "title": "AggregationFilter", - "allOf": [ + "customerComment": { + "description": "A comment that can be added to the cart.", + "oneOf": [ { - "$ref": "#/components/schemas/AggregationFilter" + "type": "string" }, { - "$ref": "#/components/schemas/SubAggregations" + "type": "null" } ] }, - { - "title": "AggregationTerms", - "allOf": [ + "affiliateCode": { + "description": "An affiliate tracking code", + "oneOf": [ { - "$ref": "#/components/schemas/AggregationTerms" + "type": "string" }, { - "$ref": "#/components/schemas/SubAggregations" + "type": "null" } ] }, - { - "title": "AggregationHistogram", - "allOf": [ + "campaignCode": { + "description": "A campaign tracking code", + "oneOf": [ { - "$ref": "#/components/schemas/AggregationHistogram" + "type": "string" }, { - "$ref": "#/components/schemas/SubAggregations" + "type": "null" } ] }, - { - "title": "AggregationRange", - "allOf": [ - { - "$ref": "#/components/schemas/AggregationRange" - }, - { - "$ref": "#/components/schemas/SubAggregations" - } - ] + "apiAlias": { + "type": "string", + "const": "cart" } + }, + "required": [ + "price", + "apiAlias" ] }, - "SubAggregations": { + "CartDelivery": { "type": "object", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { - "aggregation": { - "anyOf": [ - { - "$ref": "#/components/schemas/AggregationMetrics" - }, - { - "$ref": "#/components/schemas/AggregationEntity" + "deliveryDate": { + "type": "object", + "properties": { + "earliest": { + "type": "string", + "format": "date-time" }, - { - "$ref": "#/components/schemas/AggregationFilter" + "latest": { + "type": "string", + "format": "date-time" + } + } + }, + "location": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "const": "cart_delivery_shipping_location" }, - { - "$ref": "#/components/schemas/AggregationTerms" + "country": { + "$ref": "#/components/schemas/Country" }, - { - "$ref": "#/components/schemas/AggregationHistogram" + "address": { + "$ref": "#/components/schemas/CustomerAddress" }, - { - "$ref": "#/components/schemas/AggregationRange" + "state": { + "$ref": "#/components/schemas/CountryState" } - ] + } + }, + "positions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CartDeliveryPosition" + } + }, + "shippingCosts": { + "$ref": "#/components/schemas/CalculatedPrice" + }, + "shippingMethod": { + "$ref": "#/components/schemas/ShippingMethod" } } }, - "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": { + "CartDeliveryInformation": { "type": "object", "properties": { - "score": { - "type": "number" + "apiAlias": { + "type": "string", + "const": "cart_delivery_information" }, - "query": { - "oneOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" + "freeDelivery": { + "type": "boolean" + }, + "deliveryTime": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - { - "$ref": "#/components/schemas/EqualsFilter" + "min": { + "type": "integer" }, - { - "$ref": "#/components/schemas/MultiNotFilter" + "max": { + "type": "integer" }, - { - "$ref": "#/components/schemas/RangeFilter" + "unit": { + "type": "string" + }, + "apiAlias": { + "type": "string", + "const": "cart_delivery_time" } - ] - } - }, - "additionalProperties": true - }, - "Sort": { - "type": "object", - "properties": { - "field": { - "type": "string" + } }, - "order": { - "type": "string", - "enum": [ - "ASC", - "DESC" - ] + "height": { + "type": "integer" }, - "naturalSorting": { - "type": "boolean" + "length": { + "type": "integer" }, - "type": { - "type": "string" + "restockTime": { + "type": "integer" + }, + "stock": { + "type": "integer" + }, + "weight": { + "type": "integer" + }, + "width": { + "type": "integer" } }, "required": [ - "field", - "order" + "apiAlias" ] }, - "Filters": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } - }, - "SimpleFilter": { + "CartDeliveryPosition": { "type": "object", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { - "type": { - "type": "string", - "enum": [ - "contains", - "equalsAny", - "prefix", - "suffix" - ] + "deliveryDate": { + "type": "object", + "properties": { + "earliest": { + "type": "string", + "format": "date-time" + }, + "latest": { + "type": "string", + "format": "date-time" + } + } }, - "field": { + "identifier": { "type": "string" }, - "value": { - "type": "string" + "lineItem": { + "$ref": "#/components/schemas/LineItem" + }, + "price": { + "$ref": "#/components/schemas/CalculatedPrice" } - }, - "required": [ - "type", - "field", - "value" - ] + } }, - "EqualsFilter": { + "CartError": { "type": "object", + "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", "properties": { - "type": { - "type": "string", + "key": { + "type": "string" + }, + "level": { + "type": "number", "enum": [ - "equals" - ] + 0, + 10, + 20 + ], + "description": "* `0` - notice,\n* `10` - warning,\n* `20` - error" }, - "field": { + "message": { "type": "string" }, - "value": { - "oneOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] + "messageKey": { + "type": "string" } }, "required": [ - "type", - "field", - "value" + "key", + "level", + "message", + "messageKey" ] }, - "MultiNotFilter": { + "CartItems": { "type": "object", + "required": [ + "items" + ], "properties": { - "type": { - "type": "string", - "enum": [ - "multi", - "not" - ] - }, - "operator": { - "type": "string", - "enum": [ - "and", - "or", - "nor", - "nand" - ] - }, - "queries": { - "$ref": "#/components/schemas/Filters" + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LineItem" + } } - }, + } + }, + "CartItemsUpdate": { + "type": "object", "required": [ - "type", - "operator", - "queries" - ] + "items" + ], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CartLineItemUpdate" + } + } + } }, - "RangeFilter": { + "CartLineItemUpdate": { "type": "object", + "required": [ + "id" + ], "properties": { + "id": { + "type": "string" + }, "type": { - "type": "string", - "enum": [ - "range" - ] + "$ref": "#/components/schemas/OrderLineItem/properties/type" }, - "field": { + "quantity": { + "type": "integer" + }, + "referencedId": { "type": "string" }, - "parameters": { + "label": { + "type": "string" + }, + "payload": { + "type": "object" + }, + "stackable": { + "type": "boolean" + }, + "removable": { + "type": "boolean" + }, + "coverId": { + "type": "string" + }, + "priceDefinition": { "type": "object", "properties": { - "gte": { - "type": "number" + "type": { + "type": "string" }, - "gt": { + "price": { "type": "number" }, - "lte": { + "percentage": { "type": "number" }, - "lt": { + "quantity": { + "type": "integer" + }, + "isCalculated": { + "type": "boolean" + }, + "listPrice": { "type": "number" + }, + "taxRules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "taxRate": { + "type": "number" + }, + "percentage": { + "type": "number" + } + } + } } } } + } + }, + "CartListPrice": { + "type": "object", + "description": "", + "properties": { + "discount": { + "type": "number" + }, + "percentage": { + "type": "number" + }, + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "const": "cart_list_price" + } }, "required": [ - "type", - "field", - "parameters" + "apiAlias" ] }, - "AppPaymentMethod": { - "description": "Added since version: 6.4.1.0", + "CartPrice": { + "type": "object", + "description": "Represents the total calculated price of a cart or order, including taxes and the tax status.", "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "netPrice": { + "type": "number" }, - "createdAt": { + "totalPrice": { + "type": "number" + }, + "positionPrice": { + "type": "number" + }, + "rawTotal": { + "type": "number" + }, + "taxStatus": { "type": "string", - "format": "date-time", - "readOnly": true + "enum": [ + "gross", + "net", + "tax-free" + ] }, - "updatedAt": { + "calculatedTaxes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "const": "cart_tax_calculated" + }, + "tax": { + "type": "number" + }, + "taxRate": { + "type": "number" + }, + "price": { + "type": "number" + } + }, + "required": [ + "apiAlias", + "tax", + "taxRate", + "price" + ] + } + }, + "taxRules": { + "type": "array", + "description": "Currently active tax rules and/or rates", + "items": { + "type": "object", + "properties": { + "taxRate": { + "type": "number", + "format": "float" + }, + "name": { + "type": "string" + } + } + } + }, + "apiAlias": { "type": "string", - "format": "date-time", - "readOnly": true + "const": "cart_price" } }, - "type": "object" - }, - "CustomerGroup": { - "description": "Added since version: 6.0.0.0", "required": [ - "translated", - "id", - "name" - ], + "apiAlias", + "netPrice", + "totalPrice", + "positionPrice", + "rawTotal", + "taxStatus", + "calculatedTaxes", + "taxRules" + ] + }, + "CartPriceQuantity": { + "type": "object", "properties": { - "id": { + "apiAlias": { "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" + "const": "cart_price_quantity" }, - "displayGross": { - "description": "If boolean value is `true` gross value is displayed else, net value will be displayed to the customer.", + "isCalculated": { "type": "boolean" }, - "customFields": { - "type": "object" + "listPrice": { + "$ref": "#/components/schemas/CartListPrice" }, - "registrationActive": { - "description": "To enable the registration of partner customer group.", - "type": "boolean" + "price": { + "type": "number" }, - "registrationTitle": { - "type": "string" + "quantity": { + "type": "number" }, - "registrationIntroduction": { - "type": "string" + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" }, - "registrationOnlyCompanyRegistration": { - "type": "boolean" - }, - "registrationSeoMetaDescription": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "registrationIntroduction": { - "type": "string" - }, - "registrationSeoMetaDescription": { - "type": "string" - }, - "registrationTitle": { - "type": "string" + "taxRules": { + "type": "array", + "items": { + "type": "object", + "properties": { + "taxRate": { + "type": "number", + "format": "float" + }, + "name": { + "type": "string" + } } } + }, + "type": { + "type": "string" } }, - "type": "object" + "required": [ + "apiAlias" + ] }, - "ProductMeasurements": { + "CartPriceReference": { "type": "object", - "description": "Runtime field, cannot be used as part of the criteria. Measurements of a product, including dimensions and weight.", "properties": { - "width": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm" - }, - "value": { - "type": "number" - } - } + "purchaseUnit": { + "type": "number" }, - "height": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm" + "referenceUnit": { + "type": "number" + }, + "unitName": { + "type": "string" + }, + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "const": "cart_price_reference" + }, + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartListPrice" }, - "value": { - "type": "number" + { + "type": "null" } - } + ] }, - "length": { - "type": "object", - "properties": { - "unit": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm" + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "const": "cart_regulation_price" + } + } }, - "value": { - "type": "number" + { + "type": "null" } - } + ] }, - "weight": { - "type": "object", - "properties": { - "unit": { + "hasRange": { + "type": "boolean" + }, + "variantId": { + "oneOf": [ + { "type": "string", - "enum": [ - "g", - "kg", - "oz", - "lb" - ], - "default": "kg" + "format": "^[0-9a-f]{32}$" }, - "value": { - "type": "number" + { + "type": "null" } - } + ] } - } + }, + "required": [ + "apiAlias", + "hasRange", + "regulationPrice", + "listPrice", + "unitName" + ] }, - "ProductStream": { + "Category": { "description": "Added since version: 6.0.0.0", "required": [ + "apiAlias", + "breadcrumb", + "children", + "childCount", + "translated", + "type", "id", "name" ], @@ -9127,137 +8584,145 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "name": { - "type": "string" + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "description": { - "type": "string" + "parentId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "customFields": { - "type": "object" + "parentVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "internal": { - "description": "When the boolean value is `true` indicating that it is for internal use only and will not appear in product stream listings.", - "type": "boolean" + "afterCategoryId": { + "description": "Unique identity of the category under which the new category is to be created.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "displayAsGroup": { - "description": "When enabled, matching variants are grouped according to the product presentation setting. Disable to show them individually.", - "type": "boolean" + "afterCategoryVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "mediaId": { + "description": "Unique identity of media added to identify category.", "type": "string", - "format": "date-time", + "pattern": "^[0-9a-f]{32}$" + }, + "displayNestedProducts": { + "description": "Shows nested categories on a product category page.", + "type": "boolean" + }, + "breadcrumb": { + "type": "array", + "items": { + "type": "string", + "additionalProperties": false + }, "readOnly": true }, - "updatedAt": { - "type": "string", - "format": "date-time", + "level": { + "description": "An integer value that denotes the level of nesting of a particular category located in an hierarchical category tree.", + "type": "integer", + "format": "int64", "readOnly": true }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "CartError": { - "type": "object", - "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", - "properties": { - "key": { - "type": "string" + "path": { + "description": "A relative URL to the category.", + "type": "string", + "readOnly": true }, - "level": { + "childCount": { "type": "number", + "format": "int64", + "readOnly": true + }, + "type": { + "description": "Type of categories like `page`, `folder`, `link`.", + "type": "string", "enum": [ - 0, - 10, - 20 - ], - "description": "* `0` - notice,\n* `10` - warning,\n* `20` - error" + "page", + "link", + "folder" + ] }, - "message": { + "productAssignmentType": { + "description": "Type of product assignment: Dynamic product group as or `product_stream` or Manual assignment as `product`.", "type": "string" }, - "messageKey": { + "visible": { + "description": "Displays categories on category page when true.", + "type": "boolean" + }, + "active": { + "description": "When boolean value is `true`, the category is listed for selection.", + "type": "boolean" + }, + "visibleChildCount": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "integer", + "format": "int64" + }, + "name": { "type": "string" - } - }, - "required": [ - "key", - "level", - "message", - "messageKey" - ] - }, - "Document": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "documentTypeId", - "orderId", - "config", - "deepLinkCode" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" }, - "documentTypeId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "customFields": { + "type": "object" }, - "referencedDocumentId": { + "linkType": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "enum": [ + "category", + "product", + "external", + "landing_page" + ] }, - "orderId": { + "internalLink": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "documentMediaFileId": { + "externalLink": { + "type": "string" + }, + "linkNewTab": { + "type": "boolean" + }, + "description": { + "type": "string" + }, + "metaTitle": { + "type": "string" + }, + "metaDescription": { + "type": "string" + }, + "keywords": { + "type": "string" + }, + "cmsPageId": { + "description": "Unique identity of CMS page.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "documentA11yMediaFileId": { + "cmsPageVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderVersionId": { + "customEntityTypeId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "config": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "title": { - "type": "string" - } - }, - "required": [ - "name", - "title" - ] - }, - "sent": { - "type": "boolean" - }, - "static": { - "type": "boolean" - }, - "deepLinkCode": { - "type": "string" + "cmsPageIdSwitched": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "boolean", + "deprecated": true }, - "documentNumber": { + "seoUrl": { + "description": "Runtime field, cannot be used as part of the criteria.", "type": "string" }, - "customFields": { - "type": "object" - }, "createdAt": { "type": "string", "format": "date-time", @@ -9268,273 +8733,156 @@ "format": "date-time", "readOnly": true }, - "documentType": { - "$ref": "#/components/schemas/DocumentType" + "translated": { + "type": "object", + "additionalProperties": true, + "properties": { + "breadcrumb": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "breadcrumb" + ] }, - "order": { - "$ref": "#/components/schemas/Order" + "parent": { + "$ref": "#/components/schemas/Category", + "description": "Unique identity of category." }, - "referencedDocument": { - "$ref": "#/components/schemas/Document" + "children": { + "description": "Child categories within this category for hierarchical navigation", + "type": "array", + "items": { + "$ref": "#/components/schemas/Category" + } }, - "dependentDocuments": { + "media": { + "$ref": "#/components/schemas/Media", + "description": "Category image or banner" + }, + "tags": { + "description": "Tags for organizing and filtering categories", "type": "array", "items": { - "$ref": "#/components/schemas/Document" + "$ref": "#/components/schemas/Tag" } }, - "documentMediaFile": { - "$ref": "#/components/schemas/Media" + "cmsPage": { + "$ref": "#/components/schemas/CmsPage", + "description": "CMS page layout for the category" }, - "documentA11yMediaFile": { - "$ref": "#/components/schemas/Media" + "seoUrls": { + "description": "SEO-friendly URLs for the category across different sales channels", + "type": "array", + "items": { + "$ref": "#/components/schemas/SeoUrl" + } }, - "fileType": { - "type": "string" + "apiAlias": { + "type": "string", + "const": "category" } }, "type": "object" }, - "CartDelivery": { - "type": "object", - "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", + "CmsBlock": { + "description": "Added since version: 6.0.0.0", + "required": [ + "apiAlias", + "slots", + "id", + "position", + "type", + "sectionId" + ], "properties": { - "deliveryDate": { - "type": "object", - "properties": { - "earliest": { - "type": "string", - "format": "date-time" - }, - "latest": { - "type": "string", - "format": "date-time" - } - } + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "location": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "const": "cart_delivery_shipping_location" - }, - "country": { - "$ref": "#/components/schemas/Country" - }, - "address": { - "$ref": "#/components/schemas/CustomerAddress" - }, - "state": { - "$ref": "#/components/schemas/CountryState" - } - } + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "positions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartDeliveryPosition" - } + "cmsSectionVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "shippingCosts": { - "$ref": "#/components/schemas/CalculatedPrice" + "position": { + "description": "Order of the block indicated by number like 0, 1, 2,...", + "type": "integer", + "format": "int64" }, - "shippingMethod": { - "$ref": "#/components/schemas/ShippingMethod" - } - } - }, - "ProductListingResult": { - "allOf": [ - { - "$ref": "#/components/schemas/EntitySearchResult" + "type": { + "description": "Type of block can be 'image`, `text`, 'product-listing`, `image-two-column`, etc.", + "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", - "const": "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", - "const": "product_listing" - } - }, - "required": [ - "elements", - "availableSortings", - "currentFilters", - "apiAlias" - ] - } - ] - }, - "ProductPurchaseLimit": { - "type": "object", - "description": "Current quantity purchase limits for a product.", - "required": [ - "productId", - "minPurchase", - "purchaseSteps", - "maxPurchase", - "stock", - "apiAlias" - ], - "properties": { - "productId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The product ID." + "name": { + "description": "Unique name of the CMS Block.", + "type": "string" }, - "minPurchase": { - "type": "integer", - "description": "Minimum quantity a customer can purchase." + "sectionPosition": { + "description": "Position of the section. It can either be `main` or `sidebar`.", + "type": "string" }, - "purchaseSteps": { - "type": "integer", - "description": "Step increment for quantity selection." + "marginTop": { + "description": "Defines the margin area on the top of an element.", + "type": "string" }, - "maxPurchase": { - "type": "integer", - "description": "Maximum quantity a customer can purchase, reflecting current stock for closeout products." + "marginBottom": { + "description": "Defines for the margin area on the bottom of an element.", + "type": "string" }, - "stock": { - "type": [ - "integer", - "null" - ], - "description": "Current stock level of the product." + "marginLeft": { + "description": "Defines for the margin area on the left of an element.", + "type": "string" }, - "apiAlias": { + "marginRight": { + "description": "Defines the margin area on the right of an element.", + "type": "string" + }, + "backgroundColor": { + "description": "Defines the background color of an element.", + "type": "string" + }, + "backgroundMediaId": { + "description": "Unique identity of background media.", "type": "string", - "const": "product_purchase_limit" - } - } - }, - "ProductPrice": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { + "pattern": "^[0-9a-f]{32}$" + }, + "backgroundMediaMode": { + "description": "Background media mode accept values `cover`, `auto`, `contain`.", + "type": "string" + }, + "cssClass": { + "description": "One or more CSS classes added and separated by spaces.", + "type": "string" + }, + "visibility": { + "properties": { + "mobile": { + "type": "boolean" + }, + "desktop": { + "type": "boolean" + }, + "tablet": { + "type": "boolean" + } + }, + "type": "object" + }, + "sectionId": { + "description": "Unique identity of section.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, + "customFields": { + "type": "object" + }, "createdAt": { "type": "string", "format": "date-time", @@ -9544,80 +8892,272 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "backgroundMedia": { + "$ref": "#/components/schemas/Media" + }, + "slots": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CmsSlot" + } + }, + "apiAlias": { + "type": "string", + "const": "cms_block" } }, "type": "object" }, - "NumberRangeSalesChannel": { + "CmsPage": { "description": "Added since version: 6.0.0.0", + "required": [ + "apiAlias", + "sections", + "id", + "type" + ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "versionId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "name": { + "type": "string" + }, + "type": { + "description": "CMS page types can be `landingpage`, `page`, `product_list`, `product_detail`.", + "type": "string" + }, + "entity": { + "description": "This field will be implemented in the future.", + "type": "string" + }, + "cssClass": { + "description": "One or more CSS classes added and separated by spaces.", + "type": "string" + }, + "config": { + "properties": { + "backgroundColor": { + "type": "string" + } + }, + "type": "object" + }, + "previewMediaId": { + "description": "Unique identity of media to be previewed.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" + }, + "sections": { + "description": "Content sections within the CMS page (layout blocks containing slots)", + "type": "array", + "items": { + "$ref": "#/components/schemas/CmsSection" + } + }, + "previewMedia": { + "$ref": "#/components/schemas/Media", + "description": "Preview image for the CMS page in admin panel and page selection" + }, + "landingPages": { + "description": "Landing pages using this CMS layout", + "type": "array", + "items": { + "$ref": "#/components/schemas/LandingPage" + } + }, + "apiAlias": { + "type": "string", + "const": "cms_page" } }, "type": "object" }, - "ShippingMethodPrice": { + "CmsSection": { "description": "Added since version: 6.0.0.0", "required": [ + "apiAlias", + "blocks", "id", - "shippingMethodId" + "position", + "type", + "pageId" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "shippingMethodId": { - "description": "Unique identity of shipping method.", + "cmsPageVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "ruleId": { - "description": "Unique identity of rule.", + "position": { + "description": "Position of occurrence of each section denoted by numerical values 0, 1, 2...", + "type": "integer", + "format": "int64" + }, + "type": { + "description": "Types of sections can be `default` or `sidebar`.", + "type": "string", + "enum": [ + "default", + "sidebar" + ] + }, + "name": { + "description": "Name of the CMS section defined.", + "type": "string" + }, + "sizingMode": { + "description": "Sizing mode can be `boxed` or `full_width`.", + "type": "string" + }, + "mobileBehavior": { + "description": "Hides the sidebar on mobile viewports. It can hold values such as 'mobile', 'wrap', any other string or be unset.", + "type": "string" + }, + "backgroundColor": { + "description": "Background color of CMS page.", + "type": "string" + }, + "backgroundMediaId": { + "description": "Unique identity of CMS section's background media.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "calculation": { - "description": "Shipping price calculated based on quantity, price, weight or volume of items.", - "type": "integer", - "format": "int64" + "backgroundMediaMode": { + "description": "Background media mode can be `cover`, `auto` or `contain`.", + "type": "string" }, - "calculationRuleId": { - "description": "Unique identity of rule calculation.", + "cssClass": { + "description": "One or more CSS classes added and separated by spaces.", + "type": "string" + }, + "pageId": { + "description": "Unique identity of page where CMS section is defined.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quantityStart": { - "description": "Starting range of quantity of an item.", - "type": "number", - "format": "float" + "visibility": { + "properties": { + "mobile": { + "type": "boolean" + }, + "desktop": { + "type": "boolean" + }, + "tablet": { + "type": "boolean" + } + }, + "type": "object" }, - "quantityEnd": { - "description": "Ending range of quantity of an item.", - "type": "number", - "format": "float" + "customFields": { + "type": "object" }, - "currencyPrice": { + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "page": { + "$ref": "#/components/schemas/CmsPage" + }, + "backgroundMedia": { + "$ref": "#/components/schemas/Media" + }, + "blocks": { "type": "array", "items": { - "$ref": "#/components/schemas/Price" + "$ref": "#/components/schemas/CmsBlock" } }, + "apiAlias": { + "type": "string", + "const": "cms_section" + } + }, + "type": "object" + }, + "CmsSlot": { + "description": "Added since version: 6.0.0.0", + "required": [ + "apiAlias", + "id", + "type", + "slot", + "blockId" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "cmsBlockVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "fieldConfig": { + "type": "object" + }, + "type": { + "description": "It indicates the types of content that can be defined within the slot which includes `image`, `text`, `form`, `product-listing`, `category-navigation`, `product-box`, `buy-box`, `sidebar-filter`, etc.", + "type": "string" + }, + "slot": { + "description": "Key-value pair to configure which element to be shown in which slot.", + "type": "string" + }, + "locked": { + "type": "boolean" + }, + "config": { + "type": "object" + }, "customFields": { "type": "object" }, + "data": { + "type": "object", + "readOnly": true + }, + "blockId": { + "description": "Unique identity of CMS block where slot is defined.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, "createdAt": { "type": "string", "format": "date-time", @@ -9627,6 +9167,16 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "translated": { + "type": "object" + }, + "block": { + "$ref": "#/components/schemas/CmsBlock" + }, + "apiAlias": { + "type": "string", + "const": "cms_slot" } }, "type": "object" @@ -9675,159 +9225,343 @@ } } }, - "ProductSearchConfig": { - "description": "Added since version: 6.3.5.0", + "CookieEntry": { + "type": "object", "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "cookie": { + "type": "string" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "value": { + "type": "string" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "SalesChannelAnalytics": { - "description": "Added since version: 6.2.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "expiration": { + "type": "integer" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "name": { + "type": "string" }, - "updatedAt": { + "description": { + "type": "string" + }, + "hidden": { + "type": "boolean" + }, + "apiAlias": { "type": "string", - "format": "date-time", - "readOnly": true + "const": "cookie_entry" } }, - "type": "object" + "required": [ + "cookie", + "hidden", + "apiAlias" + ] }, - "CookieGroupCollection": { + "CookieEntryCollection": { "type": "array", "items": { - "$ref": "#/components/schemas/CookieGroup" + "$ref": "#/components/schemas/CookieEntry" } }, - "AclRole": { - "description": "Added since version: 6.0.0.0", + "CookieGroup": { + "type": "object", "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "isRequired": { + "type": "boolean" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "name": { + "type": "string" }, - "updatedAt": { + "description": { + "type": "string" + }, + "cookie": { + "type": "string" + }, + "value": { + "type": "string" + }, + "expiration": { + "type": "integer" + }, + "entries": { + "$ref": "#/components/schemas/CookieEntryCollection" + }, + "apiAlias": { "type": "string", - "format": "date-time", - "readOnly": true + "const": "cookie_group" } }, - "type": "object" + "not": { + "allOf": [ + { + "properties": { + "cookie": { + "type": "string" + } + }, + "required": [ + "cookie" + ] + }, + { + "properties": { + "entries": { + "$ref": "#/components/schemas/CookieEntryCollection" + } + }, + "required": [ + "entries" + ] + } + ] + }, + "required": [ + "name", + "isRequired", + "apiAlias" + ] }, - "ProductFeatureSet": { - "description": "Added since version: 6.3.0.0", + "CookieRouteResponse": { + "type": "object", + "description": "Response containing cookie groups and their configuration hash.", "properties": { - "id": { + "apiAlias": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "const": "cookie_groups_hash" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "elements": { + "type": "array", + "description": "Collection of cookie groups", + "items": { + "$ref": "#/components/schemas/CookieGroup" + } }, - "updatedAt": { + "hash": { "type": "string", - "format": "date-time", - "readOnly": true + "description": "Hash of the current cookie configuration. Can be used to detect changes in cookie configuration.", + "example": "f86b6a872cb83dbd22d838ceda1aa3d4" }, - "translated": { - "type": "object" + "languageId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The language ID for which the cookie configuration was generated. Used to store hashes per language.", + "example": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" } }, - "type": "object" + "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" + } }, - "MediaThumbnail": { + "Country": { "description": "Added since version: 6.0.0.0", "required": [ - "url", "id", - "mediaId", - "width", - "height" + "name", + "addressFormat" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "mediaId": { - "description": "Unique identity of media.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "name": { + "type": "string" }, - "mediaThumbnailSizeId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "iso": { + "description": "Internationally recognized two-letter country codes. For example, DE, IN, NO, etc.", + "type": "string" }, - "width": { - "description": "Width of the thumbnail.", + "position": { + "description": "Numerical value that indicates the order in which the defined countries must be displayed in the frontend.", "type": "integer", - "format": "int64", - "readOnly": true + "format": "int64" }, - "height": { - "description": "Height of the thumbnail.", - "type": "integer", - "format": "int64", - "readOnly": true + "active": { + "description": "When boolean value is `true`, the country is available for selection in the storefront.", + "type": "boolean" }, - "url": { - "description": "Public url of media thumbnail. Runtime field, cannot be used as part of the criteria.", - "type": "string" + "shippingAvailable": { + "description": "The shipping availability for a country is enabled when boolean value is `true`.", + "type": "boolean" }, - "path": { + "iso3": { + "description": "Internationally recognized three-letter country codes. For example, DEU, IND, NOR, etc.", "type": "string" }, - "customFields": { + "displayStateInRegistration": { + "description": "The country's state is displayed in the address when boolean value is `true`.", + "type": "boolean" + }, + "forceStateInRegistration": { + "description": "State details in the address are force included when boolean value is `true`.", + "type": "boolean" + }, + "checkVatIdPattern": { + "description": "Verify if VAT ID is valid or not.", + "type": "boolean" + }, + "vatIdRequired": { + "description": "Set to true, if VAT ID is to be made mandatory.", + "type": "boolean" + }, + "vatIdPattern": { + "description": "Unique VAT ID with country code and numbers, for example - GB999 9999", + "type": "string" + }, + "customFields": { "type": "object" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "customerTax": { + "required": [ + "enabled", + "currencyId", + "amount" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "currencyId": { + "type": "string" + }, + "amount": { + "type": "number", + "format": "float" + } + }, + "type": "object" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "AppMcpTool": { - "description": "Added since version: 6.7.11.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "companyTax": { + "required": [ + "enabled", + "currencyId", + "amount" + ], + "properties": { + "enabled": { + "type": "boolean" + }, + "currencyId": { + "type": "string" + }, + "amount": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "postalCodeRequired": { + "description": "The postal code is made mandatory specification in the address, when boolean value is `true`.", + "type": "boolean" + }, + "checkPostalCodePattern": { + "description": "Verify for valid postal code pattern.", + "type": "boolean" + }, + "checkAdvancedPostalCodePattern": { + "description": "Verify for advanced postal code pattern.", + "type": "boolean" + }, + "advancedPostalCodePattern": { + "description": "Wildcard formatted zip codes to allow easy searching in the frontend based on initial constants, for example - 24****, 1856**.", + "type": "string" + }, + "addressFormat": { + "type": "object" + }, + "defaultPostalCodePattern": { + "description": "Default pattern of postal or zip code.", + "type": "string" + }, + "isEu": { + "type": "boolean" }, "createdAt": { "type": "string", @@ -9841,15 +9575,23 @@ }, "translated": { "type": "object" + }, + "states": { + "description": "States/provinces/regions within the country", + "type": "array", + "items": { + "$ref": "#/components/schemas/CountryState" + } } }, "type": "object" }, - "Tax": { + "CountryState": { "description": "Added since version: 6.0.0.0", "required": [ "id", - "taxRate", + "countryId", + "shortCode", "name" ], "properties": { @@ -9857,20 +9599,27 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "taxRate": { - "description": "Rate of tax.", - "type": "number", - "format": "float" + "countryId": { + "description": "Unique identity of the country.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "shortCode": { + "description": "An abbreviation for the country's state.", + "type": "string" }, "name": { - "description": "Name defined for a Tax.", "type": "string" }, "position": { - "description": "The order of the tabs of your defined taxes in the storefront by entering numerical values like 1,2,3, etc. Added since version: 6.4.0.0.", + "description": "Numerical value that indicates the order in which the defined states must be displayed in the frontend.", "type": "integer", "format": "int64" }, + "active": { + "description": "When boolean value is `true`, the country's state is available for selection in the storefront.", + "type": "boolean" + }, "customFields": { "type": "object" }, @@ -9883,878 +9632,649 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "translated": { + "type": "object" } }, "type": "object" }, - "AggregationMetrics": { + "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": { - "name": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "avg", - "count", - "max", - "min", - "stats", - "sum" - ] + "page": { + "description": "Search result page", + "type": "integer" }, - "field": { + "term": { + "description": "Search term", "type": "string" - } - }, - "required": [ - "name", - "type", - "field" - ] - }, - "TaxRuleType": { - "description": "Added since version: 6.1.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "limit": { + "description": "Number of items per result page", + "type": "integer" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "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" + } + ] + } }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "OrderDeliveryPosition": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "orderDeliveryId", - "orderLineItemId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "ids": { + "type": "array", + "description": "List of ids to search for", + "items": { + "type": "string" + } }, - "versionId": { + "query": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "description": "The query string to search for" }, - "orderDeliveryId": { - "description": "Unique identity of order delivery.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "associations": { + "$ref": "#/components/schemas/Associations" }, - "orderDeliveryVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "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" + } + ] + } }, - "orderLineItemId": { - "description": "Unique identity of line items in an order.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "orderLineItemVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "price": { - "required": [ - "unitPrice", - "totalPrice", - "quantity" - ], - "properties": { - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "referencePrice": { - "type": "object" - }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - } - }, - "type": "object" + "sort": { + "type": "array", + "description": "Sorting in the search result.", + "items": { + "$ref": "#/components/schemas/Sort" + } }, - "unitPrice": { - "description": "Price of product per item (where, quantity=1).", - "type": "number", - "format": "float" + "aggregations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Aggregation" + } }, - "totalPrice": { - "description": "Cost of product based on quantity.", - "type": "number", - "format": "float" + "fields": { + "type": "array", + "description": "Fields which should be returned in the search result.", + "items": { + "type": "string", + "description": "Name of a field" + } }, - "quantity": { - "description": "Number of items of each product.", - "type": "integer", - "format": "int64" + "grouping": { + "type": "array", + "description": "Perform groupings over certain fields", + "items": { + "type": "string", + "description": "Name of a field" + } }, - "customFields": { - "type": "object" + "total-count-mode": { + "$ref": "#/components/schemas/TotalCountMode" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "includes": { + "$ref": "#/components/schemas/Includes" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "excludes": { + "$ref": "#/components/schemas/Excludes" } - }, - "type": "object" - }, - "CrossSellingElementCollection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CrossSellingElement" } }, - "CustomerAddressBody": { - "description": "Added since version: 6.0.0.0", - "required": [ - "countryId", - "firstName", - "lastName", - "city", - "street" - ], + "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": { - "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" + "page": { + "description": "Search result page", + "type": "integer" }, - "zipcode": { + "term": { + "description": "Search term", "type": "string" }, - "city": { - "type": "string" + "limit": { + "description": "Number of items per result page", + "type": "integer" }, - "company": { - "type": "string" + "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" + } + ] + } }, - "street": { - "type": "string" + "ids": { + "type": "array", + "description": "List of ids to search for", + "items": { + "type": "string" + } }, - "department": { - "type": "string" + "query": { + "type": "string", + "description": "The query string to search for" }, - "title": { - "type": "string" + "associations": { + "$ref": "#/components/schemas/Associations" }, - "phoneNumber": { - "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" + } + ] + } }, - "additionalAddressLine1": { - "type": "string" + "sort": { + "type": "array", + "description": "Sorting in the search result.", + "items": { + "$ref": "#/components/schemas/Sort" + } }, - "additionalAddressLine2": { - "type": "string" + "aggregations": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Aggregation" + } }, - "customFields": { - "type": "object" + "grouping": { + "type": "array", + "description": "Perform groupings over certain fields", + "items": { + "type": "string", + "description": "Name of a field" + } }, - "country": { - "$ref": "#/components/schemas/Country" + "total-count-mode": { + "$ref": "#/components/schemas/TotalCountMode" }, - "countryState": { - "$ref": "#/components/schemas/CountryState" + "includes": { + "$ref": "#/components/schemas/Includes" }, - "salutation": { - "$ref": "#/components/schemas/Salutation" + "excludes": { + "$ref": "#/components/schemas/Excludes" } - }, - "type": "object" + } }, - "SalesChannelContext": { + "Associations": { "type": "object", - "properties": { - "token": { - "description": "Context the user session", + "additionalProperties": { + "$ref": "#/components/schemas/Criteria" + } + }, + "Includes": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "Excludes": { + "type": "object", + "additionalProperties": { + "type": "array", + "items": { "type": "string" + } + } + }, + "Aggregation": { + "anyOf": [ + { + "$ref": "#/components/schemas/AggregationMetrics" }, - "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", - "const": "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" + { + "title": "AggregationRange", + "allOf": [ + { + "$ref": "#/components/schemas/AggregationRange" }, - "currencyPrecision": { - "type": "integer", - "format": "int32" + { + "$ref": "#/components/schemas/SubAggregations" + } + ] + } + ] + }, + "SubAggregations": { + "type": "object", + "properties": { + "aggregation": { + "anyOf": [ + { + "$ref": "#/components/schemas/AggregationMetrics" }, - "languageIdChain": { - "type": "array", - "items": { - "type": "string" - } + { + "$ref": "#/components/schemas/AggregationEntity" }, - "scope": { - "type": "string" + { + "$ref": "#/components/schemas/AggregationFilter" }, - "source": { - "type": "object", - "required": [ - "salesChannelId", - "type" - ], - "properties": { - "type": { - "type": "string", - "enum": [ - "sales-channel", - "shop-api" - ] - }, - "salesChannelId": { - "type": "string" - } - } + { + "$ref": "#/components/schemas/AggregationTerms" }, - "taxState": { - "type": "string" + { + "$ref": "#/components/schemas/AggregationHistogram" }, - "useCache": { - "type": "boolean" + { + "$ref": "#/components/schemas/AggregationRange" } - } + ] + } + } + }, + "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" + ] + }, + "Sort": { + "type": "object", + "properties": { + "field": { + "type": "string" }, - "itemRounding": { - "type": "object", - "required": [ - "decimals", - "interval", - "roundForNet", - "apiAlias" - ], - "properties": { - "apiAlias": { - "type": "string", - "const": "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" - }, - "decimals": { - "type": "integer", - "format": "int32" - }, - "interval": { - "type": "number", - "format": "float" - }, - "roundForNet": { - "type": "boolean" - } - } + "order": { + "type": "string", + "enum": [ + "ASC", + "DESC" + ] }, - "totalRounding": { - "type": "object", - "required": [ - "decimals", - "interval", - "roundForNet", - "apiAlias" - ], - "properties": { - "apiAlias": { - "type": "string", - "const": "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" - }, - "decimals": { - "type": "integer", - "format": "int32" - }, - "interval": { - "type": "number", - "format": "float" - }, - "roundForNet": { - "type": "boolean" - } - } - }, - "languageInfo": { - "type": "object", - "required": [ - "localeCode", - "name" - ], - "properties": { - "name": { - "type": "string" - }, - "localeCode": { - "type": "string" - } - } + "naturalSorting": { + "type": "boolean" }, - "apiAlias": { - "type": "string", - "const": "sales_channel_context" + "type": { + "type": "string" } }, "required": [ - "salesChannel", - "apiAlias", - "itemRounding", - "totalRounding", - "languageInfo" + "field", + "order" ] }, - "CookieRouteResponse": { - "type": "object", - "description": "Response containing cookie groups and their configuration hash.", - "properties": { - "apiAlias": { - "type": "string", - "const": "cookie_groups_hash" - }, - "elements": { - "type": "array", - "description": "Collection of cookie groups", - "items": { - "$ref": "#/components/schemas/CookieGroup" - } - }, - "hash": { - "type": "string", - "description": "Hash of the current cookie configuration. Can be used to detect changes in cookie configuration.", - "example": "f86b6a872cb83dbd22d838ceda1aa3d4" - }, - "languageId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The language ID for which the cookie configuration was generated. Used to store hashes per language.", - "example": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" - } - }, - "required": [ - "elements", - "hash", - "languageId", - "apiAlias" - ], - "example": { - "apiAlias": "cookie_groups_hash", - "elements": [ + "Filters": { + "type": "array", + "items": { + "anyOf": [ { - "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" + "$ref": "#/components/schemas/SimpleFilter" }, { - "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" + "$ref": "#/components/schemas/EqualsFilter" }, { - "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" + "$ref": "#/components/schemas/MultiNotFilter" }, { - "isRequired": false, - "name": "Comfort features", - "entries": [ - { - "value": "1", - "expiration": 30, - "name": "YouTube video", - "hidden": false, - "cookie": "youtube-video", - "apiAlias": "cookie_entry" - } - ], - "apiAlias": "cookie_group" + "$ref": "#/components/schemas/RangeFilter" } - ], - "hash": "f86b6a872cb83dbd22d838ceda1aa3d4", - "languageId": "2fbb5fe2e29a4d70aa5854ce7ce3e20b" + ] } }, - "ProductCrossSellingAssignedProducts": { - "description": "Added since version: 6.2.0.0", + "SimpleFilter": { + "type": "object", "properties": { - "id": { + "type": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "enum": [ + "contains", + "equalsAny", + "prefix", + "suffix" + ] }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "field": { + "type": "string" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "value": { + "type": "string" } }, - "type": "object" - }, - "NavigationRouteResponse": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Category" - } + "required": [ + "type", + "field", + "value" + ] }, - "PromotionDiscount": { - "description": "Added since version: 6.0.0.0", + "EqualsFilter": { + "type": "object", "properties": { - "id": { + "type": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "enum": [ + "equals" + ] }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "field": { + "type": "string" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "value": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] } }, - "type": "object" + "required": [ + "type", + "field", + "value" + ] }, - "Cart": { + "MultiNotFilter": { "type": "object", "properties": { - "name": { - "description": "Name of the cart - for example `guest-cart`", - "type": "string" + "type": { + "type": "string", + "enum": [ + "multi", + "not" + ] }, - "token": { - "description": "Context token identifying the cart and the user session", - "type": "string" + "operator": { + "type": "string", + "enum": [ + "and", + "or", + "nor", + "nand" + ] }, - "price": { - "$ref": "#/components/schemas/CalculatedPrice" + "queries": { + "$ref": "#/components/schemas/Filters" + } + }, + "required": [ + "type", + "operator", + "queries" + ] + }, + "RangeFilter": { + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "range" + ] }, - "lineItems": { - "description": "All items within the cart", - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" - } + "field": { + "type": "string" }, - "errors": { + "parameters": { "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" - } + "properties": { + "gte": { + "type": "number" }, - { - "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" - ] - } + "gt": { + "type": "number" + }, + "lte": { + "type": "number" + }, + "lt": { + "type": "number" } - ] - }, - "deliveries": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartDelivery" } + } + }, + "required": [ + "type", + "field", + "parameters" + ] + }, + "CrossSellingElement": { + "type": "object", + "properties": { + "crossSelling": { + "$ref": "#/components/schemas/ProductCrossSelling" }, - "transactions": { - "description": "A list of all payment transactions associated with the current cart.", + "products": { "type": "array", "items": { - "type": "object", - "properties": { - "paymentMethodId": { - "type": "string" - }, - "amount": { - "$ref": "#/components/schemas/CalculatedPrice" - } - } + "$ref": "#/components/schemas/Product" } }, - "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" - } - ] + "total": { + "type": "integer", + "format": "int32" }, - "campaignCode": { - "description": "A campaign tracking code", - "oneOf": [ - { - "type": "string" - }, - { - "type": "null" - } - ] + "streamId": { + "type": "string", + "format": "uuid" }, "apiAlias": { "type": "string", - "const": "cart" + "const": "cross_selling_element" } }, "required": [ - "price", + "crossSelling", + "products", + "total", "apiAlias" ] }, - "OrderTag": { + "CrossSellingElementCollection": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CrossSellingElement" + } + }, + "Currency": { "description": "Added since version: 6.0.0.0", "required": [ - "orderId", - "tagId" + "id", + "factor", + "symbol", + "isoCode", + "itemRounding", + "totalRounding", + "shortName", + "name" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "factor": { + "description": "Currency exchange rate.", + "type": "number", + "format": "float" }, - "orderVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "symbol": { + "description": "A currency symbol is a graphical representation used as shorthand for a currency's name, for example US Dollar - $", + "type": "string" }, - "tagId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "isoCode": { + "description": "Standard international three digit code to represent currency. For example, USD.", + "type": "string" }, - "order": { - "$ref": "#/components/schemas/Order" + "shortName": { + "type": "string" }, - "tag": { - "$ref": "#/components/schemas/Tag" - } - }, - "type": "object" - }, - "SalesChannelTrackingOrder": { - "description": "Added since version: 6.7.9.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "name": { + "type": "string" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "position": { + "description": "The order of the tabs for multiple currencies defined.", + "type": "integer", + "format": "int64" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "ImportExportLog": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "isSystemDefault": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "boolean" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "taxFreeFrom": { + "description": "The value from which the tax must be exempted.", + "type": "number", + "format": "float" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "MeasurementDisplayUnit": { - "description": "Added since version: 6.7.1.0", - "required": [ - "id", - "measurementSystemId", - "default", - "type", - "shortName", - "factor", - "precision" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "measurementSystemId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "default": { - "type": "boolean" - }, - "type": { - "type": "string" - }, - "shortName": { - "type": "string" + "customFields": { + "type": "object" }, - "factor": { - "type": "number", - "format": "float" + "itemRounding": { + "required": [ + "decimals", + "interval", + "roundForNet" + ], + "properties": { + "decimals": { + "type": "integer", + "format": "int64" + }, + "interval": { + "type": "number", + "format": "float" + }, + "roundForNet": { + "type": "boolean" + } + }, + "type": "object" }, - "precision": { - "type": "integer", - "format": "int64" + "totalRounding": { + "required": [ + "decimals", + "interval", + "roundForNet" + ], + "properties": { + "decimals": { + "type": "integer", + "format": "int64" + }, + "interval": { + "type": "number", + "format": "float" + }, + "roundForNet": { + "type": "boolean" + } + }, + "type": "object" }, "createdAt": { "type": "string", @@ -10768,102 +10288,137 @@ }, "translated": { "type": "object" - }, - "measurementSystem": { - "$ref": "#/components/schemas/MeasurementSystem" } }, "type": "object" }, - "MainCategory": { - "description": "Added since version: 6.1.0.0", + "CustomerAddressBody": { + "description": "Added since version: 6.0.0.0", "required": [ - "id", - "productId", - "categoryId", - "salesChannelId" + "countryId", + "firstName", + "lastName", + "city", + "street" ], "properties": { - "id": { + "countryId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productId": { - "description": "Unique identity of the product.", + "countryStateId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productVersionId": { + "salutationId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "categoryId": { - "description": "Unique identity of the category.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "firstName": { + "type": "string" }, - "categoryVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "lastName": { + "type": "string" }, - "salesChannelId": { - "description": "Unique identity of the sales channel.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "zipcode": { + "type": "string" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "city": { + "type": "string" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "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" }, - "OrderRouteResponse": { + "CustomerAddressRead": { "type": "object", "properties": { - "orders": { - "type": "object", - "allOf": [ + "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": "object", - "required": [ - "elements" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Order" - } - } - } + "type": "string", + "format": "date-time" }, { - "$ref": "#/components/schemas/EntitySearchResult" + "type": "null" } ] }, - "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" - } + "country": { + "$ref": "#/components/schemas/Country" + }, + "countryState": { + "oneOf": [ + { + "$ref": "#/components/schemas/CountryState" + }, + { + "type": "null" + } + ] + }, + "salutation": { + "$ref": "#/components/schemas/Salutation" } }, "required": [ - "orders" + "customerId", + "createdAt", + "updatedAt", + "country", + "salutation" ] }, - "ProductManufacturer": { + "CustomerGroup": { "description": "Added since version: 6.0.0.0", "required": [ + "translated", "id", "name" ], @@ -10872,26 +10427,31 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "name": { + "type": "string" }, - "mediaId": { - "description": "Unique identity of the media.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "displayGross": { + "description": "If boolean value is `true` gross value is displayed else, net value will be displayed to the customer.", + "type": "boolean" }, - "link": { - "type": "string" + "customFields": { + "type": "object" }, - "name": { + "registrationActive": { + "description": "To enable the registration of partner customer group.", + "type": "boolean" + }, + "registrationTitle": { "type": "string" }, - "description": { + "registrationIntroduction": { "type": "string" }, - "customFields": { - "type": "object" + "registrationOnlyCompanyRegistration": { + "type": "boolean" + }, + "registrationSeoMetaDescription": { + "type": "string" }, "createdAt": { "type": "string", @@ -10904,68 +10464,58 @@ "readOnly": true }, "translated": { - "type": "object" - }, - "media": { - "$ref": "#/components/schemas/Media" - } - }, - "type": "object" - }, - "UserConfig": { - "description": "Added since version: 6.3.5.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "registrationIntroduction": { + "type": "string" + }, + "registrationSeoMetaDescription": { + "type": "string" + }, + "registrationTitle": { + "type": "string" + } + } } }, "type": "object" }, - "MediaTag": { + "DeliveryTime": { "description": "Added since version: 6.0.0.0", "required": [ - "mediaId", - "tagId" + "id", + "name", + "min", + "max", + "unit" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "mediaId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "name": { + "type": "string" }, - "tagId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "min": { + "description": "Minimum delivery time taken.", + "type": "integer", + "format": "int64" }, - "media": { - "$ref": "#/components/schemas/Media" + "max": { + "description": "Maximum delivery time taken.", + "type": "integer", + "format": "int64" }, - "tag": { - "$ref": "#/components/schemas/Tag" - } - }, - "type": "object" - }, - "FlowSequence": { - "description": "Added since version: 6.4.6.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "unit": { + "description": "Unit in which the delivery time is defined. For example, days or hours.", + "type": "string" + }, + "customFields": { + "type": "object" }, "createdAt": { "type": "string", @@ -10976,81 +10526,81 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "translated": { + "type": "object" } }, "type": "object" }, - "ProductSearchKeyword": { + "Document": { "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "documentTypeId", + "orderId", + "config", + "deepLinkCode" + ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "documentTypeId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "referencedDocumentId": { "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "ProductVisibility": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { + "pattern": "^[0-9a-f]{32}$" + }, + "orderId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "documentMediaFileId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "documentA11yMediaFileId": { "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "Salutation": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "salutationKey", - "displayName", - "letterName" - ], - "properties": { - "id": { + "pattern": "^[0-9a-f]{32}$" + }, + "orderVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "salutationKey": { - "description": "Technical name given to salutation. For example: mr", - "type": "string" + "config": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "name", + "title" + ] }, - "displayName": { + "sent": { + "type": "boolean" + }, + "static": { + "type": "boolean" + }, + "deepLinkCode": { "type": "string" }, - "letterName": { + "documentNumber": { "type": "string" }, "customFields": { "type": "object" }, - "position": { - "description": "Numerical value that indicates the order in which the defined salutations must be displayed in the frontend.", - "type": "integer", - "format": "int64" - }, "createdAt": { "type": "string", "format": "date-time", @@ -11061,69 +10611,50 @@ "format": "date-time", "readOnly": true }, - "translated": { - "type": "object" + "documentType": { + "$ref": "#/components/schemas/DocumentType" + }, + "order": { + "$ref": "#/components/schemas/Order" + }, + "referencedDocument": { + "$ref": "#/components/schemas/Document" + }, + "dependentDocuments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Document" + } + }, + "documentMediaFile": { + "$ref": "#/components/schemas/Media" + }, + "documentA11yMediaFile": { + "$ref": "#/components/schemas/Media" + }, + "fileType": { + "type": "string" } }, "type": "object" }, - "ProductReview": { + "DocumentType": { "description": "Added since version: 6.0.0.0", "required": [ "id", - "productId", - "salesChannelId", - "languageId", - "title", - "content" + "technicalName", + "name" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productId": { - "description": "Unique identity of the product.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "salesChannelId": { - "description": "Unique identity of the sales channel.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "languageId": { - "description": "Unique identity of the language.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "externalUser": { - "description": "External user name.", - "type": "string" - }, - "title": { - "description": "Title of product review.", - "type": "string" - }, - "content": { - "description": "Short description or subject of the project review.", + "name": { "type": "string" }, - "points": { - "description": "A floating point number given to rate a product.", - "type": "number", - "format": "float" - }, - "status": { - "description": "When status is set, the rating is made visible.", - "type": "boolean" - }, - "comment": { - "description": "Detailed review about the product.", + "technicalName": { + "description": "Technical name of document type.", "type": "string" }, "customFields": { @@ -11138,45 +10669,22 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "translated": { + "type": "object" } }, "type": "object" }, - "Notification": { - "description": "Added since version: 6.4.7.0", + "EntitySearchResult": { + "type": "object", "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "entity": { + "type": "string" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "CookieEntryCollection": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CookieEntry" - } - }, - "EntitySearchResult": { - "type": "object", - "properties": { - "entity": { - "type": "string" - }, - "total": { - "type": "integer", - "description": "The total number of found entities" + "total": { + "type": "integer", + "description": "The total number of found entities" }, "aggregations": { "type": "array", @@ -11195,247 +10703,311 @@ } } }, - "DocumentBaseConfigSalesChannel": { - "description": "Added since version: 6.0.0.0", + "FindProductVariantRouteResponse": { + "type": "object", + "properties": { + "foundCombination": { + "type": "object", + "properties": { + "variantId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "options": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + } + }, + "failure": { + "type": "object", "required": [ - "id", - "documentBaseConfigId" + "errors" + ], + "additionalProperties": false, + "properties": { + "meta": { + "$ref": "#/components/schemas/meta" + }, + "links": { + "$ref": "#/components/schemas/links" + }, + "errors": { + "type": "array", + "items": { + "$ref": "#/components/schemas/error" + }, + "uniqueItems": true + } + } + }, + "meta": { + "description": "Non-standard meta-information that can not be represented as an attribute or relationship.", + "type": "object", + "additionalProperties": true + }, + "resource": { + "description": "\"Resource objects\" appear in a JSON API document to represent resources.", + "type": "object", + "required": [ + "type", + "id" ], "properties": { + "type": { + "type": "string" + }, "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "type": "string" }, - "documentBaseConfigId": { - "description": "Unique identity of document's base config.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "attributes": { + "$ref": "#/components/schemas/attributes" }, - "salesChannelId": { - "description": "Unique identity of sales channel.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "relationships": { + "$ref": "#/components/schemas/relationships" }, - "documentTypeId": { - "description": "Unique identity of document type.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "links": { + "$ref": "#/components/schemas/links" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "meta": { + "$ref": "#/components/schemas/meta" + } + } + }, + "relationshipLinks": { + "description": "A resource object **MAY** contain references to other resource objects (\"relationships\"). Relationships may be to-one or to-many. Relationships can be specified by including a member in a resource's links object.", + "type": "object", + "additionalProperties": true, + "properties": { + "self": { + "allOf": [ + { + "description": "A `self` member, whose value is a URL for the relationship itself (a \"relationship URL\"). This URL allows the client to directly manipulate the relationship. For example, it would allow a client to remove an `author` from an `article` without deleting the people resource itself.", + "type": "array", + "items": { + "type": "object" + } + }, + { + "$ref": "#/components/schemas/link" + } + ] }, - "updatedAt": { + "related": { + "$ref": "#/components/schemas/link" + } + } + }, + "links": { + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/link" + } + }, + "link": { + "description": "A link **MUST** be represented as either: a string containing the link's URL or a link object.", + "oneOf": [ + { + "description": "A string containing the link's URL.", "type": "string", - "format": "date-time", - "readOnly": true + "format": "uri-reference" + }, + { + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "A string containing the link's URL.", + "type": "string", + "format": "uri-reference" + }, + "meta": { + "$ref": "#/components/schemas/meta" + } + } } - }, - "type": "object" + ] }, - "AccountNewsletterRecipient": { + "attributes": { + "description": "Members of the attributes object (\"attributes\") represent information about the resource object in which it's defined.", + "type": "object", + "additionalProperties": true + }, + "relationships": { + "description": "Members of the relationships object (\"relationships\") represent references from the resource object in which it's defined to other resource objects.", + "type": "object", + "additionalProperties": { + "$ref": "#/components/schemas/relationship" + } + }, + "relationship": { + "description": "A relationship object describes links, resource linkage, or meta-information for a related resource.", "type": "object", + "minProperties": 1, "properties": { - "status": { - "$ref": "#/components/schemas/NewsletterStatus" + "links": { + "$ref": "#/components/schemas/relationshipLinks" }, - "apiAlias": { - "type": "string", - "const": "account_newsletter_recipient" + "data": { + "description": "Member, whose value represents \"resource linkage\".", + "oneOf": [ + { + "$ref": "#/components/schemas/relationshipToOne" + }, + { + "$ref": "#/components/schemas/relationshipToMany" + } + ] + }, + "meta": { + "$ref": "#/components/schemas/meta" } }, - "required": [ - "status", - "apiAlias" + "additionalProperties": false + }, + "relationshipToOne": { + "allOf": [ + { + "description": "References to other resource objects in a to-one (\"relationship\"). Relationships can be specified by including a member in a resource's links object." + }, + { + "$ref": "#/components/schemas/linkage" + } ] }, - "UserAccessKey": { - "description": "Added since version: 6.0.0.0", + "relationshipToMany": { + "description": "An array of objects each containing \"type\" and \"id\" members for to-many relationships.", + "type": "array", + "items": { + "$ref": "#/components/schemas/linkage" + }, + "uniqueItems": true + }, + "linkage": { + "description": "The \"type\" and \"id\" to non-empty members.", + "type": "object", + "required": [ + "type", + "id" + ], "properties": { + "type": { + "type": "string" + }, "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "meta": { + "$ref": "#/components/schemas/meta" } }, - "type": "object" + "additionalProperties": false }, - "RuleCondition": { - "description": "Added since version: 6.0.0.0", + "error": { + "type": "object", "properties": { "id": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "description": "A unique identifier for this particular occurrence of the problem." }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "links": { + "$ref": "#/components/schemas/links" }, - "updatedAt": { + "status": { "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "ProductListingCriteria": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" + "description": "The HTTP status code applicable to this problem, expressed as a string value." }, - { + "code": { + "type": "string", + "description": "An application-specific error code, expressed as a string value." + }, + "title": { + "type": "string", + "description": "A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization." + }, + "detail": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the problem." + }, + "description": { + "type": "string", + "description": "A human-readable description of the problem." + }, + "source": { "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" + "pointer": { + "type": "string", + "description": "A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. \"/data\" for a primary data object, or \"/data/attributes/title\" for a specific attribute]." }, - "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" - } - ] + "parameter": { + "type": "string", + "description": "A string indicating which query parameter caused the error." } } + }, + "meta": { + "$ref": "#/components/schemas/meta" } - ] + }, + "additionalProperties": false }, - "PaymentMethod": { - "description": "Added since version: 6.0.0.0", + "LandingPage": { + "description": "Added since version: 6.4.0.0", "required": [ + "apiAlias", "id", - "technicalName", - "name" + "name", + "url" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "name": { - "type": "string" - }, - "distinguishableName": { + "versionId": { "type": "string", - "readOnly": true - }, - "description": { - "type": "string" - }, - "position": { - "description": "The order of the tabs of your defined payment methods in the storefront by entering numerical values like 1,2,3, etc.", - "type": "integer", - "format": "int64" + "pattern": "^[0-9a-f]{32}$" }, "active": { - "description": "When boolean value is `true`, the payment methods are available for selection in the storefront.", "type": "boolean" }, - "afterOrderEnabled": { - "description": "When set to true, customers are redirected to the payment options page to choose a new payment method on order failure.", - "type": "boolean" + "name": { + "type": "string" }, "customFields": { "type": "object" }, - "mediaId": { - "description": "Unique identity of media.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "slotConfig": { + "type": "object" }, - "technicalName": { + "metaTitle": { "type": "string" }, - "shortName": { - "description": "Runtime field, cannot be used as part of the criteria.", + "metaDescription": { + "type": "string" + }, + "keywords": { + "type": "string" + }, + "url": { "type": "string" }, + "cmsPageId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "cmsPageVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, "createdAt": { "type": "string", "format": "date-time", @@ -11449,436 +11021,340 @@ "translated": { "type": "object" }, - "media": { - "$ref": "#/components/schemas/Media", - "description": "Payment method logo or icon image" + "cmsPage": { + "$ref": "#/components/schemas/CmsPage", + "description": "CMS page layout for the landing page" + }, + "seoUrls": { + "description": "SEO-friendly URLs for the landing page across different sales channels", + "type": "array", + "items": { + "$ref": "#/components/schemas/SeoUrl" + } + }, + "apiAlias": { + "type": "string", + "const": "landing_page" } }, "type": "object" }, - "CustomerTag": { + "Language": { "description": "Added since version: 6.0.0.0", "required": [ - "customerId", - "tagId" + "id", + "localeId", + "name" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "customerId": { + "parentId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "tagId": { + "localeId": { + "description": "Unique identity of locale.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "tag": { - "$ref": "#/components/schemas/Tag" - } - }, - "type": "object" - }, - "CartPriceQuantity": { - "type": "object", - "properties": { - "apiAlias": { + "translationCodeId": { + "description": "Unique identity of translation code.", "type": "string", - "const": "cart_price_quantity" + "pattern": "^[0-9a-f]{32}$" }, - "isCalculated": { + "name": { + "description": "Name of the language.", + "type": "string" + }, + "active": { "type": "boolean" }, - "listPrice": { - "$ref": "#/components/schemas/CartListPrice" + "customFields": { + "type": "object" }, - "price": { - "type": "number" + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "quantity": { - "type": "number" + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" + "parent": { + "$ref": "#/components/schemas/Language", + "description": "Unique identity of language." }, - "taxRules": { - "type": "array", - "items": { - "type": "object", - "properties": { - "taxRate": { - "type": "number", - "format": "float" - }, - "name": { - "type": "string" - } - } - } + "locale": { + "$ref": "#/components/schemas/Locale", + "description": "Locale defining regional settings (date, time, number formats)" }, - "type": { - "type": "string" + "translationCode": { + "$ref": "#/components/schemas/Locale", + "description": "Locale used for translating content" + }, + "children": { + "description": "Child languages inheriting from this parent language", + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + } } }, - "required": [ - "apiAlias" - ] + "type": "object" }, - "Price": { + "LineItem": { "type": "object", - "description": "Price object", "properties": { - "currencyId": { - "description": "Unique identity of the associated currency.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "children": { + "type": "array", + "items": { + "$ref": "#/components/schemas/LineItem" + } }, - "gross": { - "description": "Gross price for the associated currency.", - "type": "number" + "cover": { + "$ref": "#/components/schemas/Media" }, - "net": { - "description": "Net price for the associated currency.", - "type": "number" + "dataContextHash": { + "type": "string" }, - "linked": { - "description": "Whether gross and net prices are linked through the tax configuration.", + "dataTimestamp": { + "type": "string" + }, + "deliveryInformation": { + "$ref": "#/components/schemas/CartDeliveryInformation" + }, + "description": { + "type": "string" + }, + "good": { "type": "boolean" }, - "percentage": { - "description": "Discount percentage relative to the list price for the gross and net amounts. `null` when no list price is set.", - "type": [ - "object", - "null" - ], - "properties": { - "gross": { - "description": "Discount percentage relative to the gross list price.", - "type": "number" - }, - "net": { - "description": "Discount percentage relative to the net list price.", - "type": "number" - } - }, - "required": [ - "gross", - "net" - ] + "id": { + "type": "string" }, - "listPrice": { - "description": "Reference list price for displaying discounts.", + "label": { + "type": "string" + }, + "modified": { + "type": "boolean" + }, + "modifiedByApp": { + "type": "boolean" + }, + "payload": { + "$ref": "#/components/schemas/ProductJsonApi" + }, + "price": { "type": "object", "properties": { - "currencyId": { - "description": "Unique identity of the associated currency.", + "apiAlias": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "const": "calculated_price" }, - "gross": { - "description": "Gross list price for the associated currency.", + "calculatedTaxes": { + "type": "array", + "items": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "const": "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" }, - "net": { - "description": "Net list price for the associated currency.", + "referencePrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/CartPriceReference" + }, + { + "type": "null" + } + ] + }, + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "const": "cart_regulation_price" + } + } + }, + { + "type": "null" + } + ] + }, + "totalPrice": { "type": "number" }, - "linked": { - "description": "Whether gross and net list prices are linked through the tax configuration.", - "type": "boolean" + "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": [ - "gross", - "net" + "apiAlias", + "totalPrice", + "quantity", + "unitPrice" ] }, - "regulationPrice": { - "description": "Reference price used for legal price disclosures.", + "priceDefinition": { + "$ref": "#/components/schemas/CartPriceQuantity" + }, + "quantity": { + "type": "number" + }, + "quantityInformation": { "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.", + "maxPurchase": { "type": "number" }, - "net": { - "description": "Net regulation price for the associated currency.", + "minPurchase": { "type": "number" }, - "linked": { - "description": "Whether gross and net regulation prices are linked through the tax configuration.", - "type": "boolean" + "purchaseSteps": { + "type": "number" } - }, - "required": [ - "gross", - "net" - ] - } - }, - "required": [ - "currencyId", - "gross", - "net" - ] - }, - "AggregationEntity": { - "title": "AggregationEntity", - "type": "object", - "properties": { - "name": { - "description": "Give your aggregation an identifier, so you can find it easier", + } + }, + "referencedId": { "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" + "removable": { + "type": "boolean" }, - "type": { - "description": "The type of aggregation", - "type": "string", - "enum": [ - "filter" - ] + "stackable": { + "type": "boolean" }, - "filter": { + "states": { + "deprecated": true, "type": "array", "items": { - "$ref": "#/components/schemas/Filters" + "type": "string", + "enum": [ + "is-physical", + "is-download" + ] } - } - }, - "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" - ] + "$ref": "#/components/schemas/OrderLineItem/properties/type" }, - "field": { - "description": "The field you want to aggregate over.", + "uniqueIdentifier": { "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" + "id", + "type" ] }, - "AggregationHistogram": { - "title": "AggregationHistogram", + "ListPrice": { "type": "object", + "description": "", "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", + "discount": { "type": "number" }, - "format": { - "description": "The format of the histogram", - "type": "string" + "percentage": { + "type": "number" }, - "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" + "price": { + "type": "number" }, - "type": { - "description": "The type of aggregation", + "apiAlias": { "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" - ] - } - ] - } + "const": "cart_list_price" } }, "required": [ - "name", - "type", - "field", - "ranges" + "apiAlias" ] }, - "WishlistLoadRouteResponse": { - "type": "object", + "Locale": { + "description": "Added since version: 6.0.0.0", "required": [ - "products" + "id", + "code", + "name", + "territory" ], - "properties": { - "wishlist": { - "type": "object", - "properties": { - "customerId": { - "type": "string" - }, - "salesChannelId": { - "type": "string" - } - } - }, - "products": { - "$ref": "#/components/schemas/ProductListingResult" - } - } - }, - "PromotionSetgroup": { - "description": "Added since version: 6.0.0.0", "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, + "code": { + "description": "Code given to the locale. For example: en-CA.", + "type": "string" + }, + "name": { + "type": "string" + }, + "territory": { + "type": "string" + }, + "customFields": { + "type": "object" + }, "createdAt": { "type": "string", "format": "date-time", @@ -11888,88 +11364,46 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "translated": { + "type": "object" } }, "type": "object" }, - "NewsletterStatus": { - "type": "string", - "enum": [ - "notSet", - "optIn", - "optOut", - "direct", - "undefined" - ], - "description": "The subscription status. Possible values are: notSet, optIn, optOut, direct, undefined." - }, - "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" - ] - }, - "CmsSlot": { - "description": "Added since version: 6.0.0.0", + "MainCategory": { + "description": "Added since version: 6.1.0.0", "required": [ - "apiAlias", "id", - "type", - "slot", - "blockId" + "productId", + "categoryId", + "salesChannelId" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { + "productId": { + "description": "Unique identity of the product.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "cmsBlockVersionId": { + "productVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "fieldConfig": { - "type": "object" - }, - "type": { - "description": "It indicates the types of content that can be defined within the slot which includes `image`, `text`, `form`, `product-listing`, `category-navigation`, `product-box`, `buy-box`, `sidebar-filter`, etc.", - "type": "string" - }, - "slot": { - "description": "Key-value pair to configure which element to be shown in which slot.", - "type": "string" - }, - "locked": { - "type": "boolean" - }, - "config": { - "type": "object" - }, - "customFields": { - "type": "object" + "categoryId": { + "description": "Unique identity of the category.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "data": { - "type": "object", - "readOnly": true + "categoryVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "blockId": { - "description": "Unique identity of CMS block where slot is defined.", + "salesChannelId": { + "description": "Unique identity of the sales channel.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, @@ -11982,43 +11416,94 @@ "type": "string", "format": "date-time", "readOnly": true - }, - "translated": { - "type": "object" - }, - "block": { - "$ref": "#/components/schemas/CmsBlock" - }, - "apiAlias": { - "type": "string", - "const": "cms_slot" } }, "type": "object" }, - "Snippet": { + "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." + } + } + } + } + }, + "MediaThumbnail": { "description": "Added since version: 6.0.0.0", "required": [ - "setId", - "translationKey", - "value" + "url", + "id", + "mediaId", + "width", + "height" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "setId": { - "description": "Unique identity od snippet set.", + "mediaId": { + "description": "Unique identity of media.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "mediaThumbnailSizeId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "translationKey": { - "description": "Reference to the snippet in the template.", + "width": { + "description": "Width of the thumbnail.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "height": { + "description": "Height of the thumbnail.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "url": { + "description": "Public url of media thumbnail. Runtime field, cannot be used as part of the criteria.", "type": "string" }, - "value": { - "description": "Value of the key.", + "path": { "type": "string" }, "customFields": { @@ -12037,73 +11522,40 @@ }, "type": "object" }, - "NumberRangeState": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" + "NavigationRouteResponse": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Category" + } }, - "CustomEntity": { - "description": "Added since version: 6.4.9.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" + "NavigationType": { + "type": "string", + "enum": [ + "main-navigation", + "footer-navigation", + "service-navigation" + ] }, - "User": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" + "NewsletterStatus": { + "type": "string", + "enum": [ + "notSet", + "optIn", + "optOut", + "direct", + "undefined" + ], + "description": "The subscription status. Possible values are: notSet, optIn, optOut, direct, undefined." }, - "OrderTransactionCaptureRefundPosition": { - "description": "Added since version: 6.4.12.0", + "OrderAddress": { + "description": "Added since version: 6.0.0.0", "required": [ "id", - "refundId", - "orderLineItemId", - "amount" + "countryId", + "firstName", + "lastName", + "street", + "city" ], "properties": { "id": { @@ -12114,38 +11566,230 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "refundId": { - "description": "Unique identity of order transaction capture refund.", + "countryId": { + "description": "Unique identity of country.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "refundVersionId": { + "countryStateId": { + "description": "Unique identity of state.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderLineItemId": { - "description": "Unique identity of order line item.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "firstName": { + "description": "First name of the customer.", + "type": "string" }, - "orderLineItemVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "lastName": { + "description": "Last name of the customer.", + "type": "string" }, - "externalReference": { - "description": "External payment provider token.", + "street": { + "description": "Street address", "type": "string" }, - "reason": { - "description": "Reason for refunding the amount for an order.", + "zipcode": { + "description": "Zip code of the country.", "type": "string" }, - "quantity": { - "description": "Quantity of line item to be refunded.", - "type": "integer", - "format": "int64" + "city": { + "description": "Name of the city.", + "type": "string" }, - "amount": { + "company": { + "description": "Name of the company.", + "type": "string" + }, + "department": { + "description": "Name of the department.", + "type": "string" + }, + "title": { + "description": "Title name given to customer like DR. , Prof., etc.", + "type": "string" + }, + "phoneNumber": { + "description": "Phone number of the customer.", + "type": "string" + }, + "additionalAddressLine1": { + "description": "Additional address input if necessary.", + "type": "string" + }, + "additionalAddressLine2": { + "description": "Additional address input if necessary.", + "type": "string" + }, + "hash": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "string" + }, + "customFields": { + "type": "object" + }, + "vatId": { + "description": "Unique identity of VAT.", + "type": "string", + "deprecated": true + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "country": { + "$ref": "#/components/schemas/Country" + }, + "countryState": { + "$ref": "#/components/schemas/CountryState" + }, + "salutation": { + "$ref": "#/components/schemas/Salutation" + } + }, + "type": "object" + }, + "OrderCustomer": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "email", + "firstName", + "lastName" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "email": { + "description": "Email address of the customer.", + "type": "string" + }, + "salutationId": { + "description": "Unique identity of salutation.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "firstName": { + "description": "First name of the customer.", + "type": "string" + }, + "lastName": { + "description": "Last name of the customer.", + "type": "string" + }, + "company": { + "description": "Name of the company.", + "type": "string" + }, + "title": { + "description": "Title name given to the customer like Dr, prof. etc.", + "type": "string" + }, + "vatIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "customerNumber": { + "description": "Unique number assigned to the customer.", + "type": "string" + }, + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "salutation": { + "$ref": "#/components/schemas/Salutation" + } + }, + "type": "object" + }, + "OrderDelivery": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "orderId", + "shippingOrderAddressId", + "shippingMethodId", + "stateId", + "shippingDateEarliest", + "shippingDateLatest" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "orderId": { + "description": "Unique identity of order.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "orderVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "shippingOrderAddressId": { + "description": "Unique identity of order's shipping address.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "shippingOrderAddressVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "shippingMethodId": { + "description": "Unique identity of shipping method.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "stateId": { + "description": "Unique identity of state.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "trackingCodes": { + "type": "array", + "items": { + "type": "string" + } + }, + "shippingDateEarliest": { + "description": "Date and time of earliest delivery of products.", + "type": "string", + "format": "date-time" + }, + "shippingDateLatest": { + "description": "Date and time of latest delivery of products.", + "type": "string", + "format": "date-time" + }, + "shippingCosts": { "required": [ "unitPrice", "totalPrice", @@ -12215,101 +11859,137 @@ "format": "date-time", "readOnly": true }, - "orderLineItem": { - "$ref": "#/components/schemas/OrderLineItem" + "stateMachineState": { + "$ref": "#/components/schemas/StateMachineState", + "description": "Current delivery state (e.g., open, shipped, delivered, cancelled)" }, - "orderTransactionCaptureRefund": { - "$ref": "#/components/schemas/OrderTransactionCaptureRefund" + "shippingOrderAddress": { + "$ref": "#/components/schemas/OrderAddress", + "description": "Shipping address for this delivery" + }, + "shippingMethod": { + "$ref": "#/components/schemas/ShippingMethod", + "description": "Shipping method used for this delivery" + }, + "positions": { + "description": "Line items included in this delivery", + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderDeliveryPosition" + } } }, "type": "object" }, - "AppCmsBlock": { - "description": "Added since version: 6.4.2.0", + "OrderDeliveryPosition": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "orderDeliveryId", + "orderLineItemId" + ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "versionId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "orderDeliveryId": { + "description": "Unique identity of order delivery.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "Plugin": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { + "orderDeliveryVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { + "orderLineItemId": { + "description": "Unique identity of line items in an order.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "ProductCrossSelling": { - "description": "Added since version: 6.1.0.0", - "required": [ - "id", - "name" - ], - "properties": { - "id": { + "orderLineItemVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "name": { - "type": "string" - }, - "position": { - "description": "The order of the tabs of your defined cross-selling actions in the storefront by entering numerical values like 1,2,3, etc.", - "type": "integer", - "format": "int64" - }, - "sortBy": { - "description": "To sort the display of products by name, price or publication (descending, ascending) date.", - "type": "string" - }, - "sortDirection": { - "description": "To sort the display of products by ascending or descending order.", - "type": "string" + "price": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], + "properties": { + "unitPrice": { + "type": "number", + "format": "float" + }, + "totalPrice": { + "type": "number", + "format": "float" + }, + "quantity": { + "type": "integer", + "format": "int64" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "referencePrice": { + "type": "object" + }, + "listPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + }, + "discount": { + "type": "number", + "format": "float" + }, + "percentage": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" + } + }, + "type": "object" }, - "type": { - "description": "Type of product assignment for cross-selling. It can either be Dynamic product group or Manual assignment.", - "type": "string" + "unitPrice": { + "description": "Price of product per item (where, quantity=1).", + "type": "number", + "format": "float" }, - "active": { - "description": "When set to active, the cross-selling feature is enabled.", - "type": "boolean" + "totalPrice": { + "description": "Cost of product based on quantity.", + "type": "number", + "format": "float" }, - "limit": { - "description": "The maximum number of products to be displayed in cross-selling on the item detail page of your item.", + "quantity": { + "description": "Number of items of each product.", "type": "integer", "format": "int64" }, + "customFields": { + "type": "object" + }, "createdAt": { "type": "string", "format": "date-time", @@ -12319,54 +11999,54 @@ "type": "string", "format": "date-time", "readOnly": true - }, - "translated": { - "type": "object" } }, "type": "object" }, - "MailTemplateMedia": { - "description": "Added since version: 6.0.0.0", + "OrderLineItemDownload": { + "description": "Added since version: 6.4.19.0", "required": [ + "media", "id", - "mailTemplateId", - "languageId", - "mediaId" + "orderLineItemId", + "mediaId", + "position", + "accessGranted" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "mailTemplateId": { + "versionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "languageId": { + "orderLineItemId": { + "description": "Unique identity of Order line item.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "orderLineItemVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, "mediaId": { + "description": "Unique identity of media.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, "position": { + "description": "The order of downloaded digital products displayed in the storefront by mentioning numerical values like 1,2,3, etc.", "type": "integer", "format": "int64" }, - "media": { - "$ref": "#/components/schemas/Media" - } - }, - "type": "object" - }, - "LogEntry": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "accessGranted": { + "description": "When boolean value is `true`, the digital product is allowed to download.", + "type": "boolean" + }, + "customFields": { + "type": "object" }, "createdAt": { "type": "string", @@ -12377,110 +12057,153 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "orderLineItem": { + "$ref": "#/components/schemas/OrderLineItem" + }, + "media": { + "$ref": "#/components/schemas/Media" } }, "type": "object" }, - "MediaFolder": { - "description": "Added since version: 6.0.0.0", + "OrderRouteResponse": { + "type": "object", "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "orders": { + "type": "object", + "allOf": [ + { + "type": "object", + "required": [ + "elements" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Order" + } + } + } + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "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" + } } }, - "type": "object" + "required": [ + "orders" + ] }, - "AppShippingMethod": { - "description": "Added since version: 6.5.7.0", + "OrderTransaction": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "orderId", + "paymentMethodId", + "amount", + "stateId" + ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "versionId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "CustomerAddressRead": { - "type": "object", - "properties": { - "id": { + "orderId": { + "description": "Unique identity of an order.", "type": "string", - "pattern": "^[0-9a-f]{32}$", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "customerId": { + "orderVersionId": { "type": "string", - "pattern": "^[0-9a-f]{32}$", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "paymentMethodId": { + "description": "Unique identity of payment method.", "type": "string", - "format": "date-time" + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { - "oneOf": [ - { - "type": "string", - "format": "date-time" + "amount": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], + "properties": { + "unitPrice": { + "type": "number", + "format": "float" }, - { - "type": "null" - } - ] - }, - "country": { - "$ref": "#/components/schemas/Country" - }, - "countryState": { - "oneOf": [ - { - "$ref": "#/components/schemas/CountryState" + "totalPrice": { + "type": "number", + "format": "float" }, - { - "type": "null" + "quantity": { + "type": "integer", + "format": "int64" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "referencePrice": { + "type": "object" + }, + "listPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + }, + "discount": { + "type": "number", + "format": "float" + }, + "percentage": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" } - ] + }, + "type": "object" }, - "salutation": { - "$ref": "#/components/schemas/Salutation" - } - }, - "required": [ - "customerId", - "createdAt", - "updatedAt", - "country", - "salutation" - ] - }, - "SalesChannelTrackingCustomer": { - "description": "Added since version: 6.7.9.0", - "properties": { - "id": { + "validationData": { + "type": "object" + }, + "stateId": { + "description": "Unique identity of state.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, + "customFields": { + "type": "object" + }, "createdAt": { "type": "string", "format": "date-time", @@ -12490,74 +12213,116 @@ "type": "string", "format": "date-time", "readOnly": true - } - }, - "type": "object" - }, - "AppMcpResource": { - "description": "Added since version: 6.7.11.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "stateMachineState": { + "$ref": "#/components/schemas/StateMachineState", + "description": "Current payment transaction state (e.g., open, paid, cancelled)" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "paymentMethod": { + "$ref": "#/components/schemas/PaymentMethod", + "description": "Payment method used for this transaction" }, - "translated": { - "type": "object" + "captures": { + "description": "Payment captures for this transaction", + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderTransactionCapture" + } } }, "type": "object" }, - "DocumentBaseConfig": { - "description": "Added since version: 6.0.0.0", + "OrderTransactionCapture": { + "description": "Added since version: 6.4.12.0", "required": [ "id", - "documentTypeId", - "name" + "orderTransactionId", + "stateId", + "amount" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "documentTypeId": { - "description": "Unique identity of the document type.", + "versionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "logoId": { - "description": "Unique identity of the company logo.", + "orderTransactionId": { + "description": "Unique identity of order transaction.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "name": { - "description": "Name of the document.", - "type": "string" + "orderTransactionVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "filenamePrefix": { - "description": "A prefix name added to the file name separated by an underscore.", - "type": "string" + "stateId": { + "description": "Unique identity of order state.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "filenameSuffix": { - "description": "A suffix name added to the file name separated by an underscore.", + "externalReference": { + "description": "External payment provider token.", "type": "string" }, - "global": { - "description": "When set to `true`, the document can be used across all sales channels.", - "type": "boolean" - }, - "documentNumber": { - "description": "Unique number associated with every document.", - "type": "string" + "amount": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], + "properties": { + "unitPrice": { + "type": "number", + "format": "float" + }, + "totalPrice": { + "type": "number", + "format": "float" + }, + "quantity": { + "type": "integer", + "format": "int64" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "referencePrice": { + "type": "object" + }, + "listPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + }, + "discount": { + "type": "number", + "format": "float" + }, + "percentage": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" + } + }, + "type": "object" }, "customFields": { "type": "object" @@ -12567,29 +12332,33 @@ "format": "date-time", "readOnly": true }, - "config": { - "type": "object", - "deprecated": true - }, "updatedAt": { "type": "string", "format": "date-time", "readOnly": true }, - "logo": { - "$ref": "#/components/schemas/Media", - "description": "Logo in the document at the top-right corner." + "stateMachineState": { + "$ref": "#/components/schemas/StateMachineState" + }, + "transaction": { + "$ref": "#/components/schemas/OrderTransaction" + }, + "refunds": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderTransactionCaptureRefund" + } } }, "type": "object" }, - "ProductMedia": { - "description": "Added since version: 6.0.0.0", + "OrderTransactionCaptureRefund": { + "description": "Added since version: 6.4.12.0", "required": [ - "media", "id", - "productId", - "mediaId" + "captureId", + "stateId", + "amount" ], "properties": { "id": { @@ -12600,27 +12369,87 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productId": { - "description": "Unique identity of the product.", + "captureId": { + "description": "Unique identity of order transaction capture.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productVersionId": { + "captureVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "mediaId": { - "description": "Unique identity of the media.", + "stateId": { + "description": "Unique identity of order state.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "position": { - "description": "The order of the images to be displayed for a product.", - "type": "integer", - "format": "int64" - }, - "customFields": { - "type": "object" + "externalReference": { + "description": "External payment provider token.", + "type": "string" + }, + "reason": { + "description": "Reason for refunding the amount for an order.", + "type": "string" + }, + "amount": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], + "properties": { + "unitPrice": { + "type": "number", + "format": "float" + }, + "totalPrice": { + "type": "number", + "format": "float" + }, + "quantity": { + "type": "integer", + "format": "int64" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "referencePrice": { + "type": "object" + }, + "listPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + }, + "discount": { + "type": "number", + "format": "float" + }, + "percentage": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "customFields": { + "type": "object" }, "createdAt": { "type": "string", @@ -12632,97 +12461,128 @@ "format": "date-time", "readOnly": true }, - "media": { - "$ref": "#/components/schemas/Media" + "stateMachineState": { + "$ref": "#/components/schemas/StateMachineState" + }, + "transactionCapture": { + "$ref": "#/components/schemas/OrderTransactionCapture" + }, + "positions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OrderTransactionCaptureRefundPosition" + } } }, "type": "object" }, - "StateMachine": { - "description": "Added since version: 6.0.0.0", + "OrderTransactionCaptureRefundPosition": { + "description": "Added since version: 6.4.12.0", + "required": [ + "id", + "refundId", + "orderLineItemId", + "amount" + ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "versionId": { "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "refundId": { + "description": "Unique identity of order transaction capture refund.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "translated": { - "type": "object" + "refundVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "states": { - "type": "array", - "items": { - "$ref": "#/components/schemas/StateMachineState" - } + "orderLineItemId": { + "description": "Unique identity of order line item.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "transitions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/StateMachineTransition" - } - } - }, - "type": "object" - }, - "MeasurementUnits": { - "type": "object", - "description": "Configuration of the measurement system", - "properties": { - "system": { + "orderLineItemVersionId": { "type": "string", - "enum": [ - "metric", - "imperial" - ], - "default": "metric", - "description": "The measurement system used in the store. 'metric' for metric system, 'imperial' for imperial system." + "pattern": "^[0-9a-f]{32}$" }, - "units": { - "type": "object", - "description": "Units used in the measurement system.", + "externalReference": { + "description": "External payment provider token.", + "type": "string" + }, + "reason": { + "description": "Reason for refunding the amount for an order.", + "type": "string" + }, + "quantity": { + "description": "Quantity of line item to be refunded.", + "type": "integer", + "format": "int64" + }, + "amount": { + "required": [ + "unitPrice", + "totalPrice", + "quantity" + ], "properties": { - "length": { - "type": "string", - "enum": [ - "mm", - "cm", - "m", - "in", - "ft" - ], - "default": "mm", - "description": "Unit of length." + "unitPrice": { + "type": "number", + "format": "float" }, - "weight": { - "type": "string", - "enum": [ - "g", - "kg", - "oz", - "lb" - ], - "default": "kg", - "description": "Unit of weight." + "totalPrice": { + "type": "number", + "format": "float" + }, + "quantity": { + "type": "integer", + "format": "int64" + }, + "calculatedTaxes": { + "type": "object" + }, + "taxRules": { + "type": "object" + }, + "referencePrice": { + "type": "object" + }, + "listPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + }, + "discount": { + "type": "number", + "format": "float" + }, + "percentage": { + "type": "number", + "format": "float" + } + }, + "type": "object" + }, + "regulationPrice": { + "properties": { + "price": { + "type": "number", + "format": "float" + } + }, + "type": "object" } - } - } - } - }, - "ScheduledTask": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + }, + "type": "object" + }, + "customFields": { + "type": "object" }, "createdAt": { "type": "string", @@ -12733,164 +12593,66 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "orderLineItem": { + "$ref": "#/components/schemas/OrderLineItem" + }, + "orderTransactionCaptureRefund": { + "$ref": "#/components/schemas/OrderTransactionCaptureRefund" } }, "type": "object" }, - "CalculatedPrice": { - "type": "object", - "description": "Represents a product along with detailed information required to display a variant selection.", + "PaymentMethod": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "technicalName", + "name" + ], "properties": { - "unitPrice": { - "type": "number" - }, - "quantity": { - "type": "number" + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "rawTotal": { - "type": "number" - }, - "totalPrice": { - "type": "number" + "name": { + "type": "string" }, - "taxStatus": { + "distinguishableName": { "type": "string", - "enum": [ - "net", - "tax-free" - ] - }, - "calculatedTaxes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "const": "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": { - "oneOf": [ - { - "$ref": "#/components/schemas/CartListPrice" - }, - { - "type": "null" - } - ] - }, - "positionPrice": { - "type": "number" + "readOnly": true }, - "netPrice": { - "type": "number" + "description": { + "type": "string" }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "const": "cart_regulation_price" - } - } - }, - { - "type": "null" - } - ] + "position": { + "description": "The order of the tabs of your defined payment methods in the storefront by entering numerical values like 1,2,3, etc.", + "type": "integer", + "format": "int64" }, - "hasRange": { + "active": { + "description": "When boolean value is `true`, the payment methods are available for selection in the storefront.", "type": "boolean" }, - "variantId": { - "oneOf": [ - { - "type": "string", - "format": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] + "afterOrderEnabled": { + "description": "When set to true, customers are redirected to the payment options page to choose a new payment method on order failure.", + "type": "boolean" }, - "apiAlias": { - "type": "string", - "const": "calculated_price" + "customFields": { + "type": "object" }, - "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" - ] - }, - "App": { - "description": "Added since version: 6.3.1.0", - "properties": { - "id": { + "mediaId": { + "description": "Unique identity of media.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, + "technicalName": { + "type": "string" + }, + "shortName": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "string" + }, "createdAt": { "type": "string", "format": "date-time", @@ -12903,152 +12665,156 @@ }, "translated": { "type": "object" + }, + "media": { + "$ref": "#/components/schemas/Media", + "description": "Payment method logo or icon image" } }, "type": "object" }, - "CartListPrice": { + "Price": { "type": "object", - "description": "", + "description": "Price object", "properties": { - "discount": { - "type": "number" + "currencyId": { + "description": "Unique identity of the associated currency.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "percentage": { + "gross": { + "description": "Gross price for the associated currency.", "type": "number" }, - "price": { + "net": { + "description": "Net price for the associated currency.", "type": "number" }, - "apiAlias": { - "type": "string", - "const": "cart_list_price" - } - }, - "required": [ - "apiAlias" - ] - }, - "OrderDelivery": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "orderId", - "shippingOrderAddressId", - "shippingMethodId", - "stateId", - "shippingDateEarliest", - "shippingDateLatest" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "linked": { + "description": "Whether gross and net prices are linked through the tax configuration.", + "type": "boolean" }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "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" + ] }, - "orderId": { - "description": "Unique identity of order.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "listPrice": { + "description": "Reference list price for displaying discounts.", + "type": "object", + "properties": { + "currencyId": { + "description": "Unique identity of the associated currency.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "gross": { + "description": "Gross list price for the associated currency.", + "type": "number" + }, + "net": { + "description": "Net list price for the associated currency.", + "type": "number" + }, + "linked": { + "description": "Whether gross and net list prices are linked through the tax configuration.", + "type": "boolean" + } + }, + "required": [ + "gross", + "net" + ] }, - "orderVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "shippingOrderAddressId": { - "description": "Unique identity of order's shipping address.", + "regulationPrice": { + "description": "Reference price used for legal price disclosures.", + "type": "object", + "properties": { + "currencyId": { + "description": "Unique identity of the associated currency.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "gross": { + "description": "Gross regulation price for the associated currency.", + "type": "number" + }, + "net": { + "description": "Net regulation price for the associated currency.", + "type": "number" + }, + "linked": { + "description": "Whether gross and net regulation prices are linked through the tax configuration.", + "type": "boolean" + } + }, + "required": [ + "gross", + "net" + ] + } + }, + "required": [ + "currencyId", + "gross", + "net" + ] + }, + "ProductConfiguratorSetting": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "productId", + "optionId" + ], + "properties": { + "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "shippingOrderAddressVersionId": { + "versionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "shippingMethodId": { - "description": "Unique identity of shipping method.", + "productId": { + "description": "Unique identity of product.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "stateId": { - "description": "Unique identity of state.", + "productVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "trackingCodes": { - "type": "array", - "items": { - "type": "string" - } - }, - "shippingDateEarliest": { - "description": "Date and time of earliest delivery of products.", + "mediaId": { + "description": "Unique identity of media.", "type": "string", - "format": "date-time" + "pattern": "^[0-9a-f]{32}$" }, - "shippingDateLatest": { - "description": "Date and time of latest delivery of products.", + "optionId": { + "description": "Unique identity of option.", "type": "string", - "format": "date-time" + "pattern": "^[0-9a-f]{32}$" }, - "shippingCosts": { - "required": [ - "unitPrice", - "totalPrice", - "quantity" - ], - "properties": { - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "referencePrice": { - "type": "object" - }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - } - }, - "type": "object" + "position": { + "description": "The order of the tabs of your defined product configuration settings in the storefront by entering numerical values like 1,2,3, etc.", + "type": "integer", + "format": "int64" }, "customFields": { "type": "object" @@ -13063,35 +12829,96 @@ "format": "date-time", "readOnly": true }, - "stateMachineState": { - "$ref": "#/components/schemas/StateMachineState", - "description": "Current delivery state (e.g., open, shipped, delivered, cancelled)" + "media": { + "$ref": "#/components/schemas/Media" }, - "shippingOrderAddress": { - "$ref": "#/components/schemas/OrderAddress", - "description": "Shipping address for this delivery" + "option": { + "$ref": "#/components/schemas/PropertyGroupOption" + } + }, + "type": "object" + }, + "ProductCrossSelling": { + "description": "Added since version: 6.1.0.0", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "shippingMethod": { - "$ref": "#/components/schemas/ShippingMethod", - "description": "Shipping method used for this delivery" + "name": { + "type": "string" }, - "positions": { - "description": "Line items included in this delivery", + "position": { + "description": "The order of the tabs of your defined cross-selling actions in the storefront by entering numerical values like 1,2,3, etc.", + "type": "integer", + "format": "int64" + }, + "sortBy": { + "description": "To sort the display of products by name, price or publication (descending, ascending) date.", + "type": "string" + }, + "sortDirection": { + "description": "To sort the display of products by ascending or descending order.", + "type": "string" + }, + "type": { + "description": "Type of product assignment for cross-selling. It can either be Dynamic product group or Manual assignment.", + "type": "string" + }, + "active": { + "description": "When set to active, the cross-selling feature is enabled.", + "type": "boolean" + }, + "limit": { + "description": "The maximum number of products to be displayed in cross-selling on the item detail page of your item.", + "type": "integer", + "format": "int64" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" + } + }, + "type": "object" + }, + "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/OrderDeliveryPosition" + "$ref": "#/components/schemas/PropertyGroup" } } }, - "type": "object" + "required": [ + "product" + ] }, - "OrderTransactionCapture": { - "description": "Added since version: 6.4.12.0", + "ProductDownload": { + "description": "Added since version: 6.4.19.0", "required": [ "id", - "orderTransactionId", - "stateId", - "amount" + "productId", + "mediaId" ], "properties": { "id": { @@ -13102,80 +12929,24 @@ "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderTransactionId": { - "description": "Unique identity of order transaction.", + "productId": { + "description": "Unique identity of Product.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderTransactionVersionId": { + "productVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "stateId": { - "description": "Unique identity of order state.", + "mediaId": { + "description": "Unique identity of media.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "externalReference": { - "description": "External payment provider token.", - "type": "string" - }, - "amount": { - "required": [ - "unitPrice", - "totalPrice", - "quantity" - ], - "properties": { - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "quantity": { - "type": "integer", - "format": "int64" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "referencePrice": { - "type": "object" - }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - } - }, - "type": "object" + "position": { + "description": "The order in which the digital products are downloaded, like 1,2,3, etc.to adjust their order of display.", + "type": "integer", + "format": "int64" }, "customFields": { "type": "object" @@ -13190,1326 +12961,363 @@ "format": "date-time", "readOnly": true }, - "stateMachineState": { - "$ref": "#/components/schemas/StateMachineState" - }, - "transaction": { - "$ref": "#/components/schemas/OrderTransaction" + "product": { + "$ref": "#/components/schemas/Product" }, - "refunds": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OrderTransactionCaptureRefund" - } + "media": { + "$ref": "#/components/schemas/Media" } }, "type": "object" }, - "SeoUrlTemplate": { + "ProductJsonApi": { "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "salesChannelId": { - "description": "Unique identity of sales channel.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "isValid": { - "description": "Created SEO URL template can be made usable by setting `isValid` to true.", - "type": "boolean" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "CartItems": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" + "allOf": [ + { + "$ref": "#/components/schemas/resource", + "required": [ + "options" + ], + "properties": { + "options": { + "type": "array", + "items": { + "type": "object", + "required": [ + "group", + "option", + "translated" + ], + "properties": { + "group": { + "type": "string" + }, + "option": { + "type": "string" + }, + "translated": { + "type": "object", + "properties": { + "group": { + "type": "string" + }, + "option": { + "type": "string" + } + }, + "required": [ + "group", + "option" + ] + } + } + } + } } - } - } - }, - "ProductSearchConfigField": { - "description": "Added since version: 6.3.5.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "AppScriptCondition": { - "description": "Added since version: 6.4.10.3", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "NewsletterRecipient": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "Tag": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "MediaThumbnailSize": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "width", - "height" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "width": { - "description": "Width of the thumbnail.", - "type": "integer", - "format": "int64" - }, - "height": { - "description": "Height of the thumbnail.", - "type": "integer", - "format": "int64" - }, - "customFields": { - "type": "object" }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "Flow": { - "description": "Added since version: 6.4.6.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "StateMachineState": { - "description": "Added since version: 6.0.0.0", - "required": [ - "translated", - "technicalName", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "technicalName": { - "description": "Technical name of StateMachineState.", - "type": "string" - }, - "name": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "PromotionSalesChannel": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "MailTemplateType": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "technicalName", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "technicalName": { - "description": "Technical name of mail template.", - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "OrderTransaction": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "orderId", - "paymentMethodId", - "amount", - "stateId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "orderId": { - "description": "Unique identity of an order.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "orderVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "paymentMethodId": { - "description": "Unique identity of payment method.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "amount": { + { "required": [ - "unitPrice", - "totalPrice", - "quantity" + "id", + "taxId", + "productNumber", + "stock", + "name" ], "properties": { - "unitPrice": { - "type": "number", - "format": "float" + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "totalPrice": { - "type": "number", - "format": "float" + "versionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "quantity": { - "type": "integer", - "format": "int64" + "parentId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "calculatedTaxes": { - "type": "object" + "parentVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "taxRules": { - "type": "object" + "manufacturerId": { + "description": "Unique identity of the manufacturer.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "referencePrice": { - "type": "object" + "productManufacturerVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" + "unitId": { + "description": "Unique identity of the unit.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "validationData": { - "type": "object" - }, - "stateId": { - "description": "Unique identity of state.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "stateMachineState": { - "$ref": "#/components/schemas/StateMachineState", - "description": "Current payment transaction state (e.g., open, paid, cancelled)" - }, - "paymentMethod": { - "$ref": "#/components/schemas/PaymentMethod", - "description": "Payment method used for this transaction" - }, - "captures": { - "description": "Payment captures for this transaction", - "type": "array", - "items": { - "$ref": "#/components/schemas/OrderTransactionCapture" - } - } - }, - "type": "object" - }, - "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" + "taxId": { + "description": "Unique identity of tax.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "coverId": { + "description": "Unique identity of a ProductMedia item used as product cover.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "productMediaVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "deliveryTimeId": { + "description": "Unique identity of delivery time.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "canonicalProductId": { + "description": "Unique identity of canonical product.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "canonicalProductVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "cmsPageId": { + "description": "Unique identity of CMS page.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "cmsPageVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "openGraphMediaId": { + "description": "Media used as Open Graph image for social media sharing.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "productNumber": { + "description": "Unique number assigned to individual products. Define rules for automatic assignment of every product creation as per your number range.", + "type": "string" + }, + "restockTime": { + "description": "The restock time in days indicates how long it will take until a sold out item is back in stock.", + "type": "integer", + "format": "int64" + }, + "active": { + "description": "When boolean value is `true`, the products are available for selection in the storefront for purchase.", + "type": "boolean" + }, + "available": { + "description": "Indicates weather the product is available or not.", + "type": "boolean", + "readOnly": true + }, + "isCloseout": { + "description": "When the value is set to true, the product is hidden when sold out.", + "type": "boolean" + }, + "availableStock": { + "description": "Indicates the number of products still available. This value results from the stock minus the open orders.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "stock": { + "description": "Indicates the number of products available.", + "type": "integer", + "format": "int64" + }, + "displayGroup": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "string", + "readOnly": true + }, + "manufacturerNumber": { + "description": "Unique number that describes the manufacturer.", + "type": "string" + }, + "ean": { + "description": "Indicates EAN of the product.", + "type": "string" + }, + "purchaseSteps": { + "description": "Specifies the scales in which the item is to be offered. For example, a scale of 2 means that your customers can purchase 2, 4, 6 products, etc., but not 1, 3 or 5.", + "type": "integer", + "format": "int64" + }, + "maxPurchase": { + "description": "Maximum number of items that can be purchased.", + "type": "integer", + "format": "int64" + }, + "minPurchase": { + "description": "Minimum number of items that can be purchased.", + "type": "integer", + "format": "int64" + }, + "purchaseUnit": { + "description": "Quantity of the item purchased. For example, 500ml, 2kg, etc.", + "type": "number", + "format": "float" + }, + "referenceUnit": { + "description": "Price of purchased item calculated as per the reference unit. Say, you bought 500ml of milk and the price is calculated in reference to 1000ml.", + "type": "number", + "format": "float" + }, + "shippingFree": { + "description": "Indicates weather the shipping price is free or not.", + "type": "boolean" + }, + "markAsTopseller": { + "description": "Indicates weather the product is top seller or not.", + "type": "boolean" + }, + "weight": { + "description": "The weight of the product.", + "type": "number", + "format": "float" + }, + "width": { + "description": "The width of the product.", + "type": "number", + "format": "float" + }, + "height": { + "description": "The height of the product.", + "type": "number", + "format": "float" + }, + "length": { + "description": "The length of the product.", + "type": "number", + "format": "float" + }, + "releaseDate": { + "description": "The release date of a product or product model. This can be used to distinguish the exact variant of a product.", + "type": "string", + "format": "date-time" + }, + "ratingAverage": { + "description": "Average of all the ratings.", + "type": "number", + "format": "float", + "readOnly": true + }, + "categoryTree": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "min": { - "type": "integer", - "format": "int32" + "readOnly": true + }, + "propertyIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "max": { - "type": "integer", - "format": "int32" + "readOnly": true + }, + "optionIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "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" - }, - "maintenanceIpAllowlist": { - "type": "string" - }, - "maintenanceIpWhitelist": { - "deprecated": true, - "type": "string" - }, - "mailHeaderFooterId": { - "type": "string" - }, - "customerGroupId": { - "type": "string" - }, - "hreflangActive": { - "type": "boolean" - }, - "hreflangDefaultDomainId": { - "type": "string" - } - } - } - }, - "salesChannels": { - "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" - }, - "maintenanceIpAllowlist": { - "type": "string" - }, - "maintenanceIpWhitelist": { - "deprecated": true, - "type": "string" - }, - "mailHeaderFooterId": { - "type": "string" - }, - "customerGroupId": { - "type": "string" - }, - "hreflangActive": { - "type": "boolean" - }, - "hreflangDefaultDomainId": { - "type": "string" - } - } - } - }, - "availabilityRule": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "priority": { - "type": "integer", - "format": "int32" - }, - "invalid": { - "type": "boolean" - } - } - }, - "availabilityRuleId": { - "type": "string" - }, - "prices": { - "type": "array", - "items": { - "type": "object", - "properties": { - "shippingMethodId": { - "type": "string" - }, - "currencyId": { - "type": "string" - }, - "ruleId": { - "type": "string" - }, - "calculation": { - "type": "integer", - "format": "int32" - }, - "quantityStart": { - "type": "number", - "format": "float" - }, - "quantityEnd": { - "type": "number", - "format": "float" - }, - "price": { - "type": "number", - "format": "float" - }, - "calculationRuleId": { - "type": "string" - } - } - } - }, - "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": { + "readOnly": true + }, + "streamIds": { + "type": "array", + "items": { "type": "string", - "format": "date-time" - }, - "alt": { - "type": "string" - }, - "url": { - "type": "string" - }, - "fileName": { - "type": "string" + "pattern": "^[0-9a-f]{32}$" }, - "mediaFolderId": { - "type": "string" + "readOnly": true + }, + "tagIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "private": { - "type": "boolean" + "readOnly": true + }, + "categoryIds": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "thumbnailsRo": { - "type": "string" - } - } - }, - "tags": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - } - } - } - } - } - }, - "CartDeliveryInformation": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "const": "cart_delivery_information" - }, - "freeDelivery": { - "type": "boolean" - }, - "deliveryTime": { - "type": "object", - "properties": { - "name": { + "readOnly": true + }, + "childCount": { + "type": "integer", + "format": "int64", + "readOnly": true + }, + "sales": { + "description": "Frequency of the product sales.", + "type": "integer", + "format": "int64", + "readOnly": true + }, + "metaDescription": { "type": "string" }, - "min": { - "type": "integer" + "name": { + "type": "string" }, - "max": { - "type": "integer" + "keywords": { + "type": "string" }, - "unit": { + "description": { "type": "string" }, - "apiAlias": { + "descriptionTeaser": { + "description": "Read-only, HTML-stripped excerpt of the description, derived on write.", "type": "string", - "const": "cart_delivery_time" - } - } - }, - "height": { - "type": "integer" - }, - "length": { - "type": "integer" - }, - "restockTime": { - "type": "integer" - }, - "stock": { - "type": "integer" - }, - "weight": { - "type": "integer" - }, - "width": { - "type": "integer" - } - }, - "required": [ - "apiAlias" - ] - }, - "ShippingMethod": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "technicalName", - "deliveryTimeId", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "technicalName": { - "type": "string" - }, - "active": { - "description": "When boolean value is `true`, the shipping methods are available for selection in the storefront.", - "type": "boolean" - }, - "position": { - "description": "The order of the tabs of your defined shipping methods in the storefront by entering numerical values like 1,2,3, etc.", - "type": "integer", - "format": "int64" - }, - "customFields": { - "type": "object" - }, - "mediaId": { - "description": "Unique identity of media.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "deliveryTimeId": { - "description": "Unique identity of deliveryTime.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "taxType": { - "description": "Refers `Free`, `Net` or `Gross` type of taxes.", - "type": "string" - }, - "description": { - "type": "string" - }, - "trackingUrl": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - }, - "deliveryTime": { - "$ref": "#/components/schemas/DeliveryTime", - "description": "Estimated delivery time information" - }, - "availabilityRule": { - "$ref": "#/components/schemas/Rule", - "description": "Rule defining when this shipping method is available" - }, - "prices": { - "description": "Shipping prices based on weight, volume, or cart value", - "type": "array", - "items": { - "$ref": "#/components/schemas/ShippingMethodPrice" - } - }, - "media": { - "$ref": "#/components/schemas/Media", - "description": "Shipping method logo or carrier image" - }, - "tags": { - "description": "Tags for organizing shipping methods", - "type": "array", - "items": { - "$ref": "#/components/schemas/Tag" - } - }, - "tax": { - "$ref": "#/components/schemas/Tax", - "description": "Tax configuration for shipping costs" - } - }, - "type": "object" - }, - "CustomerWishlist": { - "description": "Added since version: 6.3.4.0", - "required": [ - "id", - "customerId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customerId": { - "description": "Unique identity of the customer.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "products": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CustomerWishlistProduct" - } - } - }, - "type": "object" - }, - "ProductJsonApi": { - "description": "Added since version: 6.0.0.0", - "allOf": [ - { - "$ref": "#/components/schemas/resource", - "required": [ - "options" - ], - "properties": { - "options": { - "type": "array", - "items": { - "type": "object", - "required": [ - "group", - "option", - "translated" - ], - "properties": { - "group": { - "type": "string" - }, - "option": { - "type": "string" - }, - "translated": { - "type": "object", - "properties": { - "group": { - "type": "string" - }, - "option": { - "type": "string" - } - }, - "required": [ - "group", - "option" - ] - } - } - } - } - } - }, - { - "required": [ - "id", - "taxId", - "productNumber", - "stock", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "readOnly": true }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "metaTitle": { + "type": "string" }, - "parentId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "packUnit": { + "type": "string" }, - "parentVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "packUnitPlural": { + "type": "string" }, - "manufacturerId": { - "description": "Unique identity of the manufacturer.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "customFields": { + "type": "object" }, - "productManufacturerVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "ogTitle": { + "type": "string" }, - "unitId": { - "description": "Unique identity of the unit.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "ogDescription": { + "type": "string" }, - "taxId": { - "description": "Unique identity of tax.", + "type": { + "description": "The type of the product, e.g., physical or digital.", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "enum": [ + "physical", + "digital" + ] }, - "coverId": { - "description": "Unique identity of a ProductMedia item used as product cover.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "states": { + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "deprecated": true }, - "productMediaVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "deliveryTimeId": { - "description": "Unique identity of delivery time.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "canonicalProductId": { - "description": "Unique identity of canonical product.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "canonicalProductVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "cmsPageId": { - "description": "Unique identity of CMS page.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "cmsPageVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "openGraphMediaId": { - "description": "Media used as Open Graph image for social media sharing.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productNumber": { - "description": "Unique number assigned to individual products. Define rules for automatic assignment of every product creation as per your number range.", - "type": "string" - }, - "restockTime": { - "description": "The restock time in days indicates how long it will take until a sold out item is back in stock.", - "type": "integer", - "format": "int64" - }, - "active": { - "description": "When boolean value is `true`, the products are available for selection in the storefront for purchase.", - "type": "boolean" - }, - "available": { - "description": "Indicates weather the product is available or not.", - "type": "boolean", - "readOnly": true - }, - "isCloseout": { - "description": "When the value is set to true, the product is hidden when sold out.", - "type": "boolean" - }, - "availableStock": { - "description": "Indicates the number of products still available. This value results from the stock minus the open orders.", - "type": "integer", - "format": "int64", - "readOnly": true - }, - "stock": { - "description": "Indicates the number of products available.", - "type": "integer", - "format": "int64" - }, - "displayGroup": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "string", - "readOnly": true - }, - "manufacturerNumber": { - "description": "Unique number that describes the manufacturer.", - "type": "string" - }, - "ean": { - "description": "Indicates EAN of the product.", - "type": "string" - }, - "purchaseSteps": { - "description": "Specifies the scales in which the item is to be offered. For example, a scale of 2 means that your customers can purchase 2, 4, 6 products, etc., but not 1, 3 or 5.", - "type": "integer", - "format": "int64" - }, - "maxPurchase": { - "description": "Maximum number of items that can be purchased.", - "type": "integer", - "format": "int64" - }, - "minPurchase": { - "description": "Minimum number of items that can be purchased.", - "type": "integer", - "format": "int64" - }, - "purchaseUnit": { - "description": "Quantity of the item purchased. For example, 500ml, 2kg, etc.", - "type": "number", - "format": "float" - }, - "referenceUnit": { - "description": "Price of purchased item calculated as per the reference unit. Say, you bought 500ml of milk and the price is calculated in reference to 1000ml.", - "type": "number", - "format": "float" - }, - "shippingFree": { - "description": "Indicates weather the shipping price is free or not.", - "type": "boolean" - }, - "markAsTopseller": { - "description": "Indicates weather the product is top seller or not.", - "type": "boolean" - }, - "weight": { - "description": "The weight of the product.", - "type": "number", - "format": "float" - }, - "width": { - "description": "The width of the product.", - "type": "number", - "format": "float" - }, - "height": { - "description": "The height of the product.", - "type": "number", - "format": "float" - }, - "length": { - "description": "The length of the product.", - "type": "number", - "format": "float" - }, - "releaseDate": { - "description": "The release date of a product or product model. This can be used to distinguish the exact variant of a product.", - "type": "string", - "format": "date-time" - }, - "ratingAverage": { - "description": "Average of all the ratings.", - "type": "number", - "format": "float", - "readOnly": true - }, - "categoryTree": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true - }, - "propertyIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true - }, - "optionIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true - }, - "streamIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true - }, - "tagIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true - }, - "categoryIds": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "readOnly": true - }, - "childCount": { - "type": "integer", - "format": "int64", - "readOnly": true - }, - "sales": { - "description": "Frequency of the product sales.", - "type": "integer", - "format": "int64", - "readOnly": true - }, - "metaDescription": { - "type": "string" - }, - "name": { - "type": "string" - }, - "keywords": { - "type": "string" - }, - "description": { - "type": "string" - }, - "descriptionTeaser": { - "description": "Read-only, HTML-stripped excerpt of the description, derived on write.", - "type": "string", - "readOnly": true - }, - "metaTitle": { - "type": "string" - }, - "packUnit": { - "type": "string" - }, - "packUnitPlural": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "ogTitle": { - "type": "string" - }, - "ogDescription": { - "type": "string" - }, - "type": { - "description": "The type of the product, e.g., physical or digital.", - "type": "string", - "enum": [ - "physical", - "digital" - ] - }, - "states": { - "type": "array", - "items": { - "type": "string" - }, - "readOnly": true, - "deprecated": true - }, - "calculatedPrice": { - "type": "object" + "calculatedPrice": { + "type": "object" }, "calculatedPrices": { "type": "array", @@ -15256,3597 +14064,351 @@ "type": "object", "properties": { "type": { - "type": "string", - "example": "tag" - }, - "id": { - "type": "string", - "example": "d57ac45256849d9b13e2422d91580fb9" - } - } - } - } - }, - "type": "object" - }, - "seoCategory": { - "description": "Main category used for SEO URL generation in the current sales channel", - "properties": { - "links": { - "type": "object", - "properties": { - "related": { - "type": "string", - "format": "uri-reference", - "example": "/product/deb10517653c255364175796ace3553f/seoCategory" - } - } - }, - "data": { - "type": "object", - "properties": { - "type": { - "type": "string", - "example": "category" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "example": "9354d004d12e03d35ad8292bf0bb234d" - } - } - } - }, - "type": "object" - } - }, - "type": "object" - } - }, - "type": "object" - } - ] - }, - "PromotionIndividualCode": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "Sitemap": { - "type": "object", - "properties": { - "filename": { - "type": "string" - }, - "created": { - "type": "string", - "format": "date-time" - } - }, - "required": [ - "filename", - "created" - ] - }, - "UserRecovery": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "PropertyGroup": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "displayType": { - "description": "Property groups can be displayed in the form of text, image, dropdown or color.", - "type": "string" - }, - "sortingType": { - "description": "Sorting the property group by name or position.", - "type": "string" - }, - "filterable": { - "description": "When set to true, the property will be displayed in the product filter of product lists.", - "type": "boolean" - }, - "visibleOnProductDetailPage": { - "description": "When set to true, the property groups are displayed on product detail page.", - "type": "boolean" - }, - "position": { - "type": "integer", - "format": "int64" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - }, - "options": { - "type": "array", - "items": { - "$ref": "#/components/schemas/PropertyGroupOption" - } - } - }, - "type": "object" - }, - "ProductConfiguratorSetting": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "productId", - "optionId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productId": { - "description": "Unique identity of product.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "mediaId": { - "description": "Unique identity of media.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "optionId": { - "description": "Unique identity of option.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "position": { - "description": "The order of the tabs of your defined product configuration settings in the storefront by entering numerical values like 1,2,3, etc.", - "type": "integer", - "format": "int64" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "media": { - "$ref": "#/components/schemas/Media" - }, - "option": { - "$ref": "#/components/schemas/PropertyGroupOption" - } - }, - "type": "object" - }, - "Association": { - "additionalProperties": { - "$ref": "#/components/schemas/Association" - } - }, - "StateMachineHistory": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "fromStateMachineState": { - "$ref": "#/components/schemas/StateMachineState" - }, - "toStateMachineState": { - "$ref": "#/components/schemas/StateMachineState" - } - }, - "type": "object" - }, - "Currency": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "factor", - "symbol", - "isoCode", - "itemRounding", - "totalRounding", - "shortName", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "factor": { - "description": "Currency exchange rate.", - "type": "number", - "format": "float" - }, - "symbol": { - "description": "A currency symbol is a graphical representation used as shorthand for a currency's name, for example US Dollar - $", - "type": "string" - }, - "isoCode": { - "description": "Standard international three digit code to represent currency. For example, USD.", - "type": "string" - }, - "shortName": { - "type": "string" - }, - "name": { - "type": "string" - }, - "position": { - "description": "The order of the tabs for multiple currencies defined.", - "type": "integer", - "format": "int64" - }, - "isSystemDefault": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "boolean" - }, - "taxFreeFrom": { - "description": "The value from which the tax must be exempted.", - "type": "number", - "format": "float" - }, - "customFields": { - "type": "object" - }, - "itemRounding": { - "required": [ - "decimals", - "interval", - "roundForNet" - ], - "properties": { - "decimals": { - "type": "integer", - "format": "int64" - }, - "interval": { - "type": "number", - "format": "float" - }, - "roundForNet": { - "type": "boolean" - } - }, - "type": "object" - }, - "totalRounding": { - "required": [ - "decimals", - "interval", - "roundForNet" - ], - "properties": { - "decimals": { - "type": "integer", - "format": "int64" - }, - "interval": { - "type": "number", - "format": "float" - }, - "roundForNet": { - "type": "boolean" - } - }, - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "SystemConfig": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "configurationKey", - "configurationValue" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "configurationKey": { - "description": "Config key for shop configurations.", - "type": "string" - }, - "configurationValue": { - "properties": { - "_value": { - "type": "object" - } - }, - "type": "object" - }, - "salesChannelId": { - "description": "Unique identity of sales channel.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "salesChannel": { - "$ref": "#/components/schemas/SalesChannel" - } - }, - "type": "object" - }, - "Locale": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "code", - "name", - "territory" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "code": { - "description": "Code given to the locale. For example: en-CA.", - "type": "string" - }, - "name": { - "type": "string" - }, - "territory": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "TaxRule": { - "description": "Added since version: 6.1.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "ProductExport": { - "description": "Added since version: 6.1.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "CountryState": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "countryId", - "shortCode", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "countryId": { - "description": "Unique identity of the country.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "shortCode": { - "description": "An abbreviation for the country's state.", - "type": "string" - }, - "name": { - "type": "string" - }, - "position": { - "description": "Numerical value that indicates the order in which the defined states must be displayed in the frontend.", - "type": "integer", - "format": "int64" - }, - "active": { - "description": "When boolean value is `true`, the country's state is available for selection in the storefront.", - "type": "boolean" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "MediaDefaultFolder": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "SeoUrl": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "languageId", - "foreignKey", - "routeName", - "pathInfo", - "seoPathInfo" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "salesChannelId": { - "description": "Unique identity of sales channel.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "languageId": { - "description": "Unique identity of language.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "foreignKey": { - "description": "The key that references to product or category entity ID.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "routeName": { - "description": "A destination routeName that has been registered somewhere in the app's router. For example: \\\\\"frontend.detail.page\\\\\"", - "type": "string", - "enum": [ - "frontend.navigation.page", - "frontend.landing.page", - "frontend.detail.page" - ] - }, - "pathInfo": { - "description": "Path to product URL. For example: \\\\\"/detail/bbf36734504741c79a3bbe3795b91564\\\\\"", - "type": "string" - }, - "seoPathInfo": { - "description": "Seo path to product. For example: \\\\\"Pepper-white-ground-pearl/SW10098\\\\\"", - "type": "string" - }, - "isCanonical": { - "description": "When set to true, search redirects to the main URL.", - "type": "boolean" - }, - "isModified": { - "description": "When boolean value is `true`, the seo url is changed.", - "type": "boolean" - }, - "isDeleted": { - "description": "When set to true, the URL is deleted and cannot be used any more but it is still available on table and can be restored later.", - "type": "boolean" - }, - "error": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "string" - }, - "url": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object", - "title": "SeoUrlEntity" - }, - "ProductDownload": { - "description": "Added since version: 6.4.19.0", - "required": [ - "id", - "productId", - "mediaId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productId": { - "description": "Unique identity of Product.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "mediaId": { - "description": "Unique identity of media.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "position": { - "description": "The order in which the digital products are downloaded, like 1,2,3, etc.to adjust their order of display.", - "type": "integer", - "format": "int64" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "product": { - "$ref": "#/components/schemas/Product" - }, - "media": { - "$ref": "#/components/schemas/Media" - } - }, - "type": "object" - }, - "MailTemplate": { - "description": "Added since version: 6.0.0.0", - "required": [ - "contentHtml", - "contentPlain" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "systemDefault": { - "type": "boolean" - }, - "senderName": { - "type": "string" - }, - "contentHtml": { - "type": "string" - }, - "contentPlain": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - }, - "mailTemplateType": { - "$ref": "#/components/schemas/MailTemplateType" - }, - "media": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MailTemplateMedia" - } - } - }, - "type": "object" - }, - "SalesChannelFile": { - "description": "Added since version: 6.7.12.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "CmsPage": { - "description": "Added since version: 6.0.0.0", - "required": [ - "apiAlias", - "sections", - "id", - "type" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "type": { - "description": "CMS page types can be `landingpage`, `page`, `product_list`, `product_detail`.", - "type": "string" - }, - "entity": { - "description": "This field will be implemented in the future.", - "type": "string" - }, - "cssClass": { - "description": "One or more CSS classes added and separated by spaces.", - "type": "string" - }, - "config": { - "properties": { - "backgroundColor": { - "type": "string" - } - }, - "type": "object" - }, - "previewMediaId": { - "description": "Unique identity of media to be previewed.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - }, - "sections": { - "description": "Content sections within the CMS page (layout blocks containing slots)", - "type": "array", - "items": { - "$ref": "#/components/schemas/CmsSection" - } - }, - "previewMedia": { - "$ref": "#/components/schemas/Media", - "description": "Preview image for the CMS page in admin panel and page selection" - }, - "landingPages": { - "description": "Landing pages using this CMS layout", - "type": "array", - "items": { - "$ref": "#/components/schemas/LandingPage" - } - }, - "apiAlias": { - "type": "string", - "const": "cms_page" - } - }, - "type": "object" - }, - "CmsBlock": { - "description": "Added since version: 6.0.0.0", - "required": [ - "apiAlias", - "slots", - "id", - "position", - "type", - "sectionId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "cmsSectionVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "position": { - "description": "Order of the block indicated by number like 0, 1, 2,...", - "type": "integer", - "format": "int64" - }, - "type": { - "description": "Type of block can be 'image`, `text`, 'product-listing`, `image-two-column`, etc.", - "type": "string" - }, - "name": { - "description": "Unique name of the CMS Block.", - "type": "string" - }, - "sectionPosition": { - "description": "Position of the section. It can either be `main` or `sidebar`.", - "type": "string" - }, - "marginTop": { - "description": "Defines the margin area on the top of an element.", - "type": "string" - }, - "marginBottom": { - "description": "Defines for the margin area on the bottom of an element.", - "type": "string" - }, - "marginLeft": { - "description": "Defines for the margin area on the left of an element.", - "type": "string" - }, - "marginRight": { - "description": "Defines the margin area on the right of an element.", - "type": "string" - }, - "backgroundColor": { - "description": "Defines the background color of an element.", - "type": "string" - }, - "backgroundMediaId": { - "description": "Unique identity of background media.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "backgroundMediaMode": { - "description": "Background media mode accept values `cover`, `auto`, `contain`.", - "type": "string" - }, - "cssClass": { - "description": "One or more CSS classes added and separated by spaces.", - "type": "string" - }, - "visibility": { - "properties": { - "mobile": { - "type": "boolean" - }, - "desktop": { - "type": "boolean" - }, - "tablet": { - "type": "boolean" - } - }, - "type": "object" - }, - "sectionId": { - "description": "Unique identity of section.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "backgroundMedia": { - "$ref": "#/components/schemas/Media" - }, - "slots": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CmsSlot" - } - }, - "apiAlias": { - "type": "string", - "const": "cms_block" - } - }, - "type": "object" - }, - "CustomField": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "SalesChannel": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "languageId", - "customerGroupId", - "currencyId", - "paymentMethodId", - "shippingMethodId", - "countryId", - "navigationCategoryId", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "languageId": { - "description": "Unique identity of language used.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customerGroupId": { - "description": "Unique identity of customer group.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "currencyId": { - "description": "Unique identity of currency used.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "paymentMethodId": { - "description": "Unique identity of payment method used.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "shippingMethodId": { - "description": "Unique identity of shipping method.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "countryId": { - "description": "Unique identity of country.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "navigationCategoryId": { - "description": "Unique identity of navigation category.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "navigationCategoryVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "navigationCategoryDepth": { - "description": "It determines the number of levels of subcategories in the storefront category menu.", - "type": "integer", - "format": "int64" - }, - "footerCategoryId": { - "description": "Unique identity of footer category.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "footerCategoryVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "serviceCategoryId": { - "description": "Unique identity of service category.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "serviceCategoryVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "mailHeaderFooterId": { - "description": "Unique identity of mail header and footer.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "hreflangDefaultDomainId": { - "description": "Unique identity of hreflangDefaultDomain.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "measurementUnits": { - "$ref": "#/components/schemas/MeasurementUnits" - }, - "businessTimeZone": { - "description": "Business timezone used for sales-channel-specific rendering. Added since version: 6.7.13.0.", - "type": "string" - }, - "name": { - "type": "string" - }, - "shortName": { - "description": "A short name for sales channel.", - "type": "string" - }, - "taxCalculationType": { - "description": "Tax calculation types are `horizontal` and `vertical`.", - "type": "string" - }, - "configuration": { - "type": "object" - }, - "active": { - "description": "When boolean value is `true`, the sales channel is enabled.", - "type": "boolean" - }, - "hreflangActive": { - "description": "When set to true, the sales channel pages are available in different languages.", - "type": "boolean" - }, - "maintenance": { - "description": "When `true`, it indicates that the sales channel is undergoing maintenance, and shopping is temporarily unavailable during this period.", - "type": "boolean" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - }, - "language": { - "$ref": "#/components/schemas/Language", - "description": "Default language for the sales channel" - }, - "currency": { - "$ref": "#/components/schemas/Currency", - "description": "Default currency for the sales channel" - }, - "paymentMethod": { - "$ref": "#/components/schemas/PaymentMethod", - "description": "Default payment method for the sales channel" - }, - "shippingMethod": { - "$ref": "#/components/schemas/ShippingMethod", - "description": "Default shipping method for the sales channel" - }, - "country": { - "$ref": "#/components/schemas/Country", - "description": "Default country for the sales channel" - }, - "domains": { - "description": "Domain URLs configured for the sales channel", - "type": "array", - "items": { - "$ref": "#/components/schemas/SalesChannelDomain" - } - }, - "navigationCategory": { - "$ref": "#/components/schemas/Category", - "description": "Root category for navigation menu" - }, - "footerCategory": { - "$ref": "#/components/schemas/Category", - "description": "Root category for footer navigation" - }, - "serviceCategory": { - "$ref": "#/components/schemas/Category", - "description": "Root category for service pages" - }, - "hreflangDefaultDomain": { - "$ref": "#/components/schemas/SalesChannelDomain" - } - }, - "type": "object" - }, - "CustomerWishlistProduct": { - "description": "Added since version: 6.3.4.0", - "required": [ - "id", - "productId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productId": { - "description": "Unique identity of the product.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "Country": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "name", - "addressFormat" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "iso": { - "description": "Internationally recognized two-letter country codes. For example, DE, IN, NO, etc.", - "type": "string" - }, - "position": { - "description": "Numerical value that indicates the order in which the defined countries must be displayed in the frontend.", - "type": "integer", - "format": "int64" - }, - "active": { - "description": "When boolean value is `true`, the country is available for selection in the storefront.", - "type": "boolean" - }, - "shippingAvailable": { - "description": "The shipping availability for a country is enabled when boolean value is `true`.", - "type": "boolean" - }, - "iso3": { - "description": "Internationally recognized three-letter country codes. For example, DEU, IND, NOR, etc.", - "type": "string" - }, - "displayStateInRegistration": { - "description": "The country's state is displayed in the address when boolean value is `true`.", - "type": "boolean" - }, - "forceStateInRegistration": { - "description": "State details in the address are force included when boolean value is `true`.", - "type": "boolean" - }, - "checkVatIdPattern": { - "description": "Verify if VAT ID is valid or not.", - "type": "boolean" - }, - "vatIdRequired": { - "description": "Set to true, if VAT ID is to be made mandatory.", - "type": "boolean" - }, - "vatIdPattern": { - "description": "Unique VAT ID with country code and numbers, for example - GB999 9999", - "type": "string" - }, - "customFields": { - "type": "object" - }, - "customerTax": { - "required": [ - "enabled", - "currencyId", - "amount" - ], - "properties": { - "enabled": { - "type": "boolean" - }, - "currencyId": { - "type": "string" - }, - "amount": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "companyTax": { - "required": [ - "enabled", - "currencyId", - "amount" - ], - "properties": { - "enabled": { - "type": "boolean" - }, - "currencyId": { - "type": "string" - }, - "amount": { - "type": "number", - "format": "float" - } - }, - "type": "object" - }, - "postalCodeRequired": { - "description": "The postal code is made mandatory specification in the address, when boolean value is `true`.", - "type": "boolean" - }, - "checkPostalCodePattern": { - "description": "Verify for valid postal code pattern.", - "type": "boolean" - }, - "checkAdvancedPostalCodePattern": { - "description": "Verify for advanced postal code pattern.", - "type": "boolean" - }, - "advancedPostalCodePattern": { - "description": "Wildcard formatted zip codes to allow easy searching in the frontend based on initial constants, for example - 24****, 1856**.", - "type": "string" - }, - "addressFormat": { - "type": "object" - }, - "defaultPostalCodePattern": { - "description": "Default pattern of postal or zip code.", - "type": "string" - }, - "isEu": { - "type": "boolean" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - }, - "states": { - "description": "States/provinces/regions within the country", - "type": "array", - "items": { - "$ref": "#/components/schemas/CountryState" - } - } - }, - "type": "object" - }, - "AppFlowEvent": { - "description": "Added since version: 6.5.2.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "ProductSorting": { - "description": "Added since version: 6.3.2.0", - "required": [ - "key", - "priority", - "label" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "key": { - "type": "string" - }, - "priority": { - "type": "integer", - "format": "int64" - }, - "label": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "CurrencyCountryRounding": { - "description": "Added since version: 6.4.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "NavigationType": { - "type": "string", - "enum": [ - "main-navigation", - "footer-navigation", - "service-navigation" - ] - }, - "SuccessResponse": { - "type": "object", - "properties": { - "success": { - "type": "boolean" - } - } - }, - "DeliveryTime": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "name", - "min", - "max", - "unit" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "min": { - "description": "Minimum delivery time taken.", - "type": "integer", - "format": "int64" - }, - "max": { - "description": "Maximum delivery time taken.", - "type": "integer", - "format": "int64" - }, - "unit": { - "description": "Unit in which the delivery time is defined. For example, days or hours.", - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "SalesChannelType": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "MeasurementSystem": { - "description": "Added since version: 6.7.1.0", - "required": [ - "id", - "technicalName" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "technicalName": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - }, - "units": { - "type": "array", - "items": { - "$ref": "#/components/schemas/MeasurementDisplayUnit" - } - } - }, - "type": "object" - }, - "MediaFolderConfiguration": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "StateMachineTransition": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "ReferencePrice": { - "type": "object", - "properties": { - "purchaseUnit": { - "type": "number" - }, - "referenceUnit": { - "type": "number" - }, - "unitName": { - "type": "string" - }, - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "const": "cart_price_reference" - }, - "listPrice": { - "oneOf": [ - { - "$ref": "#/components/schemas/ListPrice" - }, - { - "type": "null" - } - ] - }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "const": "cart_regulation_price" - } - } - }, - { - "type": "null" - } - ] - }, - "hasRange": { - "type": "boolean" - }, - "variantId": { - "oneOf": [ - { - "type": "string", - "format": "^[0-9a-f]{32}$" - }, - { - "type": "null" - } - ] - } - }, - "required": [ - "hasRange", - "regulationPrice", - "listPrice", - "unitName" - ] - }, - "SnippetSet": { - "description": "Added since version: 6.0.0.0", - "required": [ - "name", - "iso" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "description": "Name of snippet set.", - "type": "string" - }, - "iso": { - "description": "ISO nomenclature used to classify languages.", - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "snippets": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Snippet" - } - } - }, - "type": "object" - }, - "OrderAddress": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "countryId", - "firstName", - "lastName", - "street", - "city" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "countryId": { - "description": "Unique identity of country.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "countryStateId": { - "description": "Unique identity of state.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "firstName": { - "description": "First name of the customer.", - "type": "string" - }, - "lastName": { - "description": "Last name of the customer.", - "type": "string" - }, - "street": { - "description": "Street address", - "type": "string" - }, - "zipcode": { - "description": "Zip code of the country.", - "type": "string" - }, - "city": { - "description": "Name of the city.", - "type": "string" - }, - "company": { - "description": "Name of the company.", - "type": "string" - }, - "department": { - "description": "Name of the department.", - "type": "string" - }, - "title": { - "description": "Title name given to customer like DR. , Prof., etc.", - "type": "string" - }, - "phoneNumber": { - "description": "Phone number of the customer.", - "type": "string" - }, - "additionalAddressLine1": { - "description": "Additional address input if necessary.", - "type": "string" - }, - "additionalAddressLine2": { - "description": "Additional address input if necessary.", - "type": "string" - }, - "hash": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "string" - }, - "customFields": { - "type": "object" - }, - "vatId": { - "description": "Unique identity of VAT.", - "type": "string", - "deprecated": true - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "country": { - "$ref": "#/components/schemas/Country" - }, - "countryState": { - "$ref": "#/components/schemas/CountryState" - }, - "salutation": { - "$ref": "#/components/schemas/Salutation" - } - }, - "type": "object" - }, - "ListPrice": { - "type": "object", - "description": "", - "properties": { - "discount": { - "type": "number" - }, - "percentage": { - "type": "number" - }, - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "const": "cart_list_price" - } - }, - "required": [ - "apiAlias" - ] - }, - "NumberRangeType": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "TaxProvider": { - "description": "Added since version: 6.5.0.0", - "required": [ - "id", - "priority", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "active": { - "description": "When boolean value is `true`, the tax providers are available for selection in the storefront.", - "type": "boolean" - }, - "name": { - "type": "string" - }, - "priority": { - "description": "A numerical value to prioritize one of the tax providers from the list.", - "type": "integer", - "format": "int64" - }, - "processUrl": { - "description": "External URL makes request to get tax info.", - "type": "string" - }, - "appId": { - "description": "Unique identity of app.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "Language": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "localeId", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "parentId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "localeId": { - "description": "Unique identity of locale.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "translationCodeId": { - "description": "Unique identity of translation code.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "description": "Name of the language.", - "type": "string" - }, - "active": { - "type": "boolean" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "parent": { - "$ref": "#/components/schemas/Language", - "description": "Unique identity of language." - }, - "locale": { - "$ref": "#/components/schemas/Locale", - "description": "Locale defining regional settings (date, time, number formats)" - }, - "translationCode": { - "$ref": "#/components/schemas/Locale", - "description": "Locale used for translating content" - }, - "children": { - "description": "Child languages inheriting from this parent language", - "type": "array", - "items": { - "$ref": "#/components/schemas/Language" - } - } - }, - "type": "object" - }, - "ImportExportFile": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "NumberRange": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "Category": { - "description": "Added since version: 6.0.0.0", - "required": [ - "apiAlias", - "breadcrumb", - "children", - "childCount", - "translated", - "type", - "id", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "parentId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "parentVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "afterCategoryId": { - "description": "Unique identity of the category under which the new category is to be created.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "afterCategoryVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "mediaId": { - "description": "Unique identity of media added to identify category.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "displayNestedProducts": { - "description": "Shows nested categories on a product category page.", - "type": "boolean" - }, - "breadcrumb": { - "type": "array", - "items": { - "type": "string", - "additionalProperties": false - }, - "readOnly": true - }, - "level": { - "description": "An integer value that denotes the level of nesting of a particular category located in an hierarchical category tree.", - "type": "integer", - "format": "int64", - "readOnly": true - }, - "path": { - "description": "A relative URL to the category.", - "type": "string", - "readOnly": true - }, - "childCount": { - "type": "number", - "format": "int64", - "readOnly": true - }, - "type": { - "description": "Type of categories like `page`, `folder`, `link`.", - "type": "string", - "enum": [ - "page", - "link", - "folder" - ] - }, - "productAssignmentType": { - "description": "Type of product assignment: Dynamic product group as or `product_stream` or Manual assignment as `product`.", - "type": "string" - }, - "visible": { - "description": "Displays categories on category page when true.", - "type": "boolean" - }, - "active": { - "description": "When boolean value is `true`, the category is listed for selection.", - "type": "boolean" - }, - "visibleChildCount": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "integer", - "format": "int64" - }, - "name": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "linkType": { - "type": "string", - "enum": [ - "category", - "product", - "external", - "landing_page" - ] - }, - "internalLink": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "externalLink": { - "type": "string" - }, - "linkNewTab": { - "type": "boolean" - }, - "description": { - "type": "string" - }, - "metaTitle": { - "type": "string" - }, - "metaDescription": { - "type": "string" - }, - "keywords": { - "type": "string" - }, - "cmsPageId": { - "description": "Unique identity of CMS page.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "cmsPageVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customEntityTypeId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "cmsPageIdSwitched": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "boolean", - "deprecated": true - }, - "seoUrl": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object", - "additionalProperties": true, - "properties": { - "breadcrumb": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "breadcrumb" - ] - }, - "parent": { - "$ref": "#/components/schemas/Category", - "description": "Unique identity of category." - }, - "children": { - "description": "Child categories within this category for hierarchical navigation", - "type": "array", - "items": { - "$ref": "#/components/schemas/Category" - } - }, - "media": { - "$ref": "#/components/schemas/Media", - "description": "Category image or banner" - }, - "tags": { - "description": "Tags for organizing and filtering categories", - "type": "array", - "items": { - "$ref": "#/components/schemas/Tag" - } - }, - "cmsPage": { - "$ref": "#/components/schemas/CmsPage", - "description": "CMS page layout for the category" - }, - "seoUrls": { - "description": "SEO-friendly URLs for the category across different sales channels", - "type": "array", - "items": { - "$ref": "#/components/schemas/SeoUrl" - } - }, - "apiAlias": { - "type": "string", - "const": "category" - } - }, - "type": "object" - }, - "ProductKeywordDictionary": { - "description": "Added since version: 6.0.0.0", - "required": [ - "languageId", - "keyword" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "languageId": { - "description": "Unique identity of the language.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "keyword": { - "description": "The keywords that help to search the product.", - "type": "string" - } - }, - "type": "object" - }, - "AppAdministrationSnippet": { - "description": "Added since version: 6.4.15.0", - "required": [ - "value", - "appId", - "localeId" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "value": { - "type": "string" - }, - "appId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "localeId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "success": { - "type": "object", - "required": [ - "data" - ], - "additionalProperties": false, - "properties": { - "meta": { - "$ref": "#/components/schemas/meta" - }, - "links": { - "description": "Link members related to the primary data.", - "allOf": [ - { - "$ref": "#/components/schemas/links" - }, - { - "$ref": "#/components/schemas/pagination" - } - ] - }, - "data": { - "$ref": "#/components/schemas/data" - }, - "included": { - "description": "To reduce the number of HTTP requests, servers **MAY** allow responses that include related resources along with the requested primary resources. Such responses are called \"compound documents\".", - "type": "array", - "items": { - "$ref": "#/components/schemas/resource" - }, - "uniqueItems": true - } - } - }, - "failure": { - "type": "object", - "required": [ - "errors" - ], - "additionalProperties": false, - "properties": { - "meta": { - "$ref": "#/components/schemas/meta" - }, - "links": { - "$ref": "#/components/schemas/links" - }, - "errors": { - "type": "array", - "items": { - "$ref": "#/components/schemas/error" - }, - "uniqueItems": true - } - } - }, - "info": { - "type": "object", - "required": [ - "meta" - ], - "properties": { - "meta": { - "$ref": "#/components/schemas/meta" - }, - "links": { - "$ref": "#/components/schemas/links" - }, - "jsonapi": { - "$ref": "#/components/schemas/jsonapi" - } - } - }, - "meta": { - "description": "Non-standard meta-information that can not be represented as an attribute or relationship.", - "type": "object", - "additionalProperties": true - }, - "data": { - "description": "The document's \"primary data\" is a representation of the resource or collection of resources targeted by a request.", - "oneOf": [ - { - "$ref": "#/components/schemas/resource" - }, - { - "description": "An array of resource objects, an array of resource identifier objects, or an empty array ([]), for requests that target resource collections.", - "type": "array", - "items": { - "$ref": "#/components/schemas/resource" - }, - "uniqueItems": true - } - ] - }, - "resource": { - "description": "\"Resource objects\" appear in a JSON API document to represent resources.", - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "type": { - "type": "string" - }, - "id": { - "type": "string" - }, - "attributes": { - "$ref": "#/components/schemas/attributes" - }, - "relationships": { - "$ref": "#/components/schemas/relationships" - }, - "links": { - "$ref": "#/components/schemas/links" - }, - "meta": { - "$ref": "#/components/schemas/meta" - } - } - }, - "relationshipLinks": { - "description": "A resource object **MAY** contain references to other resource objects (\"relationships\"). Relationships may be to-one or to-many. Relationships can be specified by including a member in a resource's links object.", - "type": "object", - "additionalProperties": true, - "properties": { - "self": { - "allOf": [ - { - "description": "A `self` member, whose value is a URL for the relationship itself (a \"relationship URL\"). This URL allows the client to directly manipulate the relationship. For example, it would allow a client to remove an `author` from an `article` without deleting the people resource itself.", - "type": "array", - "items": { - "type": "object" - } - }, - { - "$ref": "#/components/schemas/link" - } - ] - }, - "related": { - "$ref": "#/components/schemas/link" - } - } - }, - "links": { - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/link" - } - }, - "link": { - "description": "A link **MUST** be represented as either: a string containing the link's URL or a link object.", - "oneOf": [ - { - "description": "A string containing the link's URL.", - "type": "string", - "format": "uri-reference" - }, - { - "type": "object", - "required": [ - "href" - ], - "properties": { - "href": { - "description": "A string containing the link's URL.", - "type": "string", - "format": "uri-reference" - }, - "meta": { - "$ref": "#/components/schemas/meta" - } - } - } - ] - }, - "attributes": { - "description": "Members of the attributes object (\"attributes\") represent information about the resource object in which it's defined.", - "type": "object", - "additionalProperties": true - }, - "relationships": { - "description": "Members of the relationships object (\"relationships\") represent references from the resource object in which it's defined to other resource objects.", - "type": "object", - "additionalProperties": { - "$ref": "#/components/schemas/relationship" - } - }, - "relationship": { - "description": "A relationship object describes links, resource linkage, or meta-information for a related resource.", - "type": "object", - "minProperties": 1, - "properties": { - "links": { - "$ref": "#/components/schemas/relationshipLinks" - }, - "data": { - "description": "Member, whose value represents \"resource linkage\".", - "oneOf": [ - { - "$ref": "#/components/schemas/relationshipToOne" - }, - { - "$ref": "#/components/schemas/relationshipToMany" - } - ] - }, - "meta": { - "$ref": "#/components/schemas/meta" - } - }, - "additionalProperties": false - }, - "relationshipToOne": { - "allOf": [ - { - "description": "References to other resource objects in a to-one (\"relationship\"). Relationships can be specified by including a member in a resource's links object." - }, - { - "$ref": "#/components/schemas/linkage" - } - ] - }, - "relationshipToMany": { - "description": "An array of objects each containing \"type\" and \"id\" members for to-many relationships.", - "type": "array", - "items": { - "$ref": "#/components/schemas/linkage" - }, - "uniqueItems": true - }, - "linkage": { - "description": "The \"type\" and \"id\" to non-empty members.", - "type": "object", - "required": [ - "type", - "id" - ], - "properties": { - "type": { - "type": "string" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "meta": { - "$ref": "#/components/schemas/meta" - } - }, - "additionalProperties": false - }, - "pagination": { - "type": "object", - "properties": { - "first": { - "description": "The first page of data", - "type": "string", - "format": "uri-reference" - }, - "last": { - "description": "The last page of data", - "type": "string", - "format": "uri-reference" - }, - "prev": { - "description": "The previous page of data", - "type": "string", - "format": "uri-reference" - }, - "next": { - "description": "The next page of data", - "type": "string", - "format": "uri-reference" - } - } - }, - "jsonapi": { - "description": "An object describing the server's implementation", - "type": "object", - "properties": { - "version": { - "type": "string" - }, - "meta": { - "$ref": "#/components/schemas/meta" - } - }, - "additionalProperties": false - }, - "error": { - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "A unique identifier for this particular occurrence of the problem." - }, - "links": { - "$ref": "#/components/schemas/links" - }, - "status": { - "type": "string", - "description": "The HTTP status code applicable to this problem, expressed as a string value." - }, - "code": { - "type": "string", - "description": "An application-specific error code, expressed as a string value." - }, - "title": { - "type": "string", - "description": "A short, human-readable summary of the problem. It **SHOULD NOT** change from occurrence to occurrence of the problem, except for purposes of localization." - }, - "detail": { - "type": "string", - "description": "A human-readable explanation specific to this occurrence of the problem." - }, - "description": { - "type": "string", - "description": "A human-readable description of the problem." - }, - "source": { - "type": "object", - "properties": { - "pointer": { - "type": "string", - "description": "A JSON Pointer [RFC6901] to the associated entity in the request document [e.g. \"/data\" for a primary data object, or \"/data/attributes/title\" for a specific attribute]." - }, - "parameter": { - "type": "string", - "description": "A string indicating which query parameter caused the error." - } - } - }, - "meta": { - "$ref": "#/components/schemas/meta" - } - }, - "additionalProperties": false - }, - "DocumentType": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "technicalName", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "name": { - "type": "string" - }, - "technicalName": { - "description": "Technical name of document type.", - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "CustomerRecovery": { - "description": "Added since version: 6.1.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "Integration": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "LineItemType": { - "type": "string", - "deprecated": true, - "enum": [ - "product", - "credit", - "custom", - "promotion", - "discount", - "container", - "quantity" - ] - }, - "LineItem": { - "type": "object", - "properties": { - "children": { - "type": "array", - "items": { - "$ref": "#/components/schemas/LineItem" - } - }, - "cover": { - "$ref": "#/components/schemas/Media" - }, - "dataContextHash": { - "type": "string" - }, - "dataTimestamp": { - "type": "string" - }, - "deliveryInformation": { - "$ref": "#/components/schemas/CartDeliveryInformation" - }, - "description": { - "type": "string" - }, - "good": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "modified": { - "type": "boolean" - }, - "modifiedByApp": { - "type": "boolean" - }, - "payload": { - "$ref": "#/components/schemas/ProductJsonApi" - }, - "price": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "const": "calculated_price" - }, - "calculatedTaxes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "apiAlias": { - "type": "string", - "const": "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" - } - ] - }, - "regulationPrice": { - "oneOf": [ - { - "type": "object", - "properties": { - "price": { - "type": "number" - }, - "apiAlias": { - "type": "string", - "const": "cart_regulation_price" - } - } - }, - { - "type": "null" - } - ] - }, - "totalPrice": { - "type": "number" - }, - "unitPrice": { - "type": "number" - }, - "taxRules": { - "type": "array", - "description": "Currently active tax rules and/or rates", - "items": { - "type": "object", - "properties": { - "taxRate": { - "type": "number", - "format": "float" - }, - "name": { - "type": "string" - } - } - } - } - }, - "required": [ - "apiAlias", - "totalPrice", - "quantity", - "unitPrice" - ] - }, - "priceDefinition": { - "$ref": "#/components/schemas/CartPriceQuantity" - }, - "quantity": { - "type": "number" - }, - "quantityInformation": { - "type": "object", - "properties": { - "maxPurchase": { - "type": "number" - }, - "minPurchase": { - "type": "number" - }, - "purchaseSteps": { - "type": "number" - } - } - }, - "referencedId": { - "type": "string" - }, - "removable": { - "type": "boolean" - }, - "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": [ - "id", - "type" - ] - }, - "OrderCustomer": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "email", - "firstName", - "lastName" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "email": { - "description": "Email address of the customer.", - "type": "string" - }, - "salutationId": { - "description": "Unique identity of salutation.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "firstName": { - "description": "First name of the customer.", - "type": "string" - }, - "lastName": { - "description": "Last name of the customer.", - "type": "string" - }, - "company": { - "description": "Name of the company.", - "type": "string" - }, - "title": { - "description": "Title name given to the customer like Dr, prof. etc.", - "type": "string" - }, - "vatIds": { - "type": "array", - "items": { - "type": "string" - } - }, - "customerNumber": { - "description": "Unique number assigned to the customer.", - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "salutation": { - "$ref": "#/components/schemas/Salutation" - } - }, - "type": "object" - }, - "Unit": { - "description": "Added since version: 6.0.0.0", - "required": [ - "id", - "shortCode", - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "shortCode": { - "type": "string" - }, - "name": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "AppMcpPrompt": { - "description": "Added since version: 6.7.11.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "CustomFieldSetRelation": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "Promotion": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "FlowTemplate": { - "description": "Added since version: 6.4.18.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "CookieEntry": { - "type": "object", - "properties": { - "cookie": { - "type": "string" - }, - "value": { - "type": "string" - }, - "expiration": { - "type": "integer" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "hidden": { - "type": "boolean" - }, - "apiAlias": { - "type": "string", - "const": "cookie_entry" - } - }, - "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" - } + "type": "string", + "example": "tag" + }, + "id": { + "type": "string", + "example": "d57ac45256849d9b13e2422d91580fb9" + } + } + } + } + }, + "type": "object" + }, + "seoCategory": { + "description": "Main category used for SEO URL generation in the current sales channel", + "properties": { + "links": { + "type": "object", + "properties": { + "related": { + "type": "string", + "format": "uri-reference", + "example": "/product/deb10517653c255364175796ace3553f/seoCategory" + } + } + }, + "data": { + "type": "object", + "properties": { + "type": { + "type": "string", + "example": "category" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "example": "9354d004d12e03d35ad8292bf0bb234d" + } + } + } + }, + "type": "object" + } + }, + "type": "object" } - } + }, + "type": "object" } - } + ] }, - "OrderTransactionCaptureRefund": { - "description": "Added since version: 6.4.12.0", - "required": [ - "id", - "captureId", - "stateId", - "amount" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "captureId": { - "description": "Unique identity of order transaction capture.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "captureVersionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "stateId": { - "description": "Unique identity of order state.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "externalReference": { - "description": "External payment provider token.", - "type": "string" - }, - "reason": { - "description": "Reason for refunding the amount for an order.", - "type": "string" + "ProductListingCriteria": { + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" }, - "amount": { - "required": [ - "unitPrice", - "totalPrice", - "quantity" - ], + { + "type": "object", + "description": "Additional search parameters for product listings", "properties": { - "unitPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" + "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" }, - "quantity": { + "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", - "format": "int64" + "minimum": 0 }, - "calculatedTaxes": { - "type": "object" + "p": { + "description": "Search result page", + "type": "integer", + "default": 1 }, - "taxRules": { - "type": "object" + "manufacturer": { + "description": "Filter by manufacturers. List of manufacturer identifiers separated by a `|`.", + "type": "string" }, - "referencePrice": { - "type": "object" + "min-price": { + "description": "Filters by a minimum product price. Has to be lower than the `max-price` filter.", + "type": "integer", + "minimum": 0, + "default": 0 }, - "listPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - }, - "discount": { - "type": "number", - "format": "float" - }, - "percentage": { - "type": "number", - "format": "float" - } - }, - "type": "object" + "max-price": { + "description": "Filters by a maximum product price. Has to be higher than the `min-price` filter.", + "type": "integer", + "minimum": 0, + "default": 0 }, - "regulationPrice": { - "properties": { - "price": { - "type": "number", - "format": "float" - } - }, - "type": "object" - } - }, - "type": "object" - }, - "customFields": { - "type": "object" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "stateMachineState": { - "$ref": "#/components/schemas/StateMachineState" - }, - "transactionCapture": { - "$ref": "#/components/schemas/OrderTransactionCapture" - }, - "positions": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OrderTransactionCaptureRefundPosition" - } - } - }, - "type": "object" - }, - "ImportExportProfile": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "PromotionDiscountPrices": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "AppFlowAction": { - "description": "Added since version: 6.4.10.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" + "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" + } + ] + } + } } - }, - "type": "object" + ] }, - "CartDeliveryPosition": { + "ProductListingFlags": { "type": "object", - "description": "A list of all cart errors, such as insufficient stocks, invalid addresses or vouchers.", + "description": "Additional flags for product listings", "properties": { - "deliveryDate": { - "type": "object", - "properties": { - "earliest": { - "type": "string", - "format": "date-time" + "no-aggregations": { + "description": "Resets all aggregations in the criteria. This parameter is a flag, the value has no effect.", + "oneOf": [ + { + "type": "string" }, - "latest": { - "type": "string", - "format": "date-time" + { + "type": "null" } - } - }, - "identifier": { - "type": "string" - }, - "lineItem": { - "$ref": "#/components/schemas/LineItem" + ] }, - "price": { - "$ref": "#/components/schemas/CalculatedPrice" + "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" + } + ] } } }, - "ProductStreamFilter": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "MailHeaderFooter": { - "description": "Added since version: 6.0.0.0", - "required": [ - "name" - ], - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "systemDefault": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "description": { - "type": "string" - }, - "headerHtml": { - "type": "string" - }, - "headerPlain": { - "type": "string" - }, - "footerHtml": { - "type": "string" - }, - "footerPlain": { - "type": "string" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "AppTemplate": { - "description": "Added since version: 6.3.1.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "ProductListingResult": { + "allOf": [ + { + "$ref": "#/components/schemas/EntitySearchResult" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + { + "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", + "const": "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", + "const": "product_listing" + } + }, + "required": [ + "elements", + "availableSortings", + "currentFilters", + "apiAlias" + ] } - }, - "type": "object" + ] }, - "CmsSection": { + "ProductManufacturer": { "description": "Added since version: 6.0.0.0", "required": [ - "apiAlias", - "blocks", "id", - "position", - "type", - "pageId" + "name" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "cmsPageVersionId": { + "versionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "position": { - "description": "Position of occurrence of each section denoted by numerical values 0, 1, 2...", - "type": "integer", - "format": "int64" - }, - "type": { - "description": "Types of sections can be `default` or `sidebar`.", - "type": "string", - "enum": [ - "default", - "sidebar" - ] - }, - "name": { - "description": "Name of the CMS section defined.", - "type": "string" - }, - "sizingMode": { - "description": "Sizing mode can be `boxed` or `full_width`.", - "type": "string" - }, - "mobileBehavior": { - "description": "Hides the sidebar on mobile viewports. It can hold values such as 'mobile', 'wrap', any other string or be unset.", - "type": "string" - }, - "backgroundColor": { - "description": "Background color of CMS page.", - "type": "string" - }, - "backgroundMediaId": { - "description": "Unique identity of CMS section's background media.", + "mediaId": { + "description": "Unique identity of the media.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "backgroundMediaMode": { - "description": "Background media mode can be `cover`, `auto` or `contain`.", + "link": { "type": "string" }, - "cssClass": { - "description": "One or more CSS classes added and separated by spaces.", + "name": { "type": "string" }, - "pageId": { - "description": "Unique identity of page where CMS section is defined.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "visibility": { - "properties": { - "mobile": { - "type": "boolean" - }, - "desktop": { - "type": "boolean" - }, - "tablet": { - "type": "boolean" - } - }, - "type": "object" + "description": { + "type": "string" }, "customFields": { "type": "object" @@ -18861,170 +14423,131 @@ "format": "date-time", "readOnly": true }, - "page": { - "$ref": "#/components/schemas/CmsPage" + "translated": { + "type": "object" }, - "backgroundMedia": { + "media": { "$ref": "#/components/schemas/Media" - }, - "blocks": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CmsBlock" - } - }, - "apiAlias": { - "type": "string", - "const": "cms_section" - } - }, - "type": "object" - }, - "Script": { - "description": "Added since version: 6.4.7.0", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true - }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true } }, "type": "object" }, - "CartItemsUpdate": { - "type": "object", - "required": [ - "items" - ], - "properties": { - "items": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CartLineItemUpdate" - } - } - } - }, - "CartLineItemUpdate": { + "ProductMeasurements": { "type": "object", - "required": [ - "id" - ], + "description": "Runtime field, cannot be used as part of the criteria. Measurements of a product, including dimensions and weight.", "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": { + "width": { "type": "object", "properties": { - "type": { - "type": "string" + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" }, - "price": { + "value": { "type": "number" + } + } + }, + "height": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" }, - "percentage": { + "value": { "type": "number" + } + } + }, + "length": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "mm", + "cm", + "m", + "in", + "ft" + ], + "default": "mm" }, - "quantity": { - "type": "integer" - }, - "isCalculated": { - "type": "boolean" - }, - "listPrice": { + "value": { "type": "number" + } + } + }, + "weight": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "enum": [ + "g", + "kg", + "oz", + "lb" + ], + "default": "kg" }, - "taxRules": { - "type": "array", - "items": { - "type": "object", - "properties": { - "taxRate": { - "type": "number" - }, - "percentage": { - "type": "number" - } - } - } + "value": { + "type": "number" } } } } }, - "PropertyGroupOption": { + "ProductMedia": { "description": "Added since version: 6.0.0.0", "required": [ - "group", - "option", - "translated", + "media", "id", - "groupId", - "name" + "productId", + "mediaId" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "groupId": { - "description": "Unique identity of property group.", + "versionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "name": { - "type": "string" - }, - "position": { - "type": "integer", - "format": "int64" + "productId": { + "description": "Unique identity of the product.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "colorHexCode": { - "description": "Property group options can be displayed in the form of color. For example: #98e3f5ff.", - "type": "string" + "productVersionId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, "mediaId": { - "description": "Unique identity of media.", + "description": "Unique identity of the media.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "combinable": { - "description": "Runtime field, cannot be used as part of the criteria.", - "type": "boolean" + "position": { + "description": "The order of the images to be displayed for a product.", + "type": "integer", + "format": "int64" }, "customFields": { "type": "object" @@ -19039,179 +14562,157 @@ "format": "date-time", "readOnly": true }, - "translated": { - "type": "object" - }, "media": { "$ref": "#/components/schemas/Media" - }, - "group": { - "$ref": "#/components/schemas/PropertyGroup" - }, - "option": { - "type": "string" } }, "type": "object" }, - "SalesChannelDomain": { - "description": "Added since version: 6.0.0.0", + "ProductPurchaseLimit": { + "type": "object", + "description": "Current quantity purchase limits for a product.", "required": [ - "id", - "url", - "salesChannelId", - "languageId", - "currencyId", - "snippetSetId" + "productId", + "minPurchase", + "purchaseSteps", + "maxPurchase", + "stock", + "apiAlias" ], "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "url": { - "description": "URL of the sales channel domain.", - "type": "string" - }, - "salesChannelId": { - "description": "Unique identity of sales channel.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "languageId": { - "description": "Unique identity of language used.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "currencyId": { - "description": "Unique identity of currency.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "snippetSetId": { - "description": "Unique identity of snippet set.", + "productId": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "pattern": "^[0-9a-f]{32}$", + "description": "The product ID." }, - "measurementUnits": { - "$ref": "#/components/schemas/MeasurementUnits" + "minPurchase": { + "type": "integer", + "description": "Minimum quantity a customer can purchase." }, - "hreflangUseOnlyLocale": { - "description": "This is used to toggle the language configurations, say between DE and DE-DE for instance.", - "type": "boolean" + "purchaseSteps": { + "type": "integer", + "description": "Step increment for quantity selection." }, - "customFields": { - "type": "object" + "maxPurchase": { + "type": "integer", + "description": "Maximum quantity a customer can purchase, reflecting current stock for closeout products." }, - "createdAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "stock": { + "type": [ + "integer", + "null" + ], + "description": "Current stock level of the product." }, - "updatedAt": { + "apiAlias": { "type": "string", - "format": "date-time", - "readOnly": true - }, - "language": { - "$ref": "#/components/schemas/Language" - }, - "currency": { - "$ref": "#/components/schemas/Currency" - }, - "salesChannelDefaultHreflang": { - "$ref": "#/components/schemas/SalesChannel" + "const": "product_purchase_limit" } - }, - "type": "object" + } }, - "LandingPage": { - "description": "Added since version: 6.4.0.0", + "ProductReview": { + "description": "Added since version: 6.0.0.0", "required": [ - "apiAlias", "id", - "name", - "url" + "productId", + "salesChannelId", + "languageId", + "title", + "content" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { + "productId": { + "description": "Unique identity of the product.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "active": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "customFields": { - "type": "object" - }, - "slotConfig": { - "type": "object" - }, - "metaTitle": { - "type": "string" - }, - "metaDescription": { - "type": "string" - }, - "keywords": { - "type": "string" - }, - "url": { - "type": "string" - }, - "cmsPageId": { + "productVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "cmsPageVersionId": { + "salesChannelId": { + "description": "Unique identity of the sales channel.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "languageId": { + "description": "Unique identity of the language.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { - "type": "string", - "format": "date-time", - "readOnly": true + "externalUser": { + "description": "External user name.", + "type": "string" }, - "translated": { - "type": "object" + "title": { + "description": "Title of product review.", + "type": "string" }, - "cmsPage": { - "$ref": "#/components/schemas/CmsPage", - "description": "CMS page layout for the landing page" + "content": { + "description": "Short description or subject of the project review.", + "type": "string" }, - "seoUrls": { - "description": "SEO-friendly URLs for the landing page across different sales channels", - "type": "array", - "items": { - "$ref": "#/components/schemas/SeoUrl" - } + "points": { + "description": "A floating point number given to rate a product.", + "type": "number", + "format": "float" + }, + "status": { + "description": "When status is set, the rating is made visible.", + "type": "boolean" + }, + "comment": { + "description": "Detailed review about the product.", + "type": "string" }, - "apiAlias": { + "customFields": { + "type": "object" + }, + "createdAt": { "type": "string", - "const": "landing_page" + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true } }, "type": "object" }, - "WebhookEventLog": { - "description": "Added since version: 6.4.1.0", + "ProductStream": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "name" + ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, + "name": { + "type": "string" + }, + "description": { + "type": "string" + }, + "customFields": { + "type": "object" + }, + "internal": { + "description": "When the boolean value is `true` indicating that it is for internal use only and will not appear in product stream listings.", + "type": "boolean" + }, + "displayAsGroup": { + "description": "When enabled, matching variants are grouped according to the product presentation setting. Disable to show them individually.", + "type": "boolean" + }, "createdAt": { "type": "string", "format": "date-time", @@ -19221,15 +14722,23 @@ "type": "string", "format": "date-time", "readOnly": true + }, + "translated": { + "type": "object" } }, "type": "object" }, - "CookieGroup": { - "type": "object", + "PropertyGroup": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "name" + ], "properties": { - "isRequired": { - "type": "boolean" + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, "name": { "type": "string" @@ -19237,104 +14746,94 @@ "description": { "type": "string" }, - "cookie": { + "displayType": { + "description": "Property groups can be displayed in the form of text, image, dropdown or color.", "type": "string" }, - "value": { + "sortingType": { + "description": "Sorting the property group by name or position.", "type": "string" }, - "expiration": { - "type": "integer" + "filterable": { + "description": "When set to true, the property will be displayed in the product filter of product lists.", + "type": "boolean" }, - "entries": { - "$ref": "#/components/schemas/CookieEntryCollection" + "visibleOnProductDetailPage": { + "description": "When set to true, the property groups are displayed on product detail page.", + "type": "boolean" }, - "apiAlias": { + "position": { + "type": "integer", + "format": "int64" + }, + "customFields": { + "type": "object" + }, + "createdAt": { "type": "string", - "const": "cookie_group" - } - }, - "not": { - "allOf": [ - { - "properties": { - "cookie": { - "type": "string" - } - }, - "required": [ - "cookie" - ] - }, - { - "properties": { - "entries": { - "$ref": "#/components/schemas/CookieEntryCollection" - } - }, - "required": [ - "entries" - ] + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" + }, + "options": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PropertyGroupOption" } - ] + } }, - "required": [ - "name", - "isRequired", - "apiAlias" - ] + "type": "object" }, - "Theme": { + "PropertyGroupOption": { "description": "Added since version: 6.0.0.0", "required": [ + "group", + "option", + "translated", "id", - "name", - "author", - "active" + "groupId", + "name" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "technicalName": { - "type": "string" + "groupId": { + "description": "Unique identity of property group.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, "name": { "type": "string" }, - "author": { - "type": "string" + "position": { + "type": "integer", + "format": "int64" }, - "description": { + "colorHexCode": { + "description": "Property group options can be displayed in the form of color. For example: #98e3f5ff.", "type": "string" }, - "labels": { - "type": "object" - }, - "helpTexts": { - "type": "object" - }, - "customFields": { - "type": "object" - }, - "previewMediaId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "parentThemeId": { + "mediaId": { + "description": "Unique identity of media.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "baseConfig": { - "type": "object" + "combinable": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "boolean" }, - "configValues": { + "customFields": { "type": "object" }, - "active": { - "type": "boolean" - }, "createdAt": { "type": "string", "format": "date-time", @@ -19349,117 +14848,208 @@ "type": "object" }, "media": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Media" - } + "$ref": "#/components/schemas/Media" + }, + "group": { + "$ref": "#/components/schemas/PropertyGroup" + }, + "option": { + "type": "string" } }, "type": "object" }, - "Webhook": { - "description": "Added since version: 6.3.1.0", + "ReferencePrice": { + "type": "object", + "properties": { + "purchaseUnit": { + "type": "number" + }, + "referenceUnit": { + "type": "number" + }, + "unitName": { + "type": "string" + }, + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "const": "cart_price_reference" + }, + "listPrice": { + "oneOf": [ + { + "$ref": "#/components/schemas/ListPrice" + }, + { + "type": "null" + } + ] + }, + "regulationPrice": { + "oneOf": [ + { + "type": "object", + "properties": { + "price": { + "type": "number" + }, + "apiAlias": { + "type": "string", + "const": "cart_regulation_price" + } + } + }, + { + "type": "null" + } + ] + }, + "hasRange": { + "type": "boolean" + }, + "variantId": { + "oneOf": [ + { + "type": "string", + "format": "^[0-9a-f]{32}$" + }, + { + "type": "null" + } + ] + } + }, + "required": [ + "hasRange", + "regulationPrice", + "listPrice", + "unitName" + ] + }, + "SalesChannel": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "languageId", + "customerGroupId", + "currencyId", + "paymentMethodId", + "shippingMethodId", + "countryId", + "navigationCategoryId", + "name" + ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "languageId": { + "description": "Unique identity of language used.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "customerGroupId": { + "description": "Unique identity of customer group.", "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "AppActionButton": { - "description": "Added since version: 6.3.1.0", - "properties": { - "id": { + "pattern": "^[0-9a-f]{32}$" + }, + "currencyId": { + "description": "Unique identity of currency used.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "paymentMethodId": { + "description": "Unique identity of payment method used.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "shippingMethodId": { + "description": "Unique identity of shipping method.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "translated": { - "type": "object" - } - }, - "type": "object" - }, - "CustomFieldSet": { - "description": "Added since version: 6.0.0.0", - "properties": { - "id": { + "countryId": { + "description": "Unique identity of country.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "createdAt": { + "navigationCategoryId": { + "description": "Unique identity of navigation category.", "type": "string", - "format": "date-time", - "readOnly": true + "pattern": "^[0-9a-f]{32}$" }, - "updatedAt": { + "navigationCategoryVersionId": { "type": "string", - "format": "date-time", - "readOnly": true - } - }, - "type": "object" - }, - "OrderLineItemDownload": { - "description": "Added since version: 6.4.19.0", - "required": [ - "media", - "id", - "orderLineItemId", - "mediaId", - "position", - "accessGranted" - ], - "properties": { - "id": { + "pattern": "^[0-9a-f]{32}$" + }, + "navigationCategoryDepth": { + "description": "It determines the number of levels of subcategories in the storefront category menu.", + "type": "integer", + "format": "int64" + }, + "footerCategoryId": { + "description": "Unique identity of footer category.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "versionId": { + "footerCategoryVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderLineItemId": { - "description": "Unique identity of Order line item.", + "serviceCategoryId": { + "description": "Unique identity of service category.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "orderLineItemVersionId": { + "serviceCategoryVersionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "mediaId": { - "description": "Unique identity of media.", + "mailHeaderFooterId": { + "description": "Unique identity of mail header and footer.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "position": { - "description": "The order of downloaded digital products displayed in the storefront by mentioning numerical values like 1,2,3, etc.", - "type": "integer", - "format": "int64" + "hreflangDefaultDomainId": { + "description": "Unique identity of hreflangDefaultDomain.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "accessGranted": { - "description": "When boolean value is `true`, the digital product is allowed to download.", + "measurementUnits": { + "$ref": "#/components/schemas/MeasurementUnits" + }, + "businessTimeZone": { + "description": "Business timezone used for sales-channel-specific rendering. Added since version: 6.7.13.0.", + "type": "string" + }, + "name": { + "type": "string" + }, + "shortName": { + "description": "A short name for sales channel.", + "type": "string" + }, + "taxCalculationType": { + "description": "Tax calculation types are `horizontal` and `vertical`.", + "type": "string" + }, + "configuration": { + "type": "object" + }, + "active": { + "description": "When boolean value is `true`, the sales channel is enabled.", + "type": "boolean" + }, + "hreflangActive": { + "description": "When set to true, the sales channel pages are available in different languages.", + "type": "boolean" + }, + "maintenance": { + "description": "When `true`, it indicates that the sales channel is undergoing maintenance, and shopping is temporarily unavailable during this period.", "type": "boolean" }, "customFields": { @@ -19475,2060 +15065,1850 @@ "format": "date-time", "readOnly": true }, - "orderLineItem": { - "$ref": "#/components/schemas/OrderLineItem" - }, - "media": { - "$ref": "#/components/schemas/Media" - } - }, - "type": "object" - }, - "NaturalLanguageSearchTermResponse": { - "type": "array", - "items": { - "type": "object", - "required": [ - "term", - "reason", - "apiAlias" - ], - "properties": { - "term": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "apiAlias": { - "type": "string", - "enum": [ - "product_natural_language_search_term" - ] - } - } - } - }, - "SearchByImageSearchTermResponse": { - "type": "array", - "items": { - "type": "object", - "required": [ - "term", - "apiAlias" - ], - "properties": { - "term": { - "type": "string" - }, - "apiAlias": { - "type": "string", - "enum": [ - "product_image_upload_search_term" - ] - }, - "extensions": { - "type": "array", - "items": { - "type": "object" - } - } - } - } - }, - "PendingOrder": { - "type": "object", - "properties": { - "id": { - "type": "string", - "format": "uuid" - }, - "number": { - "type": "string" - }, - "reason": { - "type": "string" + "translated": { + "type": "object" }, - "cartPayload": { - "oneOf": [ - { - "type": "object" - }, - { - "type": "string" - } - ] + "language": { + "$ref": "#/components/schemas/Language", + "description": "Default language for the sales channel" }, - "price": { - "required": [ - "netPrice", - "totalPrice", - "positionPrice", - "rawTotal", - "taxStatus" - ], - "properties": { - "netPrice": { - "type": "number", - "format": "float" - }, - "totalPrice": { - "type": "number", - "format": "float" - }, - "calculatedTaxes": { - "type": "object" - }, - "taxRules": { - "type": "object" - }, - "positionPrice": { - "type": "number", - "format": "float" - }, - "rawTotal": { - "type": "number", - "format": "float" - }, - "taxStatus": { - "type": "string" - } - }, - "type": "object" + "currency": { + "$ref": "#/components/schemas/Currency", + "description": "Default currency for the sales channel" }, "paymentMethod": { "$ref": "#/components/schemas/PaymentMethod", - "nullable": true + "description": "Default payment method for the sales channel" }, "shippingMethod": { "$ref": "#/components/schemas/ShippingMethod", - "nullable": true - }, - "stateMachineState": { - "$ref": "#/components/schemas/StateMachineState", - "nullable": true - }, - "lineItemCount": { - "type": "integer" + "description": "Default shipping method for the sales channel" }, - "employeeId": { - "type": "string" + "country": { + "$ref": "#/components/schemas/Country", + "description": "Default country for the sales channel" }, - "decidedById": { - "type": "string" + "domains": { + "description": "Domain URLs configured for the sales channel", + "type": "array", + "items": { + "$ref": "#/components/schemas/SalesChannelDomain" + } }, - "customerId": { - "type": "string" + "navigationCategory": { + "$ref": "#/components/schemas/Category", + "description": "Root category for navigation menu" }, - "stateId": { - "type": "string" + "footerCategory": { + "$ref": "#/components/schemas/Category", + "description": "Root category for footer navigation" }, - "currencyId": { - "type": "string" + "serviceCategory": { + "$ref": "#/components/schemas/Category", + "description": "Root category for service pages" }, - "shippingMethodId": { + "hreflangDefaultDomain": { + "$ref": "#/components/schemas/SalesChannelDomain" + } + }, + "type": "object" + }, + "SalesChannelContext": { + "type": "object", + "properties": { + "token": { + "description": "Context the user session", "type": "string" }, - "paymentMethodId": { - "type": "string" + "currentCustomerGroup": { + "type": "object", + "description": "Customer group of the current user", + "properties": { + "name": { + "type": "string" + }, + "displayGross": { + "type": "boolean" + } + } }, - "countryId": { - "type": "string" + "fallbackCustomerGroup": { + "description": "Fallback group if the default customer group is not applicable", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "displayGross": { + "type": "boolean" + } + } }, - "salesChannelId": { - "type": "string" + "currency": { + "$ref": "#/components/schemas/Currency" }, - "languageId": { - "type": "string" + "salesChannel": { + "$ref": "#/components/schemas/SalesChannel" }, - "billingAddress": { - "$ref": "#/components/schemas/OrderAddress", - "nullable": true + "measurementSystem": { + "$ref": "#/components/schemas/ContextMeasurementSystemInfo" }, - "language": { - "oneOf": [ - { - "type": "object" - }, - { - "type": "null" + "taxRules": { + "type": "array", + "description": "Currently active tax rules and/or rates", + "items": { + "type": "object", + "properties": { + "taxRate": { + "type": "number", + "format": "float" + }, + "name": { + "type": "string" + } } - ] + } }, - "country": { + "customer": { "oneOf": [ - { - "type": "object" - }, { "type": "null" - } - ] - }, - "currency": { - "oneOf": [ - { - "type": "object" }, { - "type": "null" + "$ref": "#/components/schemas/Customer" } ] }, - "salesChannel": { - "oneOf": [ - { - "type": "object" + "paymentMethod": { + "$ref": "#/components/schemas/PaymentMethod" + }, + "shippingLocation": { + "type": "object", + "properties": { + "apiAlias": { + "type": "string", + "const": "cart_delivery_shipping_location" }, - { - "type": "null" + "country": { + "$ref": "#/components/schemas/Country" + }, + "address": { + "$ref": "#/components/schemas/CustomerAddress" } - ] + } }, - "approvalRuleId": { - "type": "string" + "shippingMethod": { + "$ref": "#/components/schemas/ShippingMethod" }, - "itemRounding": { - "oneOf": [ - { - "type": "object" + "context": { + "description": "Core context with general configuration values and state", + "type": "object", + "properties": { + "versionId": { + "type": "string" }, - { - "type": "null" + "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" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "sales-channel", + "shop-api" + ] + }, + "salesChannelId": { + "type": "string" + } + } + }, + "taxState": { + "type": "string" + }, + "useCache": { + "type": "boolean" } - ] + } }, - "totalRounding": { - "oneOf": [ - { - "type": "object" + "itemRounding": { + "type": "object", + "required": [ + "decimals", + "interval", + "roundForNet", + "apiAlias" + ], + "properties": { + "apiAlias": { + "type": "string", + "const": "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" }, - { - "type": "null" + "decimals": { + "type": "integer", + "format": "int32" + }, + "interval": { + "type": "number", + "format": "float" + }, + "roundForNet": { + "type": "boolean" } - ] - }, - "taxStatus": { - "type": "string" + } }, - "amountTotal": { - "oneOf": [ - { - "type": "number" + "totalRounding": { + "type": "object", + "required": [ + "decimals", + "interval", + "roundForNet", + "apiAlias" + ], + "properties": { + "apiAlias": { + "type": "string", + "const": "shopware_core_framework_data_abstraction_layer_pricing_cash_rounding_config" }, - { - "type": "null" - } - ] - }, - "amountNet": { - "oneOf": [ - { - "type": "number" + "decimals": { + "type": "integer", + "format": "int32" }, - { - "type": "null" + "interval": { + "type": "number", + "format": "float" + }, + "roundForNet": { + "type": "boolean" } - ] + } }, - "originalPrice": { - "oneOf": [ - { - "type": "number" + "languageInfo": { + "type": "object", + "required": [ + "localeCode", + "name" + ], + "properties": { + "name": { + "type": "string" }, - { - "type": "null" + "localeCode": { + "type": "string" } - ] + } + }, + "apiAlias": { + "type": "string", + "const": "sales_channel_context" } - } + }, + "required": [ + "salesChannel", + "apiAlias", + "itemRounding", + "totalRounding", + "languageInfo" + ] }, - "ApprovalRule": { + "SalesChannelDomain": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "url", + "salesChannelId", + "languageId", + "currencyId", + "snippetSetId" + ], "properties": { "id": { "type": "string", - "format": "uuid" - }, - "businessPartnerCustomerId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "priority": { - "type": "integer" + "pattern": "^[0-9a-f]{32}$" }, - "description": { + "url": { + "description": "URL of the sales channel domain.", "type": "string" }, - "active": { - "type": "boolean" - }, - "conditions": { - "type": "array", - "items": { - "type": "object", - "properties": { - "type": { - "type": "string" - }, - "value": { - "type": "string" - } - } - } - } - }, - "type": "object" - }, - "EmployeeContext": { - "type": "object", - "required": [ - "employeeId", - "companyName", - "active" - ], - "properties": { - "employeeId": { - "description": "Identifier of the employee identity that represents this membership.", + "salesChannelId": { + "description": "Unique identity of sales channel.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "companyId": { - "description": "Identifier of the business partner customer (company). Null when the context is not bound to a specific customer record.", - "type": [ - "string", - "null" - ], + "languageId": { + "description": "Unique identity of language used.", + "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "companyName": { - "description": "Display name of the company this context belongs to.", - "type": "string" + "currencyId": { + "description": "Unique identity of currency.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "roleId": { - "description": "Identifier of the B2B role granted in this context. Null when no role is assigned.", - "type": [ - "string", - "null" - ], + "snippetSetId": { + "description": "Unique identity of snippet set.", + "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "roleName": { - "description": "Name of the B2B role granted in this context. Null when no role is assigned.", - "type": [ - "string", - "null" - ] + "measurementUnits": { + "$ref": "#/components/schemas/MeasurementUnits" }, - "active": { - "description": "Whether this context is the one currently active for the session.", - "type": "boolean" - } - } - }, - "EmployeeAvailableContextsResponse": { - "type": "object", - "required": [ - "contextSelectionRequired", - "contexts" - ], - "properties": { - "contextSelectionRequired": { - "description": "True when the account has more than one context and none is active yet, so the storefront must prompt the user to pick one before continuing.", + "hreflangUseOnlyLocale": { + "description": "This is used to toggle the language configurations, say between DE and DE-DE for instance.", "type": "boolean" }, - "contexts": { - "description": "Every active membership the logged-in account can act as.", - "type": "array", - "items": { - "$ref": "#/components/schemas/EmployeeContext" - } + "customFields": { + "type": "object" }, - "defaultEmployeeId": { - "description": "The account's default context, auto-activated on the next login. Null when no default is set.", - "type": [ - "string", - "null" - ], - "pattern": "^[0-9a-f]{32}$" - } - } - }, - "ListCategoryRouteResponse": { - "type": "object", - "properties": { - "categories": { - "$ref": "#/components/schemas/EntitySearchResult" + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "language": { + "$ref": "#/components/schemas/Language" + }, + "currency": { + "$ref": "#/components/schemas/Currency" + }, + "salesChannelDefaultHreflang": { + "$ref": "#/components/schemas/SalesChannel" } }, - "required": [ - "categories" - ] + "type": "object" }, - "BundleProduct": { - "type": "object", + "Salutation": { + "description": "Added since version: 6.0.0.0", "required": [ "id", - "productNumber" + "salutationKey", + "displayName", + "letterName" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "name": { + "salutationKey": { + "description": "Technical name given to salutation. For example: mr", "type": "string" }, - "productNumber": { + "displayName": { "type": "string" }, - "active": { - "type": "boolean" + "letterName": { + "type": "string" }, - "available": { - "type": "boolean" + "customFields": { + "type": "object" }, - "bundleItems": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BundleItem" - } + "position": { + "description": "Numerical value that indicates the order in which the defined salutations must be displayed in the frontend.", + "type": "integer", + "format": "int64" }, - "bundleDiscounts": { - "type": "array", - "items": { - "$ref": "#/components/schemas/BundleDiscount" - } + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "apiAlias": { + "updatedAt": { "type": "string", - "example": "product" + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" } - } + }, + "type": "object" }, - "BundleItem": { - "type": "object", + "SeoUrl": { + "description": "Added since version: 6.0.0.0", "required": [ - "productId", - "quantity", - "min", - "required" + "id", + "languageId", + "foreignKey", + "routeName", + "pathInfo", + "seoPathInfo" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "productId": { + "salesChannelId": { + "description": "Unique identity of sales channel.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "bundleId": { + "languageId": { + "description": "Unique identity of language.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "quantity": { - "type": "integer", - "minimum": 1 + "foreignKey": { + "description": "The key that references to product or category entity ID.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "min": { - "type": "integer", - "minimum": 1 + "routeName": { + "description": "A destination routeName that has been registered somewhere in the app's router. For example: \\\\\"frontend.detail.page\\\\\"", + "type": "string", + "enum": [ + "frontend.navigation.page", + "frontend.landing.page", + "frontend.detail.page" + ] }, - "max": { - "type": "integer" + "pathInfo": { + "description": "Path to product URL. For example: \\\\\"/detail/bbf36734504741c79a3bbe3795b91564\\\\\"", + "type": "string" }, - "required": { + "seoPathInfo": { + "description": "Seo path to product. For example: \\\\\"Pepper-white-ground-pearl/SW10098\\\\\"", + "type": "string" + }, + "isCanonical": { + "description": "When set to true, search redirects to the main URL.", "type": "boolean" }, - "position": { - "type": "integer" + "isModified": { + "description": "When boolean value is `true`, the seo url is changed.", + "type": "boolean" }, - "showBundleOnItemPdp": { + "isDeleted": { + "description": "When set to true, the URL is deleted and cannot be used any more but it is still available on table and can be restored later.", "type": "boolean" }, - "product": { + "error": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "string" + }, + "url": { + "description": "Runtime field, cannot be used as part of the criteria.", + "type": "string" + }, + "customFields": { "type": "object" }, - "apiAlias": { + "createdAt": { "type": "string", - "example": "bundle_item" + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true } - } - }, - "BundleDiscount": { + }, "type": "object", + "title": "SeoUrlEntity" + }, + "ShippingMethod": { + "description": "Added since version: 6.0.0.0", "required": [ "id", - "type", - "value" + "technicalName", + "deliveryTimeId", + "name" ], "properties": { "id": { "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "type": { - "type": "string", - "enum": [ - "absolute", - "percentage" - ] + "name": { + "type": "string" }, - "value": { - "type": "number" + "technicalName": { + "type": "string" }, - "maxValue": { - "type": "number" + "active": { + "description": "When boolean value is `true`, the shipping methods are available for selection in the storefront.", + "type": "boolean" }, - "currencyId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "position": { + "description": "The order of the tabs of your defined shipping methods in the storefront by entering numerical values like 1,2,3, etc.", + "type": "integer", + "format": "int64" }, - "preventCombination": { - "type": "boolean" + "customFields": { + "type": "object" }, - "active": { - "type": "boolean" + "mediaId": { + "description": "Unique identity of media.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "apiAlias": { + "deliveryTimeId": { + "description": "Unique identity of deliveryTime.", "type": "string", - "example": "bundle_discount" - } - } - } - }, - "responses": { - "404": { - "description": "Not Found", - "content": { - "application/vnd.api+json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "404", - "title": "Not Found", - "description": "Resource with given parameter was not found." - } - ] - } + "pattern": "^[0-9a-f]{32}$" }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "404", - "title": "Not Found", - "description": "Resource with given parameter was not found." - } - ] - } - } - } - }, - "403": { - "description": "Forbidden", - "content": { - "application/vnd.api+json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "403", - "title": "Forbidden", - "description": "This operation is restricted to logged in users." - } - ] - } + "taxType": { + "description": "Refers `Free`, `Net` or `Gross` type of taxes.", + "type": "string" }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "403", - "title": "Forbidden", - "description": "This operation is restricted to logged in users." - } - ] - } - } - } - }, - "401": { - "description": "Unauthorized", - "content": { - "application/vnd.api+json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "401", - "title": "Unauthorized", - "description": "Authorization information is missing or invalid." - } - ] - } + "description": { + "type": "string" }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "401", - "title": "Unauthorized", - "description": "Authorization information is missing or invalid." - } - ] - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/vnd.api+json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "400", - "title": "Bad Request", - "description": "Bad parameters for this endpoint. See documentation for the correct ones." - } - ] - } + "trackingUrl": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "400", - "title": "Bad Request", - "description": "Bad parameters for this endpoint. See documentation for the correct ones." - } - ] - } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/vnd.api+json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "429", - "title": "Too Many Requests", - "description": "Rate limit exceeded. Please wait before retrying." - } - ] + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" + }, + "deliveryTime": { + "$ref": "#/components/schemas/DeliveryTime", + "description": "Estimated delivery time information" + }, + "availabilityRule": { + "$ref": "#/components/schemas/Rule", + "description": "Rule defining when this shipping method is available" + }, + "prices": { + "description": "Shipping prices based on weight, volume, or cart value", + "type": "array", + "items": { + "$ref": "#/components/schemas/ShippingMethodPrice" } }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/failure" - }, - "example": { - "errors": [ - { - "status": "429", - "title": "Too Many Requests", - "description": "Rate limit exceeded. Please wait before retrying." - } - ] + "media": { + "$ref": "#/components/schemas/Media", + "description": "Shipping method logo or carrier image" + }, + "tags": { + "description": "Tags for organizing shipping methods", + "type": "array", + "items": { + "$ref": "#/components/schemas/Tag" } + }, + "tax": { + "$ref": "#/components/schemas/Tax", + "description": "Tax configuration for shipping costs" } - } - }, - "204": { - "description": "No Content" + }, + "type": "object" }, - "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" + "ShippingMethodPrice": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "shippingMethodId" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "shippingMethodId": { + "description": "Unique identity of shipping method.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "ruleId": { + "description": "Unique identity of rule.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "calculation": { + "description": "Shipping price calculated based on quantity, price, weight or volume of items.", + "type": "integer", + "format": "int64" + }, + "calculationRuleId": { + "description": "Unique identity of rule calculation.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quantityStart": { + "description": "Starting range of quantity of an item.", + "type": "number", + "format": "float" + }, + "quantityEnd": { + "description": "Ending range of quantity of an item.", + "type": "number", + "format": "float" + }, + "currencyPrice": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Price" } + }, + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true } - } + }, + "type": "object" }, - "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" - } - ] - } + "Sitemap": { + "type": "object", + "properties": { + "filename": { + "type": "string" + }, + "created": { + "type": "string", + "format": "date-time" } - } + }, + "required": [ + "filename", + "created" + ] }, - "CountryStateListResponse": { - "description": "Entity search result containing countries.", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CountryState" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } + "StateMachineState": { + "description": "Added since version: 6.0.0.0", + "required": [ + "translated", + "technicalName", + "name" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "technicalName": { + "description": "Technical name of StateMachineState.", + "type": "string" + }, + "name": { + "type": "string" + }, + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" } - } + }, + "type": "object" }, - "CategoryListResponse": { - "description": "Entity search result containing categories.", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "type": "object", - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Category" - } - } - } - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } + "SuccessResponse": { + "type": "object", + "properties": { + "success": { + "type": "boolean" } } }, - "CountryListResponse": { - "description": "Entity search result containing countries.", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Country" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } + "Tag": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "name" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "name": { + "type": "string" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true } - } + }, + "type": "object" }, - "ProductListResponse": { - "description": "Entity search result containing products", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "required": [ - "elements" - ], - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Product" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } + "Tax": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "taxRate", + "name" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "taxRate": { + "description": "Rate of tax.", + "type": "number", + "format": "float" + }, + "name": { + "description": "Name defined for a Tax.", + "type": "string" + }, + "position": { + "description": "The order of the tabs of your defined taxes in the storefront by entering numerical values like 1,2,3, etc. Added since version: 6.4.0.0.", + "type": "integer", + "format": "int64" + }, + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true } - } + }, + "type": "object" }, - "CurrencyListResponse": { - "description": "Entity search result containing currencies.", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Currency" + "Unit": { + "description": "Added since version: 6.0.0.0", + "required": [ + "id", + "shortCode", + "name" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "shortCode": { + "type": "string" + }, + "name": { + "type": "string" + }, + "customFields": { + "type": "object" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "updatedAt": { + "type": "string", + "format": "date-time", + "readOnly": true + }, + "translated": { + "type": "object" + } + }, + "type": "object" + }, + "WishlistLoadRouteResponse": { + "type": "object", + "required": [ + "products" + ], + "properties": { + "wishlist": { + "type": "object", + "properties": { + "customerId": { + "type": "string" + }, + "salesChannelId": { + "type": "string" } } + }, + "products": { + "$ref": "#/components/schemas/ProductListingResult" } } - }, - "ShippingMethodListResponse": { - "description": "Entity search result containing shipping methods.", + } + }, + "responses": { + "404": { + "description": "Not Found", "content": { - "application/json": { + "application/vnd.api+json": { "schema": { - "allOf": [ + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ { - "required": [ - "elements" - ], - "properties": { - "total": { - "description": "Total amount", - "type": "integer" - }, - "aggregations": { - "description": "aggregation result", - "type": "object" - }, - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ShippingMethod" - } - } - }, - "type": "object" - }, + "status": "404", + "title": "Not Found", + "description": "Resource with given parameter was not found." + } + ] + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ { - "$ref": "#/components/schemas/EntitySearchResult" + "status": "404", + "title": "Not Found", + "description": "Resource with given parameter was not found." } ] } } } }, - "SalutationListResponse": { - "description": "Entity search result containing salutations.", + "403": { + "description": "Forbidden", "content": { - "application/json": { + "application/vnd.api+json": { "schema": { - "allOf": [ + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Salutation" - } - } - }, - "type": "object" - }, + "status": "403", + "title": "Forbidden", + "description": "This operation is restricted to logged in users." + } + ] + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ { - "$ref": "#/components/schemas/EntitySearchResult" + "status": "403", + "title": "Forbidden", + "description": "This operation is restricted to logged in users." } ] } } } }, - "OpenApi3": { - "description": "Returns information about the store API.", + "401": { + "description": "Unauthorized", "content": { + "application/vnd.api+json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "401", + "title": "Unauthorized", + "description": "Authorization information is missing or invalid." + } + ] + } + }, "application/json": { "schema": { - "properties": { - "openapi": { - "type": "string" - }, - "$self": { - "type": "string", - "format": "uri-reference" - }, - "info": { - "type": "object", - "properties": { - "title": { - "type": "string" - }, - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "termsOfService": { - "type": "string", - "format": "uri" - }, - "contact": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - }, - "email": { - "type": "string", - "format": "email" - } - } - }, - "license": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "identifier": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "name" - ] - }, - "version": { - "type": "string" - } - }, - "required": [ - "title", - "version" - ] - }, - "jsonSchemaDialect": { - "type": "string" - }, - "webhooks": { - "type": "object" - }, - "servers": { - "type": "array", - "items": { - "type": "object", - "properties": { - "url": { - "type": "string" - } - }, - "required": [ - "url" - ] - } - }, - "components": { - "type": "object", - "properties": { - "schemas": { - "type": "object" - }, - "responses": { - "type": "object" - }, - "parameters": { - "type": "object" - }, - "examples": { - "type": "object" - }, - "requestBodies": { - "type": "object" - }, - "headers": { - "type": "object" - }, - "securitySchemes": { - "type": "object" - }, - "links": { - "type": "object" - }, - "callbacks": { - "type": "object" - }, - "pathItems": { - "type": "object" - } - } - }, - "security": { - "type": "array", - "items": { - "type": "object" - } - }, - "paths": { - "type": "object" - }, - "tags": { - "type": "array", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "summary": { - "type": "string" - }, - "description": { - "type": "string" - }, - "parent": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "externalDocs": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "url" - ] - } - }, - "required": [ - "name" - ] - } - }, - "externalDocs": { - "type": "object", - "properties": { - "description": { - "type": "string" - }, - "url": { - "type": "string", - "format": "uri" - } - }, - "required": [ - "url" - ] + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "401", + "title": "Unauthorized", + "description": "Authorization information is missing or invalid." } - }, - "type": "object", - "required": [ - "openapi", - "info" ] } } } }, - "LanguageListResponse": { - "description": "Entity search result containing languages.", + "400": { + "description": "Bad Request", "content": { - "application/json": { + "application/vnd.api+json": { "schema": { - "allOf": [ + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Language" - } - } - }, - "required": [ - "elements" - ], - "type": "object" - }, + "status": "400", + "title": "Bad Request", + "description": "Bad parameters for this endpoint. See documentation for the correct ones." + } + ] + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ { - "$ref": "#/components/schemas/EntitySearchResult" + "status": "400", + "title": "Bad Request", + "description": "Bad parameters for this endpoint. See documentation for the correct ones." } ] } } } }, - "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" - } - } - }, + "429": { + "description": "Too Many Requests", "content": { - "application/json": { + "application/vnd.api+json": { "schema": { - "type": "object", - "properties": { - "redirectUrl": { - "description": "Define the URL which browser will be redirected to", - "type": "string" + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "429", + "title": "Too Many Requests", + "description": "Rate limit exceeded. Please wait before retrying." } - } + ] + } + }, + "application/json": { + "schema": { + "$ref": "#/components/schemas/failure" + }, + "example": { + "errors": [ + { + "status": "429", + "title": "Too Many Requests", + "description": "Rate limit exceeded. Please wait before retrying." + } + ] } - } - } - } - }, - "parameters": { - "contentType": { - "name": "Content-Type", - "in": "header", - "description": "Content type of the request", - "required": true, - "schema": { - "type": "string", - "default": "application/json" - } - }, - "accept": { - "name": "Accept", - "in": "header", - "description": "Accepted response content types", - "required": true, - "schema": { - "type": "string", - "default": "application/json" - } - }, - "swLanguageId": { - "name": "sw-language-id", - "in": "header", - "description": "Instructs Shopware to return the response in the given language.", - "required": false, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "criteriaPage": { - "name": "page", - "in": "query", - "description": "Search result page", - "schema": { - "type": "integer" - } - }, - "criteriaLimit": { - "name": "limit", - "in": "query", - "description": "Number of items per result page", - "schema": { - "type": "integer" - } - }, - "criteriaTerm": { - "name": "term", - "in": "query", - "description": "Search term", - "schema": { - "type": "string" - } - }, - "criteriaFilter": { - "name": "filter[]", - "in": "query", - "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)", - "schema": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } - } - }, - "criteriaIds": { - "name": "ids[]", - "in": "query", - "description": "List of ids to search for", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "criteriaQuery": { - "name": "query", - "in": "query", - "description": "The query string to search for", - "schema": { - "type": "string" - } - }, - "criteriaAssociations": { - "name": "associations", - "in": "query", - "description": "", - "schema": { - "$ref": "#/components/schemas/Associations" - }, - "style": "deepObject", - "explode": true - }, - "criteriaPostFilter": { - "name": "post-filter[]", - "in": "query", - "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)", - "schema": { - "type": "array", - "items": { - "anyOf": [ - { - "$ref": "#/components/schemas/SimpleFilter" - }, - { - "$ref": "#/components/schemas/EqualsFilter" - }, - { - "$ref": "#/components/schemas/MultiNotFilter" - }, - { - "$ref": "#/components/schemas/RangeFilter" - } - ] - } - } - }, - "criteriaSort": { - "name": "sort[]", - "in": "query", - "description": "Sorting in the search result.", - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Sort" - } - } - }, - "criteriaAggregations": { - "name": "aggregations[]", - "in": "query", - "description": "", - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/Aggregation" - } - } - }, - "criteriaFields": { - "name": "fields[]", - "in": "query", - "description": "Fields which should be returned in the search result.", - "schema": { - "type": "array", - "items": { - "type": "string", - "description": "Name of a field" - } - } - }, - "criteriaGrouping": { - "name": "grouping[]", - "in": "query", - "description": "Perform groupings over certain fields", - "schema": { - "type": "array", - "items": { - "type": "string", - "description": "Name of a field" } } }, - "criteriaTotalCountMode": { - "name": "total-count-mode", - "in": "query", - "description": "", - "schema": { - "$ref": "#/components/schemas/TotalCountMode" + "CategoryListResponse": { + "description": "Entity search result containing categories.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "type": "object", + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Category" + } + } + } + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } } }, - "criteriaIncludes": { - "name": "includes", - "in": "query", - "description": "Specify the fields that should be returned for the given entities. Object key needs to be the entity name, and the list of fields needs to be the value. Fields will not be included, if they are also specified in the excludes. Note that the include fields will only be stripped on the API-Level, consider using the `fields` parameter for performance reasons.", - "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" + "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" + } + } }, - "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" + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "redirectUrl": { + "description": "Define the URL which browser will be redirected to", + "type": "string" + } + } + } + } } }, - "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" + "CountryListResponse": { + "description": "Entity search result containing countries.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Country" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } } }, - "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" + "CountryStateListResponse": { + "description": "Entity search result containing countries.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CountryState" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] } - ] + } } }, - "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" + "CurrencyListResponse": { + "description": "Entity search result containing currencies.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Currency" + } } - ] + } } - } - }, - "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": [ - "B2B Employee Management" - ], - "summary": "Create a single role and return the role", - "description": "This route is used to create and return an role", - "operationId": "createRole", - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Name of the new role", - "type": "string" + "LanguageListResponse": { + "description": "Entity search result containing languages.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Language" + } + } }, - "permissions": { - "description": "Permissions of the new role", - "type": "array", - "items": { + "required": [ + "elements" + ], + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } + } + }, + "OpenApi3": { + "description": "Returns information about the store API.", + "content": { + "application/json": { + "schema": { + "properties": { + "openapi": { + "type": "string" + }, + "$self": { + "type": "string", + "format": "uri-reference" + }, + "info": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, + "termsOfService": { + "type": "string", + "format": "uri" + }, + "contact": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + }, + "email": { + "type": "string", + "format": "email" + } + } + }, + "license": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "identifier": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "name" + ] + }, + "version": { "type": "string" } }, - "isDefaultRole": { - "description": "Ability to set the new role as default", - "type": "boolean" + "required": [ + "title", + "version" + ] + }, + "jsonSchemaDialect": { + "type": "string" + }, + "webhooks": { + "type": "object" + }, + "servers": { + "type": "array", + "items": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ] } }, - "type": "object" - } + "components": { + "type": "object", + "properties": { + "schemas": { + "type": "object" + }, + "responses": { + "type": "object" + }, + "parameters": { + "type": "object" + }, + "examples": { + "type": "object" + }, + "requestBodies": { + "type": "object" + }, + "headers": { + "type": "object" + }, + "securitySchemes": { + "type": "object" + }, + "links": { + "type": "object" + }, + "callbacks": { + "type": "object" + }, + "pathItems": { + "type": "object" + } + } + }, + "security": { + "type": "array", + "items": { + "type": "object" + } + }, + "paths": { + "type": "object" + }, + "tags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "description": { + "type": "string" + }, + "parent": { + "type": "string" + }, + "kind": { + "type": "string" + }, + "externalDocs": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "url" + ] + } + }, + "required": [ + "name" + ] + } + }, + "externalDocs": { + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri" + } + }, + "required": [ + "url" + ] + } + }, + "type": "object", + "required": [ + "openapi", + "info" + ] } } - }, - "responses": { - "200": { - "description": "Role entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/B2bComponentsRole" + } + }, + "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" } } - }, - "security": [ - { - "ApiKey": [] - } - ] - } - }, - "/role": { - "get": { - "tags": [ - "B2B Employee Management" - ], - "summary": "Fetch a list of roles", - "description": "This route is used to load roles", - "operationId": "readRoles", - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } - ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" - } - ] - } + } + }, + "ProductListResponse": { + "description": "Entity search result containing products", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "required": [ + "elements" + ], + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Product" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] } } - }, - "responses": { - "200": { - "description": "Entity search result containing roles", - "content": { - "application/json": { - "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsRole" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" + } + }, + "SalutationListResponse": { + "description": "Entity search result containing salutations.", + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Salutation" + } } - ] + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" } - } + ] } } - }, - "security": [ - { - "ApiKey": [] - } - ] + } }, - "post": { - "tags": [ - "B2B Employee Management" - ], - "summary": "Fetch a list of roles", - "description": "This route is used to load roles", - "operationId": "readRolesPOST", - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } - ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" - } - ] - } + "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" + } + ] } } - }, - "responses": { - "200": { - "description": "Entity search result containing roles", - "content": { - "application/json": { - "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsRole" - } - } - }, + } + }, + "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" }, - { - "$ref": "#/components/schemas/EntitySearchResult" + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ShippingMethod" + } } - ] + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" } - } + ] } } - }, - "security": [ - { - "ApiKey": [] - } - ] + } } }, - "/role/{id}": { - "get": { - "tags": [ - "B2B Employee Management" - ], - "summary": "Fetch one role by id", - "description": "This route is used to fetch one role by id", - "operationId": "readRole", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the role to be fetched", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "$ref": "#/components/parameters/swLanguageId" - } - ], - "responses": { - "200": { - "description": "Role entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/B2bComponentsRole" - } + "parameters": { + "swLanguageId": { + "name": "sw-language-id", + "in": "header", + "description": "Instructs Shopware to return the response in the given language.", + "required": false, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "criteriaPage": { + "name": "page", + "in": "query", + "description": "Search result page", + "schema": { + "type": "integer" + } + }, + "criteriaLimit": { + "name": "limit", + "in": "query", + "description": "Number of items per result page", + "schema": { + "type": "integer" + } + }, + "criteriaTerm": { + "name": "term", + "in": "query", + "description": "Search term", + "schema": { + "type": "string" + } + }, + "criteriaFilter": { + "name": "filter[]", + "in": "query", + "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)", + "schema": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" } - } + ] + } + } + }, + "criteriaIds": { + "name": "ids[]", + "in": "query", + "description": "List of ids to search for", + "schema": { + "type": "array", + "items": { + "type": "string" } + } + }, + "criteriaQuery": { + "name": "query", + "in": "query", + "description": "The query string to search for", + "schema": { + "type": "string" + } + }, + "criteriaAssociations": { + "name": "associations", + "in": "query", + "description": "", + "schema": { + "$ref": "#/components/schemas/Associations" }, - "security": [ - { - "ApiKey": [] + "style": "deepObject", + "explode": true + }, + "criteriaPostFilter": { + "name": "post-filter[]", + "in": "query", + "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)", + "schema": { + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/SimpleFilter" + }, + { + "$ref": "#/components/schemas/EqualsFilter" + }, + { + "$ref": "#/components/schemas/MultiNotFilter" + }, + { + "$ref": "#/components/schemas/RangeFilter" + } + ] } - ] + } }, - "patch": { - "tags": [ - "B2B Employee Management" - ], - "summary": "Update one role by id", - "description": "This route is used to update one role by id", - "operationId": "updateRole", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the role to be updated", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "$ref": "#/components/parameters/swLanguageId" + "criteriaSort": { + "name": "sort[]", + "in": "query", + "description": "Sorting in the search result.", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Sort" } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "New name of the role", - "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" - } - } + } + }, + "criteriaAggregations": { + "name": "aggregations[]", + "in": "query", + "description": "", + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Aggregation" } - }, - "responses": { - "200": { - "description": "Role entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/B2bComponentsRole" - } - } - } + } + }, + "criteriaFields": { + "name": "fields[]", + "in": "query", + "description": "Fields which should be returned in the search result.", + "schema": { + "type": "array", + "items": { + "type": "string", + "description": "Name of a field" } - }, - "security": [ - { - "ApiKey": [] + } + }, + "criteriaGrouping": { + "name": "grouping[]", + "in": "query", + "description": "Perform groupings over certain fields", + "schema": { + "type": "array", + "items": { + "type": "string", + "description": "Name of a field" } - ] + } }, - "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}$" + "criteriaTotalCountMode": { + "name": "total-count-mode", + "in": "query", + "description": "", + "schema": { + "$ref": "#/components/schemas/TotalCountMode" + } + }, + "criteriaIncludes": { + "name": "includes", + "in": "query", + "description": "Specify the fields that should be returned for the given entities. Object key needs to be the entity name, and the list of fields needs to be the value. Fields will not be included, if they are also specified in the excludes. Note that the include fields will only be stripped on the API-Level, consider using the `fields` parameter for performance reasons.", + "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 + }, + "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" } - } - ], - "responses": { - "204": { - "description": "No content response" - } - }, - "security": [ - { - "ApiKey": [] - } - ] + ] + } } }, - "/role/default": { + "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": { + "/product/natural-language/search-term": { "post": { "tags": [ - "B2B Employee Management" + "Natural language search", + "AI Search" ], - "summary": "Sets the default role Id for new employees", - "description": "This route is used to update the defaultRoleId for new employees", - "operationId": "updateDefaultRoleId", + "summary": "Fetch search terms by natural language search query", + "description": "Fetch search terms by natural search language query", + "operationId": "naturalLanguageSearchTerm", "requestBody": { "required": true, "content": { "application/json": { "schema": { + "type": "object", "properties": { - "id": { - "description": "Id of the roleId to be set as default", - "type": "string" + "query": { + "description": "Natural language query", + "type": "string", + "example": "I'm looking for a present for my wife" } - }, - "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", + "description": "A collection of search terms, with an associated 'reason' based on search context", "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" - } - ] + "$ref": "#/components/schemas/NaturalLanguageSearchTermResponse" } } } } }, - "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" - } - ] - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } ] } }, - "/employee/create": { + "/product/image-upload-search/search-term": { "post": { "tags": [ - "B2B Employee Management" - ], - "summary": "Create a single employee and return the employee", - "description": "This route is used to create and return an employee", - "operationId": "createEmployee", - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "firstName": { - "description": "First name of the new employee", - "type": "string" - }, - "lastName": { - "description": "Last name of the new employee", - "type": "string" - }, - "email": { - "description": "Email of the new employee", - "type": "string" - }, - "languageId": { - "description": "Identifier of the [language](#/System%20%26%20Context/readLanguages) to be set for the new employee.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "roleId": { - "description": "Id of the role of the new employee", + "Search by Image", + "AI Search" + ], + "summary": "Fetch product search terms by uploading an image.", + "description": "Fetch product search terms by uploading an image.", + "operationId": "searchByImageSearchTerm", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "file": { + "description": "Base-64 encoded image", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "binary" } - }, - "required": [ - "firstName", - "lastName", - "email", - "languageId" - ], - "type": "object" + } } } } }, "responses": { "200": { - "description": "Employee entity", + "description": "A collection of search terms", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/B2bEmployee" + "$ref": "#/components/schemas/SearchByImageSearchTermResponse" } } } } }, - "security": [ + "parameters": [ { - "ApiKey": [] + "$ref": "#/components/parameters/swLanguageId" } ] } }, - "/employee": { + "/advanced-product-catalogs/categories": { "get": { "tags": [ - "B2B Employee Management" + "Advanced Product Catalogs", + "Categories" ], - "summary": "Fetch a list of employees", - "description": "This route is used to load employees", - "operationId": "readEmployees", + "summary": "List advanced product catalog categories", + "description": "Retrieve a list of categories for advanced product catalogs with hierarchical sorting", + "operationId": "listAdvancedProductCatalogCategories", "parameters": [ { - "$ref": "#/components/parameters/swLanguageId" + "name": "sw-language-id", + "in": "header", + "description": "Language ID for localized content", + "required": false, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } } ], "requestBody": { @@ -21536,38 +16916,18 @@ "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" - } - ] + "$ref": "#/components/schemas/Criteria" } } } }, "responses": { "200": { - "description": "Entity search result containing employees", + "description": "List of categories for advanced product catalogs", "content": { "application/json": { "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bEmployee" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] + "$ref": "#/components/schemas/ListCategoryRouteResponse" } } } @@ -21581,14 +16941,22 @@ }, "post": { "tags": [ - "B2B Employee Management" + "Advanced Product Catalogs", + "Categories" ], - "summary": "Fetch a list of employees", - "description": "This route is used to load employees", - "operationId": "readEmployeesPOST", + "summary": "List advanced product catalog categories (POST)", + "description": "Retrieve a list of categories for advanced product catalogs with hierarchical sorting using POST method", + "operationId": "listAdvancedProductCatalogCategoriesPost", "parameters": [ { - "$ref": "#/components/parameters/swLanguageId" + "name": "sw-language-id", + "in": "header", + "description": "Language ID for localized content", + "required": false, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } } ], "requestBody": { @@ -21596,38 +16964,18 @@ "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" - } - ] + "$ref": "#/components/schemas/Criteria" } } } }, "responses": { "200": { - "description": "Entity search result containing employees", + "description": "List of categories for advanced product catalogs", "content": { "application/json": { "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bEmployee" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] + "$ref": "#/components/schemas/ListCategoryRouteResponse" } } } @@ -21640,36 +16988,44 @@ ] } }, - "/employee/{id}": { + "/advanced-product-catalogs/categories/search": { "get": { "tags": [ - "B2B Employee Management" + "Advanced Product Catalogs", + "Categories" ], - "summary": "Fetch one employee by id", - "description": "This route is used to fetch one employee by id\n\n**Available Associations:**\n- `account`\n- `role`\n- `language`\n- `organization`", - "operationId": "readB2bEmployee", + "summary": "Search advanced product catalog categories", + "description": "Search for categories in advanced product catalogs using criteria", + "operationId": "searchAdvancedProductCatalogCategories", "parameters": [ { - "name": "id", - "in": "path", - "description": "Identifier of the employee to be read", - "required": true, + "name": "sw-language-id", + "in": "header", + "description": "Language ID for localized content", + "required": false, "schema": { "type": "string", - "format": "uuid" + "pattern": "^[0-9a-f]{32}$" } - }, - { - "$ref": "#/components/parameters/swLanguageId" } ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Criteria" + } + } + } + }, "responses": { "200": { - "description": "Employee entity", + "description": "Search results for advanced product catalog categories", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/B2bEmployee" + "$ref": "#/components/schemas/ListCategoryRouteResponse" } } } @@ -21680,27 +17036,27 @@ "ApiKey": [] } ] - }, - "patch": { + } + }, + "/advanced-product-catalogs/save": { + "post": { "tags": [ - "B2B Employee Management" + "Advanced Product Catalogs", + "Management" ], - "summary": "Update one employee by id", - "description": "This route is used to update one employee by id", - "operationId": "updateEmployee", + "summary": "Create or update advanced product catalog", + "description": "Create a new advanced product catalog or update an existing one", + "operationId": "saveAdvancedProductCatalog", "parameters": [ { - "name": "id", - "in": "path", - "description": "Identifier of the employee to be updated", - "required": true, + "name": "sw-language-id", + "in": "header", + "description": "Language ID for localized content", + "required": false, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } - }, - { - "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { @@ -21708,99 +17064,84 @@ "content": { "application/json": { "schema": { + "type": "object", + "required": [ + "organizationId" + ], "properties": { - "firstName": { - "description": "New first name of the employee", - "type": "string" + "organizationId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The ID of the organization" }, - "lastName": { - "description": "New last name of the employee", - "type": "string" + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The ID of the advanced product catalog (optional, will be generated if not provided)" }, - "email": { - "description": "New email of the employee", - "type": "string" + "autoAddNewCategories": { + "type": "boolean", + "description": "Whether to automatically add new categories to the catalog" }, - "roleId": { - "description": "New id of the role of the employee", - "type": "string" + "selectedCategories": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "description": "Array of category IDs to associate with the catalog" } - }, - "type": "object" + } } } } }, "responses": { "200": { - "description": "Employee entity", + "description": "Advanced product catalog saved successfully", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/B2bEmployee" - } - } - } - } - }, - "security": [ - { - "ApiKey": [] - } - ] - }, - "delete": { - "tags": [ - "B2B Employee Management" - ], - "summary": "Delete one employee by id", - "description": "This route is used to delete one employee by id", - "operationId": "deleteEmployee", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the employee to be deleted", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The ID of the created/updated advanced product catalog" + } + }, + "required": [ + "id" + ] + } + } } } - ], - "responses": { - "204": { - "description": "No content response" - } }, "security": [ { "ApiKey": [] } ] - } - }, - "/employee/reinvite/{id}": { - "post": { + }, + "patch": { "tags": [ - "B2B Employee Management" + "Advanced Product Catalogs", + "Management" ], - "summary": "Reinvite employee by id", - "description": "This route is used to reinvite an employee via email by id", - "operationId": "reinviteEmployee", + "summary": "Update advanced product catalog", + "description": "Update an existing advanced product catalog", + "operationId": "updateAdvancedProductCatalog", "parameters": [ { - "name": "id", - "in": "path", - "description": "Identifier of the employee to be reinvited", - "required": true, + "name": "sw-language-id", + "in": "header", + "description": "Language ID for localized content", + "required": false, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } - }, - { - "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { @@ -21808,24 +17149,55 @@ "content": { "application/json": { "schema": { + "type": "object", + "required": [ + "organizationId" + ], "properties": { - "storefrontUrl": { - "description": "URL of the storefront domain", - "type": "string" + "organizationId": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The ID of the organization" + }, + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The ID of the advanced product catalog (optional, will be generated if not provided)" + }, + "autoAddNewCategories": { + "type": "boolean", + "description": "Whether to automatically add new categories to the catalog" + }, + "selectedCategories": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "description": "Array of category IDs to associate with the catalog" } - }, - "type": "object" + } } } } }, "responses": { "200": { - "description": "Employee entity", + "description": "Advanced product catalog saved successfully", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/B2bEmployee" + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The ID of the created/updated advanced product catalog" + } + }, + "required": [ + "id" + ] } } } @@ -21838,74 +17210,59 @@ ] } }, - "/sso/auth/{providerId}": { - "post": { + "/advanced-product-catalogs/categories/remove": { + "delete": { "tags": [ - "Sso" + "Advanced Product Catalogs", + "Categories" ], - "summary": "Authenticates via SSO", - "description": "Authenticates login via a given SSO provider ID", - "operationId": "auth", + "summary": "Remove categories from advanced product catalog", + "description": "Remove specific categories from an advanced product catalog", + "operationId": "removeAdvancedProductCatalogCategories", "parameters": [ { - "name": "providerId", - "in": "path", - "description": "Identifier of the SSO provider used to authenticate", - "required": true, + "name": "sw-language-id", + "in": "header", + "description": "Language ID for localized content", + "required": false, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } - }, - { - "$ref": "#/components/parameters/swLanguageId" } ], - "responses": { - "204": { - "description": "Successfully authenticated", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SuccessResponse" + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "id", + "removedCategories" + ], + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$", + "description": "The ID of the advanced product catalog" + }, + "removedCategories": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "description": "Array of category IDs to remove from the catalog" + } } } } } }, - "security": [ - { - "ApiKey": [] - } - ] - } - }, - "/sso/redirect/{providerId}": { - "post": { - "tags": [ - "Sso" - ], - "summary": "Redirects after authentication", - "description": "Redirects after authenticated login via a given SSO provider ID", - "operationId": "redirect", - "parameters": [ - { - "name": "providerId", - "in": "path", - "description": "Identifier of the SSO provider used to authenticate", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "$ref": "#/components/parameters/swLanguageId" - } - ], "responses": { - "204": { - "description": "Successfully authenticated", + "200": { + "description": "Categories removed successfully", "content": { "application/json": { "schema": { @@ -21922,42 +17279,46 @@ ] } }, - "/quote/request": { + "/budgets": { "post": { "tags": [ - "B2B Quote Management" - ], - "summary": "Request new quote", - "description": "This route is used to request a new quote from the store", - "operationId": "requestQuote", - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } + "B2B Budget Management" ], + "summary": "Load budgets", + "description": "This route is used to load all budgets for the current customer", + "operationId": "readBudgets", "requestBody": { - "required": true, + "required": false, "content": { "application/json": { "schema": { - "properties": { - "comment": { - "description": "Message content", - "type": "string" - } - }, - "type": "object" + "$ref": "#/components/schemas/Criteria" } } } }, "responses": { "200": { - "description": "Quote entity", + "description": "Entity search result containing budgets", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Quote" + "allOf": [ + { + "type": "object", + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsBudget" + } + } + } + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] } } } @@ -21967,54 +17328,62 @@ { "ApiKey": [] } + ], + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } ] - } - }, - "/quotes": { - "post": { + }, + "get": { "tags": [ - "B2B Quote Management" + "B2B Budget Management" ], - "summary": "Fetch a list of quotes", - "description": "This route is used to load quotes", - "operationId": "readQuotes", + "summary": "Load budgets", + "description": "This route is used to load all budgets for the current customer", + "operationId": "readBudgetsGet", "parameters": [ + { + "name": "limit", + "in": "query", + "description": "Number of items to return", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "page", + "in": "query", + "description": "Page number", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + }, { "$ref": "#/components/parameters/swLanguageId" } ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" - } - ] - } - } - } - }, "responses": { "200": { - "description": "Entity search result containing quotes", + "description": "Entity search result containing budgets", "content": { "application/json": { "schema": { - "type": "object", "allOf": [ { + "type": "object", "properties": { "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/Quote" + "$ref": "#/components/schemas/B2bComponentsBudget" } } - }, - "type": "object" + } }, { "$ref": "#/components/schemas/EntitySearchResult" @@ -22032,19 +17401,29 @@ ] } }, - "/quote/detail/{id}": { + "/budget/{id}": { "post": { "tags": [ - "B2B Quote Management" + "B2B Budget Management" ], - "summary": "Fetch a one quote by id", - "description": "This route is used to fetch one quote by id\n\n**Available Associations:**\n- `stateMachineState`\n- `currency`\n- `language`\n- `notificationRecipients`\n- `notificationEmployees`\n- `lineItems`\n- `deliveries`\n- `transactions`\n- `comments`\n- `documents`\n- `histories`\n- `organization`", - "operationId": "readQuote", + "summary": "Load single budget", + "description": "This route is used to load one budget by ID\n\n**Available Associations:**\n- `customer`\n- `organizations`\n- `notificationRecipients`\n- `reviewerRole`\n- `currency`\n- `subscriptionBudgets`", + "operationId": "readBudget", + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Criteria" + } + } + } + }, "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the quote to be fetched", + "description": "Identifier of the budget to be fetched", "required": true, "schema": { "type": "string", @@ -22055,30 +17434,62 @@ "$ref": "#/components/parameters/swLanguageId" } ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" - } - ] + "responses": { + "200": { + "description": "Budget entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bComponentsBudget" + } } } + }, + "404": { + "description": "Budget not found" } }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "get": { + "tags": [ + "B2B Budget Management" + ], + "summary": "Load single budget", + "description": "This route is used to load one budget by ID\n\n**Available Associations:**\n- `customer`\n- `organizations`\n- `notificationRecipients`\n- `reviewerRole`\n- `currency`\n- `subscriptionBudgets`", + "operationId": "readBudgetGet", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the budget to be fetched", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "$ref": "#/components/parameters/swLanguageId" + } + ], "responses": { "200": { - "description": "Quote entity", + "description": "Budget entity", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Quote" + "$ref": "#/components/schemas/B2bComponentsBudget" } } } + }, + "404": { + "description": "Budget not found" } }, "security": [ @@ -22086,21 +17497,19 @@ "ApiKey": [] } ] - } - }, - "/quote/{id}/line-item-listing": { - "post": { + }, + "patch": { "tags": [ - "B2B Quote Management" + "B2B Budget Management" ], - "summary": "Fetch quote line items", - "description": "This route loads the line items of a quote with filtering, sorting and paging support.", - "operationId": "readQuoteLineItems", + "summary": "Update budget", + "description": "This route is used to update an existing budget", + "operationId": "updateBudget", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the quote whose line items should be fetched", + "description": "Identifier of the budget to be updated", "required": true, "schema": { "type": "string", @@ -22112,58 +17521,136 @@ } ], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" + "type": "object", + "properties": { + "name": { + "description": "Budget name", + "type": "string" }, - { + "technicalName": { + "description": "Technical name (unique identifier)", + "type": "string" + }, + "costCentre": { + "description": "Cost centre", + "type": "string" + }, + "amount": { + "description": "Budget amount", + "type": "number", + "format": "float" + }, + "active": { + "description": "Whether the budget is active", + "type": "boolean" + }, + "startDate": { + "description": "Budget start date", + "type": "string", + "format": "date" + }, + "endDate": { + "description": "Budget end date", + "type": "string", + "format": "date" + }, + "renewsType": { + "description": "Budget renewal type", + "type": "string", + "enum": [ + "None", + "Weekly", + "Monthly", + "Quarterly", + "Biannual", + "Yearly" + ] + }, + "reviewerRoleId": { + "description": "Reviewer role ID", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "allowApproval": { + "description": "Whether budget allows approval", + "type": "boolean" + }, + "showRemaining": { + "description": "Whether to show remaining budget", + "type": "boolean" + }, + "notify": { + "description": "Whether to send notifications", + "type": "boolean" + }, + "organizationUnitIds": { + "description": "Organization unit IDs", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "employeeIds": { + "description": "Employee IDs for notifications", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "notificationConfig": { + "description": "Notification configuration", + "type": "object", "properties": { - "versionId": { - "description": "Optional draft version identifier used to load quote line items", + "type": { + "description": "Notification type", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "enum": [ + "Percentage", + "SpecificDay", + "BeforeDay" + ] + }, + "value": { + "description": "Notification value", + "type": "string" } }, - "type": "object" + "required": [ + "type", + "value" + ] } - ] + } } } } }, "responses": { "200": { - "description": "Entity search result containing quote line items", + "description": "Budget updated successfully", "content": { "application/json": { "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteLineItem" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } } } } }, + "400": { + "description": "Validation error or budget persistence failed" + }, "404": { - "description": "Quote not found" + "description": "Budget not found" } }, "security": [ @@ -22173,189 +17660,198 @@ ] } }, - "/quote/{id}/line-item-history-listing": { + "/budget": { "post": { "tags": [ - "B2B Quote Management" - ], - "summary": "Fetch quote line item history", - "description": "This route loads the line item history of a quote with filtering, sorting and paging support.", - "operationId": "readQuoteLineItemHistory", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the quote whose line item history should be fetched", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "$ref": "#/components/parameters/swLanguageId" - } + "B2B Budget Management" ], + "summary": "Create new budget", + "description": "This route is used to create a new budget", + "operationId": "createBudget", "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" + "type": "object", + "properties": { + "name": { + "description": "Budget name", + "type": "string" }, - { + "technicalName": { + "description": "Technical name (unique identifier)", + "type": "string" + }, + "costCentre": { + "description": "Cost centre", + "type": "string" + }, + "amount": { + "description": "Budget amount", + "type": "number", + "format": "float" + }, + "active": { + "description": "Whether the budget is active", + "type": "boolean" + }, + "startDate": { + "description": "Budget start date", + "type": "string", + "format": "date" + }, + "endDate": { + "description": "Budget end date", + "type": "string", + "format": "date" + }, + "renewsType": { + "description": "Budget renewal type", + "type": "string", + "enum": [ + "None", + "Weekly", + "Monthly", + "Quarterly", + "Biannual", + "Yearly" + ] + }, + "reviewerRoleId": { + "description": "Reviewer role ID", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "allowApproval": { + "description": "Whether budget allows approval", + "type": "boolean" + }, + "showRemaining": { + "description": "Whether to show remaining budget", + "type": "boolean" + }, + "notify": { + "description": "Whether to send notifications", + "type": "boolean" + }, + "organizationUnitIds": { + "description": "Organization unit IDs", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "notificationConfig": { + "description": "Notification configuration", + "type": "object", "properties": { - "versionId": { - "description": "Optional draft version identifier used to load quote line item history", + "type": { + "description": "Notification type", "type": "string", - "pattern": "^[0-9a-f]{32}$" + "enum": [ + "Percentage", + "SpecificDay", + "BeforeDay" + ] + }, + "value": { + "description": "Notification value", + "type": "string" } }, - "type": "object" + "required": [ + "type", + "value" + ] } + }, + "required": [ + "name", + "technicalName", + "amount", + "startDate", + "renewsType" ] } } } }, "responses": { - "200": { - "description": "Entity search result containing quote line item history", + "201": { + "description": "Budget created successfully", "content": { "application/json": { "schema": { "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/QuoteLineItemHistory" - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" + "properties": { + "b2b_components_budget": { + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } } - ] + } } } } }, - "404": { - "description": "Quote not found" + "400": { + "description": "Validation error or budget persistence failed" } }, "security": [ { "ApiKey": [] } - ] - } - }, - "/quote/{quoteId}/product-search": { - "get": { - "tags": [ - "B2B Quote Management" ], - "summary": "Search products for quote line item management", - "description": "This route searches products and adds a quoteLineItem extension containing the active quote line item id for products already present in the quote.", - "operationId": "searchQuoteProductsGet", "parameters": [ - { - "name": "quoteId", - "in": "path", - "description": "Identifier of the quote used to annotate the product search result", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "name": "search", - "in": "query", - "description": "Search term used by the core product search route", - "required": false, - "schema": { - "type": "string" - } - }, - { - "name": "versionId", - "in": "query", - "description": "Optional draft version identifier used to check quote line items in the current storefront edit draft", - "required": false, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } + ] + } + }, + "/budgets/delete": { + "delete": { + "tags": [ + "B2B Budget Management" ], - "responses": { - "200": { - "description": "Product search result with active quote line item id extension on matching products", - "content": { - "application/json": { - "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/components/schemas/Product" - }, - { - "type": "object", - "properties": { - "extensions": { - "type": "object", - "properties": { - "quoteLineItem": { - "type": "object", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "apiAlias": { - "type": "string", - "example": "cart_order_id" - } - } - } - } - } - } - } - ] - } - } - }, - "type": "object" + "summary": "Delete budgets", + "description": "This route is used to delete multiple budgets", + "operationId": "deleteBudgets", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ids": { + "description": "Budget IDs to delete", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } + "minItems": 1 + } + }, + "required": [ + "ids" + ] } } + } + }, + "responses": { + "204": { + "description": "Budgets deleted successfully" }, - "404": { - "description": "Quote not found" + "400": { + "description": "Missing or invalid IDs parameter" } }, "security": [ @@ -22363,19 +17859,21 @@ "ApiKey": [] } ] - }, + } + }, + "/budget/{id}/recipients": { "post": { "tags": [ - "B2B Quote Management" + "B2B Budget Management" ], - "summary": "Search products for quote line item management", - "description": "This route searches products and adds a quoteLineItem extension containing the active quote line item id for products already present in the quote.", - "operationId": "searchQuoteProducts", + "summary": "Store budget recipients", + "description": "This route is used to add recipients (employees) to a budget for notifications", + "operationId": "storeBudgetRecipients", "parameters": [ { - "name": "quoteId", + "name": "id", "in": "path", - "description": "Identifier of the quote used to annotate the product search result", + "description": "Identifier of the budget to add recipients to", "required": true, "schema": { "type": "string", @@ -22387,85 +17885,38 @@ } ], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" - }, - { - "properties": { - "draftVersionId": { - "description": "Optional draft version identifier used to check quote line items in the current storefront edit draft", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } + "type": "object", + "properties": { + "employeeIds": { + "description": "Employee IDs to add as budget recipients", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" }, - "type": "object" + "minItems": 1 } + }, + "required": [ + "employeeIds" ] } } } }, "responses": { - "200": { - "description": "Product search result with active quote line item id extension on matching products", - "content": { - "application/json": { - "schema": { - "type": "object", - "allOf": [ - { - "properties": { - "elements": { - "type": "array", - "items": { - "allOf": [ - { - "$ref": "#/components/schemas/Product" - }, - { - "type": "object", - "properties": { - "extensions": { - "type": "object", - "properties": { - "quoteLineItem": { - "type": "object", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "apiAlias": { - "type": "string", - "example": "cart_order_id" - } - } - } - } - } - } - } - ] - } - } - }, - "type": "object" - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } - } - } + "204": { + "description": "Budget recipients stored successfully" + }, + "400": { + "description": "Validation error or budget persistence failed" }, "404": { - "description": "Quote not found" + "description": "Budget not found" } }, "security": [ @@ -22473,29 +17924,24 @@ "ApiKey": [] } ] - } - }, - "/quote/{id}/decline": { - "post": { + }, + "delete": { "tags": [ - "B2B Quote Management" + "B2B Budget Management" ], - "summary": "Decline a quote by id", - "description": "This route is used to decline a quote from the store by id", - "operationId": "declineQuote", + "summary": "Delete budget recipients", + "description": "This route is used to remove recipients (employees) from a budget", + "operationId": "deleteBudgetRecipients", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the quote to be reinvited", + "description": "Identifier of the budget to remove recipients from", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } - }, - { - "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { @@ -22503,41 +17949,34 @@ "content": { "application/json": { "schema": { - "required": [ - "comment", - "lineItemId", - "versionId" - ], + "type": "object", "properties": { - "comment": { - "description": "Message content", - "type": "string" - }, - "lineItemId": { - "description": "Identifier of the quote line item that owns the new comment", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "description": "Draft version identifier of the quote currently shown in storefront", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "employeeIds": { + "description": "Employee IDs to remove from budget recipients", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "minItems": 1 } }, - "type": "object" + "required": [ + "employeeIds" + ] } } } }, "responses": { + "204": { + "description": "Budget recipients deleted successfully" + }, "400": { - "description": "Invalid quote state transition" + "description": "Validation error or budget persistence failed" }, "404": { - "description": "Quote not found" - }, - "204": { - "description": "No content response" + "description": "Budget not found" } }, "security": [ @@ -22547,147 +17986,124 @@ ] } }, - "/quote/{id}/request-change": { - "post": { + "/checkout/budgets": { + "get": { "tags": [ - "B2B Quote Management" + "B2B Budget Management" ], - "summary": "Request change a quote by id", - "description": "This route is used to request change a quote from the store by id", - "operationId": "requestChangeQuote", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the quote to be reinvited", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "summary": "Get available budgets for checkout", + "description": "This route is used to get available budgets for the current employee during checkout", + "operationId": "getCheckoutAvailableBudgets", + "responses": { + "200": { + "description": "Available budgets for checkout", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "budgets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsBudget" + } + } + } + } + } } }, + "400": { + "description": "Employee not logged in or validation error" + } + }, + "security": [ + { + "ApiKey": [] + } + ], + "parameters": [ { "$ref": "#/components/parameters/swLanguageId" } + ] + }, + "post": { + "tags": [ + "B2B Budget Management" ], + "summary": "Get available budgets for checkout", + "description": "This route is used to get available budgets for the current employee during checkout", + "operationId": "getCheckoutAvailableBudgetsPost", "requestBody": { "required": false, "content": { "application/json": { - "schema": { - "properties": { - "comment": { - "description": "Message content", - "type": "string" - } - }, + "schema": { "type": "object" } } } }, "responses": { - "400": { - "description": "Invalid line item payload" - }, - "404": { - "description": "Quote or line item not found" + "200": { + "description": "Available budgets for checkout", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "budgets": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsBudget" + } + } + } + } + } + } }, - "204": { - "description": "No content response" + "400": { + "description": "Employee not logged in or validation error" } }, "security": [ { "ApiKey": [] } - ] - } - }, - "/quote/{id}/send-request": { - "post": { - "tags": [ - "B2B Quote Management" ], - "summary": "Send a draft quote request", - "description": "This route is used to send a customer-owned draft quote request by id", - "operationId": "sendDraftQuoteRequest", "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the draft quote to be sent", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } - ], - "responses": { - "204": { - "description": "No content response" - } - }, - "security": [ - { - "ApiKey": [] - } ] } }, - "/quote/{id}": { - "delete": { + "/checkout/budget/{budgetId}/statistic": { + "get": { "tags": [ - "B2B Quote Management" + "B2B Budget Management" ], - "summary": "Delete a draft quote", - "description": "This route is used to delete a customer-owned draft quote by id", - "operationId": "deleteDraftQuote", + "summary": "Get budget statistics for checkout", + "description": "This route is used to get budget statistics for the current employee during checkout", + "operationId": "getCheckoutBudgetStatistic", "parameters": [ { - "name": "id", + "name": "budgetId", "in": "path", - "description": "Identifier of the draft quote to be deleted", + "description": "Budget ID to get statistics for", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } - } - ], - "responses": { - "404": { - "description": "Quote not found" }, - "204": { - "description": "No content response" - } - }, - "security": [ - { - "ApiKey": [] - } - ] - } - }, - "/quote/{id}/draft-version": { - "post": { - "tags": [ - "B2B Quote Management" - ], - "summary": "Create a draft quote version", - "description": "This route is used to create a temporary draft version for storefront quote editing.", - "operationId": "createDraftQuoteVersion", - "parameters": [ { - "name": "id", - "in": "path", - "description": "Identifier of the quote to create a draft version for", - "required": true, + "name": "quoteId", + "in": "query", + "description": "Quote ID to calculate statistics for (optional)", + "required": false, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" @@ -22699,20 +18115,54 @@ ], "responses": { "200": { - "description": "Draft version identifier", + "description": "Budget statistics for checkout", "content": { "application/json": { "schema": { "type": "object", "properties": { - "versionId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "data": { + "type": "object", + "properties": { + "amount": { + "description": "Budget total amount", + "type": "number", + "format": "float" + }, + "usedAmount": { + "description": "Budget used amount", + "type": "number", + "format": "float" + }, + "allowApproval": { + "description": "Whether budget allows approval", + "type": "boolean" + }, + "isExceeded": { + "description": "Whether budget is exceeded", + "type": "boolean" + }, + "factor": { + "description": "Currency factor", + "type": "number", + "format": "float" + } + }, + "required": [ + "allowApproval", + "isExceeded" + ] } } } } } + }, + "400": { + "description": "Employee not logged in, missing budget ID, or validation error" + }, + "404": { + "description": "Budget not found" } }, "security": [ @@ -22721,23 +18171,26 @@ } ] }, - "delete": { + "post": { "tags": [ - "B2B Quote Management" + "B2B Budget Management" ], - "summary": "Delete a draft quote version", - "description": "This route deletes the temporary storefront draft version identified by the versionId request payload.", - "operationId": "deleteDraftQuoteVersion", + "summary": "Get budget statistics for checkout", + "description": "This route is used to get budget statistics for the current employee during checkout", + "operationId": "getCheckoutBudgetStatisticPost", "parameters": [ { - "name": "id", + "name": "budgetId", "in": "path", - "description": "Identifier of the quote whose current draft version should be deleted", + "description": "Budget ID to get statistics for", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } + }, + { + "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { @@ -22746,12 +18199,9 @@ "application/json": { "schema": { "type": "object", - "required": [ - "versionId" - ], "properties": { - "versionId": { - "description": "Draft version identifier to delete. This must be set to the versionId returned by POST /quote/{id}/draft-version.", + "quoteId": { + "description": "Quote ID to calculate statistics for (optional)", "type": "string", "pattern": "^[0-9a-f]{32}$" } @@ -22761,63 +18211,55 @@ } }, "responses": { - "204": { - "description": "No content response" - } - }, - "security": [ - { - "ApiKey": [] - } - ] - } - }, - "/quote/{id}/draft-version/save": { - "post": { - "tags": [ - "B2B Quote Management" - ], - "summary": "Save a draft quote version", - "description": "This route merges the current storefront draft version into the live quote. The request must include the versionId returned by the create endpoint in the request payload.", - "operationId": "saveDraftQuoteVersion", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the quote whose current draft version should be merged into live", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "$ref": "#/components/parameters/swLanguageId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "versionId" - ], - "properties": { - "versionId": { - "description": "Draft version identifier to merge. This must be set to the versionId returned by POST /quote/{id}/draft-version.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "200": { + "description": "Budget statistics for checkout", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "amount": { + "description": "Budget total amount", + "type": "number", + "format": "float" + }, + "usedAmount": { + "description": "Budget used amount", + "type": "number", + "format": "float" + }, + "allowApproval": { + "description": "Whether budget allows approval", + "type": "boolean" + }, + "isExceeded": { + "description": "Whether budget is exceeded", + "type": "boolean" + }, + "factor": { + "description": "Currency factor", + "type": "number", + "format": "float" + } + }, + "required": [ + "allowApproval", + "isExceeded" + ] + } } } } } - } - }, - "responses": { - "204": { - "description": "No content response" + }, + "400": { + "description": "Employee not logged in, missing budget ID, or validation error" + }, + "404": { + "description": "Budget not found" } }, "security": [ @@ -22827,25 +18269,15 @@ ] } }, - "/quote/{id}/notification-employees": { + "/employee/create": { "post": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Update quote notification employee recipients", - "description": "This route updates the employee notification recipients of a live quote by applying selected and deleted employee identifier lists.", - "operationId": "replaceQuoteNotificationEmployees", + "summary": "Create a single employee and return the employee", + "description": "This route is used to create and return an employee", + "operationId": "createEmployee", "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the quote whose employee notification recipients should be updated", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } @@ -22855,44 +18287,51 @@ "content": { "application/json": { "schema": { - "type": "object", - "anyOf": [ - { - "required": [ - "deletedEmployeeIds" - ] - }, - { - "required": [ - "selectedEmployeeIds" - ] - } - ], "properties": { - "deletedEmployeeIds": { - "description": "Employee identifiers to remove from quote notification recipients.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } + "firstName": { + "description": "First name of the new employee", + "type": "string" }, - "selectedEmployeeIds": { - "description": "Employee identifiers to add as quote notification recipients.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } + "lastName": { + "description": "Last name of the new employee", + "type": "string" + }, + "email": { + "description": "Email of the new employee", + "type": "string" + }, + "languageId": { + "description": "Identifier of the [language](#/System%20%26%20Context/readLanguages) to be set for the new employee.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "roleId": { + "description": "Id of the role of the new employee", + "type": "string", + "pattern": "^[0-9a-f]{32}$" } - } + }, + "required": [ + "firstName", + "lastName", + "email", + "languageId" + ], + "type": "object" } } } }, "responses": { - "204": { - "description": "No content response" + "200": { + "description": "Employee entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bEmployee" + } + } + } } }, "security": [ @@ -22902,62 +18341,59 @@ ] } }, - "/quote/{id}/line-item/add": { - "post": { + "/employee": { + "get": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Add a product line item to a quote", - "description": "This route is used to add a product line item to a quote from the store by id", - "operationId": "addQuoteLineItem", + "summary": "Fetch a list of employees", + "description": "This route is used to load employees", + "operationId": "readEmployees", "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the quote to be updated", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { - "required": true, + "required": false, "content": { "application/json": { "schema": { - "properties": { - "versionId": { - "description": "Identifier of the quote version to modify. Must not be the live or snapshot version.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "productId": { - "description": "Identifier of the product to add", - "type": "string" - }, - "quantity": { - "description": "Quantity to add", - "type": "integer", - "minimum": 1 + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" } - }, - "required": [ - "versionId", - "productId" - ], - "type": "object" + ] } } } }, "responses": { - "204": { - "description": "No content response" + "200": { + "description": "Entity search result containing employees", + "content": { + "application/json": { + "schema": { + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bEmployee" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } + } } }, "security": [ @@ -22965,73 +18401,59 @@ "ApiKey": [] } ] - } - }, - "/quote/{quoteId}/line-item/{lineItemId}/edit": { + }, "post": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Edit a quote line item", - "description": "This route is used to change quantity and requested price of a quote line item from the store", - "operationId": "editQuoteLineItem", + "summary": "Fetch a list of employees", + "description": "This route is used to load employees", + "operationId": "readEmployeesPOST", "parameters": [ - { - "name": "quoteId", - "in": "path", - "description": "Identifier of the quote to be updated", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "name": "lineItemId", - "in": "path", - "description": "Identifier of the quote line item to be updated", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { - "required": true, + "required": false, "content": { "application/json": { "schema": { - "properties": { - "versionId": { - "description": "Identifier of the quote version to modify. Must not be the live or snapshot version.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "quantity": { - "description": "New quantity of the line item", - "type": "integer", - "minimum": 1 - }, - "requestedPrice": { - "description": "Requested price of the line item. Send 0 to reset it.", - "type": "number" + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" } - }, - "required": [ - "versionId" - ], - "type": "object" + ] } } } }, "responses": { - "204": { - "description": "No content response" + "200": { + "description": "Entity search result containing employees", + "content": { + "application/json": { + "schema": { + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bEmployee" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } + } } }, "security": [ @@ -23039,29 +18461,61 @@ "ApiKey": [] } ] - }, - "patch": { + } + }, + "/employee/{id}": { + "get": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Edit a quote line item", - "description": "This route is used to change quantity and requested price of a quote line item from the store", - "operationId": "patchEditQuoteLineItem", + "summary": "Fetch one employee by id", + "description": "This route is used to fetch one employee by id\n\n**Available Associations:**\n- `account`\n- `role`\n- `language`\n- `organization`", + "operationId": "readB2bEmployee", "parameters": [ { - "name": "quoteId", + "name": "id", "in": "path", - "description": "Identifier of the quote to be updated", + "description": "Identifier of the employee to be read", "required": true, "schema": { "type": "string", - "pattern": "^[0-9a-f]{32}$" + "format": "uuid" } }, { - "name": "lineItemId", + "$ref": "#/components/parameters/swLanguageId" + } + ], + "responses": { + "200": { + "description": "Employee entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bEmployee" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "patch": { + "tags": [ + "B2B Employee Management" + ], + "summary": "Update one employee by id", + "description": "This route is used to update one employee by id", + "operationId": "updateEmployee", + "parameters": [ + { + "name": "id", "in": "path", - "description": "Identifier of the quote line item to be updated", + "description": "Identifier of the employee to be updated", "required": true, "schema": { "type": "string", @@ -23078,32 +18532,38 @@ "application/json": { "schema": { "properties": { - "versionId": { - "description": "Identifier of the quote version to modify. Must not be the live or snapshot version.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "firstName": { + "description": "New first name of the employee", + "type": "string" }, - "quantity": { - "description": "New quantity of the line item", - "type": "integer", - "minimum": 1 + "lastName": { + "description": "New last name of the employee", + "type": "string" }, - "requestedPrice": { - "description": "Requested price of the line item. Send 0 to reset it.", - "type": "number" + "email": { + "description": "New email of the employee", + "type": "string" + }, + "roleId": { + "description": "New id of the role of the employee", + "type": "string" } }, - "required": [ - "versionId" - ], "type": "object" } } } }, "responses": { - "204": { - "description": "No content response" + "200": { + "description": "Employee entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bEmployee" + } + } + } } }, "security": [ @@ -23111,61 +18571,26 @@ "ApiKey": [] } ] - } - }, - "/quote/{quoteId}/line-item/{lineItemId}/remove": { - "post": { + }, + "delete": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Remove a quote line item", - "description": "This route is used to remove a quote line item from the store", - "operationId": "removeQuoteLineItem", + "summary": "Delete one employee by id", + "description": "This route is used to delete one employee by id", + "operationId": "deleteEmployee", "parameters": [ { - "name": "quoteId", - "in": "path", - "description": "Identifier of the quote to be updated", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "name": "lineItemId", + "name": "id", "in": "path", - "description": "Identifier of the quote line item to remove", + "description": "Identifier of the employee to be deleted", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } - }, - { - "$ref": "#/components/parameters/swLanguageId" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "versionId": { - "description": "Identifier of the quote version to modify. Must not be the live or snapshot version.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "required": [ - "versionId" - ], - "type": "object" - } - } - } - }, "responses": { "204": { "description": "No content response" @@ -23176,19 +18601,21 @@ "ApiKey": [] } ] - }, - "delete": { + } + }, + "/employee/reinvite/{id}": { + "post": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Remove a quote line item", - "description": "This route is used to remove a quote line item from the store", - "operationId": "deleteQuoteLineItem", + "summary": "Reinvite employee by id", + "description": "This route is used to reinvite an employee via email by id", + "operationId": "reinviteEmployee", "parameters": [ { - "name": "quoteId", + "name": "id", "in": "path", - "description": "Identifier of the quote to be updated", + "description": "Identifier of the employee to be reinvited", "required": true, "schema": { "type": "string", @@ -23196,14 +18623,7 @@ } }, { - "name": "lineItemId", - "in": "path", - "description": "Identifier of the quote line item to remove", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } + "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { @@ -23212,23 +18632,26 @@ "application/json": { "schema": { "properties": { - "versionId": { - "description": "Identifier of the quote version to modify. Must not be the live or snapshot version.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "storefrontUrl": { + "description": "URL of the storefront domain", + "type": "string" } }, - "required": [ - "versionId" - ], "type": "object" } } } }, "responses": { - "204": { - "description": "No content response" + "200": { + "description": "Employee entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bEmployee" + } + } + } } }, "security": [ @@ -23238,42 +18661,94 @@ ] } }, - "/quote/{id}/configure": { - "post": { + "/permission": { + "get": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Change payment or shipping method", - "description": "This route is used to change a payment or shipping method when place a order ", - "operationId": "switchPaymentOrShippingMethod", - "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the quote to be reinvited", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "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": { - "paymentMethodId": { - "description": "Id of the payment method", + "name": { + "description": "Name of the new permission", "type": "string" }, - "shippingMethodId": { - "description": "Id of the shipping method", + "group": { + "description": "Group of the new permission", "type": "string" + }, + "dependencies": { + "description": "Optional dependencies for the new permission", + "type": "array", + "items": { + "type": "string" + } } }, "type": "object" @@ -23281,9 +18756,51 @@ } } }, + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } + ], "responses": { - "204": { - "description": "No content response" + "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": [ @@ -23293,38 +18810,39 @@ ] } }, - "/quote/order/{id}": { + "/role/create": { "post": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Create a order from a quote", - "description": "This route is used to create a order from a quote", - "operationId": "createOrderFromQuote", + "summary": "Create a single role and return the role", + "description": "This route is used to create and return an role", + "operationId": "createRole", "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the quote to be reinvited", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { "properties": { - "customerComment": { - "description": "Message content", + "name": { + "description": "Name of the new role", "type": "string" + }, + "permissions": { + "description": "Permissions of the new role", + "type": "array", + "items": { + "type": "string" + } + }, + "isDefaultRole": { + "description": "Ability to set the new role as default", + "type": "boolean" } }, "type": "object" @@ -23334,11 +18852,11 @@ }, "responses": { "200": { - "description": "Order entity", + "description": "Role entity", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Order" + "$ref": "#/components/schemas/B2bComponentsRole" } } } @@ -23351,42 +18869,59 @@ ] } }, - "/quote/document/download/{documentId}/{deepLinkCode}": { - "post": { + "/role": { + "get": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Download a document", - "description": "This route is used to download a document", - "operationId": "downloadQuoteDocument", + "summary": "Fetch a list of roles", + "description": "This route is used to load roles", + "operationId": "readRoles", "parameters": [ - { - "name": "documentId", - "in": "path", - "description": "Identifier of the quote document to be reinvited", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "name": "deepLinkCode", - "in": "path", - "description": "Deep link code of the quote document", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" + } + ] + } + } + } + }, "responses": { "200": { - "description": "Document content response" + "description": "Entity search result containing roles", + "content": { + "application/json": { + "schema": { + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsRole" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } + } } }, "security": [ @@ -23394,27 +18929,15 @@ "ApiKey": [] } ] - } - }, - "/quote/{quoteId}/documents": { + }, "post": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Fetch quote documents", - "description": "This route is used to load quote documents by quote id with search and paging support", - "operationId": "readQuoteDocuments", + "summary": "Fetch a list of roles", + "description": "This route is used to load roles", + "operationId": "readRolesPOST", "parameters": [ - { - "name": "quoteId", - "in": "path", - "description": "Identifier of the quote to fetch documents for", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } @@ -23435,7 +18958,7 @@ }, "responses": { "200": { - "description": "Entity search result containing quote documents", + "description": "Entity search result containing roles", "content": { "application/json": { "schema": { @@ -23446,7 +18969,7 @@ "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/QuoteDocument" + "$ref": "#/components/schemas/B2bComponentsRole" } } }, @@ -23459,9 +18982,6 @@ } } } - }, - "404": { - "description": "Quote not found" } }, "security": [ @@ -23469,21 +18989,61 @@ "ApiKey": [] } ] - } - }, - "/quote/{id}/send-message": { - "post": { + } + }, + "/role/{id}": { + "get": { + "tags": [ + "B2B Employee Management" + ], + "summary": "Fetch one role by id", + "description": "This route is used to fetch one role by id", + "operationId": "readRole", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the role to be fetched", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "responses": { + "200": { + "description": "Role entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bComponentsRole" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "patch": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Send a message to the merchant in the quote", - "description": "This route is used to send a message to the merchant in the quote", - "operationId": "sendMessageInQuote", + "summary": "Update one role by id", + "description": "This route is used to update one role by id", + "operationId": "updateRole", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the quote to send message", + "description": "Identifier of the role to be updated", "required": true, "schema": { "type": "string", @@ -23495,14 +19055,25 @@ } ], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { "properties": { - "comment": { - "description": "Message content", + "name": { + "description": "New name of the role", "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" @@ -23511,8 +19082,15 @@ } }, "responses": { - "204": { - "description": "No content response" + "200": { + "description": "Role entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bComponentsRole" + } + } + } } }, "security": [ @@ -23520,45 +19098,55 @@ "ApiKey": [] } ] - } - }, - "/quote/{id}/read-message": { - "post": { + }, + "delete": { "tags": [ - "B2B Quote Management" + "B2B Employee Management" ], - "summary": "Mark messages as read in a quote", - "description": "This route is used to mark all messages as read in the specified quote draft version.", - "operationId": "markMessagesAsReadInQuote", - "deprecated": true, + "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 quote whose messages will be marked as read", + "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": [ { - "$ref": "#/components/parameters/swLanguageId" + "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": { - "required": [ - "versionId" - ], "properties": { - "versionId": { - "description": "Draft version identifier of the quote currently shown in storefront", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "id": { + "description": "Id of the roleId to be set as default", + "type": "string" } }, "type": "object" @@ -23575,26 +19163,41 @@ { "ApiKey": [] } + ], + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } ] } }, - "/quote/{id}/history/read": { + "/approval-rule": { "post": { "tags": [ - "B2B Quote Management" + "B2B Order Approval" ], - "summary": "Mark quote history entries and comments as seen", - "description": "This route marks merchant-created quote history entries as seen. If quoteLineItemId is provided, quote line item history entries and comments for that line item are updated. Otherwise only quote history entries for the quote are updated.", - "operationId": "markQuoteHistoryAsSeen", + "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 quote whose history entries will be marked as seen", - "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 } }, { @@ -23606,62 +19209,38 @@ "content": { "application/json": { "schema": { - "properties": { - "quoteLineItemId": { - "description": "Optional quote line item identifier whose line item history entries should be marked as seen", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "lineItemHistoryIds": { - "description": "Optional quote line item history identifiers to mark as seen. When omitted or empty, all unread history entries for the quoteLineItemId are marked as seen.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "commentIds": { - "description": "Optional quote comment identifiers to mark as seen for the quoteLineItemId. When omitted or empty, all unread comments for the quoteLineItemId are marked as seen.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "historyIds": { - "description": "Optional quote history identifiers to mark as seen. When omitted or empty, all unread quote history entries are marked as seen.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" } - }, - "type": "object" + ] } } } }, "responses": { "200": { - "description": "Counts of unread entries remaining after marking entries as seen", + "description": "Entity search result containing approval rules", "content": { "application/json": { "schema": { - "required": [ - "countUnReadHistory" - ], - "properties": { - "countUnReadHistory": { - "description": "Number of unread history entries remaining after the update", - "type": "integer" + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsApprovalRule" + } + } + }, + "type": "object" }, - "countUnReadComment": { - "description": "Number of unread quote comments remaining after the update when quoteLineItemId is provided", - "type": "integer" + { + "$ref": "#/components/schemas/EntitySearchResult" } - }, - "type": "object" + ] } } } @@ -23672,65 +19251,65 @@ "ApiKey": [] } ] - } - }, - "/quote/{id}/comment/reply": { - "post": { + }, + "get": { "tags": [ - "B2B Quote Management" + "B2B Order Approval" ], - "summary": "Reply to a quote comment", - "description": "This route creates a reply comment in the specified quote draft version.", - "operationId": "replyMessageInQuote", + "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 quote", - "required": true, + "name": "p", + "in": "query", + "description": "Page number", + "required": false, "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "type": "integer", + "default": 1 } }, { - "$ref": "#/components/parameters/swLanguageId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "required": [ - "comment", - "lineItemHistoryId", - "versionId" - ], - "properties": { - "comment": { - "description": "Reply content", - "type": "string" - }, - "lineItemHistoryId": { - "description": "Identifier of the line item history entry being replied to", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "versionId": { - "description": "Draft version identifier of the quote currently shown in storefront", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "type": "object" - } + "name": "limit", + "in": "query", + "description": "Number of items per page", + "required": false, + "schema": { + "type": "integer", + "default": 10 } + }, + { + "$ref": "#/components/parameters/swLanguageId" } - }, + ], "responses": { - "204": { - "description": "No content response" + "200": { + "description": "Entity search result containing approval rules", + "content": { + "application/json": { + "schema": { + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsApprovalRule" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } + } } }, "security": [ @@ -23740,35 +19319,15 @@ ] } }, - "/quote/{id}/comment/{commentId}": { - "patch": { + "/approval-rule/create": { + "post": { "tags": [ - "B2B Quote Management" + "B2B Order Approval" ], - "summary": "Edit a quote comment", - "description": "This route edits an owned comment in the specified quote draft version.", - "operationId": "editMessageInQuote", + "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 quote", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - { - "name": "commentId", - "in": "path", - "description": "Identifier of the comment to edit", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } @@ -23778,25 +19337,44 @@ "content": { "application/json": { "schema": { - "required": [ - "comment", - "lineItemHistoryId", - "versionId" - ], "properties": { - "comment": { - "description": "Updated comment content", + "approvalRuleName": { + "description": "Name of the approval rule", "type": "string" }, - "lineItemHistoryId": { - "description": "Identifier of the related line item history entry", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "approvalRuleApprove": { + "description": "ID of the role that can approve the rule", + "type": "string" }, - "versionId": { - "description": "Draft version identifier of the quote currently shown in storefront", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "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" @@ -23805,8 +19383,15 @@ } }, "responses": { - "204": { - "description": "No content response" + "200": { + "description": "Approval rule entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bComponentsApprovalRule" + } + } + } } }, "security": [ @@ -23814,19 +19399,21 @@ "ApiKey": [] } ] - }, - "delete": { + } + }, + "/approval-rule/{id}": { + "get": { "tags": [ - "B2B Quote Management" + "B2B Order Approval" ], - "summary": "Remove a quote comment", - "description": "This route deletes an owned comment in the specified quote draft version.", - "operationId": "removeMessageInQuote", + "summary": "Fetch one approval rule by id", + "description": "This route is used to fetch a approval rule from the store by id\n\n**Available Associations:**\n- `reviewerRole`\n- `affectedRole`", + "operationId": "readApprovalRule", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the quote", + "description": "Identifier of the approval rule to be fetched", "required": true, "schema": { "type": "string", @@ -23834,134 +19421,114 @@ } }, { - "name": "commentId", - "in": "path", - "description": "Identifier of the comment to delete", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } + "$ref": "#/components/parameters/swLanguageId" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "required": [ - "versionId" - ], - "properties": { - "versionId": { - "description": "Draft version identifier of the quote currently shown in storefront", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "type": "object" + "responses": { + "200": { + "description": "Approval rule entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bComponentsApprovalRule" + } } } } }, - "responses": { - "204": { - "description": "No content response" - } - }, "security": [ { "ApiKey": [] } ] - } - }, - "/product/natural-language/search-term": { - "post": { + }, + "patch": { "tags": [ - "Natural language search", - "AI Search" + "B2B Order Approval" ], - "summary": "Fetch search terms by natural language search query", - "description": "Fetch search terms by natural search language query", - "operationId": "naturalLanguageSearchTerm", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "query": { - "description": "Natural language query", - "type": "string", - "example": "I'm looking for a present for my wife" - } - } - } - } - } - }, - "responses": { - "200": { - "description": "A collection of search terms, with an associated 'reason' based on search context", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/NaturalLanguageSearchTermResponse" - } - } - } - } - }, + "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 approval rule to be updated", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, { "$ref": "#/components/parameters/swLanguageId" } - ] - } - }, - "/product/image-upload-search/search-term": { - "post": { - "tags": [ - "Search by Image", - "AI Search" ], - "summary": "Fetch product search terms by uploading an image.", - "description": "Fetch product search terms by uploading an image.", - "operationId": "searchByImageSearchTerm", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "type": "object", "properties": { - "file": { - "description": "Base-64 encoded image", - "type": "string", - "format": "binary" + "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" } } } }, "responses": { "200": { - "description": "A collection of search terms", + "description": "Approval rule entity", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SearchByImageSearchTermResponse" + "$ref": "#/components/schemas/B2bComponentsApprovalRule" } } } } }, - "parameters": [ + "security": [ { - "$ref": "#/components/parameters/swLanguageId" + "ApiKey": [] } ] } @@ -24001,7 +19568,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PendingOrder" + "$ref": "#/components/schemas/B2bComponentsPendingOrder" } } } @@ -24053,7 +19620,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/PendingOrder" + "$ref": "#/components/schemas/B2bComponentsPendingOrder" } } } @@ -24148,133 +19715,401 @@ } ], "requestBody": { - "required": false, + "required": false, + "content": { + "application/json": { + "schema": { + "properties": { + "comment": { + "description": "Message content", + "type": "string" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "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": [] + } + ] + } + }, + "/pending-order/{id}/checkout/order": { + "post": { + "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", + "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" + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "properties": { + "customerComment": { + "description": "Message content", + "type": "string" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Order entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Order" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } + }, + "/employee/context": { + "get": { + "tags": [ + "B2B Employee Context" + ], + "summary": "List the employee contexts available to the logged-in account", + "description": "Returns every active membership the current account can act as, whether a context selection is still required, and the account default. Requires the ORGANIZATION_UNITS feature and license.", + "operationId": "getEmployeeContextsGet", + "responses": { + "200": { + "description": "The available employee contexts", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmployeeAvailableContextsResponse" + } + } + } + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + } + }, + "security": [ + { + "ApiKey": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } + ] + }, + "post": { + "tags": [ + "B2B Employee Context" + ], + "summary": "List the employee contexts available to the logged-in account", + "description": "Returns every active membership the current account can act as, whether a context selection is still required, and the account default. Requires the ORGANIZATION_UNITS feature and license.", + "operationId": "getEmployeeContexts", + "responses": { + "200": { + "description": "The employee contexts available to the account", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EmployeeAvailableContextsResponse" + } + } + } + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" + } + }, + "security": [ + { + "ApiKey": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } + ] + } + }, + "/employee/context/switch": { + "post": { + "tags": [ + "B2B Employee Context" + ], + "summary": "Switch the active employee context", + "description": "Activates the given context for the current session and returns a new context token. Optionally sets or unsets that context as the account default. Requires the ORGANIZATION_UNITS feature and license.", + "operationId": "switchEmployeeContext", + "requestBody": { + "required": true, "content": { "application/json": { "schema": { + "type": "object", + "required": [ + "employeeId" + ], "properties": { - "comment": { - "description": "Message content", - "type": "string" + "employeeId": { + "description": "Identifier of the employee identity (membership) to activate.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "setDefault": { + "description": "When present, sets (true) or clears (false) this context as the account default.", + "type": "boolean" } - }, - "type": "object" + } } } } }, "responses": { - "204": { - "description": "No content response" + "200": { + "$ref": "#/components/responses/ContextTokenResponse" + }, + "403": { + "$ref": "#/components/responses/403" + }, + "404": { + "$ref": "#/components/responses/404" } }, "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" } + ] + } + }, + "/employee/context/cancel": { + "post": { + "tags": [ + "B2B Employee Context" ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "properties": { - "comment": { - "description": "Message content", - "type": "string" - } - }, - "type": "object" - } - } - } - }, + "summary": "Cancel a pending context selection", + "description": "Clears the pending account that was staged during login when a context selection was required, returning the session to a clean state. Requires the ORGANIZATION_UNITS feature and license.", + "operationId": "cancelEmployeeContext", "responses": { "204": { - "description": "No content response" + "description": "The pending context selection was cleared" + }, + "403": { + "$ref": "#/components/responses/403" } }, "security": [ { "ApiKey": [] } + ], + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } ] } }, - "/pending-order/{id}/checkout/order": { + "/organization-unit": { "post": { "tags": [ - "B2B Order Approval" + "B2B Organization Units" ], - "summary": "Create a order from a pending order", - "description": "This route is used to create a order from a pending order", - "operationId": "createOrderFromPendingOrder", + "summary": "Create new organization unit", + "description": "This route is used to create a new organization", + "operationId": "createOrganizationUnit", "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" } ], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { "properties": { - "customerComment": { - "description": "Message content", + "name": { + "description": "Organization unit name", + "type": "string" + }, + "technicalName": { + "description": "Stable, human-readable technical identifier of the organization unit. Optional.", "type": "string" + }, + "parentId": { + "description": "Identifier (UUID) of the parent organization unit, to create this unit as a sub-organization. Optional; can only be set on creation and is immutable afterwards.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "shippingAddressIds": { + "description": "Identifier (UUID) of the addresses for shipping.", + "type": "array", + "items": { + "type": "string", + "description": "The Identifier (UUID) of the customer address", + "pattern": "^[0-9a-f]{32}$" + } + }, + "billingAddressIds": { + "description": "Identifier (UUID) of the addresses for billing.", + "type": "array", + "items": { + "type": "string", + "description": "The Identifier (UUID) of the customer address", + "pattern": "^[0-9a-f]{32}$" + } + }, + "paymentMethodIds": { + "description": "Identifier (UUID) of the payment methods.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "shippingMethodIds": { + "description": "Identifier (UUID) of the shipping methods.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "employeeIds": { + "description": "Identifier (UUID) of employees.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "defaultShippingAddressId": { + "description": "Identifier (UUID) of the default shipping address", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "defaultBillingAddressId": { + "description": "Identifier (UUID) of the default billing address", + "type": "string", + "pattern": "^[0-9a-f]{32}$" } }, - "type": "object" + "type": "object", + "required": [ + "name", + "shippingAddressIds", + "billingAddressIds", + "paymentMethodIds", + "shippingMethodIds", + "defaultShippingAddressId", + "defaultBillingAddressId" + ] } } } }, "responses": { - "200": { - "description": "Order entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Order" - } - } - } + "201": { + "description": "Created organization unit" } }, "security": [ @@ -24282,73 +20117,84 @@ "ApiKey": [] } ] - } - }, - "/approval-rule": { - "post": { + }, + "delete": { "tags": [ - "B2B Order Approval" + "B2B Organization Units" ], - "summary": "List all approval rules", - "description": "This route is used to list all approval rules from the store", - "operationId": "listApprovalRules", - "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 + "summary": "Delete organization units", + "description": "This route is used to delete organization units", + "operationId": "removeOrganizationUnits", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ids" + ], + "properties": { + "ids": { + "description": "Organization Unit ids", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + } + } + } } - }, + } + }, + "responses": { + "204": { + "description": "No content response" + } + }, + "security": [ { - "$ref": "#/components/parameters/swLanguageId" + "ApiKey": [] } + ] + } + }, + "/organization-units": { + "post": { + "tags": [ + "B2B Organization Units" ], + "summary": "Load Organization Units", + "description": "This route is used to load all Organization Units", + "operationId": "readOrganizationUnits", "requestBody": { "required": false, "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/Criteria" - } - ] + "$ref": "#/components/schemas/Criteria" } } } }, "responses": { "200": { - "description": "Entity search result containing approval rules", + "description": "Entity search result containing Organization Units", "content": { "application/json": { "schema": { - "type": "object", "allOf": [ { + "type": "object", "properties": { "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/ApprovalRule" + "$ref": "#/components/schemas/B2bComponentsOrganization" } } - }, - "type": "object" + } }, { "$ref": "#/components/schemas/EntitySearchResult" @@ -24363,34 +20209,31 @@ { "ApiKey": [] } + ], + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } ] - }, - "get": { + } + }, + "/organization-unit/{id}": { + "post": { "tags": [ - "B2B Order Approval" + "B2B Organization Units" ], - "summary": "Fetch a list of approval rules", - "description": "This route is used to load approval rules", - "operationId": "readApprovalRules", + "summary": "Load one Organization Unit", + "description": "This route is used to load one Organization Unit\n\n**Available Associations:**\n- `customer`\n- `parent`\n- `employees`\n- `children`\n- `organizationCustomerAddresses`\n- `shippingAddresses`\n- `billingAddresses`\n- `paymentMethods`\n- `shippingMethods`\n- `defaultShippingAddress`\n- `defaultBillingAddress`\n- `createdBy`\n- `updatedBy`", + "operationId": "readOrganizationUnit", "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, + "name": "id", + "in": "path", + "description": "Identifier of the Organization Unit to be fetched", + "required": true, "schema": { - "type": "integer", - "default": 10 + "type": "string", + "pattern": "^[0-9a-f]{32}$" } }, { @@ -24399,27 +20242,11 @@ ], "responses": { "200": { - "description": "Entity search result containing approval rules", + "description": "Organization Unit 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/B2bComponentsOrganization" } } } @@ -24430,17 +20257,25 @@ "ApiKey": [] } ] - } - }, - "/approval-rule/create": { - "post": { + }, + "patch": { "tags": [ - "B2B Order Approval" + "B2B Organization Units" ], - "summary": "Create a new approval rule", - "description": "This route is used to create a new approval rule", - "operationId": "createApprovalRule", + "summary": "Update Organization Unit", + "description": "This route is used to update Organization Unit", + "operationId": "updateOrganizationUnit", "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the Organization Unit to be fetched", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, { "$ref": "#/components/parameters/swLanguageId" } @@ -24451,57 +20286,182 @@ "application/json": { "schema": { "properties": { - "approvalRuleName": { - "description": "Name of the approval rule", + "name": { + "description": "Organization unit name", "type": "string" }, - "approvalRuleApprove": { - "description": "ID of the role that can approve the rule", + "technicalName": { + "description": "Stable, human-readable technical identifier of the organization unit. Optional.", "type": "string" }, - "approvalRuleRole": { - "description": "ID of the role that is affected by the rule", - "type": "string" + "shippingAddressIds": { + "description": "Identifier (UUID) of the addresses for shipping.", + "type": "array", + "items": { + "type": "string", + "description": "The Identifier (UUID) of the customer address", + "pattern": "^[0-9a-f]{32}$" + } }, - "priority": { - "description": "Priority of the approval rule", - "type": "integer" + "billingAddressIds": { + "description": "Identifier (UUID) of the addresses for billing.", + "type": "array", + "items": { + "type": "string", + "description": "The Identifier (UUID) of the customer address", + "pattern": "^[0-9a-f]{32}$" + } }, - "description": { - "description": "Description of the approval rule", - "type": "string" + "paymentMethodIds": { + "description": "Identifier (UUID) of the payment methods.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } }, - "active": { - "description": "Active status of the approval rule", - "type": "boolean" + "shippingMethodIds": { + "description": "Identifier (UUID) of the shipping methods.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } }, - "approvalRuleCondition": { - "description": "List of rules", - "type": "object", - "properties": { - "type": { - "description": "Type of the rule", - "type": "string" - }, - "value": { - "description": "Value", - "type": "string" - } + "employeeIds": { + "description": "Identifier (UUID) of employees.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" } + }, + "defaultShippingAddressId": { + "description": "Identifier (UUID) of the default shipping address", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "defaultBillingAddressId": { + "description": "Identifier (UUID) of the default billing address", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "201": { + "description": "Updated organization unit" + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } + }, + "/quote/request": { + "post": { + "tags": [ + "B2B Quote Management" + ], + "summary": "Request new quote", + "description": "This route is used to request a new quote from the store", + "operationId": "requestQuote", + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "comment": { + "description": "Message content", + "type": "string" + } + }, + "type": "object" + } + } + } + }, + "responses": { + "200": { + "description": "Quote entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Quote" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } + }, + "/quotes": { + "post": { + "tags": [ + "B2B Quote Management" + ], + "summary": "Fetch a list of quotes", + "description": "This route is used to load quotes", + "operationId": "readQuotes", + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" } - }, - "type": "object" + ] } } } }, "responses": { "200": { - "description": "Approval rule entity", + "description": "Entity search result containing quotes", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApprovalRule" + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Quote" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] } } } @@ -24514,19 +20474,19 @@ ] } }, - "/approval-rule/{id}": { - "get": { + "/quote/detail/{id}": { + "post": { "tags": [ - "B2B Order Approval" + "B2B Quote Management" ], - "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 a one quote by id", + "description": "This route is used to fetch one quote by id\n\n**Available Associations:**\n- `stateMachineState`\n- `currency`\n- `language`\n- `notificationRecipients`\n- `notificationEmployees`\n- `lineItems`\n- `deliveries`\n- `transactions`\n- `comments`\n- `documents`\n- `histories`\n- `organization`", + "operationId": "readQuote", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the approval rule to be fetched", + "description": "Identifier of the quote to be fetched", "required": true, "schema": { "type": "string", @@ -24537,13 +20497,27 @@ "$ref": "#/components/parameters/swLanguageId" } ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" + } + ] + } + } + } + }, "responses": { "200": { - "description": "Approval rule entity", + "description": "Quote entity", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApprovalRule" + "$ref": "#/components/schemas/Quote" } } } @@ -24554,19 +20528,21 @@ "ApiKey": [] } ] - }, - "patch": { + } + }, + "/quote/{id}/line-item-listing": { + "post": { "tags": [ - "B2B Order Approval" + "B2B Quote Management" ], - "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": "Fetch quote line items", + "description": "This route loads the line items of a quote with filtering, sorting and paging support.", + "operationId": "readQuoteLineItems", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the approval rule to be updated", + "description": "Identifier of the quote whose line items should be fetched", "required": true, "schema": { "type": "string", @@ -24578,65 +20554,58 @@ } ], "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" + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" }, - "approvalRuleCondition": { - "description": "List of rules", - "type": "object", + { "properties": { - "type": { - "description": "Type of the rule", - "type": "string" - }, - "value": { - "description": "Value", - "type": "string" + "versionId": { + "description": "Optional draft version identifier used to load quote line items", + "type": "string", + "pattern": "^[0-9a-f]{32}$" } - } + }, + "type": "object" } - }, - "type": "object" + ] } } } }, "responses": { "200": { - "description": "Approval rule entity", + "description": "Entity search result containing quote line items", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ApprovalRule" + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteLineItem" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] } } } + }, + "404": { + "description": "Quote not found" } }, "security": [ @@ -24646,103 +20615,82 @@ ] } }, - "/shopping-list": { + "/quote/{id}/line-item-history-listing": { "post": { "tags": [ - "B2B Shopping Lists" + "B2B Quote Management" ], - "summary": "Create new shopping list", - "description": "This route is used to create a new shopping list from the store", - "operationId": "createShoppingList", + "summary": "Fetch quote line item history", + "description": "This route loads the line item history of a quote with filtering, sorting and paging support.", + "operationId": "readQuoteLineItemHistory", "parameters": [ { - "$ref": "#/components/parameters/swLanguageId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Shopping list name", - "type": "string" - }, - "lineItems": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "id": { - "description": "Product id", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "quantity": { - "description": "Quantity of the product", - "type": "integer" - } - }, - "required": [ - "id", - "quantity" - ] - } - } - }, - "type": "object", - "required": [ - "name" - ] - } + "name": "id", + "in": "path", + "description": "Identifier of the quote whose line item history should be fetched", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" } - } - }, - "responses": { - "204": { - "description": "No content response" - } - }, - "security": [ + }, { - "ApiKey": [] + "$ref": "#/components/parameters/swLanguageId" } - ] - }, - "delete": { - "tags": [ - "B2B Shopping Lists" ], - "summary": "Delete shopping lists", - "description": "This route is used to delete shopping lists", - "operationId": "removeShoppingLists", - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "required": [ - "ids" - ], - "properties": { - "ids": { - "description": "Shopping list ids", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" + }, + { + "properties": { + "versionId": { + "description": "Optional draft version identifier used to load quote line item history", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "type": "object" } - } + ] } } } }, "responses": { - "204": { - "description": "No content response" + "200": { + "description": "Entity search result containing quote line item history", + "content": { + "application/json": { + "schema": { + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteLineItemHistory" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] + } + } + } + }, + "404": { + "description": "Quote not found" } }, "security": [ @@ -24752,41 +20700,93 @@ ] } }, - "/shopping-lists": { - "post": { + "/quote/{quoteId}/product-search": { + "get": { "tags": [ - "B2B Shopping Lists" + "B2B Quote Management" ], - "summary": "Load shopping lists", - "description": "This route is used to load all shopping lists", - "operationId": "readShoppingLists", - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Criteria" - } + "summary": "Search products for quote line item management", + "description": "This route searches products and adds a quoteLineItem extension containing the active quote line item id for products already present in the quote.", + "operationId": "searchQuoteProductsGet", + "parameters": [ + { + "name": "quoteId", + "in": "path", + "description": "Identifier of the quote used to annotate the product search result", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "name": "search", + "in": "query", + "description": "Search term used by the core product search route", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "versionId", + "in": "query", + "description": "Optional draft version identifier used to check quote line items in the current storefront edit draft", + "required": false, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" } + }, + { + "$ref": "#/components/parameters/swLanguageId" } - }, + ], "responses": { "200": { - "description": "Entity search result containing shopping lists", + "description": "Product search result with active quote line item id extension on matching products", "content": { "application/json": { "schema": { + "type": "object", "allOf": [ { - "type": "object", "properties": { "elements": { "type": "array", "items": { - "$ref": "#/components/schemas/B2bComponentsShoppingList" + "allOf": [ + { + "$ref": "#/components/schemas/Product" + }, + { + "type": "object", + "properties": { + "extensions": { + "type": "object", + "properties": { + "quoteLineItem": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "apiAlias": { + "type": "string", + "example": "cart_order_id" + } + } + } + } + } + } + } + ] } } - } + }, + "type": "object" }, { "$ref": "#/components/schemas/EntitySearchResult" @@ -24795,43 +20795,29 @@ } } } + }, + "404": { + "description": "Quote not found" } }, "security": [ { "ApiKey": [] } - ], - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } ] - } - }, - "/shopping-list/{id}": { + }, "post": { "tags": [ - "B2B Shopping Lists" + "B2B Quote Management" ], - "summary": "Load one shopping list", - "description": "This route is used to load one shopping list\n\n**Available Associations:**\n- `customer`\n- `employee`\n- `lineItems`\n- `organization`", - "operationId": "readShoppingList", - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Criteria" - } - } - } - }, + "summary": "Search products for quote line item management", + "description": "This route searches products and adds a quoteLineItem extension containing the active quote line item id for products already present in the quote.", + "operationId": "searchQuoteProducts", "parameters": [ { - "name": "id", + "name": "quoteId", "in": "path", - "description": "Identifier of the shopping list to be fetched", + "description": "Identifier of the quote used to annotate the product search result", "required": true, "schema": { "type": "string", @@ -24842,16 +20828,86 @@ "$ref": "#/components/parameters/swLanguageId" } ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" + }, + { + "properties": { + "draftVersionId": { + "description": "Optional draft version identifier used to check quote line items in the current storefront edit draft", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "type": "object" + } + ] + } + } + } + }, "responses": { "200": { - "description": "Shopping list entity", + "description": "Product search result with active quote line item id extension on matching products", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/B2bComponentsShoppingList" + "type": "object", + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "allOf": [ + { + "$ref": "#/components/schemas/Product" + }, + { + "type": "object", + "properties": { + "extensions": { + "type": "object", + "properties": { + "quoteLineItem": { + "type": "object", + "properties": { + "id": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "apiAlias": { + "type": "string", + "example": "cart_order_id" + } + } + } + } + } + } + } + ] + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" + } + ] } } } + }, + "404": { + "description": "Quote not found" } }, "security": [ @@ -24861,19 +20917,19 @@ ] } }, - "/shopping-list/{id}/change-name": { - "patch": { + "/quote/{id}/decline": { + "post": { "tags": [ - "B2B Shopping Lists" + "B2B Quote Management" ], - "summary": "Update shopping list name", - "description": "This route is used to update shopping list name", - "operationId": "updateShoppingList", + "summary": "Decline a quote by id", + "description": "This route is used to decline a quote from the store by id", + "operationId": "declineQuote", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the shopping list to be fetched", + "description": "Identifier of the quote to be reinvited", "required": true, "schema": { "type": "string", @@ -24889,21 +20945,39 @@ "content": { "application/json": { "schema": { - "type": "object", + "required": [ + "comment", + "lineItemId", + "versionId" + ], "properties": { - "name": { - "description": "Shopping list name", + "comment": { + "description": "Message content", "type": "string" + }, + "lineItemId": { + "description": "Identifier of the quote line item that owns the new comment", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "versionId": { + "description": "Draft version identifier of the quote currently shown in storefront", + "type": "string", + "pattern": "^[0-9a-f]{32}$" } }, - "required": [ - "name" - ] + "type": "object" } } } }, "responses": { + "400": { + "description": "Invalid quote state transition" + }, + "404": { + "description": "Quote not found" + }, "204": { "description": "No content response" } @@ -24915,19 +20989,19 @@ ] } }, - "/shopping-list/{id}/duplicate": { + "/quote/{id}/request-change": { "post": { "tags": [ - "B2B Shopping Lists" + "B2B Quote Management" ], - "summary": "Duplicate new shopping list", - "description": "This route is used to duplicate a new shopping list from the store", - "operationId": "duplicateShoppingList", + "summary": "Request change a quote by id", + "description": "This route is used to request change a quote from the store by id", + "operationId": "requestChangeQuote", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the shopping list to be fetched", + "description": "Identifier of the quote to be reinvited", "required": true, "schema": { "type": "string", @@ -24939,40 +21013,30 @@ } ], "requestBody": { - "required": true, + "required": false, "content": { "application/json": { "schema": { "properties": { - "name": { - "description": "Shopping list name", + "comment": { + "description": "Message content", "type": "string" } }, - "type": "object", - "required": [ - "name" - ] + "type": "object" } } } }, "responses": { - "200": { - "description": "The generated id of the duplicated shopping list", - "content": { - "application/json": { - "schema": { - "properties": { - "id": { - "description": "The generated id of the duplicated shopping list", - "type": "string" - } - }, - "type": "object" - } - } - } + "400": { + "description": "Invalid line item payload" + }, + "404": { + "description": "Quote or line item not found" + }, + "204": { + "description": "No content response" } }, "security": [ @@ -24982,19 +21046,19 @@ ] } }, - "/shopping-list/{id}/summary": { - "get": { + "/quote/{id}/send-request": { + "post": { "tags": [ - "B2B Shopping Lists" + "B2B Quote Management" ], - "summary": "Price summary for shopping list", - "description": "This route is used to get a price summary for shopping list", - "operationId": "summaryShoppingList", + "summary": "Send a draft quote request", + "description": "This route is used to send a customer-owned draft quote request by id", + "operationId": "sendDraftQuoteRequest", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the shopping list to be fetched", + "description": "Identifier of the draft quote to be sent", "required": true, "schema": { "type": "string", @@ -25006,41 +21070,8 @@ } ], "responses": { - "200": { - "description": "Shopping list summary", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "price": { - "type": "object", - "properties": { - "netPrice": { - "description": "Net price of the cart", - "type": "number", - "format": "float" - }, - "totalPrice": { - "description": "Total price of the cart, including shipping costs, discounts and taxes", - "type": "number", - "format": "float" - }, - "positionPrice": { - "description": "Price for all line items in the cart", - "type": "number", - "format": "float" - }, - "taxStatus": { - "description": "Tax calculation for the cart. One of `gross`, `net` or `tax-free`", - "type": "string" - } - } - } - } - } - } - } + "204": { + "description": "No content response" } }, "security": [ @@ -25050,66 +21081,30 @@ ] } }, - "/shopping-list/{id}/add": { - "post": { + "/quote/{id}": { + "delete": { "tags": [ - "B2B Shopping Lists" + "B2B Quote Management" ], - "summary": "Add more product to shopping list", - "description": "This route is used to add more products to shopping list", - "operationId": "addLineItems", + "summary": "Delete a draft quote", + "description": "This route is used to delete a customer-owned draft quote by id", + "operationId": "deleteDraftQuote", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the shopping list to be fetched", + "description": "Identifier of the draft quote to be deleted", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } - }, - { - "$ref": "#/components/parameters/swLanguageId" } ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "lineItems": { - "type": "object", - "additionalProperties": { - "type": "object", - "properties": { - "id": { - "description": "Product id", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "quantity": { - "description": "Quantity of the product", - "type": "integer" - } - }, - "required": [ - "id", - "quantity" - ] - } - } - }, - "required": [ - "lineItems" - ] - } - } - } - }, "responses": { + "404": { + "description": "Quote not found" + }, "204": { "description": "No content response" } @@ -25121,85 +21116,70 @@ ] } }, - "/shopping-list/line-item/remove": { + "/quote/{id}/draft-version": { "post": { "tags": [ - "B2B Shopping Lists" + "B2B Quote Management" ], - "summary": "Delete shopping list line items", - "description": "This route is used to delete shopping list line items", - "operationId": "removeLineItems", + "summary": "Create a draft quote version", + "description": "This route is used to create a temporary draft version for storefront quote editing.", + "operationId": "createDraftQuoteVersion", "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the quote to create a draft version for", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, { "$ref": "#/components/parameters/swLanguageId" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "ids": { - "description": "Line items ids", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "productIds": { - "description": "Product ids", - "type": "array", - "items": { + "responses": { + "200": { + "description": "Draft version identifier", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "versionId": { "type": "string", "pattern": "^[0-9a-f]{32}$" } - }, - "listId": { - "description": "List id", - "type": "string", - "pattern": "^[0-9a-f]{32}$" } } } } } }, - "responses": { - "204": { - "description": "No content response" - } - }, "security": [ { "ApiKey": [] } ] - } - }, - "/shopping-list/line-item/{id}/change-quantity": { - "post": { + }, + "delete": { "tags": [ - "B2B Shopping Lists" + "B2B Quote Management" ], - "summary": "Update shopping list line item quantity", - "description": "This route is used to update shopping list line item quantity", - "operationId": "updateLineItems", + "summary": "Delete a draft quote version", + "description": "This route deletes the temporary storefront draft version identified by the versionId request payload.", + "operationId": "deleteDraftQuoteVersion", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the shopping list line item to be fetched", + "description": "Identifier of the quote whose current draft version should be deleted", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } - }, - { - "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { @@ -25208,15 +21188,16 @@ "application/json": { "schema": { "type": "object", + "required": [ + "versionId" + ], "properties": { - "quantity": { - "description": "new line item quantity", - "type": "integer" + "versionId": { + "description": "Draft version identifier to delete. This must be set to the versionId returned by POST /quote/{id}/draft-version.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" } - }, - "required": [ - "quantity" - ] + } } } } @@ -25233,15 +21214,25 @@ ] } }, - "/shopping-lists/add-to-cart": { + "/quote/{id}/draft-version/save": { "post": { "tags": [ - "B2B Shopping Lists" + "B2B Quote Management" ], - "summary": "Add shopping lists to cart", - "description": "This route is used to add shopping lists to cart", - "operationId": "addShoppingListsToCart", + "summary": "Save a draft quote version", + "description": "This route merges the current storefront draft version into the live quote. The request must include the versionId returned by the create endpoint in the request payload.", + "operationId": "saveDraftQuoteVersion", "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the quote whose current draft version should be merged into live", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, { "$ref": "#/components/parameters/swLanguageId" } @@ -25253,16 +21244,13 @@ "schema": { "type": "object", "required": [ - "ids" + "versionId" ], "properties": { - "ids": { - "description": "Shopping list ids", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } + "versionId": { + "description": "Draft version identifier to merge. This must be set to the versionId returned by POST /quote/{id}/draft-version.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" } } } @@ -25281,228 +21269,94 @@ ] } }, - "/organization-unit": { + "/quote/{id}/notification-employees": { "post": { "tags": [ - "B2B Organization Units" + "B2B Quote Management" ], - "summary": "Create new organization unit", - "description": "This route is used to create a new organization", - "operationId": "createOrganizationUnit", + "summary": "Update quote notification employee recipients", + "description": "This route updates the employee notification recipients of a live quote by applying selected and deleted employee identifier lists.", + "operationId": "replaceQuoteNotificationEmployees", "parameters": [ { - "$ref": "#/components/parameters/swLanguageId" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "properties": { - "name": { - "description": "Organization unit name", - "type": "string" - }, - "technicalName": { - "description": "Stable, human-readable technical identifier of the organization unit. Optional.", - "type": "string" - }, - "parentId": { - "description": "Identifier (UUID) of the parent organization unit, to create this unit as a sub-organization. Optional; can only be set on creation and is immutable afterwards.", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "shippingAddressIds": { - "description": "Identifier (UUID) of the addresses for shipping.", - "type": "array", - "items": { - "type": "string", - "description": "The Identifier (UUID) of the customer address", - "pattern": "^[0-9a-f]{32}$" - } - }, - "billingAddressIds": { - "description": "Identifier (UUID) of the addresses for billing.", - "type": "array", - "items": { - "type": "string", - "description": "The Identifier (UUID) of the customer address", - "pattern": "^[0-9a-f]{32}$" - } - }, - "paymentMethodIds": { - "description": "Identifier (UUID) of the payment methods.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "shippingMethodIds": { - "description": "Identifier (UUID) of the shipping methods.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "employeeIds": { - "description": "Identifier (UUID) of employees.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "defaultShippingAddressId": { - "description": "Identifier (UUID) of the default shipping address", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "defaultBillingAddressId": { - "description": "Identifier (UUID) of the default billing address", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "type": "object", - "required": [ - "name", - "shippingAddressIds", - "billingAddressIds", - "paymentMethodIds", - "shippingMethodIds", - "defaultShippingAddressId", - "defaultBillingAddressId" - ] - } + "name": "id", + "in": "path", + "description": "Identifier of the quote whose employee notification recipients should be updated", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" } - } - }, - "responses": { - "201": { - "description": "Created organization unit" - } - }, - "security": [ + }, { - "ApiKey": [] + "$ref": "#/components/parameters/swLanguageId" } - ] - }, - "delete": { - "tags": [ - "B2B Organization Units" ], - "summary": "Delete organization units", - "description": "This route is used to delete organization units", - "operationId": "removeOrganizationUnits", "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "object", - "required": [ - "ids" + "anyOf": [ + { + "required": [ + "deletedEmployeeIds" + ] + }, + { + "required": [ + "selectedEmployeeIds" + ] + } ], "properties": { - "ids": { - "description": "Organization Unit ids", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - } - } - } - } - } - }, - "responses": { - "204": { - "description": "No content response" - } - }, - "security": [ - { - "ApiKey": [] - } - ] - } - }, - "/organization-units": { - "post": { - "tags": [ - "B2B Organization Units" - ], - "summary": "Load Organization Units", - "description": "This route is used to load all Organization Units", - "operationId": "readOrganizationUnits", - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Criteria" - } - } - } - }, - "responses": { - "200": { - "description": "Entity search result containing Organization Units", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "type": "object", - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsOrganization" - } - } - } - }, - { - "$ref": "#/components/schemas/EntitySearchResult" + "deletedEmployeeIds": { + "description": "Employee identifiers to remove from quote notification recipients.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" } - ] + }, + "selectedEmployeeIds": { + "description": "Employee identifiers to add as quote notification recipients.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + } } } } } }, + "responses": { + "204": { + "description": "No content response" + } + }, "security": [ { "ApiKey": [] } - ], - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } ] } }, - "/organization-unit/{id}": { + "/quote/{id}/line-item/add": { "post": { "tags": [ - "B2B Organization Units" + "B2B Quote Management" ], - "summary": "Load one Organization Unit", - "description": "This route is used to load one Organization Unit\n\n**Available Associations:**\n- `customer`\n- `parent`\n- `employees`\n- `children`\n- `organizationCustomerAddresses`\n- `shippingAddresses`\n- `billingAddresses`\n- `paymentMethods`\n- `shippingMethods`\n- `defaultShippingAddress`\n- `defaultBillingAddress`\n- `createdBy`\n- `updatedBy`", - "operationId": "readOrganizationUnit", + "summary": "Add a product line item to a quote", + "description": "This route is used to add a product line item to a quote from the store by id", + "operationId": "addQuoteLineItem", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the Organization Unit to be fetched", + "description": "Identifier of the quote to be updated", "required": true, "schema": { "type": "string", @@ -25513,36 +21367,71 @@ "$ref": "#/components/parameters/swLanguageId" } ], - "responses": { - "200": { - "description": "Organization Unit entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/B2bComponentsOrganization" - } + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "versionId": { + "description": "Identifier of the quote version to modify. Must not be the live or snapshot version.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "productId": { + "description": "Identifier of the product to add", + "type": "string" + }, + "quantity": { + "description": "Quantity to add", + "type": "integer", + "minimum": 1 + } + }, + "required": [ + "versionId", + "productId" + ], + "type": "object" } } } }, + "responses": { + "204": { + "description": "No content response" + } + }, "security": [ { "ApiKey": [] } ] - }, - "patch": { + } + }, + "/quote/{quoteId}/line-item/{lineItemId}/edit": { + "post": { "tags": [ - "B2B Organization Units" + "B2B Quote Management" ], - "summary": "Update Organization Unit", - "description": "This route is used to update Organization Unit", - "operationId": "updateOrganizationUnit", + "summary": "Edit a quote line item", + "description": "This route is used to change quantity and requested price of a quote line item from the store", + "operationId": "editQuoteLineItem", "parameters": [ { - "name": "id", + "name": "quoteId", "in": "path", - "description": "Identifier of the Organization Unit to be fetched", + "description": "Identifier of the quote to be updated", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "name": "lineItemId", + "in": "path", + "description": "Identifier of the quote line item to be updated", "required": true, "schema": { "type": "string", @@ -25559,75 +21448,32 @@ "application/json": { "schema": { "properties": { - "name": { - "description": "Organization unit name", - "type": "string" - }, - "technicalName": { - "description": "Stable, human-readable technical identifier of the organization unit. Optional.", - "type": "string" - }, - "shippingAddressIds": { - "description": "Identifier (UUID) of the addresses for shipping.", - "type": "array", - "items": { - "type": "string", - "description": "The Identifier (UUID) of the customer address", - "pattern": "^[0-9a-f]{32}$" - } - }, - "billingAddressIds": { - "description": "Identifier (UUID) of the addresses for billing.", - "type": "array", - "items": { - "type": "string", - "description": "The Identifier (UUID) of the customer address", - "pattern": "^[0-9a-f]{32}$" - } - }, - "paymentMethodIds": { - "description": "Identifier (UUID) of the payment methods.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "shippingMethodIds": { - "description": "Identifier (UUID) of the shipping methods.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "employeeIds": { - "description": "Identifier (UUID) of employees.", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "defaultShippingAddressId": { - "description": "Identifier (UUID) of the default shipping address", + "versionId": { + "description": "Identifier of the quote version to modify. Must not be the live or snapshot version.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "defaultBillingAddressId": { - "description": "Identifier (UUID) of the default billing address", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "quantity": { + "description": "New quantity of the line item", + "type": "integer", + "minimum": 1 + }, + "requestedPrice": { + "description": "Requested price of the line item. Send 0 to reset it.", + "type": "number" } }, + "required": [ + "versionId" + ], "type": "object" } } } }, "responses": { - "201": { - "description": "Updated organization unit" + "204": { + "description": "No content response" } }, "security": [ @@ -25635,180 +21481,167 @@ "ApiKey": [] } ] - } - }, - "/employee/context": { - "get": { + }, + "patch": { "tags": [ - "B2B Employee Context" - ], - "summary": "List the employee contexts available to the logged-in account", - "description": "Returns every active membership the current account can act as, whether a context selection is still required, and the account default. Requires the ORGANIZATION_UNITS feature and license.", - "operationId": "getEmployeeContextsGet", - "responses": { - "200": { - "description": "The available employee contexts", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EmployeeAvailableContextsResponse" - } - } - } - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - } - }, - "security": [ - { - "ApiKey": [] - } + "B2B Quote Management" ], + "summary": "Edit a quote line item", + "description": "This route is used to change quantity and requested price of a quote line item from the store", + "operationId": "patchEditQuoteLineItem", "parameters": [ { - "$ref": "#/components/parameters/swLanguageId" - } - ] - }, - "post": { - "tags": [ - "B2B Employee Context" - ], - "summary": "List the employee contexts available to the logged-in account", - "description": "Returns every active membership the current account can act as, whether a context selection is still required, and the account default. Requires the ORGANIZATION_UNITS feature and license.", - "operationId": "getEmployeeContexts", - "responses": { - "200": { - "description": "The employee contexts available to the account", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/EmployeeAvailableContextsResponse" - } - } + "name": "quoteId", + "in": "path", + "description": "Identifier of the quote to be updated", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" } }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" - } - }, - "security": [ { - "ApiKey": [] - } - ], - "parameters": [ + "name": "lineItemId", + "in": "path", + "description": "Identifier of the quote line item to be updated", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, { "$ref": "#/components/parameters/swLanguageId" } - ] - } - }, - "/employee/context/switch": { - "post": { - "tags": [ - "B2B Employee Context" ], - "summary": "Switch the active employee context", - "description": "Activates the given context for the current session and returns a new context token. Optionally sets or unsets that context as the account default. Requires the ORGANIZATION_UNITS feature and license.", - "operationId": "switchEmployeeContext", "requestBody": { "required": true, "content": { "application/json": { "schema": { - "type": "object", - "required": [ - "employeeId" - ], "properties": { - "employeeId": { - "description": "Identifier of the employee identity (membership) to activate.", + "versionId": { + "description": "Identifier of the quote version to modify. Must not be the live or snapshot version.", "type": "string", "pattern": "^[0-9a-f]{32}$" }, - "setDefault": { - "description": "When present, sets (true) or clears (false) this context as the account default.", - "type": "boolean" + "quantity": { + "description": "New quantity of the line item", + "type": "integer", + "minimum": 1 + }, + "requestedPrice": { + "description": "Requested price of the line item. Send 0 to reset it.", + "type": "number" } - } + }, + "required": [ + "versionId" + ], + "type": "object" } } } }, "responses": { - "200": { - "$ref": "#/components/responses/ContextTokenResponse" - }, - "403": { - "$ref": "#/components/responses/403" - }, - "404": { - "$ref": "#/components/responses/404" + "204": { + "description": "No content response" } }, "security": [ { "ApiKey": [] } - ], - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } ] } }, - "/employee/context/cancel": { + "/quote/{quoteId}/line-item/{lineItemId}/remove": { "post": { "tags": [ - "B2B Employee Context" + "B2B Quote Management" ], - "summary": "Cancel a pending context selection", - "description": "Clears the pending account that was staged during login when a context selection was required, returning the session to a clean state. Requires the ORGANIZATION_UNITS feature and license.", - "operationId": "cancelEmployeeContext", + "summary": "Remove a quote line item", + "description": "This route is used to remove a quote line item from the store", + "operationId": "removeQuoteLineItem", + "parameters": [ + { + "name": "quoteId", + "in": "path", + "description": "Identifier of the quote to be updated", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "name": "lineItemId", + "in": "path", + "description": "Identifier of the quote line item to remove", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "properties": { + "versionId": { + "description": "Identifier of the quote version to modify. Must not be the live or snapshot version.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "required": [ + "versionId" + ], + "type": "object" + } + } + } + }, "responses": { "204": { - "description": "The pending context selection was cleared" - }, - "403": { - "$ref": "#/components/responses/403" + "description": "No content response" } }, "security": [ { "ApiKey": [] } - ], - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } ] - } - }, - "/advanced-product-catalogs/categories": { - "get": { + }, + "delete": { "tags": [ - "Advanced Product Catalogs", - "Categories" + "B2B Quote Management" ], - "summary": "List advanced product catalog categories", - "description": "Retrieve a list of categories for advanced product catalogs with hierarchical sorting", - "operationId": "listAdvancedProductCatalogCategories", + "summary": "Remove a quote line item", + "description": "This route is used to remove a quote line item from the store", + "operationId": "deleteQuoteLineItem", "parameters": [ { - "name": "sw-language-id", - "in": "header", - "description": "Language ID for localized content", - "required": false, + "name": "quoteId", + "in": "path", + "description": "Identifier of the quote to be updated", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "name": "lineItemId", + "in": "path", + "description": "Identifier of the quote line item to remove", + "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" @@ -25816,25 +21649,28 @@ } ], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Criteria" + "properties": { + "versionId": { + "description": "Identifier of the quote version to modify. Must not be the live or snapshot version.", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "required": [ + "versionId" + ], + "type": "object" } } } }, "responses": { - "200": { - "description": "List of categories for advanced product catalogs", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListCategoryRouteResponse" - } - } - } + "204": { + "description": "No content response" } }, "security": [ @@ -25842,47 +21678,54 @@ "ApiKey": [] } ] - }, + } + }, + "/quote/{id}/configure": { "post": { "tags": [ - "Advanced Product Catalogs", - "Categories" + "B2B Quote Management" ], - "summary": "List advanced product catalog categories (POST)", - "description": "Retrieve a list of categories for advanced product catalogs with hierarchical sorting using POST method", - "operationId": "listAdvancedProductCatalogCategoriesPost", + "summary": "Change payment or shipping method", + "description": "This route is used to change a payment or shipping method when place a order ", + "operationId": "switchPaymentOrShippingMethod", "parameters": [ { - "name": "sw-language-id", - "in": "header", - "description": "Language ID for localized content", - "required": false, + "name": "id", + "in": "path", + "description": "Identifier of the quote to be reinvited", + "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } + }, + { + "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Criteria" + "properties": { + "paymentMethodId": { + "description": "Id of the payment method", + "type": "string" + }, + "shippingMethodId": { + "description": "Id of the shipping method", + "type": "string" + } + }, + "type": "object" } } } }, "responses": { - "200": { - "description": "List of categories for advanced product catalogs", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ListCategoryRouteResponse" - } - } - } + "204": { + "description": "No content response" } }, "security": [ @@ -25892,25 +21735,27 @@ ] } }, - "/advanced-product-catalogs/categories/search": { - "get": { + "/quote/order/{id}": { + "post": { "tags": [ - "Advanced Product Catalogs", - "Categories" + "B2B Quote Management" ], - "summary": "Search advanced product catalog categories", - "description": "Search for categories in advanced product catalogs using criteria", - "operationId": "searchAdvancedProductCatalogCategories", + "summary": "Create a order from a quote", + "description": "This route is used to create a order from a quote", + "operationId": "createOrderFromQuote", "parameters": [ { - "name": "sw-language-id", - "in": "header", - "description": "Language ID for localized content", - "required": false, + "name": "id", + "in": "path", + "description": "Identifier of the quote to be reinvited", + "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } + }, + { + "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { @@ -25918,18 +21763,24 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Criteria" + "properties": { + "customerComment": { + "description": "Message content", + "type": "string" + } + }, + "type": "object" } } } }, "responses": { "200": { - "description": "Search results for advanced product catalog categories", + "description": "Order entity", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ListCategoryRouteResponse" + "$ref": "#/components/schemas/Order" } } } @@ -25942,84 +21793,117 @@ ] } }, - "/advanced-product-catalogs/save": { + "/quote/document/download/{documentId}/{deepLinkCode}": { "post": { "tags": [ - "Advanced Product Catalogs", - "Management" + "B2B Quote Management" ], - "summary": "Create or update advanced product catalog", - "description": "Create a new advanced product catalog or update an existing one", - "operationId": "saveAdvancedProductCatalog", + "summary": "Download a document", + "description": "This route is used to download a document", + "operationId": "downloadQuoteDocument", "parameters": [ { - "name": "sw-language-id", - "in": "header", - "description": "Language ID for localized content", - "required": false, + "name": "documentId", + "in": "path", + "description": "Identifier of the quote document to be reinvited", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "name": "deepLinkCode", + "in": "path", + "description": "Deep link code of the quote document", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "responses": { + "200": { + "description": "Document content response" + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } + }, + "/quote/{quoteId}/documents": { + "post": { + "tags": [ + "B2B Quote Management" + ], + "summary": "Fetch quote documents", + "description": "This route is used to load quote documents by quote id with search and paging support", + "operationId": "readQuoteDocuments", + "parameters": [ + { + "name": "quoteId", + "in": "path", + "description": "Identifier of the quote to fetch documents for", + "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } + }, + { + "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { - "required": true, + "required": false, "content": { "application/json": { "schema": { - "type": "object", - "required": [ - "organizationId" - ], - "properties": { - "organizationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The ID of the organization" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The ID of the advanced product catalog (optional, will be generated if not provided)" - }, - "autoAddNewCategories": { - "type": "boolean", - "description": "Whether to automatically add new categories to the catalog" - }, - "selectedCategories": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "description": "Array of category IDs to associate with the catalog" + "allOf": [ + { + "$ref": "#/components/schemas/Criteria" } - } + ] } } } }, "responses": { "200": { - "description": "Advanced product catalog saved successfully", + "description": "Entity search result containing quote documents", "content": { "application/json": { "schema": { "type": "object", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The ID of the created/updated advanced product catalog" + "allOf": [ + { + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/QuoteDocument" + } + } + }, + "type": "object" + }, + { + "$ref": "#/components/schemas/EntitySearchResult" } - }, - "required": [ - "id" ] } } } + }, + "404": { + "description": "Quote not found" } }, "security": [ @@ -26027,84 +21911,50 @@ "ApiKey": [] } ] - }, - "patch": { + } + }, + "/quote/{id}/send-message": { + "post": { "tags": [ - "Advanced Product Catalogs", - "Management" + "B2B Quote Management" ], - "summary": "Update advanced product catalog", - "description": "Update an existing advanced product catalog", - "operationId": "updateAdvancedProductCatalog", + "summary": "Send a message to the merchant in the quote", + "description": "This route is used to send a message to the merchant in the quote", + "operationId": "sendMessageInQuote", "parameters": [ { - "name": "sw-language-id", - "in": "header", - "description": "Language ID for localized content", - "required": false, + "name": "id", + "in": "path", + "description": "Identifier of the quote to send message", + "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } + }, + { + "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { - "required": true, + "required": false, "content": { "application/json": { "schema": { - "type": "object", - "required": [ - "organizationId" - ], "properties": { - "organizationId": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The ID of the organization" - }, - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The ID of the advanced product catalog (optional, will be generated if not provided)" - }, - "autoAddNewCategories": { - "type": "boolean", - "description": "Whether to automatically add new categories to the catalog" - }, - "selectedCategories": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "description": "Array of category IDs to associate with the catalog" + "comment": { + "description": "Message content", + "type": "string" } - } + }, + "type": "object" } } } }, "responses": { - "200": { - "description": "Advanced product catalog saved successfully", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "id": { - "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The ID of the created/updated advanced product catalog" - } - }, - "required": [ - "id" - ] - } - } - } + "204": { + "description": "No content response" } }, "security": [ @@ -26114,25 +21964,28 @@ ] } }, - "/advanced-product-catalogs/categories/remove": { - "delete": { + "/quote/{id}/read-message": { + "post": { "tags": [ - "Advanced Product Catalogs", - "Categories" + "B2B Quote Management" ], - "summary": "Remove categories from advanced product catalog", - "description": "Remove specific categories from an advanced product catalog", - "operationId": "removeAdvancedProductCatalogCategories", + "summary": "Mark messages as read in a quote", + "description": "This route is used to mark all messages as read in the specified quote draft version.", + "operationId": "markMessagesAsReadInQuote", + "deprecated": true, "parameters": [ { - "name": "sw-language-id", - "in": "header", - "description": "Language ID for localized content", - "required": false, + "name": "id", + "in": "path", + "description": "Identifier of the quote whose messages will be marked as read", + "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } + }, + { + "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { @@ -26140,40 +21993,24 @@ "content": { "application/json": { "schema": { - "type": "object", "required": [ - "id", - "removedCategories" + "versionId" ], "properties": { - "id": { + "versionId": { + "description": "Draft version identifier of the quote currently shown in storefront", "type": "string", - "pattern": "^[0-9a-f]{32}$", - "description": "The ID of the advanced product catalog" - }, - "removedCategories": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "description": "Array of category IDs to remove from the catalog" + "pattern": "^[0-9a-f]{32}$" } - } + }, + "type": "object" } } } }, "responses": { - "200": { - "description": "Categories removed successfully", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/SuccessResponse" - } - } - } + "204": { + "description": "No content response" } }, "security": [ @@ -26183,46 +22020,90 @@ ] } }, - "/budgets": { + "/quote/{id}/history/read": { "post": { "tags": [ - "B2B Budget Management" + "B2B Quote Management" + ], + "summary": "Mark quote history entries and comments as seen", + "description": "This route marks merchant-created quote history entries as seen. If quoteLineItemId is provided, quote line item history entries and comments for that line item are updated. Otherwise only quote history entries for the quote are updated.", + "operationId": "markQuoteHistoryAsSeen", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the quote whose history entries will be marked as seen", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "$ref": "#/components/parameters/swLanguageId" + } ], - "summary": "Load budgets", - "description": "This route is used to load all budgets for the current customer", - "operationId": "readBudgets", "requestBody": { "required": false, "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/Criteria" + "properties": { + "quoteLineItemId": { + "description": "Optional quote line item identifier whose line item history entries should be marked as seen", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "lineItemHistoryIds": { + "description": "Optional quote line item history identifiers to mark as seen. When omitted or empty, all unread history entries for the quoteLineItemId are marked as seen.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "commentIds": { + "description": "Optional quote comment identifiers to mark as seen for the quoteLineItemId. When omitted or empty, all unread comments for the quoteLineItemId are marked as seen.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "historyIds": { + "description": "Optional quote history identifiers to mark as seen. When omitted or empty, all unread quote history entries are marked as seen.", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + } + }, + "type": "object" } } } }, "responses": { "200": { - "description": "Entity search result containing budgets", + "description": "Counts of unread entries remaining after marking entries as seen", "content": { "application/json": { "schema": { - "allOf": [ - { - "type": "object", - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsBudget" - } - } - } + "required": [ + "countUnReadHistory" + ], + "properties": { + "countUnReadHistory": { + "description": "Number of unread history entries remaining after the update", + "type": "integer" }, - { - "$ref": "#/components/schemas/EntitySearchResult" + "countUnReadComment": { + "description": "Number of unread quote comments remaining after the update when quoteLineItemId is provided", + "type": "integer" } - ] + }, + "type": "object" } } } @@ -26232,72 +22113,68 @@ { "ApiKey": [] } - ], - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } ] - }, - "get": { + } + }, + "/quote/{id}/comment/reply": { + "post": { "tags": [ - "B2B Budget Management" + "B2B Quote Management" ], - "summary": "Load budgets", - "description": "This route is used to load all budgets for the current customer", - "operationId": "readBudgetsGet", + "summary": "Reply to a quote comment", + "description": "This route creates a reply comment in the specified quote draft version.", + "operationId": "replyMessageInQuote", "parameters": [ { - "name": "limit", - "in": "query", - "description": "Number of items to return", - "required": false, - "schema": { - "type": "integer", - "minimum": 1 - } - }, - { - "name": "page", - "in": "query", - "description": "Page number", - "required": false, + "name": "id", + "in": "path", + "description": "Identifier of the quote", + "required": true, "schema": { - "type": "integer", - "minimum": 1 + "type": "string", + "pattern": "^[0-9a-f]{32}$" } }, { "$ref": "#/components/parameters/swLanguageId" } ], - "responses": { - "200": { - "description": "Entity search result containing budgets", - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "type": "object", - "properties": { - "elements": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsBudget" - } - } - } - }, - { - "$ref": "#/components/schemas/EntitySearchResult" - } - ] - } + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "comment", + "lineItemHistoryId", + "versionId" + ], + "properties": { + "comment": { + "description": "Reply content", + "type": "string" + }, + "lineItemHistoryId": { + "description": "Identifier of the line item history entry being replied to", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "versionId": { + "description": "Draft version identifier of the quote currently shown in storefront", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "type": "object" } } } }, + "responses": { + "204": { + "description": "No content response" + } + }, "security": [ { "ApiKey": [] @@ -26305,29 +22182,29 @@ ] } }, - "/budget/{id}": { - "post": { + "/quote/{id}/comment/{commentId}": { + "patch": { "tags": [ - "B2B Budget Management" + "B2B Quote Management" ], - "summary": "Load single budget", - "description": "This route is used to load one budget by ID\n\n**Available Associations:**\n- `customer`\n- `organizations`\n- `notificationRecipients`\n- `reviewerRole`\n- `currency`\n- `subscriptionBudgets`", - "operationId": "readBudget", - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Criteria" - } - } - } - }, + "summary": "Edit a quote comment", + "description": "This route edits an owned comment in the specified quote draft version.", + "operationId": "editMessageInQuote", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the budget to be fetched", + "description": "Identifier of the quote", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "name": "commentId", + "in": "path", + "description": "Identifier of the comment to edit", "required": true, "schema": { "type": "string", @@ -26338,19 +22215,40 @@ "$ref": "#/components/parameters/swLanguageId" } ], - "responses": { - "200": { - "description": "Budget entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/B2bComponentsBudget" - } + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "comment", + "lineItemHistoryId", + "versionId" + ], + "properties": { + "comment": { + "description": "Updated comment content", + "type": "string" + }, + "lineItemHistoryId": { + "description": "Identifier of the related line item history entry", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "versionId": { + "description": "Draft version identifier of the quote currently shown in storefront", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "type": "object" } } - }, - "404": { - "description": "Budget not found" + } + }, + "responses": { + "204": { + "description": "No content response" } }, "security": [ @@ -26359,18 +22257,18 @@ } ] }, - "get": { + "delete": { "tags": [ - "B2B Budget Management" + "B2B Quote Management" ], - "summary": "Load single budget", - "description": "This route is used to load one budget by ID\n\n**Available Associations:**\n- `customer`\n- `organizations`\n- `notificationRecipients`\n- `reviewerRole`\n- `currency`\n- `subscriptionBudgets`", - "operationId": "readBudgetGet", + "summary": "Remove a quote comment", + "description": "This route deletes an owned comment in the specified quote draft version.", + "operationId": "removeMessageInQuote", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the budget to be fetched", + "description": "Identifier of the quote", "required": true, "schema": { "type": "string", @@ -26378,22 +22276,39 @@ } }, { - "$ref": "#/components/parameters/swLanguageId" + "name": "commentId", + "in": "path", + "description": "Identifier of the comment to delete", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } } ], - "responses": { - "200": { - "description": "Budget entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/B2bComponentsBudget" - } + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "required": [ + "versionId" + ], + "properties": { + "versionId": { + "description": "Draft version identifier of the quote currently shown in storefront", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "type": "object" } } - }, - "404": { - "description": "Budget not found" + } + }, + "responses": { + "204": { + "description": "No content response" } }, "security": [ @@ -26401,25 +22316,17 @@ "ApiKey": [] } ] - }, - "patch": { + } + }, + "/shopping-list": { + "post": { "tags": [ - "B2B Budget Management" + "B2B Shopping Lists" ], - "summary": "Update budget", - "description": "This route is used to update an existing budget", - "operationId": "updateBudget", + "summary": "Create new shopping list", + "description": "This route is used to create a new shopping list from the store", + "operationId": "createShoppingList", "parameters": [ - { - "name": "id", - "in": "path", - "description": "Identifier of the budget to be updated", - "required": true, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } @@ -26429,132 +22336,85 @@ "content": { "application/json": { "schema": { - "type": "object", "properties": { "name": { - "description": "Budget name", - "type": "string" - }, - "technicalName": { - "description": "Technical name (unique identifier)", - "type": "string" - }, - "costCentre": { - "description": "Cost centre", + "description": "Shopping list name", "type": "string" }, - "amount": { - "description": "Budget amount", - "type": "number", - "format": "float" - }, - "active": { - "description": "Whether the budget is active", - "type": "boolean" - }, - "startDate": { - "description": "Budget start date", - "type": "string", - "format": "date" - }, - "endDate": { - "description": "Budget end date", - "type": "string", - "format": "date" - }, - "renewsType": { - "description": "Budget renewal type", - "type": "string", - "enum": [ - "None", - "Weekly", - "Monthly", - "Quarterly", - "Biannual", - "Yearly" - ] - }, - "reviewerRoleId": { - "description": "Reviewer role ID", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "allowApproval": { - "description": "Whether budget allows approval", - "type": "boolean" - }, - "showRemaining": { - "description": "Whether to show remaining budget", - "type": "boolean" - }, - "notify": { - "description": "Whether to send notifications", - "type": "boolean" - }, - "organizationUnitIds": { - "description": "Organization unit IDs", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "employeeIds": { - "description": "Employee IDs for notifications", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "notificationConfig": { - "description": "Notification configuration", + "lineItems": { "type": "object", - "properties": { - "type": { - "description": "Notification type", - "type": "string", - "enum": [ - "Percentage", - "SpecificDay", - "BeforeDay" - ] + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "description": "Product id", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quantity": { + "description": "Quantity of the product", + "type": "integer" + } }, - "value": { - "description": "Notification value", - "type": "string" - } - }, - "required": [ - "type", - "value" - ] + "required": [ + "id", + "quantity" + ] + } } - } + }, + "type": "object", + "required": [ + "name" + ] } } } }, "responses": { - "200": { - "description": "Budget updated successfully", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "204": { + "description": "No content response" + } + }, + "security": [ + { + "ApiKey": [] + } + ] + }, + "delete": { + "tags": [ + "B2B Shopping Lists" + ], + "summary": "Delete shopping lists", + "description": "This route is used to delete shopping lists", + "operationId": "removeShoppingLists", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ids" + ], + "properties": { + "ids": { + "description": "Shopping list ids", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } } } } } - }, - "400": { - "description": "Validation error or budget persistence failed" - }, - "404": { - "description": "Budget not found" + } + }, + "responses": { + "204": { + "description": "No content response" } }, "security": [ @@ -26564,146 +22424,49 @@ ] } }, - "/budget": { + "/shopping-lists": { "post": { "tags": [ - "B2B Budget Management" + "B2B Shopping Lists" ], - "summary": "Create new budget", - "description": "This route is used to create a new budget", - "operationId": "createBudget", + "summary": "Load shopping lists", + "description": "This route is used to load all shopping lists", + "operationId": "readShoppingLists", "requestBody": { - "required": true, + "required": false, "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "name": { - "description": "Budget name", - "type": "string" - }, - "technicalName": { - "description": "Technical name (unique identifier)", - "type": "string" - }, - "costCentre": { - "description": "Cost centre", - "type": "string" - }, - "amount": { - "description": "Budget amount", - "type": "number", - "format": "float" - }, - "active": { - "description": "Whether the budget is active", - "type": "boolean" - }, - "startDate": { - "description": "Budget start date", - "type": "string", - "format": "date" - }, - "endDate": { - "description": "Budget end date", - "type": "string", - "format": "date" - }, - "renewsType": { - "description": "Budget renewal type", - "type": "string", - "enum": [ - "None", - "Weekly", - "Monthly", - "Quarterly", - "Biannual", - "Yearly" - ] - }, - "reviewerRoleId": { - "description": "Reviewer role ID", - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "allowApproval": { - "description": "Whether budget allows approval", - "type": "boolean" - }, - "showRemaining": { - "description": "Whether to show remaining budget", - "type": "boolean" - }, - "notify": { - "description": "Whether to send notifications", - "type": "boolean" - }, - "organizationUnitIds": { - "description": "Organization unit IDs", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, - "notificationConfig": { - "description": "Notification configuration", - "type": "object", - "properties": { - "type": { - "description": "Notification type", - "type": "string", - "enum": [ - "Percentage", - "SpecificDay", - "BeforeDay" - ] - }, - "value": { - "description": "Notification value", - "type": "string" - } - }, - "required": [ - "type", - "value" - ] - } - }, - "required": [ - "name", - "technicalName", - "amount", - "startDate", - "renewsType" - ] + "$ref": "#/components/schemas/Criteria" } } } }, "responses": { - "201": { - "description": "Budget created successfully", + "200": { + "description": "Entity search result containing shopping lists", "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "b2b_components_budget": { - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "allOf": [ + { + "type": "object", + "properties": { + "elements": { + "type": "array", + "items": { + "$ref": "#/components/schemas/B2bComponentsShoppingList" + } + } } + }, + { + "$ref": "#/components/schemas/EntitySearchResult" } - } + ] } } } - }, - "400": { - "description": "Validation error or budget persistence failed" } }, "security": [ @@ -26718,66 +22481,29 @@ ] } }, - "/budgets/delete": { - "delete": { + "/shopping-list/{id}": { + "post": { "tags": [ - "B2B Budget Management" + "B2B Shopping Lists" ], - "summary": "Delete budgets", - "description": "This route is used to delete multiple budgets", - "operationId": "deleteBudgets", + "summary": "Load one shopping list", + "description": "This route is used to load one shopping list\n\n**Available Associations:**\n- `customer`\n- `employee`\n- `lineItems`\n- `organization`", + "operationId": "readShoppingList", "requestBody": { - "required": true, + "required": false, "content": { "application/json": { "schema": { - "type": "object", - "properties": { - "ids": { - "description": "Budget IDs to delete", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "minItems": 1 - } - }, - "required": [ - "ids" - ] + "$ref": "#/components/schemas/Criteria" } } } }, - "responses": { - "204": { - "description": "Budgets deleted successfully" - }, - "400": { - "description": "Missing or invalid IDs parameter" - } - }, - "security": [ - { - "ApiKey": [] - } - ] - } - }, - "/budget/{id}/recipients": { - "post": { - "tags": [ - "B2B Budget Management" - ], - "summary": "Store budget recipients", - "description": "This route is used to add recipients (employees) to a budget for notifications", - "operationId": "storeBudgetRecipients", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the budget to add recipients to", + "description": "Identifier of the shopping list to be fetched", "required": true, "schema": { "type": "string", @@ -26788,64 +22514,46 @@ "$ref": "#/components/parameters/swLanguageId" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "employeeIds": { - "description": "Employee IDs to add as budget recipients", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "minItems": 1 - } - }, - "required": [ - "employeeIds" - ] + "responses": { + "200": { + "description": "Shopping list entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/B2bComponentsShoppingList" + } } } } }, - "responses": { - "204": { - "description": "Budget recipients stored successfully" - }, - "400": { - "description": "Validation error or budget persistence failed" - }, - "404": { - "description": "Budget not found" - } - }, "security": [ { "ApiKey": [] } ] - }, - "delete": { + } + }, + "/shopping-list/{id}/change-name": { + "patch": { "tags": [ - "B2B Budget Management" + "B2B Shopping Lists" ], - "summary": "Delete budget recipients", - "description": "This route is used to remove recipients (employees) from a budget", - "operationId": "deleteBudgetRecipients", + "summary": "Update shopping list name", + "description": "This route is used to update shopping list name", + "operationId": "updateShoppingList", "parameters": [ { "name": "id", "in": "path", - "description": "Identifier of the budget to remove recipients from", + "description": "Identifier of the shopping list to be fetched", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } + }, + { + "$ref": "#/components/parameters/swLanguageId" } ], "requestBody": { @@ -26855,18 +22563,13 @@ "schema": { "type": "object", "properties": { - "employeeIds": { - "description": "Employee IDs to remove from budget recipients", - "type": "array", - "items": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - }, - "minItems": 1 + "name": { + "description": "Shopping list name", + "type": "string" } }, "required": [ - "employeeIds" + "name" ] } } @@ -26874,13 +22577,7 @@ }, "responses": { "204": { - "description": "Budget recipients deleted successfully" - }, - "400": { - "description": "Validation error or budget persistence failed" - }, - "404": { - "description": "Budget not found" + "description": "No content response" } }, "security": [ @@ -26890,183 +22587,261 @@ ] } }, - "/checkout/budgets": { - "get": { + "/shopping-list/{id}/duplicate": { + "post": { "tags": [ - "B2B Budget Management" + "B2B Shopping Lists" ], - "summary": "Get available budgets for checkout", - "description": "This route is used to get available budgets for the current employee during checkout", - "operationId": "getCheckoutAvailableBudgets", - "responses": { - "200": { - "description": "Available budgets for checkout", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "budgets": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsBudget" - } - } - } - } - } + "summary": "Duplicate new shopping list", + "description": "This route is used to duplicate a new shopping list from the store", + "operationId": "duplicateShoppingList", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the shopping list to be fetched", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" } }, - "400": { - "description": "Employee not logged in or validation error" - } - }, - "security": [ - { - "ApiKey": [] - } - ], - "parameters": [ { "$ref": "#/components/parameters/swLanguageId" } - ] - }, - "post": { - "tags": [ - "B2B Budget Management" ], - "summary": "Get available budgets for checkout", - "description": "This route is used to get available budgets for the current employee during checkout", - "operationId": "getCheckoutAvailableBudgetsPost", "requestBody": { - "required": false, + "required": true, "content": { "application/json": { "schema": { - "type": "object" + "properties": { + "name": { + "description": "Shopping list name", + "type": "string" + } + }, + "type": "object", + "required": [ + "name" + ] } } } }, "responses": { "200": { - "description": "Available budgets for checkout", + "description": "The generated id of the duplicated shopping list", "content": { "application/json": { "schema": { - "type": "object", "properties": { - "budgets": { - "type": "array", - "items": { - "$ref": "#/components/schemas/B2bComponentsBudget" - } + "id": { + "description": "The generated id of the duplicated shopping list", + "type": "string" } - } + }, + "type": "object" } } } - }, - "400": { - "description": "Employee not logged in or validation error" } }, "security": [ { "ApiKey": [] } - ], - "parameters": [ - { - "$ref": "#/components/parameters/swLanguageId" - } ] } }, - "/checkout/budget/{budgetId}/statistic": { + "/shopping-list/{id}/summary": { "get": { "tags": [ - "B2B Budget Management" + "B2B Shopping Lists" ], - "summary": "Get budget statistics for checkout", - "description": "This route is used to get budget statistics for the current employee during checkout", - "operationId": "getCheckoutBudgetStatistic", + "summary": "Price summary for shopping list", + "description": "This route is used to get a price summary for shopping list", + "operationId": "summaryShoppingList", "parameters": [ { - "name": "budgetId", + "name": "id", "in": "path", - "description": "Budget ID to get statistics for", + "description": "Identifier of the shopping list to be fetched", "required": true, "schema": { "type": "string", "pattern": "^[0-9a-f]{32}$" } }, - { - "name": "quoteId", - "in": "query", - "description": "Quote ID to calculate statistics for (optional)", - "required": false, - "schema": { - "type": "string", - "pattern": "^[0-9a-f]{32}$" - } - }, { "$ref": "#/components/parameters/swLanguageId" } ], "responses": { "200": { - "description": "Budget statistics for checkout", + "description": "Shopping list summary", "content": { "application/json": { "schema": { "type": "object", "properties": { - "data": { + "price": { "type": "object", "properties": { - "amount": { - "description": "Budget total amount", + "netPrice": { + "description": "Net price of the cart", "type": "number", "format": "float" }, - "usedAmount": { - "description": "Budget used amount", + "totalPrice": { + "description": "Total price of the cart, including shipping costs, discounts and taxes", "type": "number", "format": "float" }, - "allowApproval": { - "description": "Whether budget allows approval", - "type": "boolean" - }, - "isExceeded": { - "description": "Whether budget is exceeded", - "type": "boolean" - }, - "factor": { - "description": "Currency factor", + "positionPrice": { + "description": "Price for all line items in the cart", "type": "number", "format": "float" + }, + "taxStatus": { + "description": "Tax calculation for the cart. One of `gross`, `net` or `tax-free`", + "type": "string" + } + } + } + } + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } + }, + "/shopping-list/{id}/add": { + "post": { + "tags": [ + "B2B Shopping Lists" + ], + "summary": "Add more product to shopping list", + "description": "This route is used to add more products to shopping list", + "operationId": "addLineItems", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Identifier of the shopping list to be fetched", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "requestBody": { + "required": false, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "lineItems": { + "type": "object", + "additionalProperties": { + "type": "object", + "properties": { + "id": { + "description": "Product id", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + }, + "quantity": { + "description": "Quantity of the product", + "type": "integer" } }, "required": [ - "allowApproval", - "isExceeded" + "id", + "quantity" ] } } + }, + "required": [ + "lineItems" + ] + } + } + } + }, + "responses": { + "204": { + "description": "No content response" + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } + }, + "/shopping-list/line-item/remove": { + "post": { + "tags": [ + "B2B Shopping Lists" + ], + "summary": "Delete shopping list line items", + "description": "This route is used to delete shopping list line items", + "operationId": "removeLineItems", + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "ids": { + "description": "Line items ids", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "productIds": { + "description": "Product ids", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + "listId": { + "description": "List id", + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } } } } - }, - "400": { - "description": "Employee not logged in, missing budget ID, or validation error" - }, - "404": { - "description": "Budget not found" + } + }, + "responses": { + "204": { + "description": "No content response" } }, "security": [ @@ -27074,19 +22849,21 @@ "ApiKey": [] } ] - }, + } + }, + "/shopping-list/line-item/{id}/change-quantity": { "post": { "tags": [ - "B2B Budget Management" + "B2B Shopping Lists" ], - "summary": "Get budget statistics for checkout", - "description": "This route is used to get budget statistics for the current employee during checkout", - "operationId": "getCheckoutBudgetStatisticPost", + "summary": "Update shopping list line item quantity", + "description": "This route is used to update shopping list line item quantity", + "operationId": "updateLineItems", "parameters": [ { - "name": "budgetId", + "name": "id", "in": "path", - "description": "Budget ID to get statistics for", + "description": "Identifier of the shopping list line item to be fetched", "required": true, "schema": { "type": "string", @@ -27104,66 +22881,69 @@ "schema": { "type": "object", "properties": { - "quoteId": { - "description": "Quote ID to calculate statistics for (optional)", - "type": "string", - "pattern": "^[0-9a-f]{32}$" + "quantity": { + "description": "new line item quantity", + "type": "integer" } - } + }, + "required": [ + "quantity" + ] } } } }, "responses": { - "200": { - "description": "Budget statistics for checkout", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "data": { - "type": "object", - "properties": { - "amount": { - "description": "Budget total amount", - "type": "number", - "format": "float" - }, - "usedAmount": { - "description": "Budget used amount", - "type": "number", - "format": "float" - }, - "allowApproval": { - "description": "Whether budget allows approval", - "type": "boolean" - }, - "isExceeded": { - "description": "Whether budget is exceeded", - "type": "boolean" - }, - "factor": { - "description": "Currency factor", - "type": "number", - "format": "float" - } - }, - "required": [ - "allowApproval", - "isExceeded" - ] + "204": { + "description": "No content response" + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } + }, + "/shopping-lists/add-to-cart": { + "post": { + "tags": [ + "B2B Shopping Lists" + ], + "summary": "Add shopping lists to cart", + "description": "This route is used to add shopping lists to cart", + "operationId": "addShoppingListsToCart", + "parameters": [ + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ids" + ], + "properties": { + "ids": { + "description": "Shopping list ids", + "type": "array", + "items": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" } } } } } - }, - "400": { - "description": "Employee not logged in, missing budget ID, or validation error" - }, - "404": { - "description": "Budget not found" + } + }, + "responses": { + "204": { + "description": "No content response" } }, "security": [ @@ -27230,6 +23010,90 @@ } } } + }, + "/sso/auth/{providerId}": { + "post": { + "tags": [ + "Sso" + ], + "summary": "Authenticates via SSO", + "description": "Authenticates login via a given SSO provider ID", + "operationId": "auth", + "parameters": [ + { + "name": "providerId", + "in": "path", + "description": "Identifier of the SSO provider used to authenticate", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "responses": { + "204": { + "description": "Successfully authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SuccessResponse" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } + }, + "/sso/redirect/{providerId}": { + "post": { + "tags": [ + "Sso" + ], + "summary": "Redirects after authentication", + "description": "Redirects after authenticated login via a given SSO provider ID", + "operationId": "redirect", + "parameters": [ + { + "name": "providerId", + "in": "path", + "description": "Identifier of the SSO provider used to authenticate", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9a-f]{32}$" + } + }, + { + "$ref": "#/components/parameters/swLanguageId" + } + ], + "responses": { + "204": { + "description": "Successfully authenticated", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SuccessResponse" + } + } + } + } + }, + "security": [ + { + "ApiKey": [] + } + ] + } } }, "tags": [ diff --git a/SwagCommercial-storeapi.summary.json b/SwagCommercial-storeapi.summary.json index 78b7bb9..708b982 100644 --- a/SwagCommercial-storeapi.summary.json +++ b/SwagCommercial-storeapi.summary.json @@ -78,7 +78,6 @@ ], "schemas": [ "AccountNewsletterRecipient", - "AclRole", "AdvancedSearchAction", "AdvancedSearchActionSearchTerm", "AdvancedSearchBoosting", @@ -96,21 +95,6 @@ "AggregationMetrics", "AggregationRange", "AggregationTerms", - "App", - "AppActionButton", - "AppAdministrationSnippet", - "AppCmsBlock", - "AppFlowAction", - "AppFlowEvent", - "AppMcpPrompt", - "AppMcpResource", - "AppMcpTool", - "AppPaymentMethod", - "AppScriptCondition", - "AppShippingMethod", - "AppTemplate", - "ApprovalRule", - "Association", "Associations", "B2bBusinessPartner", "B2bComponentsAdvancedProductCatalogs", @@ -119,8 +103,6 @@ "B2bComponentsBudget", "B2bComponentsBudgetNotificationRecipient", "B2bComponentsBudgetOrganization", - "B2bComponentsEmployeeWishlist", - "B2bComponentsEmployeeWishlistProduct", "B2bComponentsIndividualPricing", "B2bComponentsIndividualPricingCompanyAssignment", "B2bComponentsIndividualPricingCompanyAssignmentUnit", @@ -133,9 +115,7 @@ "B2bComponentsPendingOrderAddress", "B2bComponentsRole", "B2bComponentsShoppingList", - "B2bComponentsShoppingListJsonApi", "B2bComponentsShoppingListLineItem", - "B2bComponentsShoppingListLineItemJsonApi", "B2bComponentsSubscriptionBudget", "B2bComponentsSubscriptionEmployee", "B2bEmployee", @@ -156,6 +136,7 @@ "CartItemsUpdate", "CartLineItemUpdate", "CartListPrice", + "CartPrice", "CartPriceQuantity", "CartPriceReference", "Category", @@ -167,7 +148,6 @@ "CookieEntry", "CookieEntryCollection", "CookieGroup", - "CookieGroupCollection", "CookieRouteResponse", "Country", "CountryState", @@ -175,26 +155,15 @@ "CrossSellingElement", "CrossSellingElementCollection", "Currency", - "CurrencyCountryRounding", - "CustomEntity", - "CustomField", - "CustomFieldSet", - "CustomFieldSetRelation", "CustomPrice", "Customer", "CustomerAddress", "CustomerAddressBody", "CustomerAddressRead", "CustomerGroup", - "CustomerRecovery", "CustomerSpecificFeatures", - "CustomerTag", - "CustomerWishlist", - "CustomerWishlistProduct", "DeliveryTime", "Document", - "DocumentBaseConfig", - "DocumentBaseConfigSalesChannel", "DocumentType", "EmployeeAvailableContextsResponse", "EmployeeContext", @@ -203,50 +172,24 @@ "Excludes", "Filters", "FindProductVariantRouteResponse", - "Flow", - "FlowSequence", - "FlowTemplate", - "ImportExportFile", - "ImportExportLog", - "ImportExportProfile", "Includes", - "Integration", "LandingPage", "Language", "LineItem", - "LineItemType", "ListCategoryRouteResponse", "ListPrice", "Locale", - "LogEntry", - "MailHeaderFooter", - "MailTemplate", - "MailTemplateMedia", - "MailTemplateType", "MainCategory", - "MeasurementDisplayUnit", - "MeasurementSystem", "MeasurementUnits", "Media", "MediaAiTag", - "MediaDefaultFolder", - "MediaFolder", - "MediaFolderConfiguration", - "MediaTag", "MediaThumbnail", - "MediaThumbnailSize", "MultiNotFilter", "NaturalLanguageSearchTermResponse", "NavigationRouteResponse", "NavigationType", - "NewsletterRecipient", "NewsletterStatus", "NoneFieldsCriteria", - "Notification", - "NumberRange", - "NumberRangeSalesChannel", - "NumberRangeState", - "NumberRangeType", "Order", "OrderAddress", "OrderCustomer", @@ -259,53 +202,32 @@ "OrderReturnLineItem", "OrderReturnLineItemReason", "OrderRouteResponse", - "OrderTag", "OrderTransaction", "OrderTransactionCapture", "OrderTransactionCaptureRefund", "OrderTransactionCaptureRefundPosition", "OrderWarehouseGroup", "PaymentMethod", - "PendingOrder", - "Plugin", "Price", "Product", "ProductConfiguratorSetting", "ProductCrossSelling", - "ProductCrossSellingAssignedProducts", "ProductDetailResponse", "ProductDownload", - "ProductExport", - "ProductFeatureSet", "ProductJsonApi", - "ProductKeywordDictionary", "ProductListingCriteria", "ProductListingFlags", "ProductListingResult", "ProductManufacturer", "ProductMeasurements", "ProductMedia", - "ProductPrice", "ProductPurchaseLimit", "ProductReview", "ProductReviewSummary", - "ProductSearchConfig", - "ProductSearchConfigField", - "ProductSearchKeyword", - "ProductSorting", "ProductStream", - "ProductStreamFilter", - "ProductVisibility", "ProductWarehouse", - "Promotion", - "PromotionDiscount", - "PromotionDiscountPrices", - "PromotionIndividualCode", - "PromotionSalesChannel", - "PromotionSetgroup", "PropertyGroup", "PropertyGroupOption", - "Query", "Quote", "QuoteComment", "QuoteDelivery", @@ -314,7 +236,6 @@ "QuoteEmployee", "QuoteEmployeeNotificationRecipient", "QuoteHistory", - "QuoteJsonApi", "QuoteLineItem", "QuoteLineItemHistory", "QuoteNotificationRecipient", @@ -322,28 +243,16 @@ "RangeFilter", "ReferencePrice", "Rule", - "RuleCondition", "SalesChannel", - "SalesChannelAnalytics", "SalesChannelContext", "SalesChannelDomain", - "SalesChannelFile", - "SalesChannelTrackingCustomer", - "SalesChannelTrackingOrder", - "SalesChannelType", "Salutation", - "ScheduledTask", - "Script", "SearchByImageSearchTermResponse", "SeoUrl", - "SeoUrlTemplate", "ShippingMethod", - "ShippingMethodPageRouteResponse", "ShippingMethodPrice", "SimpleFilter", "Sitemap", - "Snippet", - "SnippetSet", "Sort", "SpatialRenderConfigSize", "SpatialScene", @@ -355,10 +264,7 @@ "SpatialScenePrimitive", "SsoProvider", "SsoProviderCustomer", - "StateMachine", - "StateMachineHistory", "StateMachineState", - "StateMachineTransition", "SubAggregations", "Subscription", "SubscriptionAddress", @@ -371,41 +277,26 @@ "SubscriptionTagMapping", "SuccessResponse", "SwagDelayAction", - "SystemConfig", "Tag", "Tax", - "TaxProvider", - "TaxRule", - "TaxRuleType", - "Theme", "TotalCountMode", "Unit", "User", - "UserAccessKey", - "UserConfig", - "UserRecovery", "Warehouse", "WarehouseGroup", - "Webhook", - "WebhookEventLog", "WishlistLoadRouteResponse", "attributes", - "data", "error", "failure", - "info", - "jsonapi", "link", "linkage", "links", "meta", - "pagination", "relationship", "relationshipLinks", "relationshipToMany", "relationshipToOne", "relationships", - "resource", - "success" + "resource" ] }