openapi: 3.0.4 info: title: VirtoCommerce.Cart Catalog API version: v1 description: Easily manage your products, categories, variations, and properties tags: - name: Catalog description: Easily manage your products, categories, variations, and properties paths: /api/catalog/automatic-link-queries/search: post: tags: - Catalog operationId: AutomaticLinkQuery_Search requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/AutomaticLinkQuerySearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/AutomaticLinkQuerySearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/AutomaticLinkQuerySearchCriteria' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/AutomaticLinkQuerySearchResult' application/json: schema: $ref: '#/components/schemas/AutomaticLinkQuerySearchResult' text/json: schema: $ref: '#/components/schemas/AutomaticLinkQuerySearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:read - api_key: - catalog:read - api_key_header: - catalog:read - http-signature: - catalog:read - basic: - catalog:read x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/automatic-link-queries: post: tags: - Catalog operationId: AutomaticLinkQuery_Create requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/AutomaticLinkQuery' application/json: schema: allOf: - $ref: '#/components/schemas/AutomaticLinkQuery' text/json: schema: allOf: - $ref: '#/components/schemas/AutomaticLinkQuery' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/AutomaticLinkQuery' application/json: schema: $ref: '#/components/schemas/AutomaticLinkQuery' text/json: schema: $ref: '#/components/schemas/AutomaticLinkQuery' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:create - api_key: - catalog:create - api_key_header: - catalog:create - http-signature: - catalog:create - basic: - catalog:create x-virtocommerce-module-id: VirtoCommerce.Catalog put: tags: - Catalog operationId: AutomaticLinkQuery_Update requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/AutomaticLinkQuery' application/json: schema: allOf: - $ref: '#/components/schemas/AutomaticLinkQuery' text/json: schema: allOf: - $ref: '#/components/schemas/AutomaticLinkQuery' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/AutomaticLinkQuery' application/json: schema: $ref: '#/components/schemas/AutomaticLinkQuery' text/json: schema: $ref: '#/components/schemas/AutomaticLinkQuery' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:update - api_key: - catalog:update - api_key_header: - catalog:update - http-signature: - catalog:update - basic: - catalog:update x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog operationId: AutomaticLinkQuery_Delete parameters: - name: ids in: query schema: type: array items: type: string responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:delete - api_key: - catalog:delete - api_key_header: - catalog:delete - http-signature: - catalog:delete - basic: - catalog:delete x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/automatic-link-queries/{id}: get: tags: - Catalog operationId: AutomaticLinkQuery_Get parameters: - name: id in: path required: true schema: type: string - name: responseGroup in: query schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/AutomaticLinkQuery' application/json: schema: $ref: '#/components/schemas/AutomaticLinkQuery' text/json: schema: $ref: '#/components/schemas/AutomaticLinkQuery' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:read - api_key: - catalog:read - api_key_header: - catalog:read - http-signature: - catalog:read - basic: - catalog:read x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/associations/{productId}: get: tags: - Catalog summary: Returns list of associations for specified product description: Returns list of associations for specified product operationId: CatalogModuleAssociations_GetProductAssociations parameters: - name: productId in: path description: Owner product id required: true schema: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/ProductAssociation' application/json: schema: type: array items: $ref: '#/components/schemas/ProductAssociation' text/json: schema: type: array items: $ref: '#/components/schemas/ProductAssociation' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:read - api_key: - catalog:read - api_key_header: - catalog:read - http-signature: - catalog:read - basic: - catalog:read x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/associations/get/multiple: post: tags: - Catalog summary: Returns list of associations for specified products description: Returns list of associations for specified products operationId: CatalogModuleAssociations_GetProductsAssociations requestBody: description: Array of product ids content: application/json-patch+json: schema: type: array items: type: string application/json: schema: type: array items: type: string text/json: schema: type: array items: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/ProductAssociation' application/json: schema: type: array items: $ref: '#/components/schemas/ProductAssociation' text/json: schema: type: array items: $ref: '#/components/schemas/ProductAssociation' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:read - api_key: - catalog:read - api_key_header: - catalog:read - http-signature: - catalog:read - basic: - catalog:read x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/associations: post: tags: - Catalog summary: Updates the specified association description: Updates the specified association operationId: CatalogModuleAssociations_UpdateAssociations requestBody: description: The association content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/ProductAssociation' application/json: schema: type: array items: $ref: '#/components/schemas/ProductAssociation' text/json: schema: type: array items: $ref: '#/components/schemas/ProductAssociation' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:update - api_key: - catalog:update - api_key_header: - catalog:update - http-signature: - catalog:update - basic: - catalog:update x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog summary: Deletes specified associations description: Updates the specified association operationId: CatalogModuleAssociations_Delete parameters: - name: ids in: query description: associations to delete ids schema: type: array items: type: string responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:delete - api_key: - catalog:delete - api_key_header: - catalog:delete - http-signature: - catalog:delete - basic: - catalog:delete x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/associations/search: post: tags: - Catalog summary: Returns associations by search criteria description: Returns associations by search criteria operationId: CatalogModuleAssociations_Search requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/ProductAssociationSearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/ProductAssociationSearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/ProductAssociationSearchCriteria' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ProductAssociationSearchResult' application/json: schema: $ref: '#/components/schemas/ProductAssociationSearchResult' text/json: schema: $ref: '#/components/schemas/ProductAssociationSearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:read - api_key: - catalog:read - api_key_header: - catalog:read - http-signature: - catalog:read - basic: - catalog:read x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/associations/{id}: patch: tags: - Catalog summary: Partial update for the specified association by id operationId: CatalogModuleAssociations_PatchAssociation parameters: - name: id in: path description: ProductAssociation id required: true schema: type: string requestBody: description: JsonPatchDocument object with fields to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:update - api_key: - catalog:update - api_key_header: - catalog:update - http-signature: - catalog:update - basic: - catalog:update x-virtocommerce-module-id: VirtoCommerce.Catalog /api/brand-settings/store/{storeId}: get: tags: - Catalog operationId: CatalogModuleBrandSetting_GetByStoreId parameters: - name: storeId in: path required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/BrandStoreSetting' application/json: schema: $ref: '#/components/schemas/BrandStoreSetting' text/json: schema: $ref: '#/components/schemas/BrandStoreSetting' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:read - api_key: - catalog:read - api_key_header: - catalog:read - http-signature: - catalog:read - basic: - catalog:read x-virtocommerce-module-id: VirtoCommerce.Catalog /api/brand-settings: put: tags: - Catalog operationId: CatalogModuleBrandSetting_Update requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/BrandStoreSetting' application/json: schema: allOf: - $ref: '#/components/schemas/BrandStoreSetting' text/json: schema: allOf: - $ref: '#/components/schemas/BrandStoreSetting' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:update - api_key: - catalog:update - api_key_header: - catalog:update - http-signature: - catalog:update - basic: - catalog:update x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/catalogs/search: post: tags: - Catalog operationId: CatalogModuleCatalogs_SearchCatalogs requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/CatalogSearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/CatalogSearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/CatalogSearchCriteria' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/CatalogSearchResult' application/json: schema: $ref: '#/components/schemas/CatalogSearchResult' text/json: schema: $ref: '#/components/schemas/CatalogSearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/catalogs/{id}: get: tags: - Catalog summary: Gets Catalog by id description: Gets Catalog by id with full information loaded operationId: CatalogModuleCatalogs_GetCatalog parameters: - name: id in: path description: The Catalog id. required: true schema: type: string - name: responseGroup in: query description: Response group schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Catalog' application/json: schema: $ref: '#/components/schemas/Catalog' text/json: schema: $ref: '#/components/schemas/Catalog' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog summary: Deletes catalog by id description: Deletes catalog by id operationId: CatalogModuleCatalogs_DeleteCatalog parameters: - name: id in: path description: Catalog id. required: true schema: type: string responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:delete - api_key: - catalog:delete - api_key_header: - catalog:delete - http-signature: - catalog:delete - basic: - catalog:delete x-virtocommerce-module-id: VirtoCommerce.Catalog patch: tags: - Catalog summary: Partial update for the specified Catalog by id operationId: CatalogModuleCatalogs_PatchCatalog parameters: - name: id in: path description: Catalog id required: true schema: type: string requestBody: description: JsonPatchDocument object with fields to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/catalogs/outer/{outerId}: get: tags: - Catalog summary: Gets catalog by outer id. description: Gets catalog by outer id operationId: CatalogModuleCatalogs_GetCatalogByOuterId parameters: - name: outerId in: path description: Catalog outer id required: true schema: type: string - name: responseGroup in: query description: Response group schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Catalog' application/json: schema: $ref: '#/components/schemas/Catalog' text/json: schema: $ref: '#/components/schemas/Catalog' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/catalogs/getnew: get: tags: - Catalog summary: Gets the template for a new catalog description: Gets the template for a new common catalog operationId: CatalogModuleCatalogs_GetNewCatalog responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Catalog' application/json: schema: $ref: '#/components/schemas/Catalog' text/json: schema: $ref: '#/components/schemas/Catalog' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:create - api_key: - catalog:create - api_key_header: - catalog:create - http-signature: - catalog:create - basic: - catalog:create x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/catalogs/getnewvirtual: get: tags: - Catalog summary: Gets the template for a new virtual catalog operationId: CatalogModuleCatalogs_GetNewVirtualCatalog responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Catalog' application/json: schema: $ref: '#/components/schemas/Catalog' text/json: schema: $ref: '#/components/schemas/Catalog' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:create - api_key: - catalog:create - api_key_header: - catalog:create - http-signature: - catalog:create - basic: - catalog:create x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/catalogs: post: tags: - Catalog summary: Creates the specified catalog description: Creates the specified catalog operationId: CatalogModuleCatalogs_CreateCatalog requestBody: description: The catalog to create content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/Catalog' application/json: schema: allOf: - $ref: '#/components/schemas/Catalog' text/json: schema: allOf: - $ref: '#/components/schemas/Catalog' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Catalog' application/json: schema: $ref: '#/components/schemas/Catalog' text/json: schema: $ref: '#/components/schemas/Catalog' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:create - api_key: - catalog:create - api_key_header: - catalog:create - http-signature: - catalog:create - basic: - catalog:create x-virtocommerce-module-id: VirtoCommerce.Catalog put: tags: - Catalog summary: Updates the specified catalog description: Updates the specified catalog. operationId: CatalogModuleCatalogs_UpdateCatalog requestBody: description: The catalog. content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/Catalog' application/json: schema: allOf: - $ref: '#/components/schemas/Catalog' text/json: schema: allOf: - $ref: '#/components/schemas/Catalog' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:update - api_key: - catalog:update - api_key_header: - catalog:update - http-signature: - catalog:update - basic: - catalog:update x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/categories/{id}: get: tags: - Catalog summary: Gets category by id. operationId: CatalogModuleCategories_GetCategory parameters: - name: id in: path description: Category id. required: true schema: type: string - name: responseGroup in: query description: Response group schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Category' application/json: schema: $ref: '#/components/schemas/Category' text/json: schema: $ref: '#/components/schemas/Category' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog patch: tags: - Catalog summary: Partial update for the specified Category by id operationId: CatalogModuleCategories_PatchCategory parameters: - name: id in: path description: Category id required: true schema: type: string requestBody: description: JsonPatchDocument object with fields to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/categories/outer/{outerId}: get: tags: - Catalog summary: Gets category by outer id. description: Gets category by outer id (integration key) with full information loaded operationId: CatalogModuleCategories_GetCategoryByOuterId parameters: - name: outerId in: path description: Category outer id required: true schema: type: string - name: responseGroup in: query description: Response group schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Catalog' application/json: schema: $ref: '#/components/schemas/Catalog' text/json: schema: $ref: '#/components/schemas/Catalog' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/categories: get: tags: - Catalog summary: Gets categories by ids operationId: CatalogModuleCategories_GetCategoriesByIdsAsync parameters: - name: ids in: query description: Categories ids schema: type: array items: type: string - name: respGroup in: query description: Response group. schema: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/Category' application/json: schema: type: array items: $ref: '#/components/schemas/Category' text/json: schema: type: array items: $ref: '#/components/schemas/Category' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog post: tags: - Catalog summary: Creates or updates the specified category. description: If category ID does not exist in the database, a new category is created. It's updated otherwise operationId: CatalogModuleCategories_CreateOrUpdateCategory requestBody: description: The category. content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/Category' application/json: schema: allOf: - $ref: '#/components/schemas/Category' text/json: schema: allOf: - $ref: '#/components/schemas/Category' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog summary: Deletes the specified categories by id. operationId: CatalogModuleCategories_DeleteCategory parameters: - name: ids in: query description: The categories ids. schema: type: array items: type: string responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/categories/plenty: post: tags: - Catalog summary: Get categories by plenty ids operationId: CatalogModuleCategories_GetCategoriesByPlentyIds parameters: - name: respGroup in: query description: Response group schema: type: string requestBody: description: Categories ids content: application/json-patch+json: schema: type: array items: type: string application/json: schema: type: array items: type: string text/json: schema: type: array items: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/Category' application/json: schema: type: array items: $ref: '#/components/schemas/Category' text/json: schema: type: array items: $ref: '#/components/schemas/Category' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/{catalogId}/categories-by-codes: post: tags: - Catalog summary: Gets categories by codes operationId: CatalogModuleCategories_GetCategoriesByCodes parameters: - name: catalogId in: path description: Catalog id required: true schema: type: string - name: responseGroup in: query description: Response group schema: type: string requestBody: description: Category codes content: application/json-patch+json: schema: type: array items: type: string application/json: schema: type: array items: type: string text/json: schema: type: array items: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/Category' application/json: schema: type: array items: $ref: '#/components/schemas/Category' text/json: schema: type: array items: $ref: '#/components/schemas/Category' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/{catalogId}/categories/newcategory: get: tags: - Catalog summary: Gets the template for a new category. operationId: CatalogModuleCategories_GetNewCategory parameters: - name: catalogId in: path description: The catalog id. required: true schema: type: string - name: parentCategoryId in: query description: The parent category id. (Optional) schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Category' application/json: schema: $ref: '#/components/schemas/Category' text/json: schema: $ref: '#/components/schemas/Category' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/categories/batch: post: tags: - Catalog summary: Create/Update the specified categories. operationId: CatalogModuleCategories_SaveCategories requestBody: description: The categories. content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Category' application/json: schema: type: array items: $ref: '#/components/schemas/Category' text/json: schema: type: array items: $ref: '#/components/schemas/Category' responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/Category' application/json: schema: type: array items: $ref: '#/components/schemas/Category' text/json: schema: type: array items: $ref: '#/components/schemas/Category' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/categories/{id}/automatic-links: post: tags: - Catalog operationId: CatalogModuleCategories_UpdateAutomaticLinks parameters: - name: id in: path required: true schema: type: string responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog operationId: CatalogModuleCategories_DeleteAutomaticLinks parameters: - name: id in: path required: true schema: type: string responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/configurations/{id}: get: tags: - Catalog summary: Get configuration by id. description: Gets configuration by id with full information loaded operationId: CatalogModuleConfigurations_GetConfiguration parameters: - name: id in: path description: The configuration id required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ProductConfiguration' application/json: schema: $ref: '#/components/schemas/ProductConfiguration' text/json: schema: $ref: '#/components/schemas/ProductConfiguration' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:configurations:read - api_key: - catalog:configurations:read - api_key_header: - catalog:configurations:read - http-signature: - catalog:configurations:read - basic: - catalog:configurations:read x-virtocommerce-module-id: VirtoCommerce.Catalog patch: tags: - Catalog summary: Partial update for the specified Configuration by id operationId: CatalogModuleConfigurations_PatchConfiguration parameters: - name: id in: path description: Configuration id required: true schema: type: string requestBody: description: JsonPatchDocument object with fields to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:configurations:update - api_key: - catalog:configurations:update - api_key_header: - catalog:configurations:update - http-signature: - catalog:configurations:update - basic: - catalog:configurations:update x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/configurations/search: post: tags: - Catalog summary: Search configurations operationId: CatalogModuleConfigurations_SearchConfigurations requestBody: description: Search criteria content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/ProductConfigurationSearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/ProductConfigurationSearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/ProductConfigurationSearchCriteria' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ProductConfigurationSearchResult' application/json: schema: $ref: '#/components/schemas/ProductConfigurationSearchResult' text/json: schema: $ref: '#/components/schemas/ProductConfigurationSearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:configurations:read - api_key: - catalog:configurations:read - api_key_header: - catalog:configurations:read - http-signature: - catalog:configurations:read - basic: - catalog:configurations:read x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/configurations: post: tags: - Catalog summary: Create or update the specified configuration. description: If configuration id is null, a new configuration is created. It's updated otherwise operationId: CatalogModuleConfigurations_CreateOrUpdateConfiguration requestBody: description: The configuration. content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/ProductConfiguration' application/json: schema: allOf: - $ref: '#/components/schemas/ProductConfiguration' text/json: schema: allOf: - $ref: '#/components/schemas/ProductConfiguration' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:configurations:update - api_key: - catalog:configurations:update - api_key_header: - catalog:configurations:update - http-signature: - catalog:configurations:update - basic: - catalog:configurations:update x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/search/products: post: tags: - Catalog operationId: CatalogModuleIndexedSearch_SearchProducts requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/ProductIndexedSearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/ProductIndexedSearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/ProductIndexedSearchCriteria' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ProductIndexedSearchResult' application/json: schema: $ref: '#/components/schemas/ProductIndexedSearchResult' text/json: schema: $ref: '#/components/schemas/ProductIndexedSearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/search/products/suggestions: post: tags: - Catalog operationId: CatalogModuleIndexedSearch_GetProductSuggestions parameters: - name: CatalogId in: query description: Filter the suggestion results by a catalog ID schema: type: string - name: Query in: query description: A word, phrase, or text fragment which will be used to make suggestions schema: type: string - name: Size in: query description: Number of suggestions to return schema: type: integer format: int32 responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/SuggestionResponse' application/json: schema: $ref: '#/components/schemas/SuggestionResponse' text/json: schema: $ref: '#/components/schemas/SuggestionResponse' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/search/categories: post: tags: - Catalog operationId: CatalogModuleIndexedSearch_SearchCategories requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/CategoryIndexedSearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/CategoryIndexedSearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/CategoryIndexedSearchCriteria' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/CategoryIndexedSearchResult' application/json: schema: $ref: '#/components/schemas/CategoryIndexedSearchResult' text/json: schema: $ref: '#/components/schemas/CategoryIndexedSearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/listentries: post: tags: - Catalog summary: Searches for the items by complex criteria. operationId: CatalogModuleListEntry_ListItemsSearchAsync requestBody: description: The search criteria. content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/CatalogListEntrySearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/CatalogListEntrySearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/CatalogListEntrySearchCriteria' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ListEntrySearchResult' application/json: schema: $ref: '#/components/schemas/ListEntrySearchResult' text/json: schema: $ref: '#/components/schemas/ListEntrySearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/listentrylinks: post: tags: - Catalog summary: Creates links for categories or items to parent categories and catalogs. operationId: CatalogModuleListEntry_CreateLinks requestBody: description: The links. content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/CategoryLink' application/json: schema: type: array items: $ref: '#/components/schemas/CategoryLink' text/json: schema: type: array items: $ref: '#/components/schemas/CategoryLink' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/listentrylinks/bulkcreate: post: tags: - Catalog summary: Creates category links in bulk for catalog entries based on the specified search criteria. operationId: CatalogModuleListEntry_BulkCreateLinks requestBody: description: The request containing the target catalog, category, and search criteria for the entries to link. content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/BulkLinkCreationRequest' description: Information to search and create links to categories and items application/json: schema: allOf: - $ref: '#/components/schemas/BulkLinkCreationRequest' description: Information to search and create links to categories and items text/json: schema: allOf: - $ref: '#/components/schemas/BulkLinkCreationRequest' description: Information to search and create links to categories and items responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/listentrylinks/search: post: tags: - Catalog operationId: CatalogModuleListEntry_SearchLinks requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/LinkSearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/LinkSearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/LinkSearchCriteria' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/listentrylinks/delete: post: tags: - Catalog summary: Unlinks the linked categories or items from parent categories and catalogs. operationId: CatalogModuleListEntry_DeleteLinks requestBody: description: The links. content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/CategoryLink' application/json: schema: type: array items: $ref: '#/components/schemas/CategoryLink' text/json: schema: type: array items: $ref: '#/components/schemas/CategoryLink' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/listentries/move: post: tags: - Catalog summary: Move categories or products to another location. operationId: CatalogModuleListEntry_Move requestBody: description: Move operation request content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/ListEntriesMoveRequest' description: Represents move list entries command application/json: schema: allOf: - $ref: '#/components/schemas/ListEntriesMoveRequest' description: Represents move list entries command text/json: schema: allOf: - $ref: '#/components/schemas/ListEntriesMoveRequest' description: Represents move list entries command responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/listentries/delete: post: tags: - Catalog summary: Bulk delete by the search criteria. operationId: CatalogModuleListEntry_Delete requestBody: description: '' content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/CatalogListEntrySearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/CatalogListEntrySearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/CatalogListEntrySearchCriteria' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/measures/{id}: get: tags: - Catalog operationId: CatalogModuleMeasures_GetMeasureById parameters: - name: id in: path required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Measure' application/json: schema: $ref: '#/components/schemas/Measure' text/json: schema: $ref: '#/components/schemas/Measure' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - measures:access - api_key: - measures:access - api_key_header: - measures:access - http-signature: - measures:access - basic: - measures:access x-virtocommerce-module-id: VirtoCommerce.Catalog patch: tags: - Catalog summary: Partial update for the specified Measure by id operationId: CatalogModuleMeasures_PatchMeasure parameters: - name: id in: path description: Measure id required: true schema: type: string requestBody: description: JsonPatchDocument object with fields to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - measures:update - api_key: - measures:update - api_key_header: - measures:update - http-signature: - measures:update - basic: - measures:update x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/measures/search: post: tags: - Catalog operationId: CatalogModuleMeasures_SearchMeasures requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/MeasureSearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/MeasureSearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/MeasureSearchCriteria' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/MeasureSearchResult' application/json: schema: $ref: '#/components/schemas/MeasureSearchResult' text/json: schema: $ref: '#/components/schemas/MeasureSearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - measures:read - api_key: - measures:read - api_key_header: - measures:read - http-signature: - measures:read - basic: - measures:read x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/measures: post: tags: - Catalog operationId: CatalogModuleMeasures_CreateMeasure requestBody: content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Measure' application/json: schema: type: array items: $ref: '#/components/schemas/Measure' text/json: schema: type: array items: $ref: '#/components/schemas/Measure' responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/Measure' application/json: schema: type: array items: $ref: '#/components/schemas/Measure' text/json: schema: type: array items: $ref: '#/components/schemas/Measure' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - measures:create - api_key: - measures:create - api_key_header: - measures:create - http-signature: - measures:create - basic: - measures:create x-virtocommerce-module-id: VirtoCommerce.Catalog put: tags: - Catalog operationId: CatalogModuleMeasures_UpdateMeasure requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/Measure' application/json: schema: allOf: - $ref: '#/components/schemas/Measure' text/json: schema: allOf: - $ref: '#/components/schemas/Measure' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - measures:update - api_key: - measures:update - api_key_header: - measures:update - http-signature: - measures:update - basic: - measures:update x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog operationId: CatalogModuleMeasures_DeleteMeasures parameters: - name: ids in: query schema: type: array items: type: string responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - measures:delete - api_key: - measures:delete - api_key_header: - measures:delete - http-signature: - measures:delete - basic: - measures:delete x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/measures/default: get: tags: - Catalog operationId: CatalogModuleMeasures_GetDefaultMeasures responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/Measure' application/json: schema: type: array items: $ref: '#/components/schemas/Measure' text/json: schema: type: array items: $ref: '#/components/schemas/Measure' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - measures:read - api_key: - measures:read - api_key_header: - measures:read - http-signature: - measures:read - basic: - measures:read x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/{id}: get: tags: - Catalog summary: Gets product by id. operationId: CatalogModuleProducts_GetProductById parameters: - name: id in: path description: Item id. required: true schema: type: string - name: respGroup in: query description: Response group. schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/CatalogProduct' application/json: schema: $ref: '#/components/schemas/CatalogProduct' text/json: schema: $ref: '#/components/schemas/CatalogProduct' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog patch: tags: - Catalog summary: Partial update for the specified Product by id operationId: CatalogModuleProducts_PatchProduct parameters: - name: id in: path description: Product id required: true schema: type: string requestBody: description: JsonPatchDocument object with fields to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/outer/{outerId}: get: tags: - Catalog summary: Gets product by outer id. description: Gets product by outer id (integration key) with full information loaded operationId: CatalogModuleProducts_GetProductByOuterId parameters: - name: outerId in: path description: Product outer id required: true schema: type: string - name: responseGroup in: query description: '>Response group' schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Catalog' application/json: schema: $ref: '#/components/schemas/Catalog' text/json: schema: $ref: '#/components/schemas/Catalog' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/{catalogId}/products-by-codes: post: tags: - Catalog operationId: CatalogModuleProducts_GetByCodes parameters: - name: catalogId in: path required: true schema: type: string - name: responseGroup in: query schema: type: string requestBody: content: application/json-patch+json: schema: type: array items: type: string application/json: schema: type: array items: type: string text/json: schema: type: array items: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' application/json: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' text/json: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products: get: tags: - Catalog summary: Gets products by ids operationId: CatalogModuleProducts_GetProductByIds parameters: - name: ids in: query description: Item ids schema: type: array items: type: string - name: respGroup in: query description: Response group. schema: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' application/json: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' text/json: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog post: tags: - Catalog summary: Create/Update the specified product. operationId: CatalogModuleProducts_SaveProduct requestBody: description: The product. content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/CatalogProduct' application/json: schema: allOf: - $ref: '#/components/schemas/CatalogProduct' text/json: schema: allOf: - $ref: '#/components/schemas/CatalogProduct' responses: '204': description: No Content '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/CatalogProduct' application/json: schema: $ref: '#/components/schemas/CatalogProduct' text/json: schema: $ref: '#/components/schemas/CatalogProduct' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog summary: Deletes the specified items by id. operationId: CatalogModuleProducts_DeleteProduct parameters: - name: ids in: query description: The items ids. schema: type: array items: type: string responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog patch: tags: - Catalog summary: Partial update for multiple products. Each patch document must contain a replace /id operation to identify the target product. operationId: CatalogModuleProducts_BulkPatchProducts requestBody: description: Array of JsonPatchDocument objects, each with a replace /id operation content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/JsonPatchDocument' application/json: schema: type: array items: $ref: '#/components/schemas/JsonPatchDocument' text/json: schema: type: array items: $ref: '#/components/schemas/JsonPatchDocument' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/plenty: post: tags: - Catalog summary: Gets products by plenty ids operationId: CatalogModuleProducts_GetProductByPlentyIds parameters: - name: respGroup in: query description: Response group. schema: type: string requestBody: description: Item ids content: application/json-patch+json: schema: type: array items: type: string application/json: schema: type: array items: type: string text/json: schema: type: array items: type: string responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' application/json: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' text/json: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/{catalogId}/products/getnew: get: tags: - Catalog summary: Gets the template for a new product (outside of category). description: Use when need to create item belonging to catalog directly. operationId: CatalogModuleProducts_GetNewProductByCatalog parameters: - name: catalogId in: path description: The catalog id. required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/CatalogProduct' application/json: schema: $ref: '#/components/schemas/CatalogProduct' text/json: schema: $ref: '#/components/schemas/CatalogProduct' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/{catalogId}/categories/{categoryId}/products/getnew: get: tags: - Catalog summary: Gets the template for a new product (inside category). description: Use when need to create item belonging to catalog category. operationId: CatalogModuleProducts_GetNewProductByCatalogAndCategory parameters: - name: catalogId in: path description: The catalog id. required: true schema: type: string - name: categoryId in: path description: The category id. required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/CatalogProduct' application/json: schema: $ref: '#/components/schemas/CatalogProduct' text/json: schema: $ref: '#/components/schemas/CatalogProduct' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/{productId}/getnewvariation: get: tags: - Catalog summary: Gets the template for a new variation. operationId: CatalogModuleProducts_GetNewVariation parameters: - name: productId in: path description: The parent product id. required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/CatalogProduct' application/json: schema: $ref: '#/components/schemas/CatalogProduct' text/json: schema: $ref: '#/components/schemas/CatalogProduct' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/{productId}/clone: get: tags: - Catalog operationId: CatalogModuleProducts_CloneProduct parameters: - name: productId in: path required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/CatalogProduct' application/json: schema: $ref: '#/components/schemas/CatalogProduct' text/json: schema: $ref: '#/components/schemas/CatalogProduct' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/{productId}/{language}: patch: tags: - Catalog summary: Updates only given properties operationId: CatalogModuleProducts_ProductPartialUpdate parameters: - name: productId in: path description: Product ID required: true schema: type: string - name: language in: path description: Language for properties to change required: true schema: type: string requestBody: description: JSON object in a key-value format content: application/json-patch+json: schema: {} application/json: schema: {} text/json: schema: {} responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/CatalogProduct' application/json: schema: $ref: '#/components/schemas/CatalogProduct' text/json: schema: $ref: '#/components/schemas/CatalogProduct' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/products/batch: post: tags: - Catalog summary: Create/Update the specified products. operationId: CatalogModuleProducts_SaveProducts requestBody: description: The products. content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' application/json: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' text/json: schema: type: array items: $ref: '#/components/schemas/CatalogProduct' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/properties/{propertyId}: get: tags: - Catalog summary: Gets property metainformation by id. operationId: CatalogModuleProperties_GetProperty parameters: - name: propertyId in: path description: The property id. required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Property' application/json: schema: $ref: '#/components/schemas/Property' text/json: schema: $ref: '#/components/schemas/Property' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/{catalogId}/properties/getnew: get: tags: - Catalog summary: Gets the template for a new catalog property. operationId: CatalogModuleProperties_GetNewCatalogProperty parameters: - name: catalogId in: path description: The catalog id. required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Property' application/json: schema: $ref: '#/components/schemas/Property' text/json: schema: $ref: '#/components/schemas/Property' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/categories/{categoryId}/properties/getnew: get: tags: - Catalog summary: Gets the template for a new category property. operationId: CatalogModuleProperties_GetNewCategoryProperty parameters: - name: categoryId in: path description: The category id. required: true schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Property' application/json: schema: $ref: '#/components/schemas/Property' text/json: schema: $ref: '#/components/schemas/Property' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/properties: post: tags: - Catalog summary: Creates or updates the specified property. description: If property.IsNew == True, a new property is created. It's updated otherwise operationId: CatalogModuleProperties_SaveProperty requestBody: description: The property. content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/Property' application/json: schema: allOf: - $ref: '#/components/schemas/Property' text/json: schema: allOf: - $ref: '#/components/schemas/Property' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog summary: Deletes property by id. operationId: CatalogModuleProperties_DeleteProperty parameters: - name: id in: query description: The property id. schema: type: string - name: doDeleteValues in: query description: Flag indicating to remove property values from objects as well schema: type: boolean default: false responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/properties/validate-name: post: tags: - Catalog summary: Validate name for Product-level (unmanaged) property operationId: CatalogModuleProperties_ValidateName requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/PropertyValidationRequest' description: Property name validation data application/json: schema: allOf: - $ref: '#/components/schemas/PropertyValidationRequest' description: Property name validation data text/json: schema: allOf: - $ref: '#/components/schemas/PropertyValidationRequest' description: Property name validation data responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ValidationResult' application/json: schema: $ref: '#/components/schemas/ValidationResult' text/json: schema: $ref: '#/components/schemas/ValidationResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/properties/validate-property-name: post: tags: - Catalog operationId: CatalogModuleProperties_ValidatePropertyName requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/CategoryPropertyValidationRequest' application/json: schema: allOf: - $ref: '#/components/schemas/CategoryPropertyValidationRequest' text/json: schema: allOf: - $ref: '#/components/schemas/CategoryPropertyValidationRequest' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/ValidationResult' application/json: schema: $ref: '#/components/schemas/ValidationResult' text/json: schema: $ref: '#/components/schemas/ValidationResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/properties/{id}: patch: tags: - Catalog summary: Partial update for the specified Property by id operationId: CatalogModuleProperties_PatchProperty parameters: - name: id in: path description: Property id required: true schema: type: string requestBody: description: JsonPatchDocument object with fields to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/dictionaryitems/search: post: tags: - Catalog summary: Search property dictionary items operationId: CatalogModulePropertyDictionaryItems_SearchPropertyDictionaryItems requestBody: description: The search criteria content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/PropertyDictionaryItemSearchCriteria' description: Search criteria used for search property dictionary items application/json: schema: allOf: - $ref: '#/components/schemas/PropertyDictionaryItemSearchCriteria' description: Search criteria used for search property dictionary items text/json: schema: allOf: - $ref: '#/components/schemas/PropertyDictionaryItemSearchCriteria' description: Search criteria used for search property dictionary items responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/PropertyDictionaryItemSearchResult' application/json: schema: $ref: '#/components/schemas/PropertyDictionaryItemSearchResult' text/json: schema: $ref: '#/components/schemas/PropertyDictionaryItemSearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/dictionaryitems: post: tags: - Catalog summary: Creates or updates the specified property dictionary items operationId: CatalogModulePropertyDictionaryItems_SaveChanges requestBody: content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/PropertyDictionaryItem' application/json: schema: type: array items: $ref: '#/components/schemas/PropertyDictionaryItem' text/json: schema: type: array items: $ref: '#/components/schemas/PropertyDictionaryItem' responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:dictionary-property:edit - api_key: - catalog:dictionary-property:edit - api_key_header: - catalog:dictionary-property:edit - http-signature: - catalog:dictionary-property:edit - basic: - catalog:dictionary-property:edit x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog summary: Delete property dictionary items by ids operationId: CatalogModulePropertyDictionaryItems_DeletePropertyDictionaryItems parameters: - name: ids in: query description: The identifiers of objects that needed to be deleted schema: type: array items: type: string responses: '200': description: OK '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:dictionary-property:edit - api_key: - catalog:dictionary-property:edit - api_key_header: - catalog:dictionary-property:edit - http-signature: - catalog:dictionary-property:edit - basic: - catalog:dictionary-property:edit x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/dictionaryitems/{id}: patch: tags: - Catalog summary: Partial update for the specified PropertyDictionaryItem by id operationId: CatalogModulePropertyDictionaryItems_PatchPropertyDictionaryItem parameters: - name: id in: path description: PropertyDictionaryItem id required: true schema: type: string requestBody: description: JsonPatchDocument object with fields to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/propertygroups/{id}: get: tags: - Catalog operationId: CatalogModulePropertyGroups_Get parameters: - name: id in: path required: true schema: type: string - name: responseGroup in: query schema: type: string responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/PropertyGroup' application/json: schema: $ref: '#/components/schemas/PropertyGroup' text/json: schema: $ref: '#/components/schemas/PropertyGroup' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/propertygroups/search: post: tags: - Catalog operationId: CatalogModulePropertyGroups_Search requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/PropertyGroupSearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/PropertyGroupSearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/PropertyGroupSearchCriteria' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/PropertyGroupSearchResult' application/json: schema: $ref: '#/components/schemas/PropertyGroupSearchResult' text/json: schema: $ref: '#/components/schemas/PropertyGroupSearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/propertygroups: post: tags: - Catalog operationId: CatalogModulePropertyGroups_Update requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/PropertyGroup' application/json: schema: allOf: - $ref: '#/components/schemas/PropertyGroup' text/json: schema: allOf: - $ref: '#/components/schemas/PropertyGroup' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/PropertyGroup' application/json: schema: $ref: '#/components/schemas/PropertyGroup' text/json: schema: $ref: '#/components/schemas/PropertyGroup' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog operationId: CatalogModulePropertyGroups_Delete parameters: - name: ids in: query schema: type: array items: type: string responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: [] - api_key: [] - api_key_header: [] - http-signature: [] - basic: [] x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/videos/options: get: tags: - Catalog summary: Get video options from configuration operationId: CatalogModuleVideos_GetOptions responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/VideoProvidersStatus' application/json: schema: $ref: '#/components/schemas/VideoProvidersStatus' text/json: schema: $ref: '#/components/schemas/VideoProvidersStatus' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:access - api_key: - catalog:access - api_key_header: - catalog:access - http-signature: - catalog:access - basic: - catalog:access x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/videos/create: post: tags: - Catalog summary: Create video operationId: CatalogModuleVideos_CreateVideo requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/VideoCreateRequest' application/json: schema: allOf: - $ref: '#/components/schemas/VideoCreateRequest' text/json: schema: allOf: - $ref: '#/components/schemas/VideoCreateRequest' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/Video' application/json: schema: $ref: '#/components/schemas/Video' text/json: schema: $ref: '#/components/schemas/Video' '400': description: Bad Request content: text/plain: schema: type: string application/json: schema: type: string text/json: schema: type: string '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:update - api_key: - catalog:update - api_key_header: - catalog:update - http-signature: - catalog:update - basic: - catalog:update x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/videos/search: post: tags: - Catalog summary: Search videos operationId: CatalogModuleVideos_SearchVideos requestBody: content: application/json-patch+json: schema: allOf: - $ref: '#/components/schemas/VideoSearchCriteria' application/json: schema: allOf: - $ref: '#/components/schemas/VideoSearchCriteria' text/json: schema: allOf: - $ref: '#/components/schemas/VideoSearchCriteria' responses: '200': description: OK content: text/plain: schema: $ref: '#/components/schemas/VideoSearchResult' application/json: schema: $ref: '#/components/schemas/VideoSearchResult' text/json: schema: $ref: '#/components/schemas/VideoSearchResult' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:read - api_key: - catalog:read - api_key_header: - catalog:read - http-signature: - catalog:read - basic: - catalog:read x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/videos: post: tags: - Catalog summary: Create new or update existing videos operationId: CatalogModuleVideos_Update requestBody: description: Video models content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Video' application/json: schema: type: array items: $ref: '#/components/schemas/Video' text/json: schema: type: array items: $ref: '#/components/schemas/Video' responses: '200': description: OK content: text/plain: schema: type: array items: $ref: '#/components/schemas/Video' application/json: schema: type: array items: $ref: '#/components/schemas/Video' text/json: schema: type: array items: $ref: '#/components/schemas/Video' '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:update - api_key: - catalog:update - api_key_header: - catalog:update - http-signature: - catalog:update - basic: - catalog:update x-virtocommerce-module-id: VirtoCommerce.Catalog delete: tags: - Catalog summary: Delete videos by ids operationId: CatalogModuleVideos_Delete parameters: - name: ids in: query description: Video ids schema: type: array items: type: string responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:delete - api_key: - catalog:delete - api_key_header: - catalog:delete - http-signature: - catalog:delete - basic: - catalog:delete x-virtocommerce-module-id: VirtoCommerce.Catalog /api/catalog/videos/{id}: patch: tags: - Catalog summary: Partial update for the specified Video by id operationId: CatalogModuleVideos_PatchVideo parameters: - name: id in: path description: Video id required: true schema: type: string requestBody: description: JsonPatchDocument object with fields to update content: application/json-patch+json: schema: type: array items: $ref: '#/components/schemas/Operation' application/json: schema: type: array items: $ref: '#/components/schemas/Operation' text/json: schema: type: array items: $ref: '#/components/schemas/Operation' responses: '204': description: No Content '401': description: Unauthorized '403': description: Forbidden security: - oauth2: - catalog:update - api_key: - catalog:update - api_key_header: - catalog:update - http-signature: - catalog:update - basic: - catalog:update x-virtocommerce-module-id: VirtoCommerce.Catalog components: schemas: Category: type: object properties: catalogId: type: string nullable: true parentId: type: string nullable: true code: type: string nullable: true name: type: string nullable: true localizedName: allOf: - $ref: '#/components/schemas/LocalizedString' nullable: true outline: type: string description: Category outline in physical catalog (all parent categories ids concatenated. E.g. (1/21/344)) nullable: true readOnly: true path: type: string description: Category path in physical catalog (all parent categories names concatenated. E.g. (parent1/parent2)) nullable: true isVirtual: type: boolean level: type: integer format: int32 packageType: type: string nullable: true priority: type: integer format: int32 isActive: type: boolean nullable: true outerId: type: string nullable: true properties: type: array items: $ref: '#/components/schemas/Property' nullable: true excludedProperties: type: array items: $ref: '#/components/schemas/ExcludedProperty' nullable: true links: type: array items: $ref: '#/components/schemas/CategoryLink' nullable: true taxType: type: string nullable: true seoObjectType: type: string nullable: true readOnly: true seoInfos: type: array items: $ref: '#/components/schemas/SeoInfo' nullable: true enableDescription: type: boolean nullable: true descriptions: type: array items: $ref: '#/components/schemas/CategoryDescription' nullable: true imgSrc: type: string description: Gets the default image nullable: true readOnly: true images: type: array items: $ref: '#/components/schemas/Image' nullable: true assets: type: array items: $ref: '#/components/schemas/Asset' nullable: true outlines: type: array items: $ref: '#/components/schemas/Outline' nullable: true isInherited: type: boolean description: System flag used to mark that object was inherited from other readOnly: true parentIsActive: type: boolean readOnly: true relevanceScore: type: number format: double nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false PropertyType: enum: - Product - Variation - Category - Catalog type: string PropertyValueType: enum: - ShortText - LongText - Number - DateTime - Boolean - Integer - GeoPoint - Html - Measure - Color type: string PropertyValidationRule: type: object properties: isUnique: type: boolean description: Uniquie value flag constrain charCountMin: type: integer description: Down chars count border or null if no defined format: int32 nullable: true charCountMax: type: integer description: Upper chars count border or null if no defined format: int32 nullable: true regExp: type: string description: Custom regular expression nullable: true propertyId: type: string nullable: true id: type: string nullable: true additionalProperties: false description: Represents property validation rules definition Aggregation: type: object properties: aggregationType: type: string description: Gets or sets the value of the aggregation type nullable: true field: type: string description: Gets or sets the value of the aggregation field nullable: true termValuesSortingType: type: string description: Gets or sets the type of "Attribute" aggregation type value sorting (if the aggregation was resolved via browse filters) nullable: true labels: type: array items: $ref: '#/components/schemas/AggregationLabel' description: Gets or sets the collection of the aggregation labels nullable: true items: type: array items: $ref: '#/components/schemas/AggregationItem' description: Gets or sets the collection of the aggregation items nullable: true statistics: allOf: - $ref: '#/components/schemas/AggregationStatistics' description: Statistics for range aggregations, such as "PriceRange" or "Range". nullable: true additionalProperties: false PropertyGroupSearchCriteria: type: object properties: catalogId: type: string nullable: true responseGroup: type: string nullable: true objectType: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true keyword: type: string nullable: true searchPhrase: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false Store: type: object properties: name: type: string nullable: true description: type: string nullable: true storeState: allOf: - $ref: '#/components/schemas/StoreState' description: Store current state (Open, Closed, RestrictedAccess) timeZone: type: string nullable: true country: type: string nullable: true region: type: string nullable: true defaultLanguage: type: string nullable: true defaultCurrency: type: string nullable: true catalog: type: string description: Catalog id used as primary store catalog nullable: true creditCardSavePolicy: type: boolean url: type: string description: Store storefront url nullable: true secureUrl: type: string description: Store storefront https url nullable: true email: type: string description: Primary store contact email can be used for store event notifications and for feed back nullable: true adminEmail: type: string nullable: true emailName: type: string nullable: true adminEmailName: type: string nullable: true displayOutOfStock: type: boolean outerId: type: string nullable: true mainFulfillmentCenterId: type: string description: Primary (default) fulfillment center id nullable: true additionalFulfillmentCenterIds: type: array items: type: string description: Alternate fulfillment centers ids nullable: true mainReturnsFulfillmentCenterId: type: string description: Primary (default) fulfillment center for order return nullable: true returnsFulfillmentCenterIds: type: array items: type: string description: Alternate fulfillment centers for order return nullable: true languages: type: array items: type: string description: All store supported languages nullable: true currencies: type: array items: type: string description: All store supported currencies nullable: true trustedGroups: type: array items: type: string description: All store trusted groups (group of stores that shared the user logins) nullable: true seoObjectType: type: string nullable: true readOnly: true seoInfos: type: array items: $ref: '#/components/schemas/SeoInfo' nullable: true objectType: type: string nullable: true readOnly: true dynamicProperties: type: array items: $ref: '#/components/schemas/DynamicObjectProperty' nullable: true settings: type: array items: $ref: '#/components/schemas/ObjectSettingEntry' nullable: true typeName: type: string nullable: true readOnly: true scopes: type: array items: type: string nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false BulkLinkCreationRequest: type: object properties: searchCriteria: allOf: - $ref: '#/components/schemas/CatalogListEntrySearchCriteria' nullable: true categoryId: type: string description: The target category identifier for the link nullable: true catalogId: type: string description: The target catalog identifier for the link nullable: true additionalProperties: false description: Information to search and create links to categories and items EditorialReview: type: object properties: content: type: string nullable: true reviewType: type: string nullable: true languageCode: type: string nullable: true isInherited: type: boolean createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false BrandStoreSetting: type: object properties: storeId: type: string nullable: true store: allOf: - $ref: '#/components/schemas/Store' nullable: true brandsEnabled: type: boolean brandPropertyName: type: string nullable: true brandCatalogId: type: string nullable: true additionalProperties: false Variation: type: object properties: productType: type: string description: The type of product. Can be "Physical", "Digital", etc. nullable: true code: type: string description: The Stock Keeping Unit (SKU) code for the product. nullable: true manufacturerPartNumber: type: string description: A manufacturer part number (MPN) is a unique alphanumeric code assigned by a manufacturer to identify a specific product or component. It is used primarily for part tracking in inventory management, supply chain operations, and ordering purposes. nullable: true gtin: type: string description: The Global Trade Item Number (GTIN) for the product. This can include UPC (in North America), EAN (in Europe), JAN (in Japan), and ISBN (for books). nullable: true name: type: string description: The name of the product. nullable: true localizedName: allOf: - $ref: '#/components/schemas/LocalizedString' nullable: true catalogId: type: string description: The ID of the catalog to which this product belongs. nullable: true categoryId: type: string description: The ID of the category to which this product belongs. nullable: true outline: type: string description: Product outline in physical catalog (all parent categories ids concatenated. E.g. (1/21/344)) nullable: true readOnly: true path: type: string description: Product path in physical catalog (all parent categories names concatenated. E.g. (parent1/parent2)) nullable: true readOnly: true titularItemId: type: string nullable: true readOnly: true mainProductId: type: string description: The ID of the main product associated with this product variation. nullable: true isActive: type: boolean description: 'Specifies whether the product is currently visible on the store for customers to view and purchase. If set to false, the product is currently sold out.' nullable: true isBuyable: type: boolean description: 'Specifies whether the product is currently visible on the store for customers to view and purchase. If set to false, the product is currently ouf of stock.' nullable: true trackInventory: type: boolean description: 'Indicates whether the inventory service is tracking the availability of this product. If set to false, the product is considered in stock without any inventory limitations.' nullable: true indexingDate: type: string description: The date and time when the product was last indexed for search. format: date-time nullable: true maxQuantity: type: integer description: The maximum quantity of the product that can be purchased in a single order. A value of 0 indicates that there are no limitations on the maximum quantity. format: int32 nullable: true minQuantity: type: integer description: The minimum quantity of the product that must be purchased in a single order. A value of 0 indicates that there are no limitations on the minimum quantity. format: int32 nullable: true packSize: type: integer description: Defines the number of items in a package. Quantity step for your product's. Default value is 1. format: int32 startDate: type: string description: First listed date and time. If you do not specify an end date, the product will be active until you deactivate it.If you do not specify an end date, the product will be active until you deactivate it.If you do not specify a start date, the product will become active immediately once you save it. format: date-time endDate: type: string description: Listing expires on the specific date and time. If you do not specify an end date, the product will be active until you deactivate it. format: date-time nullable: true packageType: type: string description: The type of package for this product, which determines the product's specific dimensions. nullable: true weightUnit: type: string description: The unit of measurement for the product's weight. nullable: true weight: type: number description: The weight of the product, in the unit specified by the WeightUnit property. format: double nullable: true measureUnit: type: string description: The unit of measurement for the product's height, length, and width. nullable: true height: type: number description: The height of the product, in the unit specified by the MeasureUnit property. format: double nullable: true length: type: number description: The length of the product, in the unit specified by the MeasureUnit property. format: double nullable: true width: type: number description: The width of the product, in the unit specified by the MeasureUnit property. format: double nullable: true enableReview: type: boolean nullable: true maxNumberOfDownload: type: integer description: The maximum number of times the product can be downloaded. A value of 0 indicates no limit. format: int32 nullable: true downloadExpiration: type: string description: The date and time when the download link or access to the product will expire. format: date-time nullable: true downloadType: type: string description: 'The type of product download. Valid values include: "Standard Product", "Software", and "Music".' nullable: true hasUserAgreement: type: boolean description: Indicates whether the product requires the user to agree to any terms or conditions before downloading. nullable: true shippingType: type: string description: Specifies the type of shipping option available for the product. nullable: true taxType: type: string description: Specifies the type of tax applied to the product. nullable: true vendor: type: string description: ID of the vendor associated with the product. nullable: true priority: type: integer description: Indicates the position of the product in the catalog for ordering purposes. format: int32 outerId: type: string description: An external identifier for the product that can be used for integration with external systems. nullable: true properties: type: array items: $ref: '#/components/schemas/Property' nullable: true excludedProperties: type: array items: $ref: '#/components/schemas/ExcludedProperty' nullable: true imgSrc: type: string description: Gets the default image for the product. nullable: true readOnly: true images: type: array items: $ref: '#/components/schemas/Image' nullable: true assets: type: array items: $ref: '#/components/schemas/Asset' nullable: true links: type: array items: $ref: '#/components/schemas/CategoryLink' nullable: true variations: type: array items: $ref: '#/components/schemas/Variation' nullable: true seoObjectType: type: string description: Each descendant type should override this property to use other object type for seo records nullable: true readOnly: true seoInfos: type: array items: $ref: '#/components/schemas/SeoInfo' nullable: true reviews: type: array items: $ref: '#/components/schemas/EditorialReview' nullable: true associations: type: array items: $ref: '#/components/schemas/ProductAssociation' nullable: true referencedAssociations: type: array items: $ref: '#/components/schemas/ProductAssociation' nullable: true outlines: type: array items: $ref: '#/components/schemas/Outline' nullable: true isInherited: type: boolean description: System flag used to mark that object was inherited from other readOnly: true parentCategoryIsActive: type: boolean readOnly: true relevanceScore: type: number format: double nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false PropertyValue: type: object properties: propertyName: type: string nullable: true propertyId: type: string nullable: true languageCode: type: string nullable: true alias: type: string nullable: true displayOrder: type: integer format: int32 nullable: true valueType: allOf: - $ref: '#/components/schemas/PropertyValueType' valueId: type: string nullable: true value: type: object nullable: true propertyMultivalue: type: boolean readOnly: true outerId: type: string nullable: true unitOfMeasureId: type: string nullable: true colorCode: type: string nullable: true isInherited: type: boolean createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false AggregationLabel: type: object properties: language: type: string nullable: true label: type: string nullable: true additionalProperties: false ExcludedProperty: type: object properties: name: type: string nullable: true isInherited: type: boolean additionalProperties: false AggregationStatistics: type: object properties: min: type: number format: double nullable: true max: type: number format: double nullable: true additionalProperties: false ProductAssociation: type: object properties: type: type: string description: Association type (Accessories, Up-Sales, Cross-Sales, Related etc) nullable: true priority: type: integer format: int32 quantity: type: integer format: int32 nullable: true itemId: type: string description: Is a primary key of associating object nullable: true associatedObjectId: type: string description: 'Each link element can have an associated object like Product, Category, etc. Is a primary key of associated object' nullable: true associatedObjectType: type: string description: 'Associated object type : ''product'', ''category'' etc' nullable: true outerId: type: string description: '' nullable: true associatedObjectName: type: string description: Display name for associated object nullable: true readOnly: true associatedObjectImg: type: string description: Associated object image URL nullable: true readOnly: true tags: type: array items: type: string nullable: true imgSrc: type: string nullable: true readOnly: true images: type: array items: $ref: '#/components/schemas/Image' nullable: true id: type: string nullable: true additionalProperties: false VideoCreateRequest: type: object properties: contentUrl: type: string nullable: true sortOrder: type: integer format: int32 nullable: true languageCode: type: string nullable: true ownerId: type: string nullable: true ownerType: type: string nullable: true additionalProperties: false PropertyDictionaryItem: type: object properties: propertyId: type: string nullable: true alias: type: string nullable: true colorCode: type: string nullable: true sortOrder: type: integer format: int32 localizedValues: type: array items: $ref: '#/components/schemas/PropertyDictionaryItemLocalizedValue' nullable: true id: type: string nullable: true additionalProperties: false AutomaticLinkQuery: type: object properties: targetCategoryId: type: string nullable: true sourceCatalogId: type: string nullable: true sourceCatalogQuery: type: string nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false AggregationItem: type: object properties: value: type: object description: Gets or sets the aggregation item value nullable: true count: type: integer description: Gets or sets the aggregation item count format: int32 isApplied: type: boolean description: Gets or sets the flag for aggregation item is applied labels: type: array items: $ref: '#/components/schemas/AggregationLabel' description: Gets or sets the collection of the aggregation item labels nullable: true requestedLowerBound: type: string description: Gets or sets the request lower bound for range aggregation value nullable: true requestedUpperBound: type: string description: Gets or sets the request lower bound for range aggregation value nullable: true includeLower: type: boolean description: Is lower bound for range included includeUpper: type: boolean description: Is upper bound for range included additionalProperties: false MeasureUnit: type: object properties: code: type: string nullable: true name: type: string nullable: true localizedName: allOf: - $ref: '#/components/schemas/LocalizedString' nullable: true symbol: type: string nullable: true localizedSymbol: allOf: - $ref: '#/components/schemas/LocalizedString' nullable: true conversionFactor: type: number format: double isDefault: type: boolean createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false ObjectSettingEntry: type: object properties: itHasValues: type: boolean readOnly: true objectId: type: string nullable: true objectType: type: string nullable: true isReadOnly: type: boolean value: type: object nullable: true id: type: string nullable: true restartRequired: type: boolean moduleId: type: string nullable: true groupName: type: string nullable: true name: type: string nullable: true displayName: type: string nullable: true isRequired: type: boolean isHidden: type: boolean isPublic: type: boolean valueType: allOf: - $ref: '#/components/schemas/SettingValueType' allowedValues: type: array items: type: object nullable: true defaultValue: type: object nullable: true isDictionary: type: boolean isLocalizable: type: boolean tenant: type: string nullable: true additionalProperties: false LocalizedString: type: object properties: values: type: object additionalProperties: type: string nullable: true nullable: true readOnly: true additionalProperties: false Video: type: object properties: name: type: string nullable: true description: type: string nullable: true sortOrder: type: integer format: int32 uploadDate: type: string format: date-time nullable: true thumbnailUrl: type: string nullable: true contentUrl: type: string nullable: true embedUrl: type: string nullable: true duration: type: string nullable: true languageCode: type: string nullable: true ownerId: type: string nullable: true ownerType: type: string nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false description: Video content information CategoryIndexedSearchCriteria: type: object properties: objectType: type: string nullable: true storeId: type: string nullable: true catalogId: type: string nullable: true catalogIds: type: array items: type: string nullable: true outline: type: string description: CategoryId1/CategoryId2, no catalog should be included in the outline nullable: true outlines: type: array items: type: string description: CategoryId1/CategoryId2, no catalog should be included in the outline nullable: true terms: type: array items: type: string description: 'Term format: name:value1,value2' nullable: true userGroups: type: array items: type: string description: 'Assigned groups for current user. Data format: user_groups:value1,value2' nullable: true isFuzzySearch: type: boolean description: Enable fuzzy search, i.e. allow to search color:white even if color:wihte actually passed to criteria rawQuery: type: string description: Gets or sets the search provider specific raw search query; all other search criteria will be ignored nullable: true includeFields: type: array items: type: string description: Allows to retrieve only a specific set of fields in the result hits nullable: true searchPhrase: type: string nullable: true keyword: type: string nullable: true responseGroup: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false StoreState: enum: - Open - Closed - RestrictedAccess type: string CatalogSearchCriteria: type: object properties: catalogIds: type: array items: type: string nullable: true outerIds: type: array items: type: string nullable: true isVirtual: type: boolean nullable: true responseGroup: type: string nullable: true objectType: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true keyword: type: string nullable: true searchPhrase: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false SeoInfo: type: object properties: name: type: string nullable: true semanticUrl: type: string nullable: true outline: type: string nullable: true pageTitle: type: string nullable: true metaDescription: type: string nullable: true imageAltDescription: type: string nullable: true metaKeywords: type: string nullable: true storeId: type: string nullable: true organizationId: type: string nullable: true objectId: type: string nullable: true objectType: type: string nullable: true isActive: type: boolean languageCode: type: string nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false Severity: enum: - Error - Warning - Info type: string DynamicPropertyValueType: enum: - Undefined - ShortText - LongText - Integer - Decimal - DateTime - Boolean - Html - Image type: string PropertyValidationRequest: type: object properties: originalName: type: string nullable: true name: type: string nullable: true productId: type: string nullable: true additionalProperties: false description: Property name validation data GeoDistanceFilter: type: object properties: fieldName: type: string nullable: true location: allOf: - $ref: '#/components/schemas/GeoPoint' nullable: true distance: type: number format: double additionalProperties: false Property: type: object properties: isReadOnly: type: boolean description: Gets or sets a value indicating whether user can change property value. isManageable: type: boolean description: Gets or sets a value indicating whether user can change property metadata or remove this property. readOnly: true isNew: type: boolean description: Gets or sets a value indicating whether this instance is new. A new property should be created on server site instead of trying to update it. catalogId: type: string description: Gets or sets the catalog id that this product belongs to. nullable: true categoryId: type: string description: Gets or sets the category id that this product belongs to. nullable: true propertyGroupId: type: string nullable: true name: type: string nullable: true required: type: boolean dictionary: type: boolean multivalue: type: boolean multilanguage: type: boolean hidden: type: boolean description: Gets or sets a value indicating whether this VirtoCommerce.CatalogModule.Core.Model.Property is hidden. valueType: allOf: - $ref: '#/components/schemas/PropertyValueType' type: allOf: - $ref: '#/components/schemas/PropertyType' outerId: type: string nullable: true measureId: type: string nullable: true ownerName: type: string nullable: true displayOrder: type: integer format: int32 nullable: true values: type: array items: $ref: '#/components/schemas/PropertyValue' nullable: true attributes: type: array items: $ref: '#/components/schemas/PropertyAttribute' nullable: true displayNames: type: array items: $ref: '#/components/schemas/PropertyDisplayName' nullable: true validationRules: type: array items: $ref: '#/components/schemas/PropertyValidationRule' nullable: true validationRule: allOf: - $ref: '#/components/schemas/PropertyValidationRule' description: Represents property validation rules definition nullable: true readOnly: true isInherited: type: boolean createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false CategoryDescription: type: object properties: content: type: string nullable: true descriptionType: type: string nullable: true languageCode: type: string nullable: true isInherited: type: boolean createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false AutomaticLinkQuerySearchResult: type: object properties: totalCount: type: integer format: int32 results: type: array items: $ref: '#/components/schemas/AutomaticLinkQuery' nullable: true additionalProperties: false ProductConfigurationSearchCriteria: type: object properties: productId: type: string nullable: true productIds: type: array items: type: string nullable: true isActive: type: boolean nullable: true responseGroup: type: string nullable: true objectType: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true keyword: type: string nullable: true searchPhrase: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false AutomaticLinkQuerySearchCriteria: type: object properties: targetCategoryId: type: string nullable: true responseGroup: type: string nullable: true objectType: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true keyword: type: string nullable: true searchPhrase: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false ListEntryBase: type: object properties: type: type: string description: Gets or sets the type. E.g. "product", "category" nullable: true isActive: type: boolean description: Gets or sets a value indicating whether this entry is active. nullable: true imageUrl: type: string description: Gets or sets the image URL. nullable: true code: type: string description: Gets or sets the entry code. nullable: true name: type: string description: Gets or sets the name. nullable: true links: type: array items: $ref: '#/components/schemas/CategoryLink' description: Gets or sets the links. nullable: true outlines: type: array items: $ref: '#/components/schemas/Outline' nullable: true outline: type: array items: type: string description: All entry parents ids nullable: true path: type: array items: type: string description: All entry parents names nullable: true catalogId: type: string description: Gets or sets the catalog id. nullable: true seoObjectType: type: string nullable: true seoInfos: type: array items: $ref: '#/components/schemas/SeoInfo' nullable: true relevanceScore: type: number format: double nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false description: Base class for all entries used in catalog categories browsing. PropertyGroupSearchResult: type: object properties: totalCount: type: integer format: int32 results: type: array items: $ref: '#/components/schemas/PropertyGroup' nullable: true additionalProperties: false OutlineItem: type: object properties: id: type: string description: Object id nullable: true seoObjectType: type: string description: Object type nullable: true seoInfos: type: array items: $ref: '#/components/schemas/SeoInfo' description: All SEO records for the object nullable: true name: type: string description: The name of current item nullable: true localizedName: allOf: - $ref: '#/components/schemas/LocalizedString' nullable: true hasVirtualParent: type: boolean description: True when this object is linked to the virtual parent. additionalProperties: false description: 'Represents one outline element: catalog, category or product.' Operation: type: object properties: value: type: object nullable: true path: type: string nullable: true op: type: string nullable: true from: type: string nullable: true additionalProperties: false Asset: type: object properties: mimeType: type: string nullable: true size: type: integer format: int64 readableSize: type: string nullable: true readOnly: true binaryData: type: string format: byte nullable: true relativeUrl: type: string nullable: true url: type: string nullable: true description: type: string nullable: true sortOrder: type: integer format: int32 typeId: type: string description: Gets or sets the asset type identifier. nullable: true group: type: string description: Gets or sets the asset group name. nullable: true name: type: string description: Gets or sets the asset name. nullable: true outerId: type: string description: '' nullable: true languageCode: type: string description: Gets or sets the asset language. nullable: true isInherited: type: boolean description: System flag used to mark that object was inherited from other readOnly: true seoObjectType: type: string nullable: true readOnly: true seoInfos: type: array items: $ref: '#/components/schemas/SeoInfo' nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false Image: type: object properties: binaryData: type: string format: byte nullable: true altText: type: string nullable: true relativeUrl: type: string nullable: true url: type: string nullable: true description: type: string nullable: true sortOrder: type: integer format: int32 typeId: type: string description: Gets or sets the asset type identifier. nullable: true group: type: string description: Gets or sets the asset group name. nullable: true name: type: string description: Gets or sets the asset name. nullable: true outerId: type: string description: '' nullable: true languageCode: type: string description: Gets or sets the asset language. nullable: true isInherited: type: boolean description: System flag used to mark that object was inherited from other readOnly: true seoObjectType: type: string nullable: true readOnly: true seoInfos: type: array items: $ref: '#/components/schemas/SeoInfo' nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false PropertyDictionaryItemLocalizedValue: type: object properties: languageCode: type: string nullable: true value: type: string nullable: true additionalProperties: false PropertyAttribute: type: object properties: propertyId: type: string nullable: true value: type: string nullable: true name: type: string nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false ValidationFailure: type: object properties: propertyName: type: string nullable: true errorMessage: type: string nullable: true attemptedValue: type: object nullable: true customState: type: object nullable: true severity: allOf: - $ref: '#/components/schemas/Severity' errorCode: type: string nullable: true formattedMessagePlaceholderValues: type: object additionalProperties: type: object nullable: true nullable: true additionalProperties: false VideoProvidersStatus: type: object properties: isYouTubeApiKeyConfigured: type: boolean isVimeoAccessTokenConfigured: type: boolean additionalProperties: false CategoryPropertyValidationRequest: type: object properties: propertyName: type: string nullable: true propertyType: type: string nullable: true propertyValueType: allOf: - $ref: '#/components/schemas/PropertyValueType' categoryId: type: string nullable: true catalogId: type: string nullable: true additionalProperties: false CatalogLanguage: type: object properties: catalogId: type: string nullable: true isDefault: type: boolean priority: type: integer description: Lowest number wins format: int32 languageCode: type: string nullable: true id: type: string nullable: true additionalProperties: false VideoSearchCriteria: type: object properties: ownerIds: type: array items: type: string nullable: true ownerType: type: string nullable: true responseGroup: type: string nullable: true objectType: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true keyword: type: string nullable: true searchPhrase: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false ProductAssociationSearchResult: type: object properties: totalCount: type: integer format: int32 results: type: array items: $ref: '#/components/schemas/ProductAssociation' nullable: true additionalProperties: false CategoryIndexedSearchResult: type: object properties: totalCount: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/Category' nullable: true aggregations: type: array items: $ref: '#/components/schemas/Aggregation' nullable: true additionalProperties: false ProductConfiguration: type: object properties: productId: type: string nullable: true isActive: type: boolean sections: type: array items: $ref: '#/components/schemas/ProductConfigurationSection' nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false Measure: type: object properties: code: type: string nullable: true name: type: string nullable: true description: type: string nullable: true units: type: array items: $ref: '#/components/schemas/MeasureUnit' nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false MeasureSearchResult: type: object properties: totalCount: type: integer format: int32 results: type: array items: $ref: '#/components/schemas/Measure' nullable: true additionalProperties: false PropertyDictionaryItemSearchResult: type: object properties: totalCount: type: integer format: int32 results: type: array items: $ref: '#/components/schemas/PropertyDictionaryItem' nullable: true additionalProperties: false ProductConfigurationSection: type: object properties: configurationId: type: string nullable: true name: type: string nullable: true description: type: string nullable: true isRequired: type: boolean displayOrder: type: integer format: int32 type: type: string nullable: true allowCustomText: type: boolean allowPredefinedOptions: type: boolean maxLength: type: integer format: int32 nullable: true dependsOnSectionId: type: string nullable: true options: type: array items: $ref: '#/components/schemas/ProductConfigurationOption' nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false PropertyDictionaryItemSearchCriteria: type: object properties: propertyIds: type: array items: type: string nullable: true catalogIds: type: array items: type: string nullable: true responseGroup: type: string nullable: true objectType: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true keyword: type: string nullable: true searchPhrase: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false description: Search criteria used for search property dictionary items SortInfo: type: object properties: sortColumn: type: string nullable: true sortDirection: allOf: - $ref: '#/components/schemas/SortDirection' additionalProperties: false SuggestionResponse: type: object properties: suggestions: type: array items: type: string nullable: true additionalProperties: false Outline: type: object properties: items: type: array items: $ref: '#/components/schemas/OutlineItem' description: Outline parts nullable: true additionalProperties: false description: 'Represents the path from the catalog to one of the child objects (product or category): catalog/parent-category1/.../parent-categoryN/object' JsonPatchDocument: type: object properties: operations: type: array items: $ref: '#/components/schemas/Operation' nullable: true additionalProperties: false ProductConfigurationOption: type: object properties: sectionId: type: string nullable: true productId: type: string nullable: true quantity: type: integer format: int32 text: type: string nullable: true isDefault: type: boolean productName: type: string nullable: true readOnly: true productImageUrl: type: string nullable: true readOnly: true productType: type: string nullable: true readOnly: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false CatalogSearchResult: type: object properties: totalCount: type: integer format: int32 results: type: array items: $ref: '#/components/schemas/Catalog' nullable: true additionalProperties: false PropertyDisplayName: type: object properties: name: type: string nullable: true languageCode: type: string nullable: true additionalProperties: false GeoPoint: type: object properties: latitude: type: number format: double longitude: type: number format: double additionalProperties: false DynamicPropertyName: type: object properties: locale: type: string nullable: true name: type: string nullable: true additionalProperties: false ProductIndexedSearchResult: type: object properties: totalCount: type: integer format: int64 items: type: array items: $ref: '#/components/schemas/CatalogProduct' nullable: true aggregations: type: array items: $ref: '#/components/schemas/Aggregation' nullable: true additionalProperties: false VideoSearchResult: type: object properties: totalCount: type: integer format: int32 results: type: array items: $ref: '#/components/schemas/Video' nullable: true additionalProperties: false ValidationResult: type: object properties: isValid: type: boolean readOnly: true errors: type: array items: $ref: '#/components/schemas/ValidationFailure' nullable: true ruleSetsExecuted: type: array items: type: string nullable: true additionalProperties: false ProductConfigurationSearchResult: type: object properties: totalCount: type: integer format: int32 results: type: array items: $ref: '#/components/schemas/ProductConfiguration' nullable: true additionalProperties: false ListEntrySearchResult: type: object properties: listEntries: type: array items: $ref: '#/components/schemas/ListEntryBase' description: Gets or sets the list entries. nullable: true readOnly: true totalCount: type: integer format: int32 results: type: array items: $ref: '#/components/schemas/ListEntryBase' nullable: true additionalProperties: false Catalog: type: object properties: name: type: string nullable: true isVirtual: type: boolean outerId: type: string nullable: true defaultLanguage: allOf: - $ref: '#/components/schemas/CatalogLanguage' nullable: true readOnly: true languages: type: array items: $ref: '#/components/schemas/CatalogLanguage' nullable: true properties: type: array items: $ref: '#/components/schemas/Property' nullable: true seoObjectType: type: string nullable: true readOnly: true seoInfos: type: array items: $ref: '#/components/schemas/SeoInfo' nullable: true propertyGroups: type: array items: $ref: '#/components/schemas/PropertyGroup' nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false ProductIndexedSearchCriteria: type: object properties: objectType: type: string nullable: true productType: type: string description: Physical, Digital, etc. nullable: true currency: type: string nullable: true pricelists: type: array items: type: string nullable: true priceRange: allOf: - $ref: '#/components/schemas/NumericRange' nullable: true classTypes: type: array items: type: string description: Gets or sets the class types. nullable: true withHidden: type: boolean description: Specifies if we search for hidden products. searchInVariations: type: boolean description: Include product variations in result startDate: type: string description: Gets or sets the start date. The date must be in UTC format as that is format indexes are stored in. format: date-time startDateFrom: type: string description: Gets or sets the start date from filter. Used for filtering new products. The date must be in UTC format as that is format indexes are stored in. format: date-time nullable: true endDate: type: string description: Gets or sets the end date. The date must be in UTC format as that is format indexes are stored in. format: date-time nullable: true certainDate: type: string description: Defines the date to be used for filtering products. The date must be in UTC format as that is format indexes are stored in. format: date-time nullable: true includeAggregations: type: array items: type: string description: Gets or sets a "white" list of aggregation keys that identify preconfigured aggregations, which SHOULD be calculated and returned with the search result. nullable: true excludeAggregations: type: array items: type: string description: Gets or sets a "black" list of aggregation keys that identify preconfigured aggregations, which SHOULD NOT be calculated and returned with the search result. nullable: true geoDistanceFilter: allOf: - $ref: '#/components/schemas/GeoDistanceFilter' description: Geo distance filter nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' description: Override base SortInfo property to support GeoSortInfo sorting types nullable: true readOnly: true storeId: type: string nullable: true catalogId: type: string nullable: true catalogIds: type: array items: type: string nullable: true outline: type: string description: CategoryId1/CategoryId2, no catalog should be included in the outline nullable: true outlines: type: array items: type: string description: CategoryId1/CategoryId2, no catalog should be included in the outline nullable: true terms: type: array items: type: string description: 'Term format: name:value1,value2' nullable: true userGroups: type: array items: type: string description: 'Assigned groups for current user. Data format: user_groups:value1,value2' nullable: true isFuzzySearch: type: boolean description: Enable fuzzy search, i.e. allow to search color:white even if color:wihte actually passed to criteria rawQuery: type: string description: Gets or sets the search provider specific raw search query; all other search criteria will be ignored nullable: true includeFields: type: array items: type: string description: Allows to retrieve only a specific set of fields in the result hits nullable: true searchPhrase: type: string nullable: true keyword: type: string nullable: true responseGroup: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false DynamicPropertyObjectValue: type: object properties: objectType: type: string nullable: true objectId: type: string nullable: true locale: type: string nullable: true value: type: object nullable: true valueId: type: string nullable: true valueType: allOf: - $ref: '#/components/schemas/DynamicPropertyValueType' propertyId: type: string nullable: true propertyName: type: string nullable: true additionalProperties: false DynamicObjectProperty: type: object properties: objectId: type: string nullable: true values: type: array items: $ref: '#/components/schemas/DynamicPropertyObjectValue' nullable: true name: type: string nullable: true description: type: string nullable: true objectType: type: string nullable: true isArray: type: boolean isDictionary: type: boolean isMultilingual: type: boolean isRequired: type: boolean displayOrder: type: integer format: int32 nullable: true valueType: allOf: - $ref: '#/components/schemas/DynamicPropertyValueType' displayNames: type: array items: $ref: '#/components/schemas/DynamicPropertyName' nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false CategoryLink: type: object properties: entryId: type: string description: Entry identifier which this link belongs to nullable: true readOnly: true listEntryId: type: string nullable: true listEntryType: type: string description: Gets or sets the type of the list entry. E.g. "product", "category" nullable: true priority: type: integer description: Product order position in virtual catalog format: int32 catalogId: type: string nullable: true categoryId: type: string nullable: true targetId: type: string description: Gets the Id of either target Catetory or Catalog nullable: true readOnly: true name: type: string description: Gets the name of either target Catetory or Catalog nullable: true readOnly: true isAutomatic: type: boolean additionalProperties: false CatalogProduct: type: object properties: productType: type: string description: The type of product. Can be "Physical", "Digital", etc. nullable: true code: type: string description: The Stock Keeping Unit (SKU) code for the product. nullable: true manufacturerPartNumber: type: string description: A manufacturer part number (MPN) is a unique alphanumeric code assigned by a manufacturer to identify a specific product or component. It is used primarily for part tracking in inventory management, supply chain operations, and ordering purposes. nullable: true gtin: type: string description: The Global Trade Item Number (GTIN) for the product. This can include UPC (in North America), EAN (in Europe), JAN (in Japan), and ISBN (for books). nullable: true name: type: string description: The name of the product. nullable: true localizedName: allOf: - $ref: '#/components/schemas/LocalizedString' nullable: true catalogId: type: string description: The ID of the catalog to which this product belongs. nullable: true categoryId: type: string description: The ID of the category to which this product belongs. nullable: true outline: type: string description: Product outline in physical catalog (all parent categories ids concatenated. E.g. (1/21/344)) nullable: true readOnly: true path: type: string description: Product path in physical catalog (all parent categories names concatenated. E.g. (parent1/parent2)) nullable: true readOnly: true titularItemId: type: string nullable: true readOnly: true mainProductId: type: string description: The ID of the main product associated with this product variation. nullable: true isActive: type: boolean description: 'Specifies whether the product is currently visible on the store for customers to view and purchase. If set to false, the product is currently sold out.' nullable: true isBuyable: type: boolean description: 'Specifies whether the product is currently visible on the store for customers to view and purchase. If set to false, the product is currently ouf of stock.' nullable: true trackInventory: type: boolean description: 'Indicates whether the inventory service is tracking the availability of this product. If set to false, the product is considered in stock without any inventory limitations.' nullable: true indexingDate: type: string description: The date and time when the product was last indexed for search. format: date-time nullable: true maxQuantity: type: integer description: The maximum quantity of the product that can be purchased in a single order. A value of 0 indicates that there are no limitations on the maximum quantity. format: int32 nullable: true minQuantity: type: integer description: The minimum quantity of the product that must be purchased in a single order. A value of 0 indicates that there are no limitations on the minimum quantity. format: int32 nullable: true packSize: type: integer description: Defines the number of items in a package. Quantity step for your product's. Default value is 1. format: int32 startDate: type: string description: First listed date and time. If you do not specify an end date, the product will be active until you deactivate it.If you do not specify an end date, the product will be active until you deactivate it.If you do not specify a start date, the product will become active immediately once you save it. format: date-time endDate: type: string description: Listing expires on the specific date and time. If you do not specify an end date, the product will be active until you deactivate it. format: date-time nullable: true packageType: type: string description: The type of package for this product, which determines the product's specific dimensions. nullable: true weightUnit: type: string description: The unit of measurement for the product's weight. nullable: true weight: type: number description: The weight of the product, in the unit specified by the WeightUnit property. format: double nullable: true measureUnit: type: string description: The unit of measurement for the product's height, length, and width. nullable: true height: type: number description: The height of the product, in the unit specified by the MeasureUnit property. format: double nullable: true length: type: number description: The length of the product, in the unit specified by the MeasureUnit property. format: double nullable: true width: type: number description: The width of the product, in the unit specified by the MeasureUnit property. format: double nullable: true enableReview: type: boolean nullable: true maxNumberOfDownload: type: integer description: The maximum number of times the product can be downloaded. A value of 0 indicates no limit. format: int32 nullable: true downloadExpiration: type: string description: The date and time when the download link or access to the product will expire. format: date-time nullable: true downloadType: type: string description: 'The type of product download. Valid values include: "Standard Product", "Software", and "Music".' nullable: true hasUserAgreement: type: boolean description: Indicates whether the product requires the user to agree to any terms or conditions before downloading. nullable: true shippingType: type: string description: Specifies the type of shipping option available for the product. nullable: true taxType: type: string description: Specifies the type of tax applied to the product. nullable: true vendor: type: string description: ID of the vendor associated with the product. nullable: true priority: type: integer description: Indicates the position of the product in the catalog for ordering purposes. format: int32 outerId: type: string description: An external identifier for the product that can be used for integration with external systems. nullable: true properties: type: array items: $ref: '#/components/schemas/Property' nullable: true excludedProperties: type: array items: $ref: '#/components/schemas/ExcludedProperty' nullable: true imgSrc: type: string description: Gets the default image for the product. nullable: true readOnly: true images: type: array items: $ref: '#/components/schemas/Image' nullable: true assets: type: array items: $ref: '#/components/schemas/Asset' nullable: true links: type: array items: $ref: '#/components/schemas/CategoryLink' nullable: true variations: type: array items: $ref: '#/components/schemas/Variation' nullable: true seoObjectType: type: string description: Each descendant type should override this property to use other object type for seo records nullable: true readOnly: true seoInfos: type: array items: $ref: '#/components/schemas/SeoInfo' nullable: true reviews: type: array items: $ref: '#/components/schemas/EditorialReview' nullable: true associations: type: array items: $ref: '#/components/schemas/ProductAssociation' nullable: true referencedAssociations: type: array items: $ref: '#/components/schemas/ProductAssociation' nullable: true outlines: type: array items: $ref: '#/components/schemas/Outline' nullable: true isInherited: type: boolean description: System flag used to mark that object was inherited from other readOnly: true parentCategoryIsActive: type: boolean readOnly: true relevanceScore: type: number format: double nullable: true createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false MeasureSearchCriteria: type: object properties: responseGroup: type: string nullable: true objectType: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true keyword: type: string nullable: true searchPhrase: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false ProductAssociationSearchCriteria: type: object properties: group: type: string nullable: true tags: type: array items: type: string nullable: true associatedObjectIds: type: array items: type: string nullable: true responseGroup: type: string nullable: true objectType: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true keyword: type: string nullable: true searchPhrase: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false SettingValueType: enum: - ShortText - LongText - Integer - Decimal - DateTime - Boolean - SecureString - Json - PositiveInteger type: string CatalogListEntrySearchCriteria: type: object properties: code: type: string nullable: true vendorId: type: string description: Search by vendor nullable: true vendorIds: type: array items: type: string nullable: true productType: type: string description: Search product with specified type nullable: true productTypes: type: array items: type: string nullable: true excludeProductType: type: string description: Exclude a specified product type from the search nullable: true excludeProductTypes: type: array items: type: string nullable: true withHidden: type: boolean hideDirectLinkedCategories: type: boolean mainProductId: type: string description: Search within variations of specified main product nullable: true searchInChildren: type: boolean description: Search in all children categories for specified catalog or categories searchInVariations: type: boolean description: Also search in variations onlyBuyable: type: boolean nullable: true onlyWithTrackingInventory: type: boolean nullable: true catalogId: type: string nullable: true catalogIds: type: array items: type: string nullable: true categoryId: type: string nullable: true categoryIds: type: array items: type: string nullable: true responseGroup: type: string nullable: true objectType: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true keyword: type: string nullable: true searchPhrase: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false SortDirection: enum: - Ascending - Descending type: string NumericRange: type: object properties: lower: type: number format: double nullable: true upper: type: number format: double nullable: true includeLower: type: boolean includeUpper: type: boolean additionalProperties: false LinkSearchCriteria: type: object properties: categoryIds: type: array items: type: string nullable: true catalogIds: type: array items: type: string nullable: true isAutomatic: type: boolean nullable: true responseGroup: type: string nullable: true objectType: type: string nullable: true objectTypes: type: array items: type: string nullable: true objectIds: type: array items: type: string nullable: true keyword: type: string nullable: true searchPhrase: type: string nullable: true languageCode: type: string nullable: true sort: type: string nullable: true sortInfos: type: array items: $ref: '#/components/schemas/SortInfo' nullable: true readOnly: true skip: type: integer format: int32 take: type: integer format: int32 additionalProperties: false ListEntriesMoveRequest: type: object properties: catalog: type: string nullable: true catalogId: type: string nullable: true readOnly: true category: type: string nullable: true listEntries: type: array items: $ref: '#/components/schemas/ListEntryBase' nullable: true additionalProperties: false description: Represents move list entries command PropertyGroup: type: object properties: name: type: string nullable: true catalogId: type: string nullable: true localizedName: allOf: - $ref: '#/components/schemas/LocalizedString' nullable: true localizedDescription: allOf: - $ref: '#/components/schemas/LocalizedString' nullable: true displayOrder: type: integer format: int32 createdDate: type: string format: date-time modifiedDate: type: string format: date-time nullable: true createdBy: maxLength: 64 minLength: 0 type: string nullable: true modifiedBy: maxLength: 64 minLength: 0 type: string nullable: true id: type: string nullable: true additionalProperties: false securitySchemes: oauth2: type: oauth2 description: OAuth2 Resource Owner Password Grant flow flows: password: tokenUrl: /connect/token scopes: {} clientCredentials: tokenUrl: /connect/token scopes: {} api_key: type: apiKey description: API Key authentication name: api_key in: query api_key_header: type: apiKey description: API Key authentication (alternative via header) name: api_key in: header http-signature: type: http description: HTTP Signature authentication using Authorization header scheme: signature basic: type: http description: Basic authentication using username and password scheme: basic