{"openapi":"3.0.1","info":{"title":"Product Feed API","version":"v1.0"},"servers":[{"url":"https://{slug}.api-se.playground.norce.tech/commerce/productfeed/1.0","description":"Playground","variables":{"slug":{"default":"customer-slug","description":"Replace with your slug."}}},{"url":"https://{slug}.api-se.stage.norce.tech/commerce/productfeed/1.0","description":"Stage","variables":{"slug":{"default":"customer-slug","description":"Replace with your slug."}}},{"url":"https://{slug}.api-se.norce.tech/commerce/productfeed/1.0","description":"Production","variables":{"slug":{"default":"customer-slug","description":"Replace with your slug."}}}],"paths":{"/api/v1/exports/product":{"post":{"tags":["Exports"],"summary":"Product Export","parameters":[{"name":"applicationId","in":"header","description":"","schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRunRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/JobRunRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/JobRunRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ExportFeedResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/ExportFeedResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/ExportFeedResponse"}}}},"204":{"description":"No Content"},"429":{"description":"Too Many Requests","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"bearer":[]}]}},"/api/v1/exports/productstatus":{"post":{"tags":["Exports"],"summary":"Product Status Export","parameters":[{"name":"applicationId","in":"header","description":"","schema":{"type":"integer","format":"int32"}}],"requestBody":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobRunRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/JobRunRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/JobRunRequest"}}}},"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ExportFeedResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/ExportFeedResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/ExportFeedResponse"}}}},"204":{"description":"No Content"},"429":{"description":"Too Many Requests","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}},"text/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"bearer":[]}]}},"/api/v1/jobs/job":{"get":{"tags":["Jobs"],"summary":"Get Job","parameters":[{"name":"jobKey","in":"query","description":"","schema":{"type":"string","format":"uuid"}},{"name":"applicationId","in":"header","description":"","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}}}}},"security":[{"bearer":[]}]}},"/api/v1/jobs/completejob":{"patch":{"tags":["Jobs"],"summary":"Complete Job","parameters":[{"name":"jobKey","in":"query","description":"","schema":{"type":"string","format":"uuid"}},{"name":"itemsProcessed","in":"query","description":"","schema":{"type":"integer","format":"int32"}},{"name":"applicationId","in":"header","description":"","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}}}}},"security":[{"bearer":[]}]}},"/api/v1/jobs/cancel":{"put":{"tags":["Jobs"],"summary":"Cancel Job","parameters":[{"name":"jobKey","in":"query","description":"","schema":{"type":"string","format":"uuid"}},{"name":"applicationId","in":"header","description":"","schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"text/plain":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}},"application/json":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}},"text/json":{"schema":{"$ref":"#/components/schemas/GetJobResponse"}}}}},"security":[{"bearer":[]}]}}},"components":{"schemas":{"Category":{"type":"object","properties":{"Code":{"maxLength":50,"type":"string","description":"The unique identifier of the Category.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/CategoryCulture"},"description":"The localized names and synonyms of the Category per culture code."},"Id":{"type":"integer","description":"Norce internal category id","format":"int32"}},"description":"Represents a Category with localized names."},"CategoryCulture":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\"). Valid values can be both \"en\" or \"en-GB\". Most commonly used format is \"xx-XX\".","nullable":true},"Name":{"maxLength":50,"type":"string","description":"The name of the Category.","nullable":true},"FullName":{"maxLength":500,"type":"string","description":"All category names in the hierarchy with \" - \" between, example: \"Furniture - Table\".","nullable":true},"Synonyms":{"maxLength":500,"type":"string","description":"Configured synonyms for the Category. MaxLength: 500","nullable":true}},"description":"Localized Category information."},"CodeName":{"type":"object","properties":{"Code":{"maxLength":50,"type":"string","description":"The unique identifier or the value in context.","nullable":true},"Name":{"type":"string","description":"The descriptive name of the value.","nullable":true},"Id":{"type":"integer","description":"Internal id of the value in Norce.","format":"int32"}},"description":"Generic Code/Name entity, without localization."},"CultureNames":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\") Valid values can be both \"en\" or \"en-GB\". Most commonly used format is \"xx-XX\".","nullable":true},"Name":{"maxLength":255,"type":"string","description":"The product of variant name on the specific culture.","nullable":true},"UniqueUrlName":{"maxLength":500,"type":"string","description":"Manually set or generated unique URL name. The field is called \"Unique url\" in admin and \"UniqueName\" in Norce Commerce Services.","nullable":true}},"description":"Localized names for a Product/Variant."},"CultureTexts":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\") Valid values can be both \"en\" or \"en-GB\". Most commonly used format is \"xx-XX\".","nullable":true},"DescriptionHeader":{"maxLength":255,"type":"string","description":"An header for the description.","nullable":true},"Description":{"type":"string","description":"The Description of the Product, can contain HTML tags. No limit in string length defined in Norce.","nullable":true},"SubHeader":{"maxLength":255,"type":"string","description":"The header for the sub description.","nullable":true},"SubDescription":{"type":"string","description":"The sub description of the Product, can contain HTML tags. No limit in string length defined in Norce.","nullable":true},"Synonyms":{"maxLength":500,"type":"string","description":"Configured synonyms for the Product.","nullable":true},"MetaTags":{"type":"string","description":"SEO meta tags for the Product.","nullable":true},"MetaDescription":{"type":"string","description":"SEO meta description for the Product.","nullable":true}},"description":"Localized descriptive text fields for a Product/Variant."},"ErpNameCulture":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\") Valid values can be both \"en\" or \"en-GB\". Most commonly used format is \"xx-XX\".","nullable":true},"Name":{"maxLength":255,"type":"string","description":"The ERP name on the specific culture.","nullable":true}},"description":"Localized ERP Name information. Used as default in transactional messages like sales order lines."},"ExportFeedResponse":{"type":"object","properties":{"code":{"$ref":"#/components/schemas/ResponseCode"},"jobKey":{"type":"string","nullable":true},"dataUrl":{"type":"string","nullable":true},"contentType":{"type":"string","nullable":true},"itemsTotal":{"type":"integer","format":"int32"}},"additionalProperties":false,"nullable":true},"Family":{"type":"object","properties":{"Code":{"maxLength":50,"type":"string","description":"The unique identifier of the Family.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/FamilyCulture"},"description":"The localized names of the Family."}},"description":"Represents a Family value. A family is a grouping of products that does not have to share common attributes. Families can be used to group products for various purposes, such as categorization, or filtering. Used for series or common branding of products for display purposes. Not commonly used anymore."},"FamilyCulture":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\"). Valid values can be both \"en\" or \"en-GB\". Most commonly used format is \"xx-XX\".","nullable":true},"Name":{"maxLength":50,"type":"string","description":"The name of the Family.","nullable":true}},"description":"Localized Family information."},"File":{"type":"object","properties":{"Type":{"$ref":"#/components/schemas/FileType"},"Code":{"maxLength":255,"type":"string","description":"The unique identifier of this specific instance of a file. Called \"ExternalCode\" in Connect. This can be null, but common practice is to have a unique code for each file. Used for removing or updating from api´s. The Code can be set by the user or from Norce, in admin, when uploading a new asset, usually based on the oridiginal file name or url.","nullable":true},"FileCode":{"maxLength":50,"type":"string","description":"The unique identifier for the file type. e.g. \"PrimaryImage\", \"Additional image\", \"Winter images\", \"Data sheets\". For primary images the code is always set to \"PrimaryImage\".","nullable":true},"Key":{"type":"string","description":"The reference to the File if Type is Asset.","format":"uuid","nullable":true},"MimeType":{"type":"string","description":"The MimeType of the File, omitted if Type is External. For example: \"image/jpeg\" or \"application/pdf\"","nullable":true},"Url":{"type":"string","description":"The url reference to the File. Having the \"Key\" as part of the Url path.","nullable":true},"SortOrder":{"type":"integer","description":"The sort order within the type of files, if any.","format":"int32","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/FileCulture"},"description":"The localized meta data for each culture.","nullable":true}},"description":"Represents a File, a reference to an asset in Norce Commerce or external reference (e.g. Youtube url)"},"FileCulture":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\"). Valid values can be both \"en\" or \"en-GB\". Most commonly used format is \"xx-XX\".","nullable":true},"Name":{"maxLength":50,"type":"string","description":"The file name.","nullable":true},"AltText":{"type":"string","description":"Alt text for images. No string length limit defined in Norce, but recommended to keep it short.","nullable":true},"Description":{"type":"string","description":"A description of the file or image. Culture specific.","nullable":true}},"description":"Localized File information."},"FileType":{"enum":["external","asset"],"type":"string","description":"Specifies the type of a specific File."},"Flag":{"type":"object","properties":{"Code":{"maxLength":50,"type":"string","description":"The unique identifier of the Flag.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/FlagCulture"},"description":"The localized names of the Flag."},"Id":{"type":"integer","description":"Norce internal flag id","format":"int32"},"GroupCode":{"maxLength":50,"type":"string","description":"The unique identifier of the Flag Group.","nullable":true}},"description":"Represents a flag that can be assigned to products to denote specific attributes or characteristics. Flags are organized into groups for better context and management. They can have culture-specific names and descriptions."},"FlagCulture":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\"). Valid values can be both \"en\" or \"en-GB\". Most commonly used format is \"xx-XX\".","nullable":true},"Name":{"maxLength":50,"type":"string","description":"The name of the Flag.","nullable":true},"GroupName":{"maxLength":50,"type":"string","description":"The name of its flag group.","nullable":true}},"description":"Localized Flag information."},"GetJobResponse":{"type":"object","properties":{"clientId":{"type":"integer","format":"int32"},"key":{"type":"string","format":"uuid"},"channelKey":{"type":"string","format":"uuid"},"endpoint":{"type":"string","nullable":true},"type":{"type":"string","nullable":true},"deltaFromDate":{"type":"string","format":"date-time","nullable":true},"itemsTotal":{"type":"integer","format":"int32"},"statusId":{"$ref":"#/components/schemas/JobStatus"},"start":{"type":"string","format":"date-time"},"stop":{"type":"string","format":"date-time","nullable":true},"lastUpdated":{"type":"string","format":"date-time"}},"additionalProperties":false,"nullable":true},"HistoricalBestPrice":{"type":"object","properties":{"QtyBreak":{"type":"integer","description":"The Quantity break value. Default is 1.","format":"int32"},"PriceListCode":{"maxLength":50,"type":"string","description":"The price list code. Called \"Agreement\" in Norce Commerce Services and Query.","nullable":true},"PriceListId":{"type":"integer","description":"Norce internal Price list Id","format":"int32"},"Currency":{"maxLength":3,"type":"string","description":"The currency code corresponding with ISO 4217, e.g. \"GBP\", or \"SEK\".","nullable":true},"PriceSale":{"type":"number","description":"The sale price, excluding VAT, with 2 decimal precision.","format":"double"},"VatRate":{"type":"number","description":"The VAT Rate, as a factor. E.g. 1.25 for 25% VAT or 1.08 for 8% VAT.","format":"double"},"ValueIncVat":{"type":"number","description":"The Price Value Including VAT, with 2 decimal precision.","format":"double"},"TimeStamp":{"type":"string","description":"The timestamp of when the price was changed to this value.","format":"date-time"}},"description":"Represents an historical best price information for a product or variant."},"HistoricalUniqueUrls":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\") Valid values can be both \"en\" or \"en-GB\". Most commonly used format is \"xx-XX\".","nullable":true},"UniqueUrlName":{"maxLength":500,"type":"string","description":"Unique URL Name for the Product.","nullable":true},"IsArchived":{"type":"boolean","description":"Indicates if the Unique URL Name is archived. This means it is no longer in active use."},"ArchivedDate":{"type":"string","description":"Archived Date for the Unique URL Name.","format":"date-time","nullable":true},"LastModifiedDate":{"type":"string","description":"Last Modified Date for the Unique URL Name.","format":"date-time"}},"description":"Historical Unique Urls for a product or variant."},"JobRunRequest":{"type":"object","properties":{"channelKey":{"type":"string","format":"uuid"},"deltaFromDate":{"type":"string","format":"date-time","nullable":true},"channelId":{"type":"string","format":"uuid","deprecated":true},"endpointUrl":{"type":"string","nullable":true,"deprecated":true}},"additionalProperties":false,"nullable":true},"JobStatus":{"enum":["Unknown","Initialized","WaitingForSlot","RunningInExportFeed","CompletedInExportFeed","CompletedByAdapter","NoContent","Failed","Cancelled"],"type":"string"},"Logistics":{"type":"object","properties":{"Width":{"type":"number","description":"The width of the item in predefined unit (commonly cm). The unit can be changed in client setting.","format":"double","nullable":true},"Height":{"type":"number","description":"The height of the item in predefined unit (commonly cm). The unit can be changed in client setting.","format":"double","nullable":true},"Depth":{"type":"number","description":"The depth of the item in predefined unit (commonly cm). The unit can be changed in client setting.","format":"double","nullable":true},"Weight":{"type":"number","description":"The weight of the item in predefined unit (commonly kg). The unit can be changed in client setting.","format":"double","nullable":true}},"description":"Contains logistic data for an item, used for shipping calculations."},"OnHand":{"type":"object","properties":{"Warehouse":{"allOf":[{"$ref":"#/components/schemas/Warehouse"}],"description":"The unique warehouse reference.","nullable":true},"WarehouseType":{"$ref":"#/components/schemas/WarehouseType"},"Value":{"type":"number","description":"The current stock quantity, excluding reserved stock.","format":"double"},"LeadTimeDayCount":{"type":"integer","description":"Lead time until delivery can be made. Named as a \"Day count\" but can be any unit of time defined by the client.","format":"int32","nullable":true},"AvailableOnStores":{"type":"array","items":{"type":"string"},"description":"Lists all stores on which this product is available. A list of store codes (not store warehouses)."},"AvailableOnPriceLists":{"type":"array","items":{"type":"string"},"description":"Lists all price lists on which this product has a price. A list of price list codes.","nullable":true},"NextDelivery":{"type":"string","description":"The next delivery date from supplier to this warehouse. Called \"NextDeliveryDate\" in Norce Commerce Services.","format":"date-time","nullable":true},"IncomingValue":{"type":"number","description":"The incoming inventory value for this warehouse.","format":"double","nullable":true}},"description":"Represents the on hand (stock) values per warehouse."},"Parametric":{"type":"object","properties":{"Code":{"maxLength":50,"type":"string","description":"The unique identifier of the Parametric.","nullable":true},"Type":{"$ref":"#/components/schemas/ParametricType"},"SortOrder":{"type":"integer","description":"The sort order of the parametric, based on primary category settings.","format":"int32","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ParametricCulture"},"description":"The descriptive names of the Parametric along with the actual value set per culture code."},"Id":{"type":"integer","description":"Internal parametric id","format":"int32"},"GroupCode":{"maxLength":50,"type":"string","description":"The unique identifier of the Parametric Group.","nullable":true}},"description":"Represents a Parametric value."},"ParametricCulture":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\"). Valid values can be both \"en\" or \"en-GB\".","nullable":true},"Name":{"maxLength":50,"type":"string","description":"The name of the Parametric.","nullable":true},"GroupName":{"maxLength":50,"type":"string","description":"The group name of the Parametric, as defined on the primary category.","nullable":true},"UnitOfMeasurement":{"maxLength":50,"type":"string","description":"Configured unit of measurement for the Parametric.","nullable":true},"Value":{"type":"object","description":"Value set on the Parametric. Can be of type \"Text\", \"Integer\", \"Decimal\", \"Boolean\", \"Html\" or \"Date\". For list and multiple types the value is null.","nullable":true},"ListValue":{"allOf":[{"$ref":"#/components/schemas/CodeName"}],"description":"Detailed code/name information if Type is \"ListValue\".","nullable":true},"MultipleValues":{"type":"array","items":{"$ref":"#/components/schemas/CodeName"},"description":"Detailed code/name information if Type is \"MultipleValue\".","nullable":true}},"description":"Localized Parametric information."},"ParametricType":{"enum":["text","integer","decimal","boolean","html","date","list","multiple"],"type":"string","description":"Specifies the parametric type, used to interpret the value set on a Parametric."},"Popularity":{"type":"object","properties":{"Source":{"type":"string","description":"The popularity source, can be calculated from Norce Commerce: \"Internal\", \"External\" sources are deprecated.","nullable":true},"CategoryRank":{"type":"integer","description":"The popularity rank (lower is more popular) in current category, based on Primary Category.","format":"int32"},"CategoryRankMax":{"type":"integer","description":"The max rank in current category, based on Primary Category.","format":"int32"},"TotalRank":{"type":"integer","description":"The total ranking, across all products.","format":"int32"},"ApplicationId":{"type":"integer","description":"Application reference. If client setting is \"Product popularity by application\" = true the rank will be restricted to this application only. If false, applicationid can be ignored.","format":"int32","nullable":true}},"description":"Represents a Popularity score."},"Price":{"type":"object","properties":{"SalesArea":{"maxLength":50,"type":"string","description":"The sales area of the chosen price list,","nullable":true},"PriceListCode":{"maxLength":50,"type":"string","description":"The price list code. Called \"Agreement\" in Norce Commerce Services and Query.","nullable":true},"Currency":{"maxLength":3,"type":"string","description":"The currency code corresponding with ISO 4217, e.g. \"GBP\", \"SEK\".","nullable":true},"Value":{"type":"number","description":"The current best sale price, excluding VAT, with 2 decimal precision.","format":"double"},"IsDiscountable":{"type":"boolean","description":"Defines if the current price is further discountable (or not) by promotions."},"Original":{"type":"number","description":"The original price, excl VAT. Can be used as \"strike-through\" price and can be omitted, if the price list hasn't got one. (Note, this is either Recommended price or Standard price depending on what exists, both also provided separately)","format":"double","nullable":true},"VatRate":{"type":"number","description":"The VAT rate as a multiplication factor. 25 % VAT corresponds to a value of 1.25","format":"double"},"AvailableOnWarehouses":{"type":"array","items":{"$ref":"#/components/schemas/Warehouse"},"description":"The warehouses on which this product has this price."},"PurchaseCost":{"type":"number","description":"The current reacquire cost for the product in this price list.","format":"double"},"UnitCost":{"type":"number","description":"The current stock based cost for the product.","format":"double"},"IsActive":{"type":"boolean","description":"Defines if the price is active (buy-able) or not."},"ValueIncVat":{"type":"number","description":"The current best sale price, including VAT, with 2 decimal precision.","format":"double"},"PriceListId":{"type":"integer","description":"Norce internal Price list Id","format":"int32"},"RecommendedPrice":{"type":"number","description":"Recommended price, if exists excluding VAT.","format":"double","nullable":true},"StandardPrice":{"type":"number","description":"Standard price, if exists excluding VAT.","format":"double","nullable":true},"CatalogPrice":{"type":"number","description":"Catalog price, if exists excluding VAT.","format":"double","nullable":true},"RecommendedPriceIncVat":{"type":"number","description":"Recommended price, including VAT, if exists.","format":"double","nullable":true},"StandardPriceIncVat":{"type":"number","description":"Standard price, including VAT, if exists.","format":"double","nullable":true},"CatalogPriceIncVat":{"type":"number","description":"Catalog price, including VAT, if exists.","format":"double","nullable":true},"AvailableQuantityBreaks":{"type":"array","items":{"$ref":"#/components/schemas/QuantityBreakPrice"},"description":"Available quantity breaks for the price list.","nullable":true},"PreviousPrice":{"type":"number","description":"Previous price, excluding VAT, if exists. Can be used to provide the current historical best price, if the functionality is enabled.","format":"double","nullable":true},"Priority":{"type":"integer","description":"The priority of the price list type (from PriceListType). Lower values indicate higher priority. Null means no priority is set.","format":"int32","nullable":true},"StartDate":{"type":"string","description":"The start date of the price list. Null means no start date restriction.","format":"date-time","nullable":true},"EndDate":{"type":"string","description":"The end date of the price list. Null means no end date restriction.","format":"date-time","nullable":true}},"description":"Represents the chosen Price for a specific Variant, unique by SalesArea."},"ProblemDetails":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32","nullable":true},"detail":{"type":"string","nullable":true},"instance":{"type":"string","nullable":true}},"additionalProperties":{},"nullable":true},"Product":{"type":"object","properties":{"Code":{"maxLength":50,"type":"string","description":"Unique Reference for Product, might be omitted if product only contains one variant. Same as \"Code\" in Norce Commerce Connect ImportProducts.","nullable":true},"Manufacturer":{"allOf":[{"$ref":"#/components/schemas/CodeName"}],"description":"Represent the Manufacturer of the Product.","nullable":true},"Names":{"type":"array","items":{"$ref":"#/components/schemas/CultureNames"},"description":"Localized names for the Product."},"PrimaryCategory":{"allOf":[{"$ref":"#/components/schemas/Category"}],"description":"The Primary Category of the Product.","nullable":true},"AdditionalCategories":{"type":"array","items":{"$ref":"#/components/schemas/Category"},"description":"Additional Categories set on the product, if any."},"Variants":{"type":"array","items":{"$ref":"#/components/schemas/Variant"},"description":"A Product must have at least one Variant, if multiple variants exists, Product.Code is required."},"Families":{"type":"array","items":{"$ref":"#/components/schemas/Family"},"description":"Active families set on the Product."},"Flags":{"type":"array","items":{"$ref":"#/components/schemas/Flag"},"description":"Active flags on the Product level. Note that disabled flags are not included."},"PrimaryImage":{"allOf":[{"$ref":"#/components/schemas/File"}],"description":"Primary image reference for the Product, is always of Type Asset (See File type).","nullable":true},"Files":{"type":"array","items":{"$ref":"#/components/schemas/File"},"description":"Images and files on the Product level."},"Parametrics":{"type":"array","items":{"$ref":"#/components/schemas/Parametric"},"description":"Parametrics on the Product level, shared by all variants."},"Relations":{"type":"array","items":{"$ref":"#/components/schemas/Relation"},"description":"Relations on the Product level, shared by all variants."},"Texts":{"type":"array","items":{"$ref":"#/components/schemas/CultureTexts"},"description":"Localized text content for the Product, shared by all variants."},"Popularities":{"type":"array","items":{"$ref":"#/components/schemas/Popularity"},"description":"Popularities on the Product level (depending on the client setting \"Product popularity by variant\" = false)."},"GroupById":{"type":"integer","description":"Internal variant grouping id. Same as \"GroupByKey\" in Norce Commerce API, but as an Int. Att a \"v\" as prefix to match it with the key. Null for products without variants (where code is null and number of variants = 1).","format":"int32","nullable":true},"HistoricalUniqueUrls":{"type":"array","items":{"$ref":"#/components/schemas/HistoricalUniqueUrls"},"description":"Historical Unique Urls, lists older values for the unique url on the product level, note that this value is no longer forced to be unique by Norce."}},"description":"A product can contain one or more variants, where variant contains the individual sku."},"ProductCommentCulture":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\") Valid values can be both \"en\" or \"en-GB\". Most commonly used format is \"xx-XX\".","nullable":true},"Comment":{"maxLength":50,"type":"string","description":"The comment in localized text.","nullable":true}},"description":"Product comment in specific culture."},"ProductStatus":{"type":"object","properties":{"PartNo":{"type":"string","description":"Part number, the unique identifier of the updated item (product or variant).","nullable":true},"Status":{"$ref":"#/components/schemas/Status"},"Prices":{"type":"array","items":{"$ref":"#/components/schemas/Price"},"description":"The best price per Sales Area on the Application."},"OnHands":{"type":"array","items":{"$ref":"#/components/schemas/OnHand"},"description":"A collection of all warehouses enabled and their stock values for the item."},"Suppliers":{"type":"array","items":{"$ref":"#/components/schemas/Supplier"},"description":"A collection of all suppliers listing the item."},"PrimaryCategory":{"type":"string","description":"The primary category for the item.","nullable":true},"ViewCount":{"type":"integer","description":"The view count for the item. A stat collected from Norce Commerce Services, by method UpdateProductViewCount and can be used for popularity ranking.","format":"int32"},"Flags":{"type":"array","items":{"$ref":"#/components/schemas/Flag"},"description":"Active flags on the item."},"HistoricalBestPrices":{"type":"array","items":{"$ref":"#/components/schemas/HistoricalBestPrice"},"description":"Historical prices the past 30 days before the last price change."},"DetailedPrices":{"type":"array","items":{"$ref":"#/components/schemas/Price"},"description":"Detailed prices for all requested pricelists (or all public pricelists if omitted). Prices selected is not constrained by application sales areas such as the `prices` field."}},"description":"Represents a ProductStatus (lightweight product message)."},"QuantityBreakPrice":{"type":"object","properties":{"PriceListCode":{"type":"string","description":"The price list code. Called \"Agreement\" in Norce Commerce API and Query. This may be diferent than on the default price.","nullable":true},"QuantityBreak":{"type":"integer","description":"Quantity Break, the quantity from where this price becomes valid. The price is then valid until the next quantity break.","format":"int32"},"IsDiscountable":{"type":"boolean","description":"Defines if the current price is further discountable or not by promotions."},"Value":{"type":"number","description":"The chosen price, exclusing VAT, with 2 decimal precision.","format":"double"},"ValueIncVat":{"type":"number","description":"The chosen price, including VAT, with 2 decimal precision.","format":"double"}},"description":"Represents a quantity-break price."},"Relation":{"type":"object","properties":{"Type":{"maxLength":50,"type":"string","description":"The un-localized default name of the Relation type. Retained for backwards compatibility with consumers that have not yet adopted ; use  for localized names.","nullable":true},"PartNo":{"type":"string","description":"Part number reference of related variant (or product). For a variant, if entire product is related, all part numbers are specified in the list.","nullable":true},"Code":{"maxLength":50,"type":"string","description":"Identifier for the relation type.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/RelationCulture"},"description":"The localized names of the Relation type."},"SortOrder":{"type":"integer","description":"Sort order of the relation. Null values are sorted first (treated as the smallest sort key).","format":"int32","nullable":true}},"description":"Represents a Relation between Products/Variants."},"RelationCulture":{"type":"object","properties":{"CultureCode":{"type":"string","description":"Represents language corresponding with ISO 639-1 (e.g. \"en\") alone or together with localization corresponding with ISO 3166-1 (e.g. \"GB\"). Valid values can be both \"en\" or \"en-GB\". Most commonly used format is \"xx-XX\".","nullable":true},"Name":{"maxLength":50,"type":"string","description":"The localized name of the Relation type.","nullable":true}},"description":"Localized Relation type information."},"ResponseCode":{"enum":["Success","AlreadyInProgress","NoData","Failed"],"type":"string"},"Status":{"enum":["active","coming","expiring","hidden","inactive"],"type":"string","description":"Specifies the status for the part number."},"Supplier":{"type":"object","properties":{"SupplierCode":{"maxLength":50,"type":"string","description":"The unique code for the Supplier.","nullable":true},"SupplierPartNo":{"maxLength":50,"type":"string","description":"The unique identifier for Supplier item.","nullable":true},"SupplierPriceListCode":{"maxLength":50,"type":"string","description":"Identifier of the supplier price list.","nullable":true},"Currency":{"type":"string","description":"The currency code corresponding with ISO 4217, e.g. \"GBP\". For the supplier price list.","nullable":true},"Cost":{"type":"number","description":"The current reacquire cost (excluding VAT) if acquired from supplier. In the currency of the supplier.","format":"double"},"OnHandValue":{"type":"number","description":"The current stock quantity.","format":"double"},"IsStockCalculated":{"type":"boolean","description":"Defines if stock is calculated, meaning that OnHandValue is deferred and Supplier is to be considered to always have item in stock. Commonly set to false."},"LeadTimeDayCount":{"type":"integer","description":"Estimated lead time until delivery can be made from this supplier.","format":"int32","nullable":true},"ChosenSupplierOnPriceLists":{"type":"array","items":{"type":"string"},"description":"Lists all price list codes on which this supplier is marked as chosen (preselected) supplier.","nullable":true},"AvailableOnPriceLists":{"type":"array","items":{"type":"string"},"description":"Lists all price list codes on which this supplier record is applicable.","nullable":true}},"description":"Represents a supplier record."},"Variant":{"type":"object","properties":{"PartNo":{"type":"string","description":"Part number, the unique identifier of the Variant.","nullable":true},"ManufacturerPartNo":{"type":"string","description":"Manufacturer's part number.","nullable":true},"VariantCode":{"type":"string","description":"Variant grouping code (Norce tVariant.Code). Same value as the parent Product.Code and as \"Code\" in Norce Commerce Connect ImportProducts. Null for products that are not part of a variant grouping.","nullable":true},"Names":{"type":"array","items":{"$ref":"#/components/schemas/CultureNames"},"description":"Localized names for the Product."},"EanCode":{"type":"string","description":"Primary EAN/GS1 code of the Variant.","nullable":true},"Status":{"$ref":"#/components/schemas/Status"},"Prices":{"type":"array","items":{"$ref":"#/components/schemas/Price"},"description":"The best price per Sales Area on the Application. If no prices are available, the product is inactivated and should be removed from target catalogs."},"OnHands":{"type":"array","items":{"$ref":"#/components/schemas/OnHand"},"description":"A collection of all warehouses enabled and their stock values for the Variant."},"Suppliers":{"type":"array","items":{"$ref":"#/components/schemas/Supplier"},"description":"A collection of all suppliers listing the Variant."},"Flags":{"type":"array","items":{"$ref":"#/components/schemas/Flag"},"description":"Active flags on the Variant level."},"PrimaryImage":{"allOf":[{"$ref":"#/components/schemas/File"}],"description":"Primary image reference for the Variant, is always of Type Asset (See File type).","nullable":true},"Files":{"type":"array","items":{"$ref":"#/components/schemas/File"},"description":"Additional images and files on the Variant level."},"VariantDefiningParametrics":{"type":"array","items":{"$ref":"#/components/schemas/Parametric"},"description":"Variant defining parametrics, meaning that these are configured to be used to define uniqueness of a variant in a Product scope. They are defined by the Variant type (called variant definition group in Norce Connect)"},"AdditionalParametrics":{"type":"array","items":{"$ref":"#/components/schemas/Parametric"},"description":"Other Variant unique parametrics, not listed as variant defining, but can be different between variants."},"Relations":{"type":"array","items":{"$ref":"#/components/schemas/Relation"},"description":"Relations on the Variant level."},"Texts":{"type":"array","items":{"$ref":"#/components/schemas/CultureTexts"},"description":"Localized text content for the Variant if \"Product texts are variant unique\" setting is enabled in Norce Commerce, otherwise omitted."},"Logistics":{"allOf":[{"$ref":"#/components/schemas/Logistics"}],"description":"Logistic data (weight, height etc) for the Variant. Used for shipping calculations.","nullable":true},"CommodityCode":{"type":"string","description":"Commodity code used for production identification in international commerce.","nullable":true},"RecommendedQty":{"type":"number","description":"Recommended sales quantity for variant, suggesting the default quantity when adding the item to a cart.","format":"double","nullable":true},"IsRecommendedQtyFixed":{"type":"boolean","description":"Specified if the Recommended sales quantity is locked in. If true, Norce will not allow other than multiples of RecommendedQty to be added to a cart. Note that use of this may affect user experience and external marketplaces outlook and ranking of the product."},"IsDropshipOnly":{"type":"boolean","description":"Indicates whether the variant is only available via drop shipping. Falls back to the primary category default if not set on the variant, and defaults to false if neither is set."},"StartDate":{"type":"string","description":"Configured start date for item. If the product has Status \"Coming\", this date is when the product will become active. For an active product, this is the date from when the product was activated.","format":"date-time","nullable":true},"EndDate":{"type":"string","description":"Configured end date for item. After this date, the item is automatically set to \"Expiring\" and will be inactivated by Norce Commerce, based on business rules.","format":"date-time","nullable":true},"Type":{"type":"string","description":"Product type. E.g. \"Standard\", \"Service\", \"Freight\" etc.","nullable":true},"Popularities":{"type":"array","items":{"$ref":"#/components/schemas/Popularity"},"description":"Popularities on the Variant level (depending on the client setting \"Product popularity by variant\" = true)."},"Id":{"type":"integer","description":"Norce internal product/variant id, same as \"Id\" in Norce Commerce Services.","format":"int32"},"TypeId":{"type":"integer","description":"Product type id (for example: Standard=1, Freight=3, Service=11, Extended assortment=14, ManagedStructure=37, Virtual=40). See documentation for more.","format":"int32"},"UnitOfMeasurementId":{"type":"integer","description":"Unit of measurement id for the Variant. Falls back to the primary category default if not set on the Variant.","format":"int32","nullable":true},"UnitOfMeasurement":{"type":"string","description":"Unit of measurement default name for the Variant, resolved from the UnitOfMeasurementId.","nullable":true},"UnitOfMeasurementCount":{"type":"number","description":"Unit of measurement count for the Variant, representing the quantity per unit of measurement.","format":"double"},"ErpName":{"type":"array","items":{"$ref":"#/components/schemas/ErpNameCulture"},"description":"Erp Name, commonly mapped to product name in ERP system, commonly used by Norce Commerce in ERP integrations."},"ProductComment":{"type":"array","items":{"$ref":"#/components/schemas/ProductCommentCulture"},"description":"Product internal Comments, localized if applicable."},"DetailedPrices":{"type":"array","items":{"$ref":"#/components/schemas/Price"},"description":"Detailed prices for all requested pricelists (or all public pricelists if omitted). Prices selected is not constrained by application sales areas such as the `prices` field."},"HistoricalBestPrices":{"type":"array","items":{"$ref":"#/components/schemas/HistoricalBestPrice"},"description":"Historical prices from a specific time before the last price change."},"HistoricalUniqueUrls":{"type":"array","items":{"$ref":"#/components/schemas/HistoricalUniqueUrls"},"description":"Historical unique url names"}},"description":"Represents a Variant."},"Warehouse":{"type":"object","properties":{"Code":{"maxLength":50,"type":"string","description":"Unique code of warehouse.","nullable":true},"LocationCode":{"maxLength":50,"type":"string","description":"Unique code of warehouse location.","nullable":true},"Id":{"type":"integer","description":"Norce internal warehouse id","format":"int32"},"LocationId":{"type":"integer","description":"Norce internal location id","format":"int32"}},"description":"Represents a Warehouse, on which stock information is kept."},"WarehouseType":{"enum":["warehouse","store","transit","other"],"type":"string","description":"Specifies the warehouse type, used to differentiate between normal warehouses, stores, transit warehouses etc, which is used differently in Norce Commerce business logic."}},"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}}}