{"openapi":"3.0.4","info":{"title":"Management API","description":"The Norce Management API lets you manage configurations and metadata on a client.","version":"v1"},"paths":{"/management/1.0/api/application/country/{id}":{"get":{"tags":["Settings ApplicationCountry"],"summary":"Get application country","description":"Get a specific country for the application","operationId":"ManagementApplicationCountryApi_Get","parameters":[{"name":"id","in":"path","description":"The system wide unique internal Norce Id of the country","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the ApplicationCountry","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCountryModel"}}}},"404":{"description":"If the country does not exist, and/or not added to the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Settings ApplicationCountry"],"summary":"Update application country","description":"Update an existing country in the application","operationId":"ManagementApplicationCountryApi_Update","parameters":[{"name":"id","in":"path","description":"The system wide unique internal Norce Id of the country","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"ApplicationCountry model, only IsPrimary and IsActive can be changed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCountryModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated country, or the country itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ApplicationCountryModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the country does not exist or is not linked or active to the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"delete":{"tags":["Settings ApplicationCountry"],"summary":"Delete application country","description":"(Soft)Delete a country from the application","operationId":"ManagementApplicationCountryApi_Delete","parameters":[{"name":"id","in":"path","description":"The system wide unique internal Norce Id of the country","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"If the country was successfully deactivated"},"404":{"description":"If the country does not exist or is not linked or active to the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/application/country":{"get":{"tags":["Settings ApplicationCountry"],"summary":"List application countries","description":"List all countries added to the application","operationId":"ManagementApplicationCountryApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of application countries, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationCountryModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Settings ApplicationCountry"],"summary":"Insert application country","description":"Add a new country to the application","operationId":"ManagementApplicationCountryApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"ApplicationCountry model, only Id required, If IsPrimary is set to true the last primary country will be unset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCountryModel"}}},"required":true},"responses":{"200":{"description":"The id of the added application country, or the application country itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ApplicationCountryModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/application/culture/{cultureCode}":{"get":{"tags":["Settings ApplicationCulture"],"summary":"Get application culture","description":"Get a specific culture for the application","operationId":"ManagementApplicationCultureApi_Get","parameters":[{"name":"cultureCode","in":"path","description":"The culture code of the culture, e.g. \"en-US\"","required":true,"schema":{"type":"string"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the ApplicationCulture","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCultureModel"}}}},"404":{"description":"If the culture does not exist, and/or not added to the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"delete":{"tags":["Settings ApplicationCulture"],"summary":"Delete application culture","description":"(soft) Delete a culture from the application","operationId":"ManagementApplicationCultureApi_Delete","parameters":[{"name":"cultureCode","in":"path","description":"The culture code of the culture to delete, e.g. \"en-US\"","required":true,"schema":{"type":"string"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"If the culture was successfully deactivated","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"If the culture does not exist or is not linked or active to the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Settings ApplicationCulture"],"summary":"Update application culture","description":"Update an existing culture in the application","operationId":"ManagementApplicationCultureApi_Update","parameters":[{"name":"cultureCode","in":"path","description":"The culture code of the culture to update, e.g. \"en-US\"","required":true,"schema":{"type":"string"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"UpdateApplicationCulture model, only IsPrimary and IsActive can be changed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCultureModel"}}},"required":true},"responses":{"200":{"description":"If the culture was successfully updated","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/application/culture":{"get":{"tags":["Settings ApplicationCulture"],"summary":"List application cultures","description":"List all cultures added to the application","operationId":"ManagementApplicationCultureApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of application cultures, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationCultureModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Settings ApplicationCulture"],"summary":"Insert application culture","description":"Add a new culture to the application","operationId":"ManagementApplicationCultureApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"UpdateApplicationCulture model, only cultureCode and isPrimary required, If IsPrimary is set to true the last primary culture will be unset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCultureModel"}}},"required":true},"responses":{"200":{"description":"If the culture was successfully added to the application","content":{"application/json":{"schema":{"type":"string"}}}},"400":{"description":"If the model is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/application/culture/list":{"put":{"tags":["Settings ApplicationCulture"],"summary":"Update multiple application cultures","description":"Update multiple existing cultures in the application","operationId":"ManagementApplicationCultureApi_UpdateList","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"List of UpdateApplicationCulture models, only IsPrimary and IsActive can be changed","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UpdateApplicationCultureModel"}}}},"required":true},"responses":{"200":{"description":"If the cultures were successfully updated","content":{"application/json":{"schema":{"type":"array","items":{"type":"integer","format":"int32"}}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/application/currency/{id}":{"get":{"tags":["Settings ApplicationCurrency"],"summary":"Get application currency","description":"Get a specific currency for the application","operationId":"ManagementApplicationCurrencyApi_Get","parameters":[{"name":"id","in":"path","description":"The system wide unique internal Norce Id of the currency","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the ApplicationCurrency","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCurrencyModel"}}}},"404":{"description":"If the currency does not exist, and/or not added to the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Settings ApplicationCurrency"],"summary":"Update application currency","description":"Update an existing currency in the application","operationId":"ManagementApplicationCurrencyApi_Update","parameters":[{"name":"id","in":"path","description":"Currency id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"UpdateApplicationCurrency model, only IsPrimary and IsActive can be changed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCurrencyModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated currency, or the currency itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ApplicationCurrencyModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the currency does not exist in the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"delete":{"tags":["Settings ApplicationCurrency"],"summary":"Delete application currency","description":"(Soft)Delete a currency from the application","operationId":"ManagementApplicationCurrencyApi_Delete","parameters":[{"name":"id","in":"path","description":"Currency id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"If the currency was successfully deactivated"},"400":{"description":"If the currency does not exist or is not linked or active to the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the currency does not exist in the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/application/currency":{"get":{"tags":["Settings ApplicationCurrency"],"summary":"List application currencies","description":"List all currencies added to the application","operationId":"ManagementApplicationCurrencyApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of application currencies, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationCurrencyModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Settings ApplicationCurrency"],"summary":"Insert application currency","description":"Add a new currency to the application","operationId":"ManagementApplicationCurrencyApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"ApplicationCurrency model, only Id required, If IsPrimary is set to true the last primary currency will be unset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationCurrencyModel"}}},"required":true},"responses":{"200":{"description":"The id of the added application currency, or the application currency itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ApplicationCurrencyModel"}]}}}},"400":{"description":"If the model is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"409":{"description":"If trying to insert a currency that already exists in the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/application/salesarea/{id}":{"get":{"tags":["Settings ApplicationSalesArea"],"summary":"Get application sales area","description":"Get a specific sales area for the application","operationId":"ManagementApplicationSalesAreaApi_Get","parameters":[{"name":"id","in":"path","description":"The system wide unique internal Norce Id of the sales area","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the ApplicationSalesArea","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationSalesAreaModel"}}}},"404":{"description":"If the sales area does not exist, and/or not added to the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Settings ApplicationSalesArea"],"summary":"Update application sales area","description":"Update an existing sales area in the application","operationId":"ManagementApplicationSalesAreaApi_Update","parameters":[{"name":"id","in":"path","description":"The system wide unique internal Norce Id of the sales area","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"UpdateApplicationSalesArea model, only Code, IsPrimary and IsActive can be changed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationSalesAreaModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated sales area, or the sales area itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ApplicationSalesAreaModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the sales area does not exist in the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"delete":{"tags":["Settings ApplicationSalesArea"],"summary":"Delete application sales area","description":"(Soft)Delete a sales area from the application","operationId":"ManagementApplicationSalesAreaApi_Delete","parameters":[{"name":"id","in":"path","description":"The system wide unique internal Norce Id of the sales area","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"If the sales area was successfully deactivated"},"400":{"description":"If the sales area does not exist in Norce","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the sales area does not exist in the application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/application/salesarea":{"get":{"tags":["Settings ApplicationSalesArea"],"summary":"List application sales areas","description":"List all sales areas added to the application","operationId":"ManagementApplicationSalesAreaApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of application sales areas, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationSalesAreaModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Settings ApplicationSalesArea"],"summary":"Insert application sales area","description":"Add a new sales area to the application","operationId":"ManagementApplicationSalesAreaApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"ApplicationSalesArea model, only id and isPrimary required, Code is optional, If IsPrimary is set to true the last primary sales area will be unset","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationSalesAreaModel"}}},"required":true},"responses":{"200":{"description":"The id of the added application sales area, or the application sales area itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ApplicationSalesAreaModel"}]}}}},"400":{"description":"If the model is invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/application/{id}":{"get":{"tags":["Settings Application"],"summary":"Get application","description":"Get a specific application by its unique internal Norce Id","operationId":"ManagementApplicationApi_Get","parameters":[{"name":"id","in":"path","description":"The environment wide unique internal Norce Id of the application","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationModel"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Application not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Settings Application"],"summary":"Update application","description":"Update an existing application","operationId":"ManagementApplicationApi_Update","parameters":[{"name":"id","in":"path","description":"The environment wide unique internal Id of the application to update","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Application model, only Name, Description, Url, ProductUrl and IsActive are updateable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated application, or the application itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ApplicationModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the application was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"500":{"description":"If an internal server error occurred"}},"security":[{"Bearer":[]}]}},"/management/1.0/api/application/byclient":{"get":{"tags":["Settings Application"],"summary":"List applications for the current client","description":"List all applications belonging to the current client","operationId":"ManagementApplicationApi_ListByClient","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of applications for the current client, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationModel"}}}}},"400":{"description":"Invalid request, like client does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/audit/logs":{"get":{"tags":["Audit Logs"],"summary":"List audit events","description":"Scoped to the caller's client. The tenant comes from the application-id header this surface\nalready requires, never from the query, so this cannot be pointed at another client's trail.","operationId":"ManagementAuditLogApi_List","parameters":[{"name":"FromDate","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"ToDate","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"Area","in":"query","schema":{"type":"string"}},{"name":"Action","in":"query","schema":{"type":"string"}},{"name":"ActorId","in":"query","schema":{"type":"string"}},{"name":"Outcome","in":"query","schema":{"type":"string"}},{"name":"SubjectType","in":"query","schema":{"type":"string"}},{"name":"SubjectId","in":"query","schema":{"type":"string"}},{"name":"Page","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the matching audit events","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagedEventResponse"}}}},"503":{"description":"Event logging is not enabled in this environment"}},"security":[{"Bearer":[]}]}},"/management/1.0/api/audit/logs/export":{"get":{"tags":["Audit Logs"],"summary":"Export audit events","operationId":"ManagementAuditLogApi_Export","parameters":[{"name":"FromDate","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"ToDate","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"Area","in":"query","schema":{"type":"string"}},{"name":"Action","in":"query","schema":{"type":"string"}},{"name":"ActorId","in":"query","schema":{"type":"string"}},{"name":"Outcome","in":"query","schema":{"type":"string"}},{"name":"SubjectType","in":"query","schema":{"type":"string"}},{"name":"SubjectId","in":"query","schema":{"type":"string"}},{"name":"Page","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"PageSize","in":"query","schema":{"type":"integer","format":"int32"}},{"name":"format","in":"query","description":"Export format: `Json` or `Csv`","schema":{"$ref":"#/components/schemas/ExportFormat"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the export in the requested format"},"503":{"description":"Event logging is not enabled in this environment"}},"security":[{"Bearer":[]}]}},"/management/1.0/api/category/{id}":{"get":{"tags":["Category"],"summary":"Get category","description":"Get a specific category by its unique internal Norce Id","operationId":"ManagementCategoryApi_Get","parameters":[{"name":"id","in":"path","description":"The unique internal Norce Id of the category","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Category","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryModel"}}}},"404":{"description":"Category not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Category"],"summary":"Update category","description":"Update an existing active category","operationId":"ManagementCategoryApi_Update","parameters":[{"name":"id","in":"path","description":"The unique internal Norce Id of the category","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"CategoryModel, object containing updated category data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated category, or the category itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/CategoryModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/category":{"get":{"tags":["Category"],"summary":"List categories","description":"Get a list of all active categories","operationId":"ManagementCategoryApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of categories, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Category"],"summary":"Create a category","description":"Add a new category","operationId":"ManagementCategoryApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"CategoryModel, object containing data for the new category, Name, Code, ParentId, SortOrder, IsActive are recommended fields","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryModel"}}},"required":true},"responses":{"200":{"description":"The id of the added category, or the category itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/CategoryModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/category/compact":{"get":{"tags":["Category"],"summary":"List categories in compact format","description":"Get a list of all active categories in compact format","operationId":"ManagementCategoryApi_Compact","parameters":[{"name":"search","in":"query","description":"Optional search term to filter categories by name or code","schema":{"type":"string"}},{"name":"hasCode","in":"query","description":"Filter to only include categories that have a code","schema":{"type":"boolean","default":false}},{"name":"isActive","in":"query","description":"Filter to only include active categories","schema":{"type":"boolean","default":true}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of categories in compact format, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IdNameCodeModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/category/deleted":{"get":{"tags":["Category"],"summary":"List deleted categories","description":"Get a list of all deleted categories","operationId":"ManagementCategoryApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted categories, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/category/{categoryId}/parametric":{"get":{"tags":["CategoryParametric"],"summary":"List category parametrics","operationId":"ManagementCategoryParametricApi_List","parameters":[{"name":"categoryId","in":"path","description":"Category id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"isRequired","in":"query","description":"Only required parameters. Defaults to false","schema":{"type":"boolean","default":false}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of category parametrics, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryParametricModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["CategoryParametric"],"summary":"Update category parametrics","description":"Update a complete list of parametrics assigned to a category","operationId":"ManagementCategoryParametricApi_Update","parameters":[{"name":"categoryId","in":"path","description":"The identifier of the category that will be updated","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"a list of category parametrics, empty list will remove all parametrics from the category","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryParametricModel"}}}},"required":true},"responses":{"200":{"description":"If the category parametrics were successfully updated","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/category/{categoryId}/parametric/copy-to-children":{"put":{"tags":["CategoryParametric"],"summary":"Copy parametrics to all child categories to the specified category","description":"Note: This operation will replace all existing parametrics in the child categories with the provided list. Use with caution to avoid unintentional meta data corruption.","operationId":"ManagementCategoryParametricApi_CopyToChildren","parameters":[{"name":"categoryId","in":"path","description":"Parent category id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"a list of category parametrics that will replace the child category parametrics","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryParametricModel"}}}},"required":true},"responses":{"200":{"description":"If the category parametrics were successfully copied to child categories"}},"security":[{"Bearer":[]}]}},"/management/1.0/api/category/{categoryId}/product-sortorder":{"get":{"tags":["CategoryProductSortOrder"],"summary":"List category product sort order","description":"Get a list of the products of a specific category in their sort order: sorted products first, then unsorted products, by product id among ties.\nNote: Only products linked directly to the category, with an active link and a sku in status Active, Coming or Expiring, are listed. A variant group is listed as one row.","operationId":"ManagementCategoryProductSortOrderApi_List","parameters":[{"name":"categoryId","in":"path","description":"Category id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of products in their sort order, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryProductSortOrderRowModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["CategoryProductSortOrder"],"summary":"Update category product sort order","description":"Update the complete sort order of the products of a specific category. Send only the products that should be sorted.\nNote: This operation only orders products that are already in the category, it never adds or removes products. Every row must be a product, or a variant group, returned by the list endpoint and may only occur once.\nNote: A row with a variant id positions every product of the variant group that has a sku in status Active, Coming or Expiring, including products whose link to the category is inactive.\nNote: Products returned by the list endpoint that are not in the list will lose their sort order and be listed after the sorted products. Other products are not changed, apart from the variant group products positioned above.\nNote: Every product whose sort order changes, including those that lose it, triggers change events and delta updates.","operationId":"ManagementCategoryProductSortOrderApi_Update","parameters":[{"name":"categoryId","in":"path","description":"Category id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"A complete list of the products to sort, in their new order, existing sort order will be replaced. An empty list will remove the sort order from every product returned by the list endpoint.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryProductSortOrderUpdateModel"}}}},"required":true},"responses":{"200":{"description":"If the category product sort order was successfully updated"},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/client/assortment/{id}":{"get":{"tags":["Settings ClientAssortment"],"summary":"Get assortment","description":"Get a specific client assortment by its unique internal Norce Id","operationId":"ManagementClientAssortmentApi_Get","parameters":[{"name":"id","in":"path","description":"Assortment id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the ClientAssortment","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientAssortmentModel"}}}},"404":{"description":"If the assortment does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Settings ClientAssortment"],"summary":"Update assortment","description":"Update an existing client assortment","operationId":"ManagementClientAssortmentApi_Update","parameters":[{"name":"id","in":"path","description":"Assortment id to update","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Updated assortment data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientAssortmentModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated assortment, or the assortment itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ClientAssortmentModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the assortment does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"delete":{"tags":["Settings ClientAssortment"],"summary":"Remove client assortment","description":"Remove a client assortment from the client","operationId":"ManagementClientAssortmentApi_Delete","parameters":[{"name":"id","in":"path","description":"Assortment id to delete","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"If the assortment was successfully removed"},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/client/assortment":{"get":{"tags":["Settings ClientAssortment"],"summary":"List active assortments","description":"Get a list of all active client assortments for the client","operationId":"ManagementClientAssortmentApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of client assortments, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClientAssortmentModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Settings ClientAssortment"],"summary":"Add new assortment","description":"Add a new assortment to the client","operationId":"ManagementClientAssortmentApi_Create","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Assortment to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientAssortmentModel"}}},"required":true},"responses":{"200":{"description":"The id of the created assortment, or the assortment itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ClientAssortmentModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/client/currency":{"get":{"tags":["Settings ClientCurrency"],"summary":"List client currencies","description":"Get a list of all client currencies active on the client","operationId":"ManagementClientCurrencyApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of client currencies, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClientCurrencyModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Settings ClientCurrency"],"summary":"Update client currencies","description":"Update a complete list of currencies assigned to the client","operationId":"ManagementClientCurrencyApi_UpdateList","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"a list of client currencies, empty list will remove all currencies from the client","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UpdateClientCurrencyModel"}}}},"required":true},"responses":{"200":{"description":"If the client currencies were successfully updated"}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/clientpricelisttype":{"get":{"tags":["PriceList ClientPriceListType"],"summary":"List client price list types","description":"Get a list of all price list types enabled for the client","operationId":"ManagementClientPriceListTypeApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of client price list types, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClientPriceListTypeModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/clientpricelisttype/{id}":{"put":{"tags":["PriceList ClientPriceListType"],"summary":"Update a single client price list type","description":"Update a single client price list type by id. If the type does not exist, it will be created (upsert).","operationId":"ManagementClientPriceListTypeApi_Update","parameters":[{"name":"id","in":"path","description":"The id of the price list type to update","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"The client price list type model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientPriceListTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated or created client price list type, or the client price list type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ClientPriceListTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"get":{"tags":["PriceList ClientPriceListType"],"summary":"Get a single client price list type by id","description":"Get a single price list type enabled for the client","operationId":"ManagementClientPriceListTypeApi_Get","parameters":[{"name":"id","in":"path","description":"The id of the price list type to get","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the client price list type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientPriceListTypeModel"}}}},"404":{"description":"If the client price list type does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/clientpricelisttype/list":{"put":{"tags":["PriceList ClientPriceListType"],"summary":"Update list of client price list types","description":"Update the complete list of price list types for the client. Items marked as inactive will be removed.","operationId":"ManagementClientPriceListTypeApi_UpdateList","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"A list of client price list types","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClientPriceListTypeModel"}}}},"required":true},"responses":{"200":{"description":"If the client price list types were successfully updated"},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/client/salesarea/{id}":{"get":{"tags":["Settings ClientSalesArea"],"summary":"Get client sales area","description":"Get a specific sales area assigned to the client by its unique internal Norce Id","operationId":"ManagementClientSalesAreaApi_Get","parameters":[{"name":"id","in":"path","description":"Client sales area id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the ClientSalesArea","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSalesAreaModel"}}}},"404":{"description":"If the sales area does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Settings ClientSalesArea"],"summary":"Update client sales area","description":"Update an existing client sales area","operationId":"ManagementClientSalesAreaApi_Update","parameters":[{"name":"id","in":"path","description":"Id of the sales area to update","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Updated client sales area data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSalesAreaModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated sales area, or the sales area itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ClientSalesAreaModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the sales area does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/client/salesarea":{"get":{"tags":["Settings ClientSalesArea"],"summary":"List client sales areas","description":"Get a list of all client sales areas assigned to the client","operationId":"ManagementClientSalesAreaApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of client sales areas, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ClientSalesAreaModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Settings ClientSalesArea"],"summary":"Add sales area to the client","description":"Add a new sales area to the client from a predefined list of sales areas from Norce","operationId":"ManagementClientSalesAreaApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Client sales area to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientSalesAreaModel"}}},"required":true},"responses":{"200":{"description":"The id of the added client sales area, or the client sales area itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ClientSalesAreaModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/customer/group/{id}":{"get":{"tags":["Customer FlagGroup"],"summary":"Get customer flag group","description":"Get a specific customer flag group by its internal id","operationId":"ManagementCustomerFlagGroupApi_Get","parameters":[{"name":"id","in":"path","description":"Customer flag group id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the CustomerFlagGroup","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerFlagGroupModel"}}}},"404":{"description":"If the customer flag group does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Customer FlagGroup"],"summary":"Update a customer flag group","description":"Update an existing customer flag group on the client","operationId":"ManagementCustomerFlagGroupApi_Update","parameters":[{"name":"id","in":"path","description":"Customer flag group id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Customer flag group to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerFlagGroupModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated customer flag group, or the customer flag group itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/CustomerFlagGroupModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the customer flag group does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/customer/group":{"get":{"tags":["Customer FlagGroup"],"summary":"List customer flag groups","description":"Get a list of all customer flag groups on the client","operationId":"ManagementCustomerFlagGroupApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of customer flag groups, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomerFlagGroupModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Customer FlagGroup"],"summary":"Add a customer flag group","description":"Add a new customer flag group to the client","operationId":"ManagementCustomerFlagGroupApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Customer flag group to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerFlagGroupModel"}}},"required":true},"responses":{"200":{"description":"The id of the created customer flag group, or the customer flag group itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/CustomerFlagGroupModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/customer/group/deleted":{"get":{"tags":["Customer FlagGroup"],"summary":"List (soft) deleted customer flag groups","description":"Get a list of all deleted customer flag groups on the client, update a deleted flag group with IsActive = true to activate it again","operationId":"ManagementCustomerFlagGroupApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted customer flag groups, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomerFlagGroupModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/customer/flag/{id}":{"get":{"tags":["Customer Flag"],"summary":"Get customer or company flag","description":"Get a specific customer or company flag by its internal id","operationId":"ManagementCustomerFlagApi_Get","parameters":[{"name":"id","in":"path","description":"Flag id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the CustomerFlag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerFlagModel"}}}},"404":{"description":"If the flag does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Customer Flag"],"summary":"Update customer or company flag","description":"Update an existing customer or company flag on the client","operationId":"ManagementCustomerFlagApi_Update","parameters":[{"name":"id","in":"path","description":"Flag id to update","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Flag to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerFlagModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated customer or company flag, or the customer or company flag itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/CustomerFlagModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/customer/flag":{"get":{"tags":["Customer Flag"],"summary":"List active customer and company flags","description":"Get a list of all active customer and company flags on the client","operationId":"ManagementCustomerFlagApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of customer and company flags, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomerFlagModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Customer Flag"],"summary":"Create a customer or company flag","description":"Add a new customer or company flag to the client","operationId":"ManagementCustomerFlagApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Customer or company flag to create","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerFlagModel"}}},"required":true},"responses":{"200":{"description":"The id of the created customer or company flag, or the customer or company flag itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/CustomerFlagModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/customer/flag/deleted":{"get":{"tags":["Customer Flag"],"summary":"Lists deleted customer and company flags","description":"Get a list of all deleted customer and company flags on the client, update a deleted flag with IsActive = true to activate it again","operationId":"ManagementCustomerFlagApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted customer and company flags, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomerFlagModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/customer/infotype/{groupId}":{"get":{"tags":["Customer InfoType"],"summary":"List customer info types by group","description":"Get a list of all active customer, company or store info types for a specific group on the client","operationId":"ManagementCustomerInfoTypeApi_ListByGroup","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type, see CustomerInfoTypeGroups enum","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of active customer, company or store info types for the specified group, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomerInfoTypeModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Customer InfoType"],"summary":"Add a customer info type","description":"Add a new customer, company or store info type to a specific group on the client","operationId":"ManagementCustomerInfoTypeApi_Insert","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type, see CustomerInfoTypeGroups enum","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Model to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerInfoTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the added customer info type, or the customer info type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/CustomerInfoTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/customer/infotype/{groupId}/deleted":{"get":{"tags":["Customer InfoType"],"summary":"List deleted customer info types by group","description":"Get a list of all deleted customer, company or store info types for a specific group on the client, update a deleted info type with IsActive = true to activate it again","operationId":"ManagementCustomerInfoTypeApi_ListDeleted","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type, see CustomerInfoTypeGroups enum","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted customer, company or store info types for the specified group, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CustomerInfoTypeModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/customer/infotype/{groupId}/item/{id}":{"get":{"tags":["Customer InfoType"],"summary":"Get customer info type by group and id","description":"Get a specific customer, company or store info type by its internal Id for a specific group","operationId":"ManagementCustomerInfoTypeApi_GetItem","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type, see CustomerInfoTypeGroups enum","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Info type id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the CustomerInfoType","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerInfoTypeModel"}}}},"404":{"description":"If the customer info type does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/customer/infotype/{groupId}/{id}":{"put":{"tags":["Customer InfoType"],"summary":"Update customer info type","description":"Update an existing customer, company or store info type for a specific group on the client","operationId":"ManagementCustomerInfoTypeApi_Update","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type, see CustomerInfoTypeGroups enum","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Info type id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Model to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerInfoTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated customer info type, or the customer info type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/CustomerInfoTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/family/{id}":{"get":{"tags":["Product Family"],"summary":"Get product family","description":"Get a specific product family by its internal Id","operationId":"ManagementFamilyApi_Get","parameters":[{"name":"id","in":"path","description":"Family id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Family","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyModel"}}}},"404":{"description":"If the family does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Product Family"],"summary":"Update a product family","description":"Update an existing product family","operationId":"ManagementFamilyApi_Update","parameters":[{"name":"id","in":"path","description":"Family id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Family to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated product family, or the product family itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/FamilyModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/family":{"get":{"tags":["Product Family"],"summary":"List active product families","description":"Get a list of all active product families on the client","operationId":"ManagementFamilyApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of product families, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FamilyModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Product Family"],"summary":"Add a product family","description":"Add a new product family to the client","operationId":"ManagementFamilyApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Family to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FamilyModel"}}},"required":true},"responses":{"200":{"description":"The id of the added product family, or the product family itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/FamilyModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/family/deleted":{"get":{"tags":["Product Family"],"summary":"List deleted product families","description":"Get a list of all deleted product families on the client, update a deleted family with IsActive = true to activate it again","operationId":"ManagementFamilyApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted product families, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FamilyModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/file/{id}":{"get":{"tags":["Product File"],"summary":"Get product file type","description":"Get a specific product file type by its internal Id","operationId":"ManagementFileApi_Get","parameters":[{"name":"id","in":"path","description":"Product file type id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the File","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileModel"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Product File"],"summary":"Update product file type","description":"Update an existing product file type","operationId":"ManagementFileApi_Update","parameters":[{"name":"id","in":"path","description":"Product file type id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"A product file type to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated product file type, or the product file type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/FileModel"}]}}}}},"security":[{"Bearer":[]}]},"delete":{"tags":["Product File"],"summary":"Delete a product file type","description":"Delete an existing product file type from the client","operationId":"ManagementFileApi_Delete","parameters":[{"name":"id","in":"path","description":"Product file type id to delete","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"If the product file type was successfully deleted","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/file":{"get":{"tags":["Product File"],"summary":"List active product file types","description":"Get a list of all active product file types on the client, optionally filter by image or non-image types","operationId":"ManagementFileApi_List","parameters":[{"name":"isImage","in":"query","description":"Optional filter to only include image file types (true) or non-image file types (false)","schema":{"type":"boolean"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of product file types, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FileModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Product File"],"summary":"Add a product file type","description":"Add a new product file type to the client","operationId":"ManagementFileApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"A product file type to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileModel"}}},"required":true},"responses":{"200":{"description":"The id of the added product file type, or the product file type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/FileModel"}]}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/manufacturer/{id}":{"get":{"tags":["Product Manufacturer"],"summary":"Get a manufacturer","description":"Get a specific manufacturer by its internal id","operationId":"ManagementManufacturerApi_Get","parameters":[{"name":"id","in":"path","description":"Manufacturer id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Manufacturer","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManufacturerModel"}}}},"404":{"description":"If the manufacturer does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Product Manufacturer"],"summary":"Update manufacturer","description":"Update an existing manufacturer","operationId":"ManagementManufacturerApi_Update","parameters":[{"name":"id","in":"path","description":"Manufacturer id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Manufacturer to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManufacturerModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated manufacturer, or the manufacturer itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ManufacturerModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/manufacturer":{"get":{"tags":["Product Manufacturer"],"summary":"List active manufacturers","description":"Get a list of all active manufacturers on the client","operationId":"ManagementManufacturerApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of manufacturers, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ManufacturerModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Product Manufacturer"],"summary":"Add a manufacturer","description":"Add a new manufacturer to the client","operationId":"ManagementManufacturerApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Manufacturer to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManufacturerModel"}}},"required":true},"responses":{"200":{"description":"The id of the added manufacturer, or the manufacturer itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ManufacturerModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/manufacturer/deleted":{"get":{"tags":["Product Manufacturer"],"summary":"List deleted manufacturers","description":"Get a list of all deleted manufacturers on the client, update a deleted manufacturer with IsActive = true to activate it again","operationId":"ManagementManufacturerApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted manufacturers, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ManufacturerModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/parametricgroup/{id}":{"get":{"tags":["Parametric Group"],"summary":"Get a parametric group","description":"Get a specific parametric group by its internal Id","operationId":"ManagementParametricGroupApi_Get","parameters":[{"name":"id","in":"path","description":"Parametric group id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Parametric Group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametricGroupModel"}}}},"404":{"description":"If the parametric group does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Parametric Group"],"summary":"Update a parametric group","description":"Update an existing parametric group","operationId":"ManagementParametricGroupApi_Update","parameters":[{"name":"id","in":"path","description":"Parametric group id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Parametric group to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametricGroupModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated parametric group, or the parametric group itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ParametricGroupModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/parametricgroup":{"get":{"tags":["Parametric Group"],"summary":"List active parametric groups","description":"Get a list of all active parametric groups on the client","operationId":"ManagementParametricGroupApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of parametric groups, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametricGroupModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Parametric Group"],"summary":"Add a parametric group","description":"Add a new parametric group to the client","operationId":"ManagementParametricGroupApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Parametric group to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametricGroupModel"}}},"required":true},"responses":{"200":{"description":"The id of the added parametric group, or the parametric group itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ParametricGroupModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/parametricgroup/deleted":{"get":{"tags":["Parametric Group"],"summary":"List deleted parametric groups","description":"Get a list of all deleted parametric groups on the client, update a deleted parametric group with IsActive = true to activate it again","operationId":"ManagementParametricGroupApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted parametric groups, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametricGroupModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/parametric/{parametricId}/list":{"get":{"tags":["Parametric List"],"summary":"List parametric list values","description":"Get a list of all parametric list values for a specific parametric attribute","operationId":"ManagementParametricListApi_List","parameters":[{"name":"parametricId","in":"path","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of parametric list values, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametricListModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Parametric List"],"summary":"Add or Update parametric list values","description":"Update the complete list of parametric list values for a specific parametric attribute","operationId":"ManagementParametricListApi_Update","parameters":[{"name":"parametricId","in":"path","description":"Parametric attribute id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"useSortOrder","in":"query","description":"Optional flag to indicate if the sort order from the provided list should be used","schema":{"type":"boolean","default":false}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"A complete list of parametric list values to set, existing values will be replaced. New values are allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametricListModel"}}}},"required":true},"responses":{"200":{"description":"If the parametric list values were successfully updated"},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/parametric/{parametricId}/multiple":{"get":{"tags":["Parametric Multiple"],"summary":"List parametric multiple values","description":"Get a list of all parametric multiple values for a specific parametric attribute","operationId":"ManagementParametricMultipleApi_List","parameters":[{"name":"parametricId","in":"path","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of parametric multiple values, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametricMultipleModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Parametric Multiple"],"summary":"Add or Update parametric multiple values","description":"Update the complete list of parametric multiple values for a specific parametric attribute","operationId":"ManagementParametricMultipleApi_Update","parameters":[{"name":"parametricId","in":"path","description":"Parametric attribute id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"useSortOrder","in":"query","description":"Optional flag to indicate if the sort order from the provided list should be used","schema":{"type":"boolean","default":false}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"A complete list of parametric multiple values to set, existing values will be replaced. New values are allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametricMultipleModel"}}}},"required":true},"responses":{"200":{"description":"If the parametric multiple values were successfully updated"},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/parametric/{id}":{"get":{"tags":["Parametric"],"summary":"Get a parametric","description":"Get a specific parametric by its internal Id","operationId":"ManagementParametricApi_Get","parameters":[{"name":"id","in":"path","description":"Parametric id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Parametric","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametricModel"}}}},"404":{"description":"If the parametric does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Parametric"],"summary":"Update a parametric","description":"Update an existing parametric","operationId":"ManagementParametricApi_Update","parameters":[{"name":"id","in":"path","description":"Parametric id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Parametric to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametricModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated parametric, or the parametric itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ParametricModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/parametric":{"get":{"tags":["Parametric"],"summary":"List active parametrics","description":"Get a list of all active parametrics on the client","operationId":"ManagementParametricApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of parametrics, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametricModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Parametric"],"summary":"Add a parametric","description":"Add a new parametric to the client","operationId":"ManagementParametricApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Parametric to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ParametricModel"}}},"required":true},"responses":{"200":{"description":"The id of the added parametric, or the parametric itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ParametricModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/parametric/deleted":{"get":{"tags":["Parametric"],"summary":"List deleted parametrics","description":"Get a list of all deleted parametrics on the client, update a deleted parametric with IsActive = true to activate it again","operationId":"ManagementParametricApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted parametrics, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ParametricModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/pricelist/{priceListId}/info":{"get":{"tags":["PriceList Infos"],"summary":"List price list infos","description":"Every info type value currently stored on the given price list, in type order","operationId":"ManagementPriceListInfoApi_List","parameters":[{"name":"priceListId","in":"path","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the stored infos (possibly empty)","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceListInfoModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["PriceList Infos"],"summary":"Replace the price list's infos","description":"Full-replace semantics: rows missing from the payload are deleted, new rows are inserted","operationId":"ManagementPriceListInfoApi_Update","parameters":[{"name":"priceListId","in":"path","description":"Price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"The complete set of infos the price list should have after the call","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceListInfoModel"}}}},"required":true},"responses":{"200":{"description":"Update succeeded","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"Validation failed (missing value, duplicate or unknown type)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/pricelist/{priceListId}/population":{"get":{"tags":["PriceList Population"],"summary":"Get price list population rules","description":"Get the population settings for a specific price list by its internal Id","operationId":"ManagementPriceListPopulationApi_Get","parameters":[{"name":"priceListId","in":"path","description":"Price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Price List Population","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListPopulationModel"}}}},"404":{"description":"If the price list does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["PriceList Population"],"summary":"Update price list population rules","description":"Update the population settings for a specific price list by its internal Id","operationId":"ManagementPriceListPopulationApi_Update","parameters":[{"name":"priceListId","in":"path","description":"Price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"Price list population model to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListPopulationModel"}}},"required":true},"responses":{"204":{"description":"If the Price List Population was successfully updated"},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/pricelist/{priceListId}/pricing":{"get":{"tags":["PriceList Pricing"],"summary":"List price list pricing rules","description":"Get a list of all price list pricing rules for a specific price list","operationId":"ManagementPriceListPricingApi_List","parameters":[{"name":"priceListId","in":"path","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of price list pricing rules, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceListPricingModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["PriceList Pricing"],"summary":"Add or Update price list pricing rules","description":"Update the complete list of price list pricing rules for a specific price list","operationId":"ManagementPriceListPricingApi_Update","parameters":[{"name":"priceListId","in":"path","description":"Price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"A complete list of price list pricing rules to set, existing rules will be replaced. New rules are allowed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceListPricingModel"}}}},"required":true},"responses":{"200":{"description":"If the price list pricing rules were successfully updated","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/pricelist/{id}":{"get":{"tags":["PriceList"],"summary":"Get a price list","description":"Get a specific price list by its internal Id","operationId":"ManagementPriceListApi_Get","parameters":[{"name":"id","in":"path","description":"Price list id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the PriceList","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListModel"}}}},"404":{"description":"If the price list does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["PriceList"],"summary":"Update a price list","description":"Update a specific price list by its internal Id","operationId":"ManagementPriceListApi_Update","parameters":[{"name":"id","in":"path","description":"Price list id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Price List to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated price list, or the price list itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/PriceListModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/pricelist":{"get":{"tags":["PriceList"],"summary":"List price lists","description":"Get a list of all price lists for the client","operationId":"ManagementPriceListApi_List","parameters":[{"name":"filter","in":"query","description":"Filters price lists by status. Supported values:\n- \"open\": active and upcoming price lists that have not ended\n- \"active\": all active price lists within start/end dates\n- \"inactive\": inactive or ended price lists\nDefault is \"open\".","schema":{"type":"string","default":"open"}},{"name":"search","in":"query","description":"Search for price lists on name or code (case-insensitive)","schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (1-based). When null, returns all price lists","schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","description":"Number of items per page. Only used when page is provided","schema":{"type":"integer","format":"int32"}},{"name":"isPublic","in":"query","description":"Filter by public price lists","schema":{"type":"boolean"}},{"name":"isFavorite","in":"query","description":"Filter by favorite price lists","schema":{"type":"boolean"}},{"name":"isVirtual","in":"query","description":"Filter by virtual price lists","schema":{"type":"boolean"}},{"name":"currencyId","in":"query","description":"Filter by currency id","schema":{"type":"integer","format":"int32"}},{"name":"typeId","in":"query","description":"Filter by price list type id","schema":{"type":"integer","format":"int32"}},{"name":"salesAreaId","in":"query","description":"Filter by sales area id","schema":{"type":"integer","format":"int32"}},{"name":"parentPriceListId","in":"query","description":"Filter by parent price list id","schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns a list of price lists, if any exist","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceListModel"}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["PriceList"],"summary":"Add a price list","description":"Add a new price list to the client","operationId":"ManagementPriceListApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Price List to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListModel"}}},"required":true},"responses":{"200":{"description":"The id of the added price list, or the price list itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/PriceListModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/pricelist/page":{"get":{"tags":["PriceList"],"summary":"List price lists (paged)","description":"Get a paged list of price lists with total count","operationId":"ManagementPriceListApi_ListPaged","parameters":[{"name":"filter","in":"query","description":"Filters price lists by status. Supported values:\n- \"open\": active and upcoming price lists that have not ended\n- \"active\": all active price lists within start/end dates\n- \"inactive\": inactive or ended price lists\nDefault is \"open\".","schema":{"type":"string","default":"open"}},{"name":"search","in":"query","description":"Search for price lists on name or code (case-insensitive)","schema":{"type":"string"}},{"name":"page","in":"query","description":"Page number (1-based). When null, returns all price lists","schema":{"type":"integer","format":"int32"}},{"name":"pageSize","in":"query","description":"Number of items per page. Only used when page is provided","schema":{"type":"integer","format":"int32"}},{"name":"isPublic","in":"query","description":"Filter by public price lists","schema":{"type":"boolean"}},{"name":"isFavorite","in":"query","description":"Filter by favorite price lists","schema":{"type":"boolean"}},{"name":"isVirtual","in":"query","description":"Filter by virtual price lists","schema":{"type":"boolean"}},{"name":"currencyId","in":"query","description":"Filter by currency id","schema":{"type":"integer","format":"int32"}},{"name":"typeId","in":"query","description":"Filter by price list type id","schema":{"type":"integer","format":"int32"}},{"name":"salesAreaId","in":"query","description":"Filter by sales area id","schema":{"type":"integer","format":"int32"}},{"name":"parentPriceListId","in":"query","description":"Filter by parent price list id","schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns a paged list of price lists with count","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCountModelOfPriceListModel"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/pricelist/{priceListId}/supplierpricelist":{"get":{"tags":["PriceList SupplierPriceList"],"summary":"List supplier price lists for a price list","description":"Get a list of all supplier price lists linked to a specific price list","operationId":"ManagementPriceListSupplierPriceListApi_List","parameters":[{"name":"priceListId","in":"path","description":"(client) Price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns a list of supplier price lists, if any exist","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceListSupplierPriceListModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["PriceList SupplierPriceList"],"summary":"Add or Update supplier price lists for a price list","description":"Update the complete list of supplier price lists linked to a specific price list","operationId":"ManagementPriceListSupplierPriceListApi_Update","parameters":[{"name":"priceListId","in":"path","description":"(client) Price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"A complete list of supplier price lists to set, existing links will be replaced. New links are allowed. An empty list removes all links.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceListSupplierPriceListModel"}}}},"required":true},"responses":{"200":{"description":"If the supplier price lists were successfully updated","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/pricelisttype":{"get":{"tags":["PriceList PriceListType"],"summary":"List price list types","description":"Get a list of all price list types","operationId":"ManagementPriceListTypeApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of price list types","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceListTypeModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["PriceList PriceListType"],"summary":"Create a new price list type","description":"Create a new price list type for the client. The type id is assigned automatically.","operationId":"ManagementPriceListTypeApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"The price list type model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the created price list type, or the price list type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/PriceListTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"409":{"description":"If a price list type with the same code already exists","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/pricelisttype/{id}":{"get":{"tags":["PriceList PriceListType"],"summary":"Get a single price list type by id","operationId":"ManagementPriceListTypeApi_Get","parameters":[{"name":"id","in":"path","description":"The id of the price list type to get","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the price list type","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListTypeModel"}}}},"404":{"description":"If the price list type does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["PriceList PriceListType"],"summary":"Update a single price list type","description":"Update a single price list type by id. If the type does not exist, it will be created (upsert).","operationId":"ManagementPriceListTypeApi_Update","parameters":[{"name":"id","in":"path","description":"The id of the price list type to update","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"The price list type model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated or created price list type, or the price list type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/PriceListTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/pricelist/{priceListId}/warehouse":{"get":{"tags":["PriceList Warehouse"],"summary":"List price list warehouses","description":"Get a list of all warehouses linked to a specific price list","operationId":"ManagementPriceListWarehouseApi_List","parameters":[{"name":"priceListId","in":"path","description":"Price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of price list warehouses, if any exist","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceListWarehouseModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["PriceList Warehouse"],"summary":"Update price list warehouses","description":"Update the complete list of warehouses linked to a specific price list","operationId":"ManagementPriceListWarehouseApi_Update","parameters":[{"name":"priceListId","in":"path","description":"Price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"list of price list warehouse links","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PriceListWarehouseModel"}}}},"required":true},"responses":{"200":{"description":"If the list of price list warehouses were successfully updated","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/flaggroup/{id}":{"get":{"tags":["Product FlagGroup"],"summary":"Get product flag group","description":"Get a specific product flag group by its internal id","operationId":"ManagementProductFlagGroupApi_Get","parameters":[{"name":"id","in":"path","description":"Product flag group id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the product flag group if found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlagGroupModel"}}}},"404":{"description":"If the product flag group was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Product FlagGroup"],"summary":"Update a product flag group","description":"Update a specific product flag group by its internal id","operationId":"ManagementProductFlagGroupApi_Update","parameters":[{"name":"id","in":"path","description":"Product flag group id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Product flag group model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlagGroupModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated product flag group, or the product flag group itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/FlagGroupModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the product flag group was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/flaggroup":{"get":{"tags":["Product FlagGroup"],"summary":"List product flag groups","description":"Get a list of all product flag groups on the client","operationId":"ManagementProductFlagGroupApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of product flag groups, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlagGroupModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Product FlagGroup"],"summary":"Add a product flag group","description":"Add a new product flag group","operationId":"ManagementProductFlagGroupApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Product flag group model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlagGroupModel"}}},"required":true},"responses":{"200":{"description":"The id of the added product flag group, or the product flag group itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/FlagGroupModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/flaggroup/deleted":{"get":{"tags":["Product FlagGroup"],"summary":"List deleted product flag groups","description":"Get a list of all deleted product flag groups on the client, update a deleted parametric with IsActive = true to activate it again","operationId":"ManagementProductFlagGroupApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted product flag groups, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/FlagGroupModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/flag/{id}":{"get":{"tags":["Product Flag"],"summary":"Get a product flag","description":"Get a specific product flag by its internal id","operationId":"ManagementProductFlagApi_Get","parameters":[{"name":"id","in":"path","description":"Product flag id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the ProductFlag","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFlagModel"}}}},"404":{"description":"If the product flag does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Product Flag"],"summary":"Update a product flag","description":"Update an existing product flag","operationId":"ManagementProductFlagApi_Update","parameters":[{"name":"id","in":"path","description":"Product flag id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Flag to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFlagModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated product flag, or the product flag itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ProductFlagModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/flag":{"get":{"tags":["Product Flag"],"summary":"List product flags","description":"Get a list of all product flags on the client","operationId":"ManagementProductFlagApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of product flags, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProductFlagModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Product Flag"],"summary":"Add a product flag","description":"Add a new product flag to the client","operationId":"ManagementProductFlagApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Flag to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductFlagModel"}}},"required":true},"responses":{"200":{"description":"The id of the added product flag, or the product flag itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ProductFlagModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/flag/deleted":{"get":{"tags":["Product Flag"],"summary":"List deleted product flags","description":"Get a list of all deleted product flags on the client, update a deleted product flag with IsActive = true to activate it again","operationId":"ManagementProductFlagApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted product flags, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProductFlagModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/infotype/{groupId}/item/{id}":{"get":{"tags":["Product InfoType"],"summary":"Get product info type by id","description":"Get a specific product info type by its internal Id","operationId":"ManagementProductInfoTypeApi_GetItem","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Info type id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the ProductInfoType","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProductInfoTypeModel"}}}}},"404":{"description":"If the product info type does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/infotype/{groupId}":{"get":{"tags":["Product InfoType"],"summary":"List active product info types by group","description":"Get a list of all active product info types for a specific group on the client","operationId":"ManagementProductInfoTypeApi_List","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of active product info types for the specified group, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProductInfoTypeModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Product InfoType"],"summary":"Add a product info type","description":"Add a new product info type for a specific group on the client","operationId":"ManagementProductInfoTypeApi_Insert","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Product info type model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductInfoTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the added product info type, or the product info type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ProductInfoTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/infotype/{groupId}/deleted":{"get":{"tags":["Product InfoType"],"summary":"List deleted product info types","description":"Get a list of all deleted product info types for a specific group on the client, update a deleted info type with IsActive = true to activate it again","operationId":"ManagementProductInfoTypeApi_ListDeleted","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted product info types for the specified group, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProductInfoTypeModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/infotype/{groupId}/{id}":{"put":{"tags":["Product InfoType"],"summary":"Update a product info type","description":"Update a specific product info type by its internal id","operationId":"ManagementProductInfoTypeApi_Update","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Info type id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Product info type model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductInfoTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated product info type, or the product info type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ProductInfoTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/type/{id}":{"get":{"tags":["Product Type"],"summary":"Get a product type","description":"Get a specific product type by its internal Id","operationId":"ManagementProductTypeApi_Get","parameters":[{"name":"id","in":"path","description":"Product type id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the ProductType","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductTypeModel"}}}},"404":{"description":"If the product type does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Product Type"],"summary":"Update a product type","description":"Update an existing product type","operationId":"ManagementProductTypeApi_Update","parameters":[{"name":"id","in":"path","description":"Product type id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Type to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated product type, or the product type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ProductTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/type":{"get":{"tags":["Product Type"],"summary":"List product types","description":"Get a list of all product types on the client","operationId":"ManagementProductTypeApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of product types, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ProductTypeModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/promotion/{id}":{"get":{"tags":["Promotion"],"summary":"Get a promotion by id","description":"Get a specific promotion by its internal id","operationId":"ManagementPromotionApi_Get","parameters":[{"name":"id","in":"path","description":"Promotion id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"isStatisticsIncluded","in":"query","description":"Whether to include statistics (TotalOrder, TotalDiscount, DiscountPercentage, MarginPercentage) in the response. Defaults to true. Set to false to improve performance when statistics are not needed.","schema":{"type":"boolean","default":true}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Promotion","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromotionModel"}}}},"404":{"description":"If the promotion does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Promotion"],"summary":"Update a promotion","description":"Update an existing promotion","operationId":"ManagementPromotionApi_Update","parameters":[{"name":"id","in":"path","description":"Promotion id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Promotion to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromotionModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated promotion, or the promotion itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/PromotionModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the promotion was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/promotion":{"get":{"tags":["Promotion"],"summary":"List promotions","description":"Get a list of all promotions on the client without requirements and effects","operationId":"ManagementPromotionApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of promotions, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PromotionListModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Promotion"],"summary":"Add a promotion","description":"Add a new promotion to the client","operationId":"ManagementPromotionApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Promotion to insert","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromotionModel"}}},"required":true},"responses":{"200":{"description":"The id of the added promotion, or the promotion itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/PromotionModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/promotion/{id}/unique-codes":{"get":{"tags":["Promotion"],"summary":"Get unique checkout codes for a promotion","description":"Get a list of unique checkout codes for a specific promotion","operationId":"ManagementPromotionApi_GetUniqueCodes","parameters":[{"name":"id","in":"path","description":"Promotion id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of unique checkout codes with their details","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PromotionUniqueDiscountCodeModel"}}}}},"404":{"description":"If the promotion was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Promotion"],"summary":"Update unique checkout codes for a promotion","description":"Update or add unique checkout codes for a specific promotion, set \"isclaimed\" and by \"source\" if external service has claimed the codes","operationId":"ManagementPromotionApi_UpdateUniqueCodes","parameters":[{"name":"id","in":"path","description":"Promotion id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"Codes to update or add","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PromotionUniqueDiscountCodeModel"}}}},"required":true},"responses":{"200":{"description":"Returns the list of updated or added unique checkout codes with their details","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the promotion was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Promotion"],"summary":"Add unique checkout codes for a promotion","description":"Add new unique checkout codes for a specific promotion, appending to existing codes","operationId":"ManagementPromotionApi_InsertUniqueCodes","parameters":[{"name":"id","in":"path","description":"Promotion id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"Codes to add","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PromotionUniqueDiscountCodeModel"}}}},"required":true},"responses":{"200":{"description":"Returns the count of added unique checkout codes","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the promotion was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/promotion/{id}/statistics":{"get":{"tags":["Promotion"],"summary":"Get promotion statistics","description":"Get statistics for a specific promotion, including total order amount, total discount, discount percentage, and margin percentage. Use this endpoint to fetch statistics separately when they are excluded from the main Get endpoint for performance reasons.","operationId":"ManagementPromotionApi_GetStatistics","parameters":[{"name":"id","in":"path","description":"Promotion id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the promotion statistics","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromotionStatisticsModel"}}}},"404":{"description":"If the promotion does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/promotion/{id}/copy-to-applications":{"post":{"tags":["Promotion"],"summary":"Copy a promotion to other applications","description":"Copy an existing promotion to one or more target applications within the same client. The promotion will be created with the specified status (Active or Draft) and the currency will be converted to the primary currency of each target application.","operationId":"ManagementPromotionApi_CopyToApplications","parameters":[{"name":"id","in":"path","description":"Source promotion id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"Copy request with target application IDs and status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CopyToApplicationsRequest"}}},"required":true},"responses":{"200":{"description":"Returns the results of the copy operation for each target application","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CopyToApplicationsResponse"}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the source promotion was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/relationtype/{id}":{"get":{"tags":["Product RelationType"],"summary":"Get a relation type by id","description":"Get a specific relation type by its internal id","operationId":"ManagementRelationTypeApi_Get","parameters":[{"name":"id","in":"path","description":"Relation type id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the RelationType","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationTypeModel"}}}},"404":{"description":"If the relation type does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Product RelationType"],"summary":"Update a relation type","description":"Update an existing relation type","operationId":"ManagementRelationTypeApi_Update","parameters":[{"name":"id","in":"path","description":"Relation type id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Relation type to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated relation type, or the relation type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/RelationTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/relationtype":{"get":{"tags":["Product RelationType"],"summary":"List relation types","description":"Get a list of all relation types","operationId":"ManagementRelationTypeApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of relation types, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RelationTypeModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Product RelationType"],"summary":"Add new relation type","description":"Add a new relation type","operationId":"ManagementRelationTypeApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Relation type to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelationTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the added relation type, or the relation type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/RelationTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/relationtype/deleted":{"get":{"tags":["Product RelationType"],"summary":"List deleted relation types","description":"Get a list of all deleted relation types","operationId":"ManagementRelationTypeApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted relation types, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RelationTypeModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/roundingrule/{id}":{"get":{"tags":["PriceList RoundingRule"],"summary":"Get a rounding rule by id","description":"Get a specific rounding rule by its internal id","operationId":"ManagementRoundingRuleApi_Get","parameters":[{"name":"id","in":"path","description":"Rounding rule id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the RoundingRule","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoundingRuleModel"}}}},"404":{"description":"If the rounding rule does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["PriceList RoundingRule"],"summary":"Update a rounding rule","description":"Update an existing rounding rule","operationId":"ManagementRoundingRuleApi_Update","parameters":[{"name":"id","in":"path","description":"Rounding rule id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Rounding rule to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoundingRuleModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated rounding rule, or the rounding rule itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/RoundingRuleModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/pricing/roundingrule":{"get":{"tags":["PriceList RoundingRule"],"summary":"List rounding rules","description":"Get a list of all rounding rules","operationId":"ManagementRoundingRuleApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of rounding rules, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoundingRuleModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["PriceList RoundingRule"],"summary":"Add new rounding rule","description":"Add a new rounding rule","operationId":"ManagementRoundingRuleApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Rounding rule to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoundingRuleModel"}}},"required":true},"responses":{"200":{"description":"The id of the added rounding rule, or the rounding rule itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/RoundingRuleModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/order/infotype/shopping/{groupId}/{itemId}":{"get":{"tags":["Shopping InfoType"],"summary":"Get shopping info type by id","description":"Get a specific shopping info type by its internal Id","operationId":"ManagementShoppingInfoTypeApi_GetItem","parameters":[{"name":"itemId","in":"path","description":"Info type id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"groupId","in":"path","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the ShoppingInfoType","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShoppingInfoTypeModel"}}}},"404":{"description":"If the shopping info type does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Shopping InfoType"],"summary":"Update a shopping info type","description":"Update an existing shopping info type","operationId":"ManagementShoppingInfoTypeApi_Update","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"itemId","in":"path","description":"Info type id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Type to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShoppingInfoTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated shopping info type, or the shopping info type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ShoppingInfoTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/order/infotype/shopping/{groupId}":{"get":{"tags":["Shopping InfoType"],"summary":"List active shopping info types by group","description":"Get a list of all active shopping info types for a specific group on the client","operationId":"ManagementShoppingInfoTypeApi_List","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type, allowed values are: 1 = Quotation/Order, 2 = Quotation Item/Order Item","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of active shopping info types for the specified group, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShoppingInfoTypeModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Shopping InfoType"],"summary":"Add a shopping info type","description":"Add a new shopping info type to the client","operationId":"ManagementShoppingInfoTypeApi_Insert","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type, allowed values are: 1 = Quotation/Order, 2 = Quotation Item/Order Item","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Shopping info type to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShoppingInfoTypeModel"}}},"required":true},"responses":{"200":{"description":"The id of the added shopping info type, or the shopping info type itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/ShoppingInfoTypeModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/order/infotype/shopping/{groupId}/deleted":{"get":{"tags":["Shopping InfoType"],"summary":"List deleted shopping info types by group","description":"Get a list of all deleted shopping info types for a specific group on the client, update a deleted info type with IsActive = true to activate it again","operationId":"ManagementShoppingInfoTypeApi_ListDeleted","parameters":[{"name":"groupId","in":"path","description":"The group identifier that categorizes the info type, allowed values are: 1 = Quotation/Order, 2 = Quotation Item/Order Item","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted shopping info types for the specified group, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ShoppingInfoTypeModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/store/{id}/application":{"get":{"tags":["Store Application"],"summary":"List store applications","description":"Get a list of all applications associated with a specific store","operationId":"ManagementStoreApplicationApi_List","parameters":[{"name":"id","in":"path","description":"Store id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of store applications, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoreApplicationModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Store Application"],"summary":"Update store applications","description":"Update the complete list of store applications associated with a specific store","operationId":"ManagementStoreApplicationApi_UpdateList","parameters":[{"name":"id","in":"path","description":"Store id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"A list of store applications","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoreApplicationModel"}}}},"required":true},"responses":{"200":{"description":"If the store applications were successfully updated"}},"security":[{"Bearer":[]}]}},"/management/1.0/api/store/{id}/pricelist":{"get":{"tags":["Store PriceList"],"summary":"List store price lists","description":"Get a list of all price lists assigned to a specific store","operationId":"ManagementStorePriceListApi_List","parameters":[{"name":"id","in":"path","description":"Store id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of store price lists, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StorePriceListModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Store PriceList"],"summary":"Update store price lists","description":"Update the complete list of store price lists assigned to a specific store","operationId":"ManagementStorePriceListApi_UpdateList","parameters":[{"name":"id","in":"path","description":"Store id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"A list of store price lists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StorePriceListModel"}}}},"required":true},"responses":{"200":{"description":"If the store price lists were successfully updated"},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/store/{id}":{"get":{"tags":["Store"],"summary":"Get a store","description":"Get a specific store by its internal id","operationId":"ManagementStoreApi_Get","parameters":[{"name":"id","in":"path","description":"Store id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Store","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreModel"}}}},"404":{"description":"If the store does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Store"],"summary":"Update a store","description":"Update a specific store by its internal id","operationId":"ManagementStoreApi_Update","parameters":[{"name":"id","in":"path","description":"Store id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Store model to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated store, or the store itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/StoreModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/store":{"get":{"tags":["Store"],"summary":"List stores","description":"Get a list of all stores","operationId":"ManagementStoreApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of stores, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoreModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Store"],"summary":"Add a store","description":"Add a new store","operationId":"ManagementStoreApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Store model to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StoreModel"}}},"required":true},"responses":{"200":{"description":"The id of the added store, or the store itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/StoreModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/store/deleted":{"get":{"tags":["Store"],"summary":"List deleted stores","description":"Get a list of all deleted stores, update a deleted store with IsActive = true to activate it again","operationId":"ManagementStoreApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted stores, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoreModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/store/{id}/warehouse":{"get":{"tags":["Store Warehouse"],"summary":"List store warehouses","description":"Get a list of all warehouses associated with a specific store","operationId":"ManagementStoreWarehouseApi_List","parameters":[{"name":"id","in":"path","description":"Store id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of store warehouses, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoreWarehouseModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Store Warehouse"],"summary":"Update store warehouses","description":"Update the complete list of warehouses associated with a specific store","operationId":"ManagementStoreWarehouseApi_UpdateList","parameters":[{"name":"id","in":"path","description":"Store id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"A list of store warehouses","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StoreWarehouseModel"}}}},"required":true},"responses":{"200":{"description":"If the store warehouses were successfully updated"},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier/{supplierId}/pricelist/{id}":{"get":{"tags":["Supplier PriceList"],"summary":"Get a supplier price list by id","description":"Get a specific supplier price list by its internal id","operationId":"ManagementSupplierPriceListApi_Get","parameters":[{"name":"id","in":"path","description":"Supplier price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"supplierId","in":"path","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Supplier Price List","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierPriceListModel"}}}},"404":{"description":"If the supplier price list does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Supplier PriceList"],"summary":"Update a supplier price list","description":"Update a specific supplier price list by its internal id","operationId":"ManagementSupplierPriceListApi_Update","parameters":[{"name":"supplierId","in":"path","description":"Supplier id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"id","in":"path","description":"Supplier price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Supplier price list model to update","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierPriceListModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated supplier price list, or the supplier price list itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/SupplierPriceListModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier/{supplierId}/pricelist":{"get":{"tags":["Supplier PriceList"],"summary":"List supplier price lists by supplier","description":"Get a list of all supplier price lists associated with a specific supplier","operationId":"ManagementSupplierPriceListApi_ListBySupplier","parameters":[{"name":"supplierId","in":"path","description":"Supplier id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of supplier price lists, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierPriceListModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Supplier PriceList"],"summary":"Add a supplier price list","description":"Add a new supplier price list for a specific supplier","operationId":"ManagementSupplierPriceListApi_Insert","parameters":[{"name":"supplierId","in":"path","description":"Supplier id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Supplier price list model to add","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierPriceListModel"}}},"required":true},"responses":{"200":{"description":"The id of the added supplier price list, or the supplier price list itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/SupplierPriceListModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier/{supplierId}/pricelist/deleted":{"get":{"tags":["Supplier PriceList"],"summary":"List deleted supplier price lists","description":"Get a list of all deleted supplier price lists, update a deleted supplier price list with IsActive = true to activate it again","operationId":"ManagementSupplierPriceListApi_ListDeleted","parameters":[{"name":"supplierId","in":"path","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted supplier price lists, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierPriceListModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier-pricelist/{priceListId}/warehouse":{"get":{"tags":["Supplier PriceListWarehouse"],"summary":"List supplier price list warehouses","description":"Get a list of all warehouses associated with a specific supplier price list","operationId":"ManagementSupplierPriceListWarehouseApi_List","parameters":[{"name":"priceListId","in":"path","description":"Supplier price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of supplier price list warehouses, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierPriceListWarehouseModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Supplier PriceListWarehouse"],"summary":"Update supplier price list warehouses","description":"Update the complete list of warehouses associated with a specific supplier price list","operationId":"ManagementSupplierPriceListWarehouseApi_UpdateList","parameters":[{"name":"priceListId","in":"path","description":"Supplier price list id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"A list of supplier price list warehouses","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierPriceListWarehouseModel"}}}},"required":true},"responses":{"200":{"description":"If the supplier price list warehouses were successfully updated","content":{"application/json":{"schema":{"type":"integer","format":"int32"}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier/{id}":{"get":{"tags":["Supplier"],"summary":"Get a supplier","description":"Get a specific supplier by its internal id","operationId":"ManagementSupplierApi_Get","parameters":[{"name":"id","in":"path","description":"Supplier id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Supplier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierModel"}}}},"404":{"description":"If the supplier does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Supplier"],"summary":"Update a supplier","description":"Update a specific supplier by its internal id","operationId":"ManagementSupplierApi_Update","parameters":[{"name":"id","in":"path","description":"Supplier id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Supplier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated supplier, or the supplier itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/SupplierModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier":{"get":{"tags":["Supplier"],"summary":"List active suppliers","description":"Get a list of all active suppliers","operationId":"ManagementSupplierApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of active suppliers, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Supplier"],"summary":"Add a supplier","description":"Add a new supplier","operationId":"ManagementSupplierApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Supplier","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierModel"}}},"required":true},"responses":{"200":{"description":"The id of the added supplier, or the supplier itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/SupplierModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier/deleted":{"get":{"tags":["Supplier"],"summary":"List deleted suppliers","description":"Get a list of all deleted suppliers","operationId":"ManagementSupplierApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted suppliers, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier/{supplierId}/warehouse/{warehouseId}":{"get":{"tags":["Supplier Warehouse"],"summary":"Get a supplier warehouse","description":"Get a specific supplier warehouse by its internal id","operationId":"ManagementSupplierWarehouseApi_Get","parameters":[{"name":"supplierId","in":"path","description":"Supplier id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"warehouseId","in":"path","description":"Warehouse id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the SupplierWarehouse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierWarehouseModel"}}}},"404":{"description":"If the supplier warehouse does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Supplier Warehouse"],"summary":"Update a supplier warehouse","description":"Update a specific supplier warehouse by its internal id","operationId":"ManagementSupplierWarehouseApi_Update","parameters":[{"name":"supplierId","in":"path","description":"Supplier id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"warehouseId","in":"path","description":"Warehouse id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"SupplierWarehouse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierWarehouseModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated supplier warehouse, or the supplier warehouse itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/SupplierWarehouseModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the supplier warehouse does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier/{supplierId}/warehouse":{"get":{"tags":["Supplier Warehouse"],"summary":"List supplier warehouses","description":"Get a list of all warehouses associated with a specific supplier","operationId":"ManagementSupplierWarehouseApi_List","parameters":[{"name":"supplierId","in":"path","description":"Supplier id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of supplier warehouses, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierWarehouseModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Supplier Warehouse"],"summary":"Add a supplier warehouse","description":"Add a new warehouse to a specific supplier","operationId":"ManagementSupplierWarehouseApi_Insert","parameters":[{"name":"supplierId","in":"path","description":"Supplier id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"SupplierWarehouse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierWarehouseModel"}}},"required":true},"responses":{"200":{"description":"The id of the added supplier warehouse, or the supplier warehouse itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/SupplierWarehouseModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier/{supplierId}/warehouse/deleted/warehouse":{"get":{"tags":["Supplier Warehouse"],"summary":"List deleted supplier warehouses","description":"Get a list of all deleted warehouses associated with a specific supplier, update a deleted supplier warehouse with IsActive = true to activate it again","operationId":"ManagementSupplierWarehouseApi_ListDeleted","parameters":[{"name":"supplierId","in":"path","description":"Supplier id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted supplier warehouses, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierWarehouseModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/supplier/{supplierId}/warehouse/{warehouseId}/location":{"get":{"tags":["Supplier WarehouseLocation"],"summary":"List supplier warehouse locations","description":"Get a list of all warehouse locations associated with a specific supplier and warehouse","operationId":"ManagementSupplierWarehouseLocationApi_List","parameters":[{"name":"supplierId","in":"path","description":"Supplier id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"warehouseId","in":"path","description":"Warehouse id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of supplier warehouse locations, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierWarehouseLocationModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Supplier WarehouseLocation"],"summary":"Update supplier warehouse locations","description":"Update a list of warehouse locations associated with a specific supplier and warehouse","operationId":"ManagementSupplierWarehouseLocationApi_Update","parameters":[{"name":"supplierId","in":"path","description":"Supplier id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"warehouseId","in":"path","description":"Warehouse id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"List of SupplierWarehouseLocation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupplierWarehouseLocationModel"}}}},"required":true},"responses":{"200":{"description":"If the supplier warehouse locations were successfully updated"},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/unitofmeasurement":{"get":{"tags":["Unit of Measurement"],"summary":"List units of measurement","description":"Get all units of measurement available on the client, global units and client-created units","operationId":"ManagementUnitOfMeasurementApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of units of measurement","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UnitOfMeasurementModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Unit of Measurement"],"summary":"Add a unit of measurement","description":"Add a new client-specific unit of measurement. The id is assigned automatically in the client range (&gt;= 1000000).","operationId":"ManagementUnitOfMeasurementApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Unit of measurement model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnitOfMeasurementModel"}}},"required":true},"responses":{"200":{"description":"The id of the added unit of measurement, or the unit of measurement itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/UnitOfMeasurementModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/unitofmeasurement/{id}":{"get":{"tags":["Unit of Measurement"],"summary":"Get a unit of measurement","description":"Get a specific unit of measurement by its id","operationId":"ManagementUnitOfMeasurementApi_Get","parameters":[{"name":"id","in":"path","description":"Unit of measurement id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the unit of measurement","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnitOfMeasurementModel"}}}},"404":{"description":"If the unit of measurement does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Unit of Measurement"],"summary":"Update a unit of measurement","description":"Update a client-specific unit of measurement. Global units (id &lt; 1000000) are read-only.","operationId":"ManagementUnitOfMeasurementApi_Update","parameters":[{"name":"id","in":"path","description":"Unit of measurement id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Unit of measurement model","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnitOfMeasurementModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated unit of measurement, or the unit of measurement itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/UnitOfMeasurementModel"}]}}}},"400":{"description":"If the request data was invalid or the unit is a global unit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}},"404":{"description":"If the unit of measurement was not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/variant-group/{id}":{"get":{"tags":["Product VariantGroup"],"summary":"Get a variant group","description":"Get a specific variant group by its internal id","operationId":"ManagementVariantGroupApi_Get","parameters":[{"name":"id","in":"path","description":"Variant group id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Variant group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantGroupModel"}}}},"404":{"description":"If the variant group does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Product VariantGroup"],"summary":"Update a variant group","description":"Update a specific variant group by its internal id","operationId":"ManagementVariantGroupApi_Update","parameters":[{"name":"id","in":"path","description":"Variant group id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Variant group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantGroupModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated variant group, or the variant group itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/VariantGroupModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/variant-group":{"get":{"tags":["Product VariantGroup"],"summary":"List active variant groups","description":"Get a list of all active variant groups on the client","operationId":"ManagementVariantGroupApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of active variant groups","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VariantGroupModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Product VariantGroup"],"summary":"Add a variant group","description":"Add a new variant group to the client","operationId":"ManagementVariantGroupApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Variant group","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VariantGroupModel"}}},"required":true},"responses":{"200":{"description":"The id of the added variant group, or the variant group itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/VariantGroupModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/product/variant-group/deleted":{"get":{"tags":["Product VariantGroup"],"summary":"List deleted variant groups","description":"Get a list of all deleted variant groups on the client","operationId":"ManagementVariantGroupApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted variant groups, if any exists","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VariantGroupModel"}}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/warehouse/{warehouseId}/location":{"get":{"tags":["Product WarehouseLocation"],"summary":"List warehouse locations for a specific warehouse","description":"Get a list of all warehouse locations for a specific warehouse","operationId":"ManagementWarehouseLocationApi_List","parameters":[{"name":"warehouseId","in":"path","description":"Warehouse id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of warehouse locations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WarehouseLocationModel"}}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Product WarehouseLocation"],"summary":"Update warehouse locations for a specific warehouse","description":"Update a list of warehouse locations for a specific warehouse","operationId":"ManagementWarehouseLocationApi_Update","parameters":[{"name":"warehouseId","in":"path","description":"Warehouse id","required":true,"schema":{"minimum":1,"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"requestBody":{"description":"List of warehouse locations","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WarehouseLocationModel"}}}},"required":true},"responses":{"200":{"description":"If the warehouse locations were successfully updated"},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/warehouse/{id}":{"get":{"tags":["Product Warehouse"],"summary":"Get a warehouse","description":"Get a specific warehouse by its internal id","operationId":"ManagementWarehouseApi_Get","parameters":[{"name":"id","in":"path","description":"Warehouse id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the Warehouse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarehouseModel"}}}},"404":{"description":"If the warehouse does not exist","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]},"put":{"tags":["Product Warehouse"],"summary":"Update a warehouse","description":"Update a specific warehouse by its internal id","operationId":"ManagementWarehouseApi_Update","parameters":[{"name":"id","in":"path","description":"Warehouse id","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Warehouse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarehouseModel"}}},"required":true},"responses":{"200":{"description":"The id of the updated warehouse, or the warehouse itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/WarehouseModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/warehouse":{"get":{"tags":["Product Warehouse"],"summary":"List active warehouses","description":"Get a list of all active warehouses on the client","operationId":"ManagementWarehouseApi_List","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of active warehouses","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WarehouseModel"}}}}}},"security":[{"Bearer":[]}]},"post":{"tags":["Product Warehouse"],"summary":"Add a warehouse","description":"Add a new warehouse to the client","operationId":"ManagementWarehouseApi_Insert","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}},{"name":"Prefer","in":"header","description":"Set to `return=representation` to get the stored entity back instead of its id. The response then has the same shape as the corresponding GET and carries a `Preference-Applied` header.","schema":{"type":"string"},"example":"return=representation"}],"requestBody":{"description":"Warehouse","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarehouseModel"}}},"required":true},"responses":{"200":{"description":"The id of the added warehouse, or the warehouse itself when the request has `Prefer: return=representation`","content":{"application/json":{"schema":{"oneOf":[{"type":"integer","format":"int32"},{"$ref":"#/components/schemas/WarehouseModel"}]}}}},"400":{"description":"If the request data was invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProblemDetails"}}}}},"security":[{"Bearer":[]}]}},"/management/1.0/api/warehouse/deleted":{"get":{"tags":["Product Warehouse"],"summary":"List deleted warehouses","description":"Get a list of all deleted warehouses on the client, update a deleted supplier warehouse with IsActive = true to activate it again","operationId":"ManagementWarehouseApi_ListDeleted","parameters":[{"name":"account-id","in":"header","description":"User Account ID","required":true,"schema":{"type":"integer"}},{"name":"application-id","in":"header","description":"Application ID","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"Returns the list of deleted warehouses","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WarehouseModel"}}}}}},"security":[{"Bearer":[]}]}}},"components":{"schemas":{"ApplicationCountryModel":{"required":["Id"],"type":"object","properties":{"Id":{"type":"integer","description":"The system wide unique internal Norce Id of the country","format":"int32"},"Name":{"type":"string","description":"Country name, cannot be updated, for display purposes only","nullable":true},"IsPrimary":{"type":"boolean","description":"Primary application country. Must be set for only one of the active countries. Can be updated on an existing ApplicationCountry."},"IsActive":{"type":"boolean","description":"If false, the country is soft deleted from the application"},"Changed":{"type":"string","description":"The date and time the ApplicationCountry was last changed, in the application's timezone format","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the ApplicationCountry, null if never changed","nullable":true}},"description":"ApplicationCountry model, represents a country added to the application, allows for end customers to buy and ship to this country"},"ApplicationCultureModel":{"required":["CultureCode"],"type":"object","properties":{"Name":{"maxLength":50,"type":"string","description":"Culture name, cannot be updated, for display purposes only, maxlength 50","nullable":true},"Changed":{"type":"string","description":"The date and time the ApplicationCulture was last changed, in the application's timezone format","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the ApplicationCulture, null if never changed","nullable":true},"CultureCode":{"maxLength":16,"type":"string","description":"The Code of the culture. Two letter or five letter codes. MaxLength: 16., e.g. \"en-US\", or \"sv-SE\""},"IsPrimary":{"type":"boolean","description":"Primary application culture. Must be set for only one of the active cultures. Can be updated on an existing ApplicationCulture."},"IsActive":{"type":"boolean","description":"If false, the culture is soft deleted from the application"}},"description":"ApplicationCulture model, represents a culture (language and cultural settings) added to the application, allows for end customers to view the store in this culture"},"ApplicationCurrencyModel":{"required":["Id"],"type":"object","properties":{"Id":{"type":"integer","description":"The system wide unique internal Norce Id of the currency","format":"int32"},"Code":{"type":"string","description":"The ISO Currency Code, three letter code, e.g. \"USD\", \"EUR\", \"SEK\"","nullable":true},"Name":{"maxLength":50,"type":"string","description":"Currency name, cannot be updated, for display purposes only","nullable":true},"IsActive":{"type":"boolean","description":"If false, the currency is soft deleted from the application"},"IsPrimary":{"type":"boolean","description":"Primary application currency. Must be set for only one of the active currencies. Can be updated on an existing ApplicationCurrency."},"ExchangeRate":{"type":"number","description":"Exchange rate for the currency compared to the EUR. E.g. if this currency is SEK, and 1 SEK = 0.091 EUR, the exchange rate is 0.0910000000, not editable directly from here. Use the exchange rate management features.","format":"double"},"Changed":{"type":"string","description":"The date and time when the ApplicationCurrency was last changed, in the application's timezone format","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the ApplicationCurrency, null if never changed","nullable":true}},"description":"ApplicationCurrency model, represents a currency added to the application, allows for end customers to buy and see prices in this currency, as well as adding the currency to client, so that it may be used in business rules, promotions, etc."},"ApplicationModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The environment wide unique internal Norce Id of the application","format":"int32"},"Key":{"type":"string","description":"The unique key of the application","format":"uuid"},"Name":{"maxLength":50,"type":"string","description":"The friendly name of the application","nullable":true},"Description":{"maxLength":500,"type":"string","description":"A longer description of the application","nullable":true},"HostClientId":{"type":"integer","description":"The Host Client Id that owns this application","format":"int32"},"Url":{"maxLength":255,"type":"string","description":"The URL of the application, e.g. \"https://demo.shop.com\"","nullable":true},"ProductUrl":{"maxLength":255,"type":"string","description":"The base URL of the product catalog for the application, used together with a product unique identifier to get the product page from the shop. The allowed \"wildcards\" are {uniqueurl}, {productid} and {partno}, e.g. \"https://demo.shop.com/products/{productId}\", \"https://demo.shop.com/products/{partNo}\" or \"https://demo.shop.com/products/{uniqueUrl}\"","nullable":true},"IsActive":{"type":"boolean","description":"If false, the application is deactivated and cannot be used by customers"},"ImageBaseUrl":{"type":"string","description":"The base URL of the media host serving the owning client's images, e.g. \"https://media.cdn-norce.tech/2/\". Append an image or file key to get the full URL, like the ImageKey of a category or product family.","nullable":true},"AiBrandVoice":{"type":"string","description":"Brand voice and tone guidelines used by AI when generating or translating content for this application","nullable":true},"Changed":{"type":"string","description":"The date and time when the Application entity was last changed","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the Application entity, null if never changed","nullable":true}},"description":"Application model, represents a storefront for end customers to visit and purchase from, configured with currencies, countries, cultures, sales areas, payment methods, shipping methods, products, and much more."},"ApplicationSalesAreaModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The system wide unique internal Norce Id of the sales area","format":"int32"},"Code":{"maxLength":50,"type":"string","description":"Sales area code - a unique external identifier used by client systems, e.g. \"SE\", \"US\", \"44\", \"FI\", can be left as null.","nullable":true},"Name":{"maxLength":50,"type":"string","description":"Sales area name, cannot be updated, for display purposes only","nullable":true},"IsPrimary":{"type":"boolean","description":"Primary application sales area. Must be set for only one of the active sales areas. Can be updated on an existing ApplicationSalesArea."},"IsActive":{"type":"boolean","description":"If false, the sales area is soft deleted from the application"},"Changed":{"type":"string","description":"The date and time when the ApplicationSalesArea was last changed","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the ApplicationSalesArea, null if never changed","nullable":true}},"description":"ApplicationSalesArea model, represents a sales area added to the application, allows for end customers to buy using the sales area vat settings, as well as adding the sales area to the client, so that it may be used in other applications with the same settings. Each sales area must have at least one VatRate defined."},"CategoryCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code, e.g. \"sv-SE\" or \"en-US\".","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The category name in the specific language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the category name is inherited from the default language."},"Description":{"type":"string","description":"The category description in the specific language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the category description is inherited from the default language."},"Synonyms":{"maxLength":500,"minLength":0,"type":"string","description":"Comma-separated list of phrases or words that can be indexed in the search functionality for the specific language.","nullable":true},"IsSynonymsInherited":{"type":"boolean","description":"Indicates whether the synonyms are inherited from the default language."},"FullName":{"maxLength":500,"minLength":0,"type":"string","description":"Concatenated category name based on hierarchy for the specific language. Format: root category - branch category - leaf category (for three levels).","nullable":true},"IsFullNameInherited":{"type":"boolean","description":"Indicates whether the full name is inherited from the default language."},"IsTranslated":{"type":"boolean","description":"Indicates whether any of the fields have been translated for this culture."}}},"CategoryModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the category. Client-specific.","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The category name in a specific language.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The category name for the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"If true, the specific language doesn't have its own name and instead inherits from the default name."},"Description":{"type":"string","description":"A longer description for the category.","nullable":true},"DefaultDescription":{"type":"string","description":"The category description in the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the description is inherited from the default language rather than being its own text."},"FullName":{"maxLength":500,"minLength":0,"type":"string","description":"Concatenated category name based on hierarchy. Format: root category - branch category - leaf category (for three levels).","nullable":true},"DefaultFullName":{"maxLength":500,"minLength":0,"type":"string","description":"The full name in the default language.","nullable":true},"IsFullNameInherited":{"type":"boolean","description":"If true, the full name is inherited from the default language rather than being its own text."},"ParentId":{"type":"integer","description":"The parent category's ID. Set this when placing a new category in the hierarchy.","format":"int32","nullable":true},"ParentCode":{"type":"string","description":"The parent category code. You don't have to set this when setting ParentId.","nullable":true},"ParentName":{"type":"string","description":"The parent category name. You don't have to set this when setting ParentId.","nullable":true},"SortOrder":{"type":"integer","description":"Decides where the category is positioned relative to other categories at the same level under the same parent.","format":"int32"},"IsDisplayOnly":{"type":"boolean","description":"Deprecated property with no specific function anymore."},"ImageKey":{"type":"string","description":"Image code from Norce image store for a category image. Not commonly used anymore.","format":"uuid","nullable":true},"ImageUrl":{"maxLength":255,"minLength":0,"type":"string","description":"Full image URL with CDN host.","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"Category code with string length of 50. Important to set and should be unique in the category tree.","nullable":true},"Synonyms":{"maxLength":500,"minLength":0,"type":"string","description":"Comma-separated list of phrases or words that can be indexed in the search functionality.","nullable":true},"DefaultSynonyms":{"maxLength":500,"minLength":0,"type":"string","description":"Synonyms in the default language.","nullable":true},"IsSynonymsInherited":{"type":"boolean","description":"If true, the synonyms are inherited from the default language rather than being its own text."},"UnspcCode":{"maxLength":50,"minLength":0,"type":"string","description":"Code field for storing global classification system according to UNSPSC standard.","nullable":true},"BusinessArea":{"maxLength":50,"minLength":0,"type":"string","description":"Code field that can be used for business area classification.","nullable":true},"CommodityCode":{"maxLength":50,"minLength":0,"type":"string","description":"Code field for commodity classification.","nullable":true},"IntegrationPartNo":{"maxLength":50,"minLength":0,"type":"string","description":"External identifier for all products in the category. Optional field used to identify all products in one category in other systems.","nullable":true},"GrossWeight":{"type":"number","description":"Default gross weight value for all products in the category.","format":"double","nullable":true},"VatCodeId":{"type":"integer","description":"Default VAT code for the current sales area (from the application) for all products in the category.","format":"int32"},"InheritedVatCodeId":{"type":"integer","description":"default VAT code from the sales area.","format":"int32"},"IsVatCodeIdInherited":{"type":"boolean","description":"true if the VAT code is inherited from the sales area settings."},"InheritedVatCodeName":{"type":"string","description":"VAT code name for the inherited VAT code.","nullable":true},"VatCodeIdInheritedFrom":{"type":"string","description":"Explains where the VAT code is inherited from. Can be from the client setting or from the Norce default settings.","nullable":true},"VatCodeName":{"type":"string","description":"VAT code name for the current sales area.","nullable":true},"VatCodeValue":{"type":"number","description":"VAT code value for the current sales area. 25.00 means 25% VAT.","format":"double"},"InheritedVatCodeValue":{"type":"number","description":"VAT code value for the inherited VAT code. 25.00 means 25% VAT.","format":"double"},"VatCodes":{"type":"array","items":{"$ref":"#/components/schemas/SalesAreaVatCodeModel"},"description":"Different VAT codes for each sales area. If a client sales area is missing, the VAT code is inherited from client settings."},"UnitOfMeasurementId":{"type":"integer","description":"Default unit of measurement ID for all products in the category.\nPossible values: 1 (pcs), 2 (h), 3 (kg), 4 (l), 5 (pairs), 6 (sqm), 7 (m), 8 (boxes), 9 (rolls)","format":"int32","nullable":true},"RecommendedSalesQty":{"type":"number","description":"Default recommended sales quantity for all products in the category.","format":"double","nullable":true},"IsReturnable":{"type":"boolean","description":"Default value indicating whether products in the category are returnable.","nullable":true},"IsDropShipOnly":{"type":"boolean","description":"Marks the products for dropshipping from the supplier directly.","nullable":true},"CompetitivePricingMinPercentage":{"type":"number","description":"Default minimum margin on competitor pricing rules for products in the category. Should only be used if competitor pricing is activated.","format":"double","nullable":true},"CompetitivePricingTargetPercentage":{"type":"number","description":"Default target margin on competitor pricing rules for products in the category. Should only be used if competitor pricing is activated.","format":"double","nullable":true},"HideInTopList":{"type":"boolean","description":"Removes the products from popularity and other top list functionality in Norce."},"StockDisplayBreakPoint":{"type":"integer","description":"Availability threshold used for specific delivery promises at low stock levels.","format":"int32","nullable":true},"IsRecommendedQtyFixed":{"type":"boolean","description":"Flag that forces Norce to set order quantities as multiples of the recommended sales quantity.","nullable":true},"IsRecurringOrderable":{"type":"boolean","description":"Flag marking products or whole categories as recurring products that can be bought in subscriptions.","nullable":true},"IsActive":{"type":"boolean","description":"False if the category is soft deleted, making it hidden and non-functional but easily reactivatable."},"Changed":{"type":"string","description":"The date and time when the Category entity was last changed","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the Category entity, null if never changed","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/CategoryCultureModel"},"description":"List of all culture-specific text fields for the category."}},"description":"Category model, represents a product category used to group products together in a hierarchy, with support for localized names and descriptions, default values for its products, vat codes (per sales area), and various other settings. The Category contains a list of CategoryCulture models for each localized properties."},"CategoryParametricModel":{"required":["Id"],"type":"object","properties":{"Id":{"type":"integer","description":"The parametric identifier.","format":"int32"},"CategoryId":{"type":"integer","description":"The category identifier this parametric is associated with.","format":"int32","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The parametric name.","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The parametric code.","nullable":true},"Uom":{"maxLength":50,"minLength":0,"type":"string","description":"Unit of measurement for the parametric value.","nullable":true},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"A longer description for the parametric explaining it in more detail.","nullable":true},"Type":{"type":"string","description":"The type of parametric. Valid values: text, html, int, decimal, date, boolean, list, multiple.","nullable":true},"TypeId":{"type":"integer","description":"Obsolete, use Type property instead.","format":"int32"},"GroupId":{"type":"integer","description":"The identifier of the parametric group this parametric belongs to. This can be the default group from the parametric definition or a specific group assigned for this category.","format":"int32","nullable":true},"GroupName":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the parametric group this parametric belongs to.","nullable":true},"GroupDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The description of the parametric group this parametric belongs to.","nullable":true},"SortOrder":{"type":"integer","description":"The sort order for this parametric within the category.","format":"int32","nullable":true},"FocusSortOrder":{"type":"integer","description":"The filter sort order for this parametric. Has value if the parametric is promoted to a filter in the category.","format":"int32","nullable":true},"PrioritySortOrder":{"type":"integer","description":"Obsolete, not used anymore.","format":"int32","nullable":true},"IsSecondary":{"type":"boolean","description":"Indicates whether this parametric is marked as secondary within the category. Used in front-end displays to de-emphasize less important attributes."},"IsRequired":{"type":"boolean","description":"Indicates whether this parametric is required when assigned to products in this category. Overrides the global parametric setting if specified.","nullable":true},"IsHidden":{"type":"boolean","description":"Indicates whether this parametric is hidden. Used in front-end displays to completely hide the attribute from view."},"IsPublic":{"type":"boolean","description":"Inherited from Parametric, indicates whether this parametric is Global."},"DefaultIsVariantUnique":{"type":"boolean","description":"Inherited from Parametric, Indicates that the parametric will default to variants when merging products in this category."},"HasListValues":{"type":"boolean","description":"Inherited from Parametric, indicates a list parametric (Type = list). Set from the type alone, not from whether any list value is defined."},"HasMultipleValues":{"type":"boolean","description":"Inherited from Parametric, indicates a multiple-value parametric (Type = multiple). Set from the type alone, not from whether any list value is defined."},"IsActive":{"type":"boolean","description":"False if the parametric link is soft deleted, Indicates whether this parametric association is active for the category."},"Changed":{"type":"string","description":"The date and time when the CategoryParametric entity was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the CategoryParametric entity.","nullable":true}},"description":"Category Parametric model, represents the association of a parametric attribute to a specific category, including settings that define how the parametric behaves within that category.","example":{"Id":15,"CategoryId":11,"Name":"Machines - Cutting size","Code":"p_machines_cutting_size","Uom":"","Description":"","Type":"list","TypeId":0,"GroupId":1,"GroupName":"Specifications","GroupDescription":"Group of important specifications","SortOrder":1,"FocusSortOrder":1,"PrioritySortOrder":null,"IsSecondary":false,"IsRequired":false,"IsHidden":false,"IsPublic":false,"DefaultIsVariantUnique":true,"HasListValues":true,"HasMultipleValues":false,"IsActive":true,"Changed":"04/14/2025 15:19","ChangedBy":"Admin User"}},"CategoryProductSortOrderRowModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Product id. For a variant group, the product in the group with the lowest sort order in this category, taking the lowest product id among ties or when none of them has one.","format":"int32"},"VariantId":{"type":"integer","description":"Variant id when the row represents a variant group, otherwise null.","format":"int32","nullable":true},"VariantCount":{"type":"integer","description":"Number of products in the variant group that are returned for this category (active link and a sku in status Active, Coming or Expiring), 0 for a product that is not a variant.","format":"int32"},"Name":{"type":"string","description":"Product name in the requested culture, falling back to the default name. For a variant group, the variant name.","nullable":true},"PartNo":{"type":"string","description":"Part number of the product's sku with the lowest status.","nullable":true},"IsSorted":{"type":"boolean","description":"True when the product has been given a position in this category. Unsorted products come after the sorted ones.\nFor a variant group, true when any of the group's products in this category has one."},"Changed":{"type":"string","description":"When the product's link to this category was last changed, or created when it has never been updated. For a variant group, the link of the product in Id.","nullable":true},"ChangedBy":{"type":"string","description":"Name of the account that last changed the product's link to this category.","nullable":true}},"description":"The sort order of a product within a category. A product that is not a variant is one row, a variant group is one row for all of its products."},"CategoryProductSortOrderUpdateModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Product id. Identifies the row when VariantId is null; ignored for a variant group.","format":"int32"},"VariantId":{"type":"integer","description":"Variant id to position every product of the variant group in the category, otherwise null.","format":"int32","nullable":true}},"description":"A product, or a variant group, in its new position within a category."},"ClientAssortmentCultureModel":{"type":"object","properties":{"CultureCode":{"type":"string","description":"The culture code for this culture-specific information","nullable":true},"Name":{"type":"string","description":"The culture-specific name of the client assortment","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"Description":{"type":"string","description":"The culture-specific description of the client assortment","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated"},"EntityCultureIdName":{"type":"string","description":"Gets the name of the entity culture identifier property","nullable":true}}},"ClientAssortmentModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The assortment identifier","format":"int32"},"Name":{"type":"string","description":"The name of the client assortment in the current culture","nullable":true},"DefaultName":{"type":"string","description":"The default name of the client assortment","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"Description":{"type":"string","description":"The description of the client assortment in the current culture","nullable":true},"DefaultDescription":{"type":"string","description":"The default description of the client assortment","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"},"Code":{"type":"string","description":"The unique code for the client assortment","nullable":true},"Changed":{"type":"string","description":"The date and time when the client assortment was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the client assortment","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ClientAssortmentCultureModel"},"description":"The culture-specific information for the client assortment"},"GetCultureProperties":{"type":"array","items":{"type":"string"},"description":"Gets the list of properties that have culture-specific values","nullable":true}},"description":"ClientAssortment model, represents a predefined assortment of products for a client. This is deprecated functionality and will be removed in future versions."},"ClientCurrencyModel":{"required":["InheritedExchangeRate"],"type":"object","properties":{"Code":{"maxLength":3,"minLength":3,"type":"string","description":"The currency code (ISO 4217), SEK, USD, EUR etc.","nullable":true},"Name":{"type":"string","description":"The default name of the currency","nullable":true},"InheritedExchangeRate":{"maximum":999999999,"minimum":0,"type":"number","description":"The exchange rate of the currency, maintained by Norce. The rate is defined from EUR (1.000000000) and all other currencies are defined against EUR.","format":"double"},"Changed":{"type":"string","description":"The date and time the currency was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the currency","nullable":true},"Id":{"type":"integer","description":"The currency identifier in the system.","format":"int32"},"IsExchangeRateInherited":{"type":"boolean","description":"Indicates whether the exchange rate is inherited from the default"},"ExchangeRate":{"maximum":999999999,"minimum":0,"type":"number","description":"The client specific exchange rate of the currency. The rate is defined from EUR (1.000000000) and all other currencies are defined against EUR. If set, Norce will not update exchange rate automatically. It is left to the client to maintain the rate.","format":"double","nullable":true},"ThresholdPercent":{"type":"number","description":"The threshold percentage for exchange rate changes. Only recalculate prices when the rate changes by at least this percentage.","format":"double","nullable":true},"Schedule":{"type":"string","description":"A cron expression defining when to force recalculation of prices regardless of rate changes. Must not run more than once per day.","nullable":true}},"description":"ClientCurrency model, represents a currency associated with the client, indicating whether the client has at least one application with this currency enabled."},"ClientPriceListTypeCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this translation.","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated."},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The translated name of the price list type for this culture.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default name."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The translated description of the price list type for this culture.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default description."}}},"ClientPriceListTypeModel":{"required":["Id"],"type":"object","properties":{"Id":{"type":"integer","description":"The price list type identifier.","format":"int32"},"Code":{"type":"string","description":"The price list type code. Client specific.","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The localized and client specific name of the price list type.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The default name of the price list type.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default name."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The localized and client specific description of the price list type.","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The default description of the price list type.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default description."},"SortOrder":{"type":"integer","description":"The sort order of the price list type. Client specific.","format":"int32","nullable":true},"Priority":{"type":"integer","description":"The priority of the price list type. Client specific. Used to determine the precedence of price list types when multiple types apply.","format":"int32","nullable":true},"ApiEditable":{"type":"boolean","description":"Indicates whether the price list type can be managed through the API. Falls back to the platform default when not set on the client type.","nullable":true},"IsActive":{"type":"boolean","description":"Indicates whether the price list type is active on the client."},"Changed":{"type":"string","description":"The date and time when the ClientPriceListType entity was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the ClientPriceListType entity.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ClientPriceListTypeCultureModel"},"description":"The collection of culture-specific translations for this price list type."}},"description":"ClientPriceListType model, represents the associated price list types that are enabled for the client."},"ClientSalesAreaModel":{"required":["Id","IsPrimary","PrimaryVatCodeId"],"type":"object","properties":{"Id":{"type":"integer","description":"The sales area identifier.","format":"int32"},"Name":{"maxLength":255,"minLength":0,"type":"string","description":"The name of the sales area.","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The code of the sales area.","nullable":true},"IsPrimary":{"type":"boolean","description":"Indicates whether this is the primary sales area for the client."},"VatCodes":{"type":"array","items":{"$ref":"#/components/schemas/ClientSalesAreaVatCodeModel"},"description":"The collection of VAT codes associated with this sales area for the client.","nullable":true},"PrimaryVatCodeId":{"type":"integer","description":"The identifier of the primary VAT code for this sales area.","format":"int32"},"Changed":{"type":"string","description":"The date and time when the ClientSalesArea entity was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the ClientSalesArea entity.","nullable":true}},"description":"ClientSalesArea model, represents a sales area associated with the client, indicating whether the client has at least one application with this sales area enabled. Each sales area has a set of VAT codes associated with it, with one VAT code marked as primary for the sales area. This primary VAT code will be used as default VAT code for products unlesss overridden at category or product level."},"ClientSalesAreaVatCodeModel":{"required":["Id","Value"],"type":"object","properties":{"Id":{"type":"integer","description":"The VAT code identifier.","format":"int32"},"Name":{"maxLength":255,"minLength":0,"type":"string","description":"The name of the VAT code.","nullable":true},"Value":{"type":"number","description":"The VAT rate value as a decimal.","format":"double"}},"description":"VAT code model associated with a client sales area."},"CopyToApplicationResult":{"type":"object","properties":{"ApplicationId":{"type":"integer","description":"The target application ID","format":"int32"},"ApplicationName":{"type":"string","description":"The name of the target application","nullable":true},"Success":{"type":"boolean","description":"Whether the copy was successful"},"NewPromotionId":{"type":"integer","description":"The ID of the newly created promotion (if successful)","format":"int32","nullable":true},"ErrorMessage":{"type":"string","description":"Error message if the copy failed","nullable":true}},"description":"Result for a single application copy operation"},"CopyToApplicationsRequest":{"type":"object","properties":{"TargetApplicationIds":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of target application IDs to copy the promotion to"},"Status":{"type":"string","description":"Status to set for the copied promotions (Active or Draft)"}},"description":"Request model for copying a promotion to other applications"},"CopyToApplicationsResponse":{"type":"object","properties":{"Results":{"type":"array","items":{"$ref":"#/components/schemas/CopyToApplicationResult"},"description":"List of results for each target application"},"SuccessCount":{"type":"integer","description":"Total number of successful copies","format":"int32"},"FailureCount":{"type":"integer","description":"Total number of failed copies","format":"int32"}},"description":"Response model for the copy-to-applications operation"},"CustomerFlagCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code, e.g. \"sv-SE\" or \"en-US\".","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether any of the fields have been translated for this culture."},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The customer flag name in the specific language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the customer flag name is inherited from the default language."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The customer flag description in the specific language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the customer flag description is inherited from the default language."}}},"CustomerFlagGroupCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code, e.g. \"sv-SE\" or \"en-US\".","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether any of the fields have been translated for this culture."},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The customer flag group name in the specific language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the customer flag group name is inherited from the default language."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The customer flag group description in the specific language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the customer flag group description is inherited from the default language."}}},"CustomerFlagGroupModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the flag group. Client-specific.","format":"int32"},"ClientId":{"type":"integer","description":"The client identifier this customer flag group belongs to.","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The customer flag group name in a specific language.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The customer flag group name for the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"If true, the specific language doesn't have its own name and instead inherits from the default name."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"A longer description for the customer flag group explaining it in more detail.","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The customer flag group description in the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the description is inherited from the default language rather than being its own text."},"IsMultipleChoice":{"type":"boolean","description":"Indicates whether multiple flags can be selected from this group at the same time. If false, selecting a new flag will unset other flags from the group."},"IsActive":{"type":"boolean","description":"False if the customer flag group is soft deleted, removes it from the admin interface and non-functional but easily reactivatable."},"Changed":{"type":"string","description":"The date and time when the customer flag group entity was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the customer flag group entity, null if never changed.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/CustomerFlagGroupCultureModel"},"description":"List of all culture-specific text fields for the customer flag group."}},"description":"CustomerFlagGroup model, represents a group of flags, giving more context to them. The group define if flags can have many selected from the group at the same time as well. If false, any other flag set will be unset from the group, when a new flag is selected."},"CustomerFlagModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the customer flag. Client-specific.","format":"int32"},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"External reference code for the customer flag, used for integration purposes.","nullable":true},"GroupId":{"type":"integer","description":"The identifier of the group this customer flag belongs to.","format":"int32"},"GroupName":{"type":"string","description":"The name of the group this customer flag belongs to.","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The customer flag name in a specific language.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The customer flag name for the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"If true, the specific language doesn't have its own name and instead inherits from the default name."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"A longer description for the customer flag explaining it in more detail.","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The customer flag description in the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the description is inherited from the default language rather than being its own text."},"AvailableOnCustomer":{"type":"boolean","description":"Indicates whether this flag can be assigned to customers."},"AvailableOnCompany":{"type":"boolean","description":"Indicates whether this flag can be assigned to companies."},"IsActive":{"type":"boolean","description":"False if the customer flag is soft deleted, removes it from the admin interface and non-functional but easily reactivatable."},"Changed":{"type":"string","description":"The date and time when the customer flag entity was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the customer flag entity, null if never changed.","nullable":true},"IsDefault":{"type":"boolean","description":"Indicates whether this is a system default flag that cannot be deleted."},"SortOrder":{"type":"integer","description":"The sort order for displaying this flag in lists and interfaces.","format":"int32","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/CustomerFlagCultureModel"},"description":"List of all culture-specific text fields for the customer flag."}},"description":"CustomerFlag model, represents a flag that can be assigned to customers or companies to indicate specific attributes or statuses. Flags can be grouped and can have culture-specific names and descriptions. Customer and company flags can be used in business logic, like in promotion rules and effects."},"CustomerInfoTypeCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this culture-specific information","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The culture-specific name of the info type","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The culture-specific description of the info type","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"}}},"CustomerInfoTypeModel":{"required":["GroupId","Code"],"type":"object","properties":{"Id":{"type":"integer","description":"The customer info type identifier","format":"int32"},"GroupId":{"type":"integer","description":"The group identifier that categorizes the info type, see CustomerInfoTypeGroups enum","format":"int32"},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The unique code of the info type","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The display name of the info type in a specific language.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the info type for the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The description of the info type in a specific language.","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The default description of the info type for the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default"},"SortOrder":{"type":"integer","description":"The sort order for displaying the info type in lists","format":"int32"},"IsActive":{"type":"boolean","description":"Indicates whether the info type is active"},"Changed":{"type":"string","description":"The date and time the info type was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the info type","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/CustomerInfoTypeCultureModel"},"description":"The culture-specific information for the info type"}},"description":"CustomerInfoType model, represents additional fields that can extend the Norce data model of specific types of entities. Info types can be grouped into different categories (groups) to specifically set the type to an entity. Each info type can have culture-specific names and descriptions."},"DivisionCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this culture-specific information","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The culture-specific name of the store","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"Description":{"type":"string","description":"The culture-specific description of the store","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"},"GroupName":{"maxLength":50,"minLength":0,"type":"string","description":"The group name of the store in a specific language, this is a free text field for client to use to classify larger collections of stores, ie. by region or type.","nullable":true},"IsGroupNameInherited":{"type":"boolean","description":"Indicates whether the group name is inherited from the default culture"},"SubGroupName":{"maxLength":50,"minLength":0,"type":"string","description":"The culture-specific subgroup name of the store","nullable":true},"IsSubGroupNameInherited":{"type":"boolean","description":"The sub-group name of the store in a specific language, this is a free text field for client to use to classify larger collections of stores, ie. by city or sub-type."},"UniqueUrlName":{"maxLength":100,"minLength":0,"type":"string","description":"The culture-specific unique URL name of the store, used for SEO friendly URLs.","nullable":true},"IsUniqueUrlNameInherited":{"type":"boolean","description":"Indicates whether the unique URL name is inherited from the default culture"},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated"}}},"EventResponse":{"type":"object","properties":{"Id":{"type":"string"},"OccurredAtUtc":{"type":"string","format":"date-time"},"RecordedAtUtc":{"type":"string","format":"date-time"},"Area":{"type":"string"},"Action":{"type":"string"},"Outcome":{"type":"string"},"Severity":{"type":"integer","format":"uint8","nullable":true},"ActorType":{"type":"string","nullable":true},"ActorId":{"type":"string","nullable":true},"ActorDisplay":{"type":"string","nullable":true},"Source":{"type":"string","nullable":true},"Ip":{"type":"string","nullable":true},"UserAgent":{"type":"string","nullable":true},"SubjectType":{"type":"string","nullable":true},"SubjectId":{"type":"string","nullable":true},"MetadataJson":{"type":"string","nullable":true}}},"ExportFormat":{"type":"integer"},"FamilyCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this localization","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The localized name of the family for this culture","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default for this culture"},"Description":{"type":"string","description":"The localized description of the family for this culture","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default for this culture"},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture data has been translated"}}},"FamilyModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier of the family","format":"int32"},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The code identifier of the family","nullable":true},"Name":{"type":"string","description":"The localized name of the family","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the family for the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default"},"Description":{"type":"string","description":"The localized description of the family","nullable":true},"DefaultDescription":{"type":"string","description":"The description of the family for the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default"},"IsActive":{"type":"boolean","description":"Indicates whether the family is active"},"ImageKey":{"type":"string","description":"Unique blob identifier for an associated image.","format":"uuid","nullable":true},"Changed":{"type":"string","description":"The date and time the family was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the family","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/FamilyCultureModel"},"description":"The collection of culture-specific data for the family"}},"description":"Family model, represents a family of products in the system. 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 commonly for series or common branding of products for display purposes. Not commonly used anymore. Parametric lists may fill the same functionality with more flexibility."},"FileCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this localization","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture data has been translated"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The localized name of the file type for this culture","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default for this culture"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The localized description of the file for this culture","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default for this culture"}}},"FileModel":{"required":["TypeId","IsActive"],"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier of the file type","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The localized name of the file type for a specific culture","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the file type for the default language","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The localized description of the file type for a specific culture","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The description of the file type for the default language","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default"},"Code":{"type":"string","description":"The code identifier of the file","nullable":true},"TypeId":{"type":"integer","description":"The type identifier of the file, e.g., jpg, gif, pdf, mp4, etc.","format":"int32"},"TypeExtension":{"type":"string","description":"The file extension, from the built-in file type for this file type, e.g., \"jpg\", \"gif\", \"pdf\", \"mp4\" etc.","nullable":true},"TypeMimeType":{"type":"string","description":"The MIME type, from the built-in file type for this file type, e.g., \"image/jpeg\", \"application/pdf\", etc.","nullable":true},"SortOrder":{"type":"integer","description":"The sort order of the file type, used for displaying file types in choices and lists in the admin interface. And is also provided in API results.","format":"int32","nullable":true},"IsActive":{"type":"boolean","description":"Indicates whether the file type is active"},"IsImage":{"type":"boolean","description":"Indicates whether the file type is an image"},"Changed":{"type":"string","description":"The date and time the file type was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the file type","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/FileCultureModel"},"description":"The collection of culture-specific data for the file type"}},"description":"File model, represents a client configured file or image type for products with culture-specific properties."},"FlagGroupCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code, e.g. \"sv-SE\" or \"en-US\".","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether any of the fields have been translated for this culture."},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The flag group name in the specific language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the flag group name is inherited from the default language."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The flag group description in the specific language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the flag group description is inherited from the default language."}}},"FlagGroupModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the flag group. Client-specific.","format":"int32"},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"Unique code identifier for the flag group.","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The flag group name in a specific language.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The flag group name for the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"If true, the specific language doesn't have its own name and instead inherits from the default name."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"A longer description for the flag group explaining it in more detail.","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The flag group description in the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the description is inherited from the default language rather than being its own text."},"IsMultipleChoice":{"type":"boolean","description":"Indicates whether multiple flags can be selected from this group at the same time. If false, selecting a new flag will unset other flags from the group."},"IsActive":{"type":"boolean","description":"False if the flag group is soft deleted, removes it from the admin interface and non-functional but easily reactivatable."},"IsFavorite":{"type":"boolean","description":"Indicates whether this flag group is marked as a favorite and displayed prominently on the product page in the admin interface. Used purely for UI purposes."},"Changed":{"type":"string","description":"The date and time when the flag group entity was last changed.","format":"date-time","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the flag group entity, null if never changed.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/FlagGroupCultureModel"},"description":"List of all culture-specific text fields for the flag group."}},"description":"FlagGroup model, represents a group of flags, giving more context to them. The group define if flags can have many selected from the group at the same time as well. If false, any other flag set will be unset from the group, when a new flag is selected."},"IdNameChangedModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier for the entity.","format":"int32"},"Name":{"type":"string","description":"The display name of the entity.","nullable":true},"Changed":{"type":"string","description":"The date and time when the entity was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the entity.","nullable":true}},"description":"IdNameChanged model, represents an entity that is tracked by latest change, having an internal id, a display name and change tracking."},"IdNameCodeModel":{"required":["Id","Name","Code"],"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier for the entity.","format":"int32"},"Name":{"type":"string","description":"The display name of the entity.","nullable":true},"Code":{"type":"string","description":"The unique code of the entity.","nullable":true}},"description":"IdNameCode model, represents an entity commonly in collections with an internal id, a display name and a unique code."},"InfoModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier for the info entity.","format":"int64"},"TypeId":{"type":"integer","description":"The type identifier for the info entity.","format":"int32"},"Name":{"type":"string","description":"The name of the info entity.","nullable":true},"Value":{"type":"string","description":"The value associated with the info entity.","nullable":true},"Updated":{"type":"string","description":"The date and time when the info entity was last updated.","format":"date-time","nullable":true},"UpdatedBy":{"type":"integer","description":"The user who last updated the value ióf the info entity.","format":"int32"}},"description":"Info model, represents a generic info type entity with metadata about its last update."},"IRoundingRuleSetting":{"type":"object","properties":{"Id":{"type":"integer","format":"int32"},"RuleId":{"type":"integer","format":"int32"},"PriceFrom":{"type":"number","format":"double","nullable":true},"PriceTo":{"type":"number","format":"double","nullable":true},"RoundToDecimals":{"type":"integer","format":"int32"},"RoundingDirection":{"type":"integer","format":"int32","nullable":true},"PriceEndsFrom":{"type":"number","format":"double","nullable":true},"PriceEndsTo":{"type":"number","format":"double","nullable":true},"RoundingValue":{"type":"number","format":"double","nullable":true}}},"ListCountModelOfPriceListModel":{"type":"object","properties":{"List":{"type":"array","items":{"$ref":"#/components/schemas/PriceListModel"}},"Count":{"type":"integer","format":"int32"}}},"ManufacturerCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"Gets or sets the culture code for this manufacturer culture.","nullable":true},"SupportUrl":{"maxLength":255,"minLength":0,"type":"string","description":"Gets or sets the support URL for this culture.","nullable":true},"IsSupportUrlInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support URL is inherited for this culture."},"SupportEmailAddress":{"maxLength":255,"minLength":0,"type":"string","description":"Gets or sets the support email address for this culture.","nullable":true},"IsSupportEmailAddressInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support email address is inherited for this culture."},"SupportPhoneNumber":{"maxLength":500,"minLength":0,"type":"string","description":"Gets or sets the support phone number for this culture.","nullable":true},"IsSupportPhoneNumberInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support phone number is inherited for this culture."},"SupportAvailableHours":{"type":"string","description":"Gets or sets the support available hours for this culture.","nullable":true},"IsSupportAvailableHoursInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support available hours is inherited for this culture."},"SupportPolicy":{"type":"string","description":"Gets or sets the support policy for this culture.","nullable":true},"IsSupportPolicyInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support policy is inherited for this culture."},"SupportDescription":{"type":"string","description":"Gets or sets the support description for this culture.","nullable":true},"IsSupportDescriptionInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support description is inherited for this culture."},"IsTranslated":{"type":"boolean","description":"Gets or sets a value indicating whether this culture has been translated."}}},"ManufacturerModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Gets or sets the unique identifier for the manufacturer.","format":"int32"},"Key":{"type":"string","description":"Gets or sets the unique key for the manufacturer.","format":"uuid"},"Name":{"maxLength":100,"minLength":0,"type":"string","description":"Gets or sets the name of the manufacturer.","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"Gets or sets the code of the manufacturer.","nullable":true},"OrganizationNo":{"maxLength":50,"minLength":0,"type":"string","description":"Gets or sets the organization number of the manufacturer.","nullable":true},"UniqueUrlName":{"type":"string","description":"Gets or sets the unique URL name for the manufacturer. Can be used to lookup the manufacturer from landing pages using the API. Can be generated from the name by Norce.","nullable":true},"IsUniqueUrlNameManuallyMaintained":{"type":"boolean","description":"Gets or sets a value indicating whether the unique URL name is manually maintained. If UnuqueUrlName is passed in, this is automatically set to true."},"Prefix":{"maxLength":50,"minLength":0,"type":"string","description":"Gets or sets the prefix for the manufacturer. Used when generating part numbers. Lookup PartNo generation in the documentation for more info.","nullable":true},"Website":{"maxLength":255,"minLength":0,"type":"string","description":"Gets or sets the website URL for the manufacturer. For display purposes only.","nullable":true},"LogoKey":{"type":"string","description":"Gets or sets the logo key for the manufacturer. For display purposes only.","format":"uuid","nullable":true},"LogoUrl":{"type":"string","description":"Gets or sets the logo URL for the manufacturer. For display purposes only.","nullable":true},"SupportUrl":{"maxLength":255,"minLength":0,"type":"string","description":"Gets or sets the support URL for the manufacturer, language specific. For display purposes only.","nullable":true},"DefaultSupportUrl":{"maxLength":255,"minLength":0,"type":"string","description":"Gets or sets the default support URL for the manufacturer, from default language.","nullable":true},"IsSupportUrlInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support URL is inherited."},"SupportEmailAddress":{"maxLength":255,"minLength":0,"type":"string","description":"Gets or sets the support email address for the manufacturer language specific. For display purposes only.","nullable":true},"DefaultSupportEmailAddress":{"maxLength":255,"minLength":0,"type":"string","description":"Gets or sets the default support email address for the manufacturer, from default language.","nullable":true},"IsSupportEmailAddressInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support email address is inherited."},"SupportPhoneNumber":{"maxLength":500,"minLength":0,"type":"string","description":"Gets or sets the support phone number for the manufacturer language specific. For display purposes only.","nullable":true},"DefaultSupportPhoneNumber":{"maxLength":500,"minLength":0,"type":"string","description":"Gets or sets the default support phone number for the manufacturer, from default language.","nullable":true},"IsSupportPhoneNumberInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support phone number is inherited."},"SupportAvailableHours":{"type":"string","description":"Gets or sets the support available hours for the manufacturer language specific. For display purposes only.","nullable":true},"DefaultSupportAvailableHours":{"type":"string","description":"Gets or sets the default support available hours for the manufacturer, from default language.","nullable":true},"IsSupportAvailableHoursInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support available hours is inherited."},"SupportPolicy":{"type":"string","description":"Gets or sets the support policy for the manufacturer language specific. For display purposes only.","nullable":true},"DefaultSupportPolicy":{"type":"string","description":"Gets or sets the default support policy for the manufacturer, from default language.","nullable":true},"IsSupportPolicyInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support policy is inherited."},"SupportDescription":{"type":"string","description":"Gets or sets the support description for the manufacturer language specific. For display purposes only.","nullable":true},"DefaultSupportDescription":{"type":"string","description":"Gets or sets the default support description for the manufacturer, from default language.","nullable":true},"IsSupportDescriptionInherited":{"type":"boolean","description":"Gets or sets a value indicating whether the support description is inherited."},"IsActive":{"type":"boolean","description":"Gets or sets a value indicating whether the manufacturer is active."},"Changed":{"type":"string","description":"Gets or sets the date and time when the manufacturer was last changed.","format":"date-time","nullable":true},"ChangedBy":{"type":"string","description":"Gets or sets the user who last changed the manufacturer.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ManufacturerCultureModel"},"description":"Gets or sets the list of culture-specific manufacturer information."}},"description":"Manufacturer model, represents a manufacturer with culture-specific properties. Manufacturers must be associated with products and is used together with the Manufacturer part number (PartNo) to identify products in mappings to supplier products."},"PagedEventResponse":{"type":"object","properties":{"Events":{"type":"array","items":{"$ref":"#/components/schemas/EventResponse"}},"Page":{"type":"integer","format":"int32"},"PageSize":{"type":"integer","format":"int32"},"TotalCount":{"type":"integer","format":"int32"},"TotalPages":{"type":"integer","format":"int32"}}},"ParametricCultureModel":{"required":["CultureCode"],"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code, e.g. \"sv-SE\" or \"en-US\".","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The parametric name in the specific language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the parametric name is inherited from the default language."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The parametric description in the specific language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the parametric description is inherited from the default language."},"Uom":{"maxLength":50,"minLength":0,"type":"string","description":"The unit of measurement in the specific language.","nullable":true},"IsUomInherited":{"type":"boolean","description":"Indicates whether the unit of measurement is inherited from the default language."},"IsTranslated":{"type":"boolean","description":"Indicates whether any of the fields have been translated for this culture."}},"description":"List of all culture-specific text fields for the parametric."},"ParametricGroupCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code, e.g. \"sv-SE\" or \"en-US\".","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The parametric group name in the specific language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the parametric group name is inherited from the default language."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The parametric group description in the specific language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the parametric group description is inherited from the default language."},"IsTranslated":{"type":"boolean","description":"Indicates whether any of the fields have been translated for this culture."}},"description":"List of all culture-specific text fields for the parametric group."},"ParametricGroupModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the parametric group. Client-specific.","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The parametric group name in a specific language.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The parametric group name for the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"If true, the specific language doesn't have its own name and instead inherits from the default name."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"A longer description for the parametric group explaining it in more detail.","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The parametric group description in the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the description is inherited from the default language rather than being its own text."},"IsActive":{"type":"boolean","description":"False if the parametric group is soft deleted, making it hidden and non-functional but easily reactivatable."},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"Parametric group code with string length of 50. Important to set and should be unique across all parametric groups.","nullable":true},"Changed":{"type":"string","description":"The date and time when the ParametricGroup entity was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the ParametricGroup entity, null if never changed.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ParametricGroupCultureModel"},"description":"List of all culture-specific text fields for the parametric group."}},"description":"Parametric Group model, represents a grouping of parametric attributes that can be assigned to categories and by extension products. Groups are either assigned as default group to parametrics or as assigned to category parametrics relationships.","example":{"Id":5,"Name":"Characteristics","DefaultName":"Characteristics","IsNameInherited":false,"Description":"Common characteristics","DefaultDescription":"Common characteristics","IsDescriptionInherited":false,"IsActive":true,"Code":"pg_characteristics","Changed":"06/08/2024 14:40","ChangedBy":"Admin user","Cultures":[{"CultureCode":"en-GB","Name":"Characteristics","IsNameInherited":false,"Description":"Common characteristics","IsDescriptionInherited":false,"IsTranslated":true},{"CultureCode":"nb-NO","Name":null,"IsNameInherited":true,"Description":null,"IsDescriptionInherited":true,"IsTranslated":false},{"CultureCode":"sv-SE","Name":null,"IsNameInherited":true,"Description":null,"IsDescriptionInherited":true,"IsTranslated":false}]}},"ParametricListCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code, e.g. \"sv-SE\" or \"en-US\".","nullable":true},"Value":{"maxLength":255,"minLength":0,"type":"string","description":"The display value for the parametric list item in the specific language.","nullable":true},"IsValueInherited":{"type":"boolean","description":"Indicates whether the parametric list item value is inherited from the default language."},"Description":{"type":"string","description":"The parametric list item description in the specific language. No size limit.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the parametric list item description is inherited from the default language."},"IsTranslated":{"type":"boolean","description":"Indicates whether any of the fields have been translated for this culture."}}},"ParametricListModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the parametric list item. Client-specific.","format":"int32"},"ParametricId":{"type":"integer","description":"The identifier of the parametric this list item belongs to.","format":"int32"},"Value":{"maxLength":255,"minLength":0,"type":"string","description":"The display value for the parametric list item in a specific language.","nullable":true},"DefaultValue":{"maxLength":255,"minLength":0,"type":"string","description":"The display value for the parametric list item in the default language.","nullable":true},"IsValueInherited":{"type":"boolean","description":"If true, the specific language doesn't have its own value and instead inherits from the default value."},"Description":{"type":"string","description":"A longer description for the parametric list item in a specific language. No size limit.","nullable":true},"DefaultDescription":{"type":"string","description":"A longer description for the parametric list item in the default language. No size limit.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the description is inherited from the default language rather than being its own text."},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"Unique code identifier for the parametric list item.","nullable":true},"ImageKey":{"type":"string","description":"Unique blob identifier for an associated image.","format":"uuid","nullable":true},"ImageUrl":{"maxLength":255,"minLength":0,"type":"string","description":"Deprecated, URL path to an associated image for the parametric list item.","nullable":true},"IsActive":{"type":"boolean","description":"False if the parametric list item is soft deleted, removes it from selection lists but easily reactivatable."},"Changed":{"type":"string","description":"The date and time when the parametric list item was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the parametric list item, null if never changed.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ParametricListCultureModel"},"description":"List of all culture-specific text fields for the parametric list item."}},"description":"Parametric List model, represents a predefined list of values for a parametric attribute. Used when the parametric type is set to \"list\".","example":{"Id":20,"ParametricId":8,"Value":"Anthracite grey/Green","DefaultValue":"Anthracite grey/Green","IsValueInherited":false,"Description":"","DefaultDescription":"","IsDescriptionInherited":false,"Code":"antracitgra-green","ImageKey":null,"ImageUrl":"","IsActive":true,"Changed":"03/05/2024 13:01","ChangedBy":null,"Cultures":[{"CultureCode":"en-GB","Value":"Anthracite grey/Green","IsValueInherited":false,"Description":"","IsDescriptionInherited":false,"IsTranslated":true},{"CultureCode":"sv-SE","Value":"Antracitgrå/Grön","IsValueInherited":false,"Description":null,"IsDescriptionInherited":true,"IsTranslated":true}]}},"ParametricModel":{"required":["Type"],"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the parametric. Client-specific.","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The parametric name in a specific language.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The parametric name for the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"If true, the specific language doesn't have its own name and instead inherits from the default name."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"A longer description for the parametric explaining it in more detail.","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The parametric description in the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the description is inherited from the default language rather than being its own text."},"Uom":{"maxLength":50,"minLength":0,"type":"string","description":"Unit of measurement for the parametric value. This is a text field allowing any unit to be specified. Used in presentation views in front-end.","nullable":true},"DefaultUom":{"maxLength":50,"minLength":0,"type":"string","description":"The unit of measurement in the default language.","nullable":true},"IsUomInherited":{"type":"boolean","description":"If true, the unit of measurement is inherited from the default language."},"Type":{"type":"string","description":"The type of parametric. Valid values: text, html, int, decimal, date, boolean, list, multiple."},"TypeName":{"type":"string","description":"Human-readable name for the parametric type. (e.g., Text, HTML, Integer, Decimal, Date, Boolean, List, Multiple list).","nullable":true},"GroupId":{"type":"integer","description":"The identifier of the parametric group this parametric belongs to.","format":"int32","nullable":true},"GroupName":{"type":"string","description":"The name of the parametric group this parametric belongs to.","nullable":true},"IsRequired":{"type":"boolean","description":"Indicates whether this parametric is required when assigned to a product. If true, this parametrics is marked as mandatory in admin and front-end interfaces."},"IsFavorite":{"type":"boolean","description":"Indicates whether this parametric is marked as a favorite for quick access in the Admin interface."},"IsReadOnly":{"type":"boolean","description":"Indicates whether this parametric is read-only and cannot be modified in the Admin interface. Can still be changed programmatically, using connect API."},"IsHidden":{"type":"boolean","description":"Indicates whether this parametric is hidden from the user interface. If true, it will be marked as hidden in front-end facing api models."},"IsPublic":{"type":"boolean","description":"Called \"Global\" in the Admin interface. Indicates whether this parametric is by default available on all categories (on all products)."},"DefaultIsVariantUnique":{"type":"boolean","description":"Indicates that the parametric will default to variants when merging products."},"IsActive":{"type":"boolean","description":"False if the parametric is soft deleted, removes it from the admin interface and non-functional but easily reactivatable. Note that product data on this parametric is not deleted but not accessible through normal means, until reactivated."},"Editor":{"maxLength":16,"minLength":0,"type":"string","description":"The editor type used for input of this parametric. Type must be \"html\" and the choices are e.g. \"text\" and \"html\". Only used in Admin interface.","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"Parametric code with string length of 50. Important to set and should be unique across all parametrics.","nullable":true},"CodeListKey":{"maxLength":50,"minLength":0,"type":"string","description":"Deprecated functionality, used as a collection identifier from external product sources.","nullable":true},"Changed":{"type":"string","description":"The date and time when the Parametric entity was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the Parametric entity, null if never changed.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ParametricCultureModel"},"description":"List of all culture-specific text fields for the parametric."},"ShowOnTextTab":{"type":"boolean","description":"Indicates whether this parametric should be shown on the text tab in the Admin interface."},"ShowInList":{"type":"boolean","description":"Makes this parametric available when listing products through the API. Only valid for List and multiple list types."},"AiInstruction":{"type":"string","description":"AI instruction for how parametric values should be translated or generated","nullable":true},"MaxLength":{"type":"integer","description":"The maximum number of characters a value of this parametric can hold, or null when it is unbounded. Only text parametrics have a limit. Read-only, ignored on insert and update.","format":"int32","nullable":true}},"description":"Parametric model, represents an attribute that can be assigned to products to describe and differentiate them. Parametrics can be of various types such as text, number, date, boolean, or selection(s) from a predefined list (code list). They can also be grouped into parametric groups for better organization."},"ParametricMultipleCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code, e.g. \"sv-SE\" or \"en-US\".","nullable":true},"Value":{"maxLength":255,"minLength":0,"type":"string","description":"The display value for the parametric multiple item in the specific language.","nullable":true},"IsValueInherited":{"type":"boolean","description":"Indicates whether the parametric multiple item value is inherited from the default language."},"Description":{"type":"string","description":"The parametric multiple item description in the specific language. No size limit.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the parametric multiple item description is inherited from the default language."},"IsTranslated":{"type":"boolean","description":"Indicates whether any of the fields have been translated for this culture."}}},"ParametricMultipleModel":{"required":["ParametricId","IsActive"],"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the parametric multiple item. Client-specific.","format":"int32"},"ParametricId":{"type":"integer","description":"The identifier of the parametric this multiple item belongs to.","format":"int32"},"Value":{"maxLength":255,"minLength":0,"type":"string","description":"The display value for the parametric multiple item in a specific language.","nullable":true},"DefaultValue":{"maxLength":255,"minLength":0,"type":"string","description":"The display value for the parametric multiple item in the default language.","nullable":true},"IsValueInherited":{"type":"boolean","description":"If true, the specific language doesn't have its own value and instead inherits from the default value."},"Description":{"type":"string","description":"A longer description for the parametric multiple item in a specific language. No size limit.","nullable":true},"DefaultDescription":{"type":"string","description":"A longer description for the parametric multiple item in the default language. No size limit.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the description is inherited from the default language rather than being its own text."},"SortOrder":{"type":"integer","description":"Sort order for displaying the parametric multiple item in lists. If null, no specific order is defined.","format":"int32","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"Unique code identifier for the parametric multiple item.","nullable":true},"ImageKey":{"type":"string","description":"Unique blob identifier for an associated image.","format":"uuid","nullable":true},"ImageUrl":{"maxLength":255,"minLength":0,"type":"string","description":"Deprecated, URL path to an associated image for the parametric multiple item.","nullable":true},"IsActive":{"type":"boolean","description":"False if the parametric multiple item is soft deleted, removes it from selection lists but easily reactivatable."},"Changed":{"type":"string","description":"The date and time when the parametric multiple item was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the parametric multiple item, null if never changed.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ParametricMultipleCultureModel"},"description":"List of all culture-specific text fields for the parametric multiple item."}},"description":"Parametric Multiple model, represents a predefined multiple selection list of values for a parametric attribute. Used when the parametric type is set to \"multiple\".","example":{"Id":1,"ParametricId":6,"Value":"Do not dry clean","DefaultValue":"Do not dry clean","IsValueInherited":false,"Description":"","DefaultDescription":"","IsDescriptionInherited":false,"SortOrder":null,"Code":"donotdryclean","ImageKey":null,"ImageUrl":"","IsActive":true,"Changed":"03/05/2024 14:07","ChangedBy":null,"Cultures":[{"CultureCode":"en-GB","Value":"Do not dry clean","IsValueInherited":false,"Description":"","IsDescriptionInherited":false,"IsTranslated":true},{"CultureCode":"sv-SE","Value":null,"IsValueInherited":true,"Description":null,"IsDescriptionInherited":true,"IsTranslated":false}]}},"PriceListInfoModel":{"required":["Value"],"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier of the info row","format":"int32"},"PriceListId":{"type":"integer","description":"The identifier of the price list this row belongs to","format":"int32"},"TypeId":{"type":"integer","description":"The identifier of the info type (group 4 = price-list info types)","format":"int32"},"TypeName":{"type":"string","description":"The name of the info type","nullable":true},"TypeCode":{"type":"string","description":"The code of the info type, needed to identify it in connect api imports","nullable":true},"Value":{"maxLength":255,"minLength":0,"type":"string","description":"The info value"},"IsActive":{"type":"boolean","description":"Wire flag, always true on read. On update, a row with IsActive = false is a delete instruction: the matching stored row is removed."},"Changed":{"type":"string","description":"The date and time when this row was last changed","nullable":true},"ChangedBy":{"type":"string","description":"The fullname or systemname of the user who last changed this row","nullable":true}},"description":"PriceListInfo model, represents a custom info type value set on a price list."},"PriceListModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier of the price list","format":"int32"},"PriceListId":{"type":"integer","description":"The price list identifier","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the price list","nullable":true},"Description":{"type":"string","description":"The description of the price list","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The agreement code for the price list","nullable":true},"ImageKey":{"type":"string","description":"The unique key identifier for the price list image, not normally used.","format":"uuid","nullable":true},"ImageUrl":{"maxLength":255,"minLength":0,"type":"string","description":"The URL path to the price list image, deprecated, not normally used.","nullable":true},"TypeId":{"type":"integer","description":"The type identifier of the price list","format":"int32"},"TypeName":{"type":"string","description":"The name of the price list type","nullable":true},"PriceRuleName":{"type":"string","description":"The name of the default price rule associated with this price list","nullable":true},"StartDate":{"type":"string","description":"The start date when the price list becomes active","format":"date-time","nullable":true},"EndDate":{"type":"string","description":"The end date when the price list becomes inactive","format":"date-time","nullable":true},"CurrencyId":{"type":"integer","description":"The identifier for the currency the price list uses","format":"int32"},"CurrencyCode":{"type":"string","description":"The currency code for the currency the price list uses","nullable":true},"CurrencyName":{"type":"string","description":"The name of the currency used in the price list","nullable":true},"SalesAreaId":{"type":"integer","description":"The sales area identifier associated with this price list, if null, no specific sales area is assigned and is usually inherited from the application it is connected to or from the primary sales area of the client. This is primarily used for rounding rules, where rounding is calculated on the including VAT sale price.","format":"int32","nullable":true},"SalesAreaName":{"type":"string","description":"The name of the sales area associated with this price list","nullable":true},"SalesAreaIdIsInherited":{"type":"boolean","description":"Indicates whether the sales area ID is inherited from parent"},"InheritedSalesAreaName":{"type":"string","description":"The name of the inherited sales area, shows the current application sales area.","nullable":true},"DefaultPriceRuleId":{"type":"integer","description":"The default price rule identifier for this price list","format":"int32","nullable":true},"DefaultPriceRuleValue":{"type":"number","description":"The value for the default price rule","format":"double","nullable":true},"DefaultSupplementChargePercentage":{"type":"number","description":"The default supplement charge percentage applied to products","format":"double"},"DefaultSupplementCharge":{"type":"number","description":"The default supplement charge amount applied to products","format":"double","nullable":true},"DefaultMinimumProductMarginPercentage":{"type":"number","description":"The default minimum product margin percentage","format":"double","nullable":true},"DefaultLimitToPriceRecommended":{"type":"boolean","description":"Indicates whether prices are limited to recommended prices","nullable":true},"InheritStructureCalculationRule":{"type":"integer","description":"The rule for inheriting structure calculation settings: 0 for none, 2 for the standard price from the inherited structure item sale price","format":"int32"},"ParentPriceListId":{"type":"integer","description":"The identifier of the parent price list for inheritance. If null, some price rules are not working.","format":"int32","nullable":true},"ParentPriceListName":{"type":"string","description":"The name of the parent price list","nullable":true},"PopulationRuleId":{"type":"integer","description":"The population rule identifier used for product population","format":"int32"},"PopulationRuleName":{"type":"string","description":"The name of the population rule","nullable":true},"ChosenWarehouseId":{"type":"integer","description":"The chosen warehouse identifier for this price list. The primary warehouse that is used for stock checking and availability.","format":"int32","nullable":true},"ChosenLocationId":{"type":"integer","description":"The chosen location identifier for this price list. The primary location that is used for stock checking and availability. This is usually used as the location receiving stock reservation by Norce shopping logic.","format":"int32","nullable":true},"IsPrimary":{"type":"boolean","description":"Indicates whether this is the primary price list for the current application."},"IsPublic":{"type":"boolean","description":"Indicates whether the price list has prices that is publicly accessible from the application."},"IsNotStarted":{"type":"boolean","description":"Indicates whether the price list has not started yet"},"IsEnded":{"type":"boolean","description":"Indicates whether the price list has ended."},"IsVirtual":{"type":"boolean","description":"Indicates whether this is a virtual price list. Virtual price lists are calculated in real-time and do not store prices. Requires a parent price list that provide the base information and assortment."},"IsLimitedToStock":{"type":"boolean","description":"Indicates whether the price list is limited to available stock. Currently not functional.","nullable":true},"IsFavorite":{"type":"boolean","description":"Indicates whether this price list is marked as favorite in the current application in the admin interface."},"IsActive":{"type":"boolean","description":"Indicates whether the price list is currently active, note this may still be a price list that has not started or has ended."},"Changed":{"type":"string","description":"The date and time when the price list was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the price list","nullable":true}},"description":"PriceList model, represents a price list with its configuration and rules. Price lists define pricing and assortments for clients."},"PriceListPopulationCategoryModel":{"type":"object","properties":{"CategoryId":{"type":"integer","description":"The unique identifier of the category","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the category","nullable":true},"IsChecked":{"type":"boolean","description":"Indicates whether this category is active or just part of the category tree structure."},"IsOpen":{"type":"boolean","description":"Indicates whether this category node is expanded in the tree view, for display purposes only."},"Categories":{"type":"array","items":{"$ref":"#/components/schemas/PriceListPopulationCategoryModel"},"description":"The collection of child categories under this category"},"Manufacturers":{"type":"array","items":{"$ref":"#/components/schemas/IdNameChangedModel"},"description":"The collection of manufacturers associated with this category rule"},"Flags":{"type":"array","items":{"$ref":"#/components/schemas/IdNameChangedModel"},"description":"The collection of flags associated with this category rule"},"ParentId":{"type":"integer","description":"The identifier of the parent category","format":"int32","nullable":true},"Level":{"type":"integer","description":"The hierarchical level of this category in the category tree","format":"int32"},"IsSupplierRequired":{"type":"boolean","description":"Indicates whether a supplier product is required for rule to apply"},"Changed":{"type":"string","description":"The date and time the category was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the category","nullable":true}},"description":"PriceListPopulationCategory model, represents a category rule used in price list population."},"PriceListPopulationModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier of the price list","format":"int32"},"ParentPriceListName":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the parent price list, which this population is associated with","nullable":true},"IsSupplierRequired":{"type":"boolean","description":"Indicates whether a supplier product is required for rule to apply"},"IsInclude":{"type":"boolean","description":"Indicates whether this population rule type is include or exclude, determining if the specified criteria should be adding or substracting products from the price list."},"IsChecked":{"type":"boolean","description":"Indicates whether this price list population is active or just part of the category tree structure. Root rule should be active."},"Categories":{"type":"array","items":{"$ref":"#/components/schemas/PriceListPopulationCategoryModel"},"description":"The collection of category rules used in this price list population"},"Manufacturers":{"type":"array","items":{"$ref":"#/components/schemas/IdNameChangedModel"},"description":"The collection of manufacturers associated with this price list population rule"},"Flags":{"type":"array","items":{"$ref":"#/components/schemas/IdNameChangedModel"},"description":"The collection of flags associated with this price list population rule"}},"description":"PriceListPopulation model, represents the population settings for a price list."},"PriceListPricingModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier of the price list pricing rule","format":"int32"},"PriceListId":{"type":"integer","description":"The identifier of the price list this pricing rule belongs to","format":"int32"},"CategoryId":{"type":"integer","description":"The identifier of the category this pricing rule applies to","format":"int32","nullable":true},"CategoryName":{"type":"string","description":"The name of the category this pricing rule applies to","nullable":true},"CategoryPath":{"type":"string","description":"The hierarchical path of the category this pricing rule applies to","nullable":true},"CategoryParentCount":{"type":"integer","description":"The number of parent categories in the category hierarchy","format":"int32"},"CategoryCode":{"type":"string","description":"The code of the category this pricing rule applies to","nullable":true},"ManufacturerId":{"type":"integer","description":"The identifier of the manufacturer this pricing rule applies to","format":"int32","nullable":true},"ManufacturerName":{"type":"string","description":"The name of the manufacturer this pricing rule applies to","nullable":true},"ManufacturerCode":{"type":"string","description":"The code of the manufacturer this pricing rule applies to","nullable":true},"Flags":{"type":"array","items":{"$ref":"#/components/schemas/IdNameCodeModel"},"description":"The collection of flags associated with this pricing rule"},"FlagIdSeed":{"maxLength":1000,"minLength":0,"type":"string","description":"The seed string containing flag identifiers for this pricing rule","nullable":true},"FlagNames":{"type":"array","items":{"type":"string"},"description":"The collection of flag names associated with this pricing rule","nullable":true},"MinValue":{"type":"number","description":"The minimum value threshold for this pricing rule to apply","format":"double","nullable":true},"MaxValue":{"type":"number","description":"The maximum value threshold for this pricing rule to apply","format":"double","nullable":true},"PriceRuleId":{"type":"integer","description":"The identifier of the built-in price rule used in this pricing configuration","format":"int32","nullable":true},"PriceRuleName":{"type":"string","description":"The name of the built-in price rule used in this pricing configuration","nullable":true},"PriceRuleLabel":{"type":"string","description":"The label of the built-in price rule used in this pricing configuration","nullable":true},"PriceRuleValue":{"type":"number","description":"The value associated with the price rule in this pricing configuration, depending on the built-in rule type this value can be rebate, margin, uplift, or fixed price. See documentation for more information.","format":"double","nullable":true},"PriceRuleUnit":{"type":"string","description":"The unit of the price rule value, usually percent or amount.","nullable":true},"KickbackPercentage":{"type":"number","description":"The kickback percentage applied in this pricing rule, not normally used.","format":"double","nullable":true},"MinimumProductMarginPercentage":{"type":"number","description":"The minimum product margin percentage required for this pricing rule. Require purchase or unit costs on the products. Does not affect prixed price rules.","format":"double","nullable":true},"MinimumProductMarginPercentageIsInherited":{"type":"boolean","description":"Indicates whether the minimum product margin percentage is inherited from parent rules"},"PreferredPosition":{"type":"integer","description":"The preferred position order compared to competitors for this pricing rule when competive price rules are used.","format":"int32","nullable":true},"LimitToPriceRecommended":{"type":"boolean","description":"Indicates whether sales price must not exceed the recommended price. Required by some manufacturers. Pricing rule will adjust price down if needed.","nullable":true},"SupplementCharge":{"type":"number","description":"The fixed supplement charge amount applied to the cost before price rule calculation by this pricing rule, ignored if SupplementChargePercentage is used. Valid for only cost based pricing rules.","format":"double","nullable":true},"SupplementChargePercentage":{"type":"number","description":"The supplement charge percentage applied to the cost before price rule calculation by this pricing rule. Valid for only cost based pricing rules.","format":"double","nullable":true},"StartDate":{"type":"string","description":"The start date and time when this pricing rule becomes active, null = no start boundary. Only supported on virtual price lists.","format":"date-time","nullable":true},"EndDate":{"type":"string","description":"The end date and time when this pricing rule stops applying, exclusive, null = no end. Only supported on virtual price lists.","format":"date-time","nullable":true},"IsActive":{"type":"boolean","description":"Indicates whether this pricing rule is currently active"},"Changed":{"type":"string","description":"The date and time when this pricing rule was last changed","nullable":true},"ChangedBy":{"type":"string","description":"The fullname or systemname of the user who last changed this pricing rule","nullable":true}},"description":"PriceListPricing model, represents price rules applied to a price list based on various criteria."},"PriceListSupplierPriceListModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier of the supplier price list","format":"int32"},"PriceListId":{"type":"integer","description":"The unique identifier of the (client) price list","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the supplier price list","nullable":true},"SupplierName":{"type":"string","description":"The name of the supplier","nullable":true},"SupplierId":{"type":"integer","description":"The unique identifier of the supplier","format":"int32"},"SupplierCode":{"type":"string","description":"The supplier code","nullable":true},"SupplierCountry":{"type":"string","description":"The country of the supplier","nullable":true},"SupplierIsChosenSupplierEnabled":{"type":"boolean","description":"Indicates whether the supplier has chosen supplier functionality enabled"},"SupplierPriceListCurrencyCode":{"type":"string","description":"The currency code of the supplier price list","nullable":true},"Code":{"type":"string","description":"The code of the supplier price list","nullable":true},"Changed":{"type":"string","description":"The date and time when the record was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the record","nullable":true}},"description":"PriceListSupplierPriceList model, represents a supplier price list linked to a price list. Providing procurement data and other supplier product data for the product and price list. Allows for Chosen supplier functionality."},"PriceListTypeModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The system wide unique identifier of the price list type","format":"int32"},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The client specific code of the price list type","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the price list type","nullable":true},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The description of the price list type","nullable":true},"ApiEditable":{"type":"boolean","description":"Indicates whether the price list type can be managed through the API. Falls back to the platform default when not set on the client type.","nullable":true},"SortOrder":{"type":"integer","format":"int32","nullable":true},"IsActive":{"type":"boolean","description":"Indicates whether this price list type is active"},"Changed":{"type":"string","description":"The date and time the price list type was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the price list type","nullable":true}},"description":"PriceListType model, represents a type classification for price lists. Types help categorize price lists for different purposes."},"PriceListWarehouseModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier of the warehouse","format":"int32"},"TypeId":{"type":"integer","description":"The identifier of the warehouse type (e.g. Warehouse, Store, Transport, Other)","format":"int32"},"Code":{"type":"string","description":"The code of the warehouse used for identification purposes","nullable":true},"PriceListId":{"type":"integer","description":"The unique identifier of the price list this warehouse is associated with","format":"int32"},"Name":{"type":"string","description":"The name of the warehouse","nullable":true},"LocationId":{"type":"integer","description":"The unique identifier of the location within the warehouse","format":"int32","nullable":true},"LocationName":{"type":"string","description":"The name of the location within the warehouse","nullable":true},"LocationCode":{"type":"string","description":"The code of the location within the warehouse used for identification purposes","nullable":true},"LocationIsIncludedInStockCalculation":{"type":"boolean","description":"Indicates whether the location is included in stock calculation processes","nullable":true},"IsStandard":{"type":"boolean","description":"Indicates whether this warehouse is set as the standard warehouse for the price list"},"Changed":{"type":"string","description":"The date and time the association to warehouse and location was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the association","nullable":true}},"description":"PriceListWarehouse model, represents a warehouse and location associated with a price list. Warehouses help manage stock and by linking them to price lists, facilitate availability functionality for assortments of products."},"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}}},"ProductFlagCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code, e.g. \"sv-SE\" or \"en-US\".","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether any of the fields have been translated for this culture."},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The product flag name in the specific language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the product flag name is inherited from the default language."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The product flag description in the specific language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the product flag description is inherited from the default language."}}},"ProductFlagModel":{"required":["TypeId","GroupId","Code","Name"],"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the product flag. Client-specific.","format":"int32"},"TypeId":{"type":"integer","description":"The type identifier for the product flag. Allowed values are: 1= Product flag, 2 = Variant flag","format":"int32"},"GroupId":{"type":"integer","description":"The identifier of the group this product flag belongs to.","format":"int32"},"GroupName":{"type":"string","description":"The name of the group this product flag belongs to.","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"External reference code for the product flag, used for integration purposes."},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The product flag name in a specific language.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The product flag name for the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"If true, the specific language doesn't have its own name and instead inherits from the default name."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"A longer description for the product flag explaining it in more detail.","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The product flag description in the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the description is inherited from the default language rather than being its own text."},"IsManuallyEditable":{"type":"boolean","description":"Indicates whether this flag can be manually edited by users in the admin interface."},"SortOrder":{"type":"integer","description":"The sort order for displaying this flag in lists and interfaces.","format":"int32","nullable":true},"IsActive":{"type":"boolean","description":"False if the product flag is soft deleted, removes it from the admin interface and non-functional but easily reactivatable."},"Changed":{"type":"string","description":"The date and time when the product flag entity was last changed.","format":"date-time","nullable":true},"ChangedBy":{"type":"string","description":"The name of the user who last changed the product flag entity, null if never changed.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ProductFlagCultureModel"},"description":"List of all culture-specific text fields for the product flag."}},"description":"ProductFlag model, 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. Product flags can be utilized in various business logic scenarios, such as filtering products or applying specific pricing or promotion rules."},"ProductInfoTypeCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this culture-specific information","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The culture-specific name of the info type","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The culture-specific description of the info type","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"}}},"ProductInfoTypeModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The product info type identifier","format":"int32"},"GroupId":{"type":"integer","description":"The group identifier that categorizes the info type, allowed values are: 2 = Onhand info types, 3 = Price info types","format":"int32"},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The unique code of the info type, needed to identify the info type in connect api imports.","nullable":true},"Name":{"type":"string","description":"The display name of the info type in a specific language","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the info type for the default language","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default"},"Description":{"type":"string","description":"The description of the info type in a specific language","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The default description of the info type for the default language","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default"},"SortOrder":{"type":"integer","description":"The sort order for displaying the info type in lists","format":"int32"},"IsActive":{"type":"boolean","description":"Indicates whether the info type is active"},"Changed":{"type":"string","description":"The date and time the info type was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the info type","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ProductInfoTypeCultureModel"},"description":"The culture-specific information for the info type"}},"description":"ProductInfoType model, represents extendable fields to product entities like price records or onhand records. These fields can store additional information about these records, such as additional price information or logistic peculiarities, enhancing product data management."},"ProductTypeCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this culture-specific information","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The culture-specific name of the product type","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The culture-specific description of the product type","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"}}},"ProductTypeModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The product type identifier","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The display name of the product type in a specific language","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default"},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the product type for the default language","nullable":true},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The description of the product type in a specific language","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default"},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The default description of the product type for the default language","nullable":true},"GroupName":{"type":"string","description":"The group name that categorizes the product type","nullable":true},"SortOrder":{"type":"integer","description":"The sort order for displaying the product type in lists","format":"int32"},"Changed":{"type":"string","description":"The date and time the product type was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the product type","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ProductTypeCultureModel"},"description":"The culture-specific information for the product type"}},"description":"ProductType model, represents a built-in type of product that can be activated and renamed for a client. The type defines its products behavior in Norce´s business logic."},"PromotionCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this translation","nullable":true},"Name":{"maxLength":255,"minLength":0,"type":"string","description":"The name of the promotion in this culture","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"SubHeader":{"maxLength":255,"minLength":0,"type":"string","description":"The sub header of the promotion in this culture","nullable":true},"IsSubHeaderInherited":{"type":"boolean","description":"Indicates whether the sub header is inherited from the default culture"},"SubDescription":{"type":"string","description":"The sub description of the promotion in this culture","nullable":true},"IsSubDescriptionInherited":{"type":"boolean","description":"Indicates whether the sub description is inherited from the default culture"},"DescriptionHeader":{"maxLength":255,"minLength":0,"type":"string","description":"The description header of the promotion in this culture","nullable":true},"IsDescriptionHeaderInherited":{"type":"boolean","description":"Indicates whether the description header is inherited from the default culture"},"Description":{"type":"string","description":"The description of the promotion in this culture","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated"}},"description":"Culture-specific model for promotion translations"},"PromotionEffectProductListModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier for the product effect rule","format":"int32"},"ManufacturerId":{"type":"integer","description":"The manufacturer identifier for filtering products by manufacturer, null if not filtering by manufacturer","format":"int32","nullable":true},"ManufacturerCode":{"type":"string","description":"The manufacturer code for filtering products by manufacturer, null if not filtering by manufacturer","nullable":true},"ManufacturerName":{"type":"string","description":"The manufacturer name for filtering products by manufacturer, null if not filtering by manufacturer","nullable":true},"CategoryId":{"type":"integer","description":"The category identifier for filtering products by category, null if not filtering by category","format":"int32","nullable":true},"CategoryCode":{"type":"string","description":"The category code for filtering products by category, null if not filtering by category","nullable":true},"CategoryName":{"type":"string","description":"The category name for filtering products by category, null if not filtering by category","nullable":true},"FlagId":{"type":"integer","description":"The flag identifier for filtering products by flag, null if not filtering by flag","format":"int32","nullable":true},"FlagCode":{"type":"string","description":"The flag code for filtering products by flag, null if not filtering by flag","nullable":true},"FlagName":{"type":"string","description":"The flag name for filtering products by flag, null if not filtering by flag","nullable":true},"IsFlagInclusive":{"type":"boolean","description":"Indicates whether the flag rule is \"set\" or \"not set\" for filtering products by flag"},"PriceListId":{"type":"integer","description":"The price list identifier for filtering products by price list, null if not filtering by price list","format":"int32","nullable":true},"PriceListCode":{"type":"string","description":"The price list code for filtering products by price list, null if not filtering by price list","nullable":true},"PriceListName":{"type":"string","description":"The price list name for filtering products by price list, null if not filtering by price list","nullable":true},"ProductTypeId":{"type":"integer","description":"The product type identifier for filtering products by product type, null if not filtering by product type","format":"int32","nullable":true},"ProductTypeName":{"type":"string","description":"The product type name for filtering products by product type, null if not filtering by product type","nullable":true},"ProductId":{"type":"integer","description":"The product id filter for this product rule, null if not filtering by specific product","format":"int32","nullable":true},"ProductHasVariants":{"type":"boolean","description":"True if the product has variants."},"ProductName":{"type":"string","description":"The product name for filtering by specific product, null if not filtering by specific product","nullable":true},"VariantProductId":{"type":"integer","description":"The variant product id filter for this product rule, null if not filtering by specific variant product","format":"int32","nullable":true},"VariantProductName":{"type":"string","description":"The variant product name for filtering by specific variant product, null if not filtering by specific variant product","nullable":true},"PartNo":{"type":"string","description":"The part number for the product or variant product","nullable":true},"Qty":{"type":"integer","description":"The quantity required for this product rule, null if applied on the requirement level","format":"int32","nullable":true},"IsDiscount":{"type":"boolean","description":"Indicates whether the effect is calculated as a percentage discount","nullable":true},"IsFixedPrice":{"type":"boolean","description":"Indicates whether the effect is a fixed price adjustment","nullable":true},"Value":{"type":"number","description":"The value associated with the effect, such as discount amount or fixed price","format":"double","nullable":true},"IsIncVat":{"type":"boolean","description":"Indicates whether the value is inclusive of VAT, relevant for fixed price effects","nullable":true},"Changed":{"type":"string","description":"The date and time when this promotion effect product list was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The identifier of the user who last changed this promotion effect product list.","nullable":true}},"description":"PromotionEffectProductList model, represents a single product rule within a promotion effect setting. Defines specific product filters such as manufacturer, category, flag, price list, product type, product, or variant."},"PromotionEffectSettingModel":{"type":"object","properties":{"Id":{"type":"integer","format":"int32"},"EffectType":{"type":"string","description":"Effect type can have one of the following values: DiscountBasket, ProductFilter, ProductManufacturer,\nProductCategory, ProductFlag, ProductPriceList, ProductType, DiscountFreight, AddProduct, SelectProduct"},"IsDiscount":{"type":"boolean","description":"Indicates whether the effect is calculated as a percentage discount","nullable":true},"IsFixedPrice":{"type":"boolean","description":"Indicates whether the effect is a fixed price adjustment","nullable":true},"Value":{"type":"number","description":"The value associated with the effect, such as discount amount or fixed price","format":"double","nullable":true},"IsIncVat":{"type":"boolean","description":"Indicates whether the value is inclusive of VAT, relevant for fixed price effects"},"IgnoreNonDiscountable":{"type":"boolean","description":"Indicates whether non-discountable items should be ignored in the effect calculation (when products or variants has IsDiscountable = false on the price record)"},"DiscountMostExpensiveItems":{"type":"boolean","description":"Indicates whether the discount should apply to the most expensive items first, relevant for product filter effects that discount a subset of valid products","nullable":true},"SortOrder":{"type":"integer","description":"The sort order for displaying the effect in lists","format":"int32"},"UseRequirementProducts":{"type":"boolean","description":"Indicates whether to use requirement products as the product list for this effect, this is applicable when the effect discounts specific products and the requirement also defines products"},"GenericQty":{"type":"number","description":"The quantity effect for the product filter, applicable when effects discounts specific products and the criteria is a specific quantity. Can be null for other effect types and when \"all\" products are discounted.","format":"double","nullable":true},"ProductList":{"type":"array","items":{"$ref":"#/components/schemas/PromotionEffectProductListModel"},"description":"The list of product rules associated with this effect, applicable when the effect type involves product filtering"},"Changed":{"type":"string","description":"The date and time when this promotion effect setting was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The identifier of the user who last changed this promotion effect setting.","nullable":true}},"description":"PromotionEffectSetting model, represents the settings for a specific promotion effect. Defines the type of effect, its parameters, and associated product lists, if any."},"PromotionListModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The promotion identifier","format":"int32"},"Name":{"maxLength":255,"minLength":0,"type":"string","description":"The name of the promotion in the current culture","nullable":true},"DefaultName":{"maxLength":255,"minLength":0,"type":"string","description":"The default name of the promotion used as fallback when no culture-specific name is available","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"SubHeader":{"maxLength":255,"minLength":0,"type":"string","description":"The sub header of the promotion in the current culture","nullable":true},"DefaultSubHeader":{"maxLength":255,"minLength":0,"type":"string","description":"The default sub header of the promotion used as fallback when no culture-specific sub header is available","nullable":true},"IsSubHeaderInherited":{"type":"boolean","description":"Indicates whether the sub header is inherited from the default culture"},"SubDescription":{"type":"string","description":"The sub description of the promotion in the current culture","nullable":true},"DefaultSubDescription":{"type":"string","description":"The default sub description of the promotion used as fallback when no culture-specific sub description is available","nullable":true},"IsSubDescriptionInherited":{"type":"boolean","description":"Indicates whether the sub description is inherited from the default culture"},"DescriptionHeader":{"maxLength":255,"minLength":0,"type":"string","description":"The description header of the promotion in the current culture","nullable":true},"DefaultDescriptionHeader":{"maxLength":255,"minLength":0,"type":"string","description":"The default description header of the promotion used as fallback when no culture-specific description header is available","nullable":true},"IsDescriptionHeaderInherited":{"type":"boolean","description":"Indicates whether the description header is inherited from the default culture"},"Description":{"type":"string","description":"The description of the promotion in the current culture","nullable":true},"DefaultDescription":{"type":"string","description":"The default description of the promotion used as fallback when no culture-specific description is available","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"},"ImageKey":{"type":"string","description":"The unique identifier for the promotion image","format":"uuid","nullable":true},"ImageUrl":{"type":"string","description":"The URL of the promotion image, deprecated, use ImageKey instead.","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The unique code identifying the promotion","nullable":true},"ExclusivityType":{"type":"string","description":"Exclusive promotion type: NotExclusive, Exclusive, IgnoreExclusivity. Default is NotExclusive","nullable":true},"StartDate":{"type":"string","description":"The start date when the promotion becomes active, null means active immediately, if status is Active and start date is in the future the promotion is considered \"Coming\"","format":"date-time","nullable":true},"EndDate":{"type":"string","description":"The end date when the promotion expires, null means no end date, if status is Active and end date is in the past the promotion is considered \"Ended\"","format":"date-time","nullable":true},"CountLeft":{"type":"integer","description":"The number of usages left for this promotion, if AllowedUsageCount is set","format":"int32","nullable":true},"AllowedUsageCount":{"type":"integer","description":"The maximum number of times this promotion can be used","format":"int32","nullable":true},"UsageCount":{"type":"integer","description":"The total number of times this promotion has been used","format":"int32","nullable":true},"UniqueUserUsageCount":{"type":"integer","description":"The number of unique users who have used this promotion","format":"int32","nullable":true},"UniqueDiscountCodeCount":{"type":"integer","description":"The number of unique discount codes associated with this promotion","format":"int32","nullable":true},"UniqueDiscountCodeUsedCount":{"type":"integer","description":"The number of unique discount codes that have been used for this promotion","format":"int32","nullable":true},"TotalOrder":{"type":"number","description":"The total order amount for this promotion","format":"double","nullable":true},"TotalDiscount":{"type":"number","description":"The total discount amount given by this promotion","format":"double","nullable":true},"DiscountPercentage":{"type":"number","description":"The discount percentage applied by this promotion","format":"double","nullable":true},"MarginPercentage":{"type":"number","description":"The margin percentage for this promotion","format":"double","nullable":true},"IsStackable":{"type":"boolean","description":"Indicates whether this promotion can be stacked with itself. If true, multiples of the same promotion can be applied, like 3 for 2 deals (6 for 4, etc.). If false, the promotion can only be applied once per order.","nullable":true},"IsProductReq":{"type":"boolean","description":"Indicates whether this promotions products can be listed from API calls. If true, products can be listed in a front-end application when building a promotion bundle configuration UI. like choose products to buy with this promotion."},"ExcludeFromPriceCalculation":{"type":"boolean","description":"Indicates whether this promotion should be excluded from basket total price, so that other promotions are not validated based on the discounted price from this promotion."},"Status":{"type":"string","description":"Promotion status: Inactive, Active, Draft. Default is Inactive","nullable":true},"CurrencyCode":{"type":"string","description":"The currency code for this promotion","nullable":true},"StoppedDate":{"type":"string","description":"The date and time when the promotion was stopped","format":"date-time","nullable":true},"StoppedBy":{"type":"integer","description":"The identifier of the user who stopped this promotion","format":"int32","nullable":true},"StoppedByName":{"type":"string","description":"The name of the user who stopped this promotion","nullable":true},"Created":{"type":"string","description":"The date and time when the promotion was created","format":"date-time"},"CreatedByName":{"type":"string","description":"The name of the user who created this promotion","nullable":true},"Changed":{"type":"string","description":"The date and time when the promotion was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the promotion","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/PromotionCultureModel"},"description":"The list of culture-specific translations for this promotion"}},"description":"Represents a list model for promotions, including various localized fields and settings, except for requirements and effects. Promotions are used to define discounts and special offers that are automatically applied on baskets during the purchase process."},"PromotionModel":{"type":"object","properties":{"Requirements":{"type":"array","items":{"$ref":"#/components/schemas/PromotionRequirementSettingModel"},"description":"The list of requirements that must be met for this promotion to be applied"},"Effects":{"type":"array","items":{"$ref":"#/components/schemas/PromotionEffectSettingModel"},"description":"The list of effects that will be applied when this promotion is triggered"},"Id":{"type":"integer","description":"The promotion identifier","format":"int32"},"Name":{"maxLength":255,"minLength":0,"type":"string","description":"The name of the promotion in the current culture","nullable":true},"DefaultName":{"maxLength":255,"minLength":0,"type":"string","description":"The default name of the promotion used as fallback when no culture-specific name is available","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"SubHeader":{"maxLength":255,"minLength":0,"type":"string","description":"The sub header of the promotion in the current culture","nullable":true},"DefaultSubHeader":{"maxLength":255,"minLength":0,"type":"string","description":"The default sub header of the promotion used as fallback when no culture-specific sub header is available","nullable":true},"IsSubHeaderInherited":{"type":"boolean","description":"Indicates whether the sub header is inherited from the default culture"},"SubDescription":{"type":"string","description":"The sub description of the promotion in the current culture","nullable":true},"DefaultSubDescription":{"type":"string","description":"The default sub description of the promotion used as fallback when no culture-specific sub description is available","nullable":true},"IsSubDescriptionInherited":{"type":"boolean","description":"Indicates whether the sub description is inherited from the default culture"},"DescriptionHeader":{"maxLength":255,"minLength":0,"type":"string","description":"The description header of the promotion in the current culture","nullable":true},"DefaultDescriptionHeader":{"maxLength":255,"minLength":0,"type":"string","description":"The default description header of the promotion used as fallback when no culture-specific description header is available","nullable":true},"IsDescriptionHeaderInherited":{"type":"boolean","description":"Indicates whether the description header is inherited from the default culture"},"Description":{"type":"string","description":"The description of the promotion in the current culture","nullable":true},"DefaultDescription":{"type":"string","description":"The default description of the promotion used as fallback when no culture-specific description is available","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"},"ImageKey":{"type":"string","description":"The unique identifier for the promotion image","format":"uuid","nullable":true},"ImageUrl":{"type":"string","description":"The URL of the promotion image, deprecated, use ImageKey instead.","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The unique code identifying the promotion","nullable":true},"ExclusivityType":{"type":"string","description":"Exclusive promotion type: NotExclusive, Exclusive, IgnoreExclusivity. Default is NotExclusive","nullable":true},"StartDate":{"type":"string","description":"The start date when the promotion becomes active, null means active immediately, if status is Active and start date is in the future the promotion is considered \"Coming\"","format":"date-time","nullable":true},"EndDate":{"type":"string","description":"The end date when the promotion expires, null means no end date, if status is Active and end date is in the past the promotion is considered \"Ended\"","format":"date-time","nullable":true},"CountLeft":{"type":"integer","description":"The number of usages left for this promotion, if AllowedUsageCount is set","format":"int32","nullable":true},"AllowedUsageCount":{"type":"integer","description":"The maximum number of times this promotion can be used","format":"int32","nullable":true},"UsageCount":{"type":"integer","description":"The total number of times this promotion has been used","format":"int32","nullable":true},"UniqueUserUsageCount":{"type":"integer","description":"The number of unique users who have used this promotion","format":"int32","nullable":true},"UniqueDiscountCodeCount":{"type":"integer","description":"The number of unique discount codes associated with this promotion","format":"int32","nullable":true},"UniqueDiscountCodeUsedCount":{"type":"integer","description":"The number of unique discount codes that have been used for this promotion","format":"int32","nullable":true},"TotalOrder":{"type":"number","description":"The total order amount for this promotion","format":"double","nullable":true},"TotalDiscount":{"type":"number","description":"The total discount amount given by this promotion","format":"double","nullable":true},"DiscountPercentage":{"type":"number","description":"The discount percentage applied by this promotion","format":"double","nullable":true},"MarginPercentage":{"type":"number","description":"The margin percentage for this promotion","format":"double","nullable":true},"IsStackable":{"type":"boolean","description":"Indicates whether this promotion can be stacked with itself. If true, multiples of the same promotion can be applied, like 3 for 2 deals (6 for 4, etc.). If false, the promotion can only be applied once per order.","nullable":true},"IsProductReq":{"type":"boolean","description":"Indicates whether this promotions products can be listed from API calls. If true, products can be listed in a front-end application when building a promotion bundle configuration UI. like choose products to buy with this promotion."},"ExcludeFromPriceCalculation":{"type":"boolean","description":"Indicates whether this promotion should be excluded from basket total price, so that other promotions are not validated based on the discounted price from this promotion."},"Status":{"type":"string","description":"Promotion status: Inactive, Active, Draft. Default is Inactive","nullable":true},"CurrencyCode":{"type":"string","description":"The currency code for this promotion","nullable":true},"StoppedDate":{"type":"string","description":"The date and time when the promotion was stopped","format":"date-time","nullable":true},"StoppedBy":{"type":"integer","description":"The identifier of the user who stopped this promotion","format":"int32","nullable":true},"StoppedByName":{"type":"string","description":"The name of the user who stopped this promotion","nullable":true},"Created":{"type":"string","description":"The date and time when the promotion was created","format":"date-time"},"CreatedByName":{"type":"string","description":"The name of the user who created this promotion","nullable":true},"Changed":{"type":"string","description":"The date and time when the promotion was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the promotion","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/PromotionCultureModel"},"description":"The list of culture-specific translations for this promotion"}},"description":"Represents a detailed model for promotions, including requirements and effects, in addition to the fields provided in PromotionListModel. Promotions are used to define discounts and special offers that are automatically applied on baskets during the purchase process."},"PromotionRequirementProductListModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier for the product rule","format":"int32"},"ManufacturerId":{"type":"integer","description":"The manufacturer filter for this product rule, null if not filtering by manufacturer","format":"int32","nullable":true},"ManufacturerCode":{"type":"string","description":"The manufacturer code for this product rule, null if not filtering by manufacturer","nullable":true},"ManufacturerName":{"type":"string","description":"The manufacturer name for this product rule, null if not filtering by manufacturer","nullable":true},"CategoryId":{"type":"integer","description":"The category filter for this product rule, null if not filtering by category","format":"int32","nullable":true},"CategoryCode":{"type":"string","description":"The category code for this product rule, null if not filtering by category","nullable":true},"CategoryName":{"type":"string","description":"The category name for this product rule, null if not filtering by category","nullable":true},"FlagId":{"type":"integer","description":"The flag filter for this product rule, null if not filtering by flag","format":"int32","nullable":true},"FlagCode":{"type":"string","description":"The flag code for this product rule, null if not filtering by flag","nullable":true},"FlagName":{"type":"string","description":"The flag name for this product rule, null if not filtering by flag","nullable":true},"IsFlagInclusive":{"type":"boolean","description":"Indicates whether the flag rule is \"set\" or \"not set\""},"PriceListId":{"type":"integer","description":"The price list filter for this product rule, null if not filtering by price list","format":"int32","nullable":true},"PriceListCode":{"type":"string","description":"The price list code for this product rule, null if not filtering by price list","nullable":true},"PriceListName":{"type":"string","description":"The price list name for this product rule, null if not filtering by price list","nullable":true},"ProductTypeId":{"type":"integer","description":"The product type filter for this product rule, null if not filtering by product type","format":"int32","nullable":true},"ProductTypeName":{"type":"string","description":"The product type code for this product rule, null if not filtering by product type","nullable":true},"ProductId":{"type":"integer","description":"The product id filter for this product rule, null if not filtering by specific product","format":"int32","nullable":true},"ProductHasVariants":{"type":"boolean","description":"True if the product has variants."},"ProductName":{"type":"string","description":"The product name for this product rule, null if not filtering by specific product","nullable":true},"VariantProductId":{"type":"integer","description":"The variant product id filter for this product rule, null if not filtering by specific variant product","format":"int32","nullable":true},"VariantProductName":{"type":"string","description":"The variant product name for this product rule, null if not filtering by specific variant product","nullable":true},"PartNo":{"type":"string","description":"The part number for the product or variant product","nullable":true},"Qty":{"type":"integer","description":"The quantity required for this product rule, null if applied on the requirement level","format":"int32"},"Changed":{"type":"string","description":"The date and time when this product rule was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The identifier of the user who last changed this product rule.","nullable":true}},"description":"PromotionRequirementProductList model, represents a single product rule within a promotion requirement setting. Defines specific product filters such as manufacturer, category, flag, price list, product type, product, or variant."},"PromotionRequirementSettingModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The unique identifier for the promotion requirement setting","format":"int32"},"RequirementType":{"type":"string","description":"Requirement type can have one of the following values: BasketTotal, ProductFilter, ProductManufacturer, ProductCategory,\nProductFlag, ProductPriceList, ProductType, DiscountCode, UniqueDiscountCode, ExternalDiscountCode, CustomerFlag, CompanyFlag"},"DiscountCode":{"type":"string","description":"The discount code associated with this requirement, applicable when the requirement type is DiscountCode. Can be null for other requirement types. Apply the code to basket to autimatically apply the promotion. Note that promotions may have more requirements than just the discount code.","nullable":true},"ExternalDiscountCode":{"type":"string","description":"The external discount code associated with this requirement, applicable when the requirement type is ExternalDiscountCode. Can be null for other requirement types.","nullable":true},"ValueType":{"type":"string","description":"Read only value that is set depending on if OrderSum is set or not. Will be OrderSum if any OrderSum value is set and Quantity when not.","nullable":true},"OrderSum":{"type":"number","description":"The order sum value for this requirement, applicable when the requirement type is BasketTotal. Can be null for other requirement types.","format":"double","nullable":true},"OrderSumMax":{"type":"number","description":"The maximum order sum value for this requirement, applicable when the requirement type is BasketTotal and OrderSumType is Between. Can be null for other requirement types.","format":"double","nullable":true},"IsIncVat":{"type":"boolean","description":"Specify how to validate the order sum. True for validating including VAT, false for excluding VAT.","nullable":true},"ProductsIncluded":{"type":"string","description":"Determines how rows in ProductList is handled, default value is \"And\". All rows need to be valid when set to \"And\".\nAt least one row need to be valid when set to \"Or\". No row can be valid when set to \"Not\".","nullable":true},"CustomerFlagId":{"type":"integer","description":"The customer flag identifier associated with this requirement, applicable when the requirement type is CustomerFlag. Can be null for other requirement types.","format":"int32","nullable":true},"CustomerFlagName":{"type":"string","description":"The customer flag name associated with this requirement, applicable when the requirement type is CustomerFlag. Can be null for other requirement types.","nullable":true},"IsCustomerFlagIncluded":{"type":"boolean","description":"Indicates whether the customer flag rule is \"set\" or \"not set\" for this requirement.","nullable":true},"SortOrder":{"type":"integer","description":"Sort order for displaying the requirement in lists","format":"int32"},"ProductList":{"type":"array","items":{"$ref":"#/components/schemas/PromotionRequirementProductListModel"},"description":"The list of products rules associated with this requirement, applicable when the requirement type is ProductFilter or any of the product specific types. Can be empty for other requirement types."},"Changed":{"type":"string","description":"The date and time when this promotion requirement setting was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The identifier of the user who last changed this promotion requirement setting.","nullable":true},"MatchByEachPartNo":{"type":"boolean","description":"Indicates whether the requirement should match by each part number individually when validating product filter list."},"GenericQty":{"type":"number","description":"The quantity requirement for the product filter, applicable when the requirement type is ProductFilter and the criteria is total quantity. Can be null for other requirement types.","format":"double","nullable":true},"GenericQtyMax":{"type":"number","description":"The maximum quantity requirment for the product filter, applicable when the requirement type is ProductFilter and the criteria is total quantity with \"between\" as the criteria. Can be null for other requirement types.","format":"double","nullable":true}},"description":"PromotionRequirementSetting model, represents the settings for a specific promotion requirement. Defines the type of requirement, its parameters, and associated product filters, if any."},"PromotionStatisticsModel":{"type":"object","properties":{"TotalOrder":{"type":"number","description":"The total order amount for this promotion","format":"double","nullable":true},"TotalDiscount":{"type":"number","description":"The total discount amount given by this promotion","format":"double","nullable":true},"DiscountPercentage":{"type":"number","description":"The discount percentage applied by this promotion","format":"double","nullable":true},"MarginPercentage":{"type":"number","description":"The margin percentage for this promotion","format":"double","nullable":true}},"description":"Represents statistics for a promotion, including order totals, discount amounts, discount percentage, and margin percentage.\nThese fields are separated from the main promotion model to allow independent fetching, as they can be expensive to compute."},"PromotionUniqueDiscountCodeModel":{"type":"object","properties":{"DiscountCode":{"maxLength":50,"minLength":0,"type":"string","description":"The unique identifier for the promotion unique discount code","nullable":true},"Created":{"type":"string","description":"The date and time the unique discount code was created","format":"date-time"},"IsClaimed":{"type":"boolean","description":"Indicates whether the unique discount code has been claimed"},"DateClaimed":{"type":"string","description":"The date and time the unique discount code was claimed, if applicable","format":"date-time","nullable":true},"QuotationId":{"type":"integer","description":"The identifier of the quotation associated with the claim, if applicable","format":"int32","nullable":true},"ClaimedFromSource":{"maxLength":50,"minLength":0,"type":"string","description":"The source from which the unique discount code was claimed, if applicable. Null if claimed in Norce directly. Set to external system name if claimed via an integration.","nullable":true}},"description":"PromotionUniqueDiscountCode model, represents a unique discount code managed for a promotion. Unique discount codes can only be used once. Tracks its creation date, claim status, and associated quotation if claimed."},"RelationTypeCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this translation","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The localized name of the relation type for this culture","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The localized description of the relation type for this culture","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"}}},"RelationTypeModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The system internal identifier for the relation type","format":"int32"},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The unique code identifier for the relation type","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the relation type in a specific language","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The name for the relation type for the default language.","nullable":true},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The description of the relation type in a specific language","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The description for the relation type for the default language.","nullable":true},"IsBidirectional":{"type":"boolean","description":"Indicates whether the relation type works in both directions"},"IsActive":{"type":"boolean","description":"Indicates whether the relation type is active"},"SortOrder":{"type":"integer","description":"The sort order for displaying the relation type, used in lists","format":"int32","nullable":true},"Changed":{"type":"string","description":"The date and time the relation type was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the relation type","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/RelationTypeCultureModel"},"description":"The list of culture-specific translations for this relation type"}},"description":"RelationType model, represents types of relations between product or variants. Each relation type can have culture-specific names and descriptions."},"RoundingRuleModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The rounding rule identifier","format":"int32"},"TypeId":{"type":"integer","description":"Optional price list type identifier","format":"int32","nullable":true},"TypeName":{"type":"string","description":"Optional name of the price list type","nullable":true},"CurrencyId":{"type":"integer","description":"Optional currency identifier, if the rounding rule is currency specific (legacy, single currency)","format":"int32","nullable":true},"CurrencySeed":{"type":"string","description":"Optional comma-separated currency IDs for multi-currency support. Takes priority over CurrencyId.","nullable":true},"CurrencyCode":{"type":"string","description":"Optional currency code, if the rounding rule is currency specific","nullable":true},"CurrencyName":{"type":"string","description":"Optional currency name, if the rounding rule is currency specific","nullable":true},"Currencies":{"type":"array","items":{"type":"integer","format":"int32"},"description":"List of selected currency IDs for multi-currency rules (parsed from CurrencySeed)","nullable":true},"ApplicationId":{"type":"integer","description":"Optional application identifier, applies to price lists that are public on a specific application.","format":"int32","nullable":true},"ApplicationName":{"type":"string","description":"Optional application name","nullable":true},"FieldId":{"type":"integer","description":"Optional field identifier, if the rounding rule is specific to a certain field. Allowed values are: null (not field specific), 1 (Sale Price), 2 (Recommended Price), 3 (Catalog Price)","format":"int32","nullable":true},"FieldName":{"type":"string","description":"Optional field name, if the rounding rule is specific to a certain field.","nullable":true},"DefaultName":{"maxLength":255,"minLength":0,"type":"string","description":"The name of the rounding rule for the default language.","nullable":true},"DefaultDescription":{"type":"string","description":"The description of the rounding rule for the default language.","nullable":true},"IsIncludingVat":{"type":"boolean","description":"Indicates whether the rounding rule is applied on amounts including VAT or excluding VAT","nullable":true},"IsMinimumMarginForced":{"type":"boolean","description":"Indicates how the rounding rules should adhere to minimum margin settings. If true, minimum margin fallbacks are forced after rounding, which may override rounding results."},"TestData":{"type":"array","items":{"$ref":"#/components/schemas/RoundingTestPair"},"description":"Test data for validating rounding rule calculations, used in administration UI","nullable":true},"IsActive":{"type":"boolean","description":"Indicates whether the rounding rule is active"},"Changed":{"type":"string","description":"The date and time the rounding rule was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the rounding rule","nullable":true},"Settings":{"type":"array","items":{"$ref":"#/components/schemas/RoundingRuleSettingModel"},"description":"The list of rounding rule settings that define specific rounding criteria","nullable":true},"RoundingRuleSetting":{"type":"array","items":{"$ref":"#/components/schemas/IRoundingRuleSetting"},"nullable":true}},"description":"RoundingRule model, represents rounding rules used in price calculations on price lists. Each rounding rule can have multiple settings that define how prices should be rounded based on various criteria."},"RoundingRuleSettingModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The internal rounding rule setting identifier","format":"int32"},"RuleId":{"type":"integer","description":"The identifier of the parent rounding rule","format":"int32"},"PriceFrom":{"type":"number","description":"The range criteria for the rounding rule setting to apply, minimum price value","format":"double","nullable":true},"PriceTo":{"type":"number","description":"The range criteria for the rounding rule setting to apply, maximum price value","format":"double","nullable":true},"PriceEndsFrom":{"type":"number","description":"Optional span criteria: The minimum price ending value for this rounding setting to apply","format":"double","nullable":true},"PriceEndsTo":{"type":"number","description":"Optional span criteria: The maximum price ending value for this rounding setting to apply","format":"double","nullable":true},"RoundToDecimals":{"type":"integer","description":"The number of decimal places to round to, allowed values are 2 (0.0X), 1 (0.X0), 0 (X.00), -1 (X0.00), -2 (X00.00)","format":"int32"},"RoundingDirection":{"type":"integer","description":"The rounding direction (up, down, or closest)","format":"int32","nullable":true},"RoundingValue":{"type":"number","description":"Optional offset after rounding. A rounding to 2.00 with an offset of -0.01, for example, will change to 1.99.","format":"double","nullable":true},"Changed":{"type":"string","description":"The date and time the rounding rule setting was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the rounding rule setting","nullable":true}}},"RoundingTestPair":{"type":"object","properties":{"Price":{"type":"number","description":"A \"raw\" price value for testing rounding rules","format":"double"},"Rounded":{"type":"number","description":"The rounded price result after applying rounding rules","format":"double","nullable":true},"MatchedRuleId":{"type":"integer","description":"The ID of the rounding rule that matched this test price, null if no rule matched","format":"int32","nullable":true},"MatchedRuleName":{"type":"string","description":"The name of the rounding rule that matched this test price","nullable":true},"MatchedSettingIndex":{"type":"integer","description":"The 0-based index of the setting within the matched rule","format":"int32","nullable":true}}},"SalesAreaVatCodeModel":{"type":"object","properties":{"SalesAreaId":{"type":"integer","description":"The sales area identifier that this VAT code is associated with","format":"int32"},"SalesAreaName":{"type":"string","description":"The display name of the sales area in the current language","nullable":true},"VatCodeId":{"type":"integer","description":"The VAT code identifier specifically configured for this sales area. If null, the inherited VAT code will be used","format":"int32","nullable":true},"InheritedVatCodeId":{"type":"integer","description":"The VAT code identifier that is inherited from the sales area's default configuration","format":"int32"},"IsVatCodeIdInherited":{"type":"boolean","description":"Indicates whether the VAT code is inherited from the default configuration rather than being explicitly set for this sales area"},"VatCodeIdInheritedFrom":{"type":"string","description":"Describes the source from which the VAT code is inherited (e.g., \"Application\", \"System\")","nullable":true},"VatCodeName":{"type":"string","description":"The display name of the VAT code currently assigned to this sales area","nullable":true},"VatCodeValue":{"type":"number","description":"The tax rate value as a decimal for the VAT code currently assigned to this sales area","format":"double"},"InheritedVatCodeName":{"type":"string","description":"The display name of the inherited VAT code that would be used if no specific VAT code is configured","nullable":true},"InheritedVatCodeValue":{"type":"number","description":"The tax rate value as a decimal for the inherited VAT code that would be used if no specific VAT code is configured","format":"double"}},"description":"Sales area VAT code model, used for displaying and managing VAT codes per sales area. Represents the relationship between sales areas and their associated VAT codes, including inheritance from default settings."},"ShoppingInfoTypeCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this translation.","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated."},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the shopping info type in this culture.","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The description of the shopping info type in this culture.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture."}}},"ShoppingInfoTypeModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The shopping info type identifier","format":"int32"},"GroupId":{"type":"integer","description":"The group identifier that categorizes the info type, allowed values are: 1 = Quotation/Order, 2 = Quotation Item/Order Item","format":"int32"},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The unique code of the info type, needed to identify the info type in connect api imports.","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The display name of the info type in a specific language","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the info type for the default language","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default language"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The description of the info type in a specific language","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The default description of the info type for the default language","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default language"},"DataType":{"maxLength":50,"minLength":0,"type":"string","description":"The data type specification for this info type. Deprecated \"nvarchar(max)\" is used for all types now.","nullable":true},"SortOrder":{"type":"integer","description":"The sort order for displaying this info type. Used in lists.","format":"int32"},"IsActive":{"type":"boolean","description":"Indicates whether this info type is active."},"Changed":{"type":"string","description":"The date and time when this shopping info type was last changed.","nullable":true},"ChangedBy":{"type":"string","description":"The identifier of the user who last changed this shopping info type.","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/ShoppingInfoTypeCultureModel"},"description":"The list of culture-specific translations for this shopping info type."}},"description":"ShoppingInfoType model, additional fields that can extend the Norce data model of specific types of entities. Info types can be grouped into different categories (groups) to specifically set the type to an entity. Each info type can have culture-specific names and descriptions."},"StoreApplicationModel":{"type":"object","properties":{"DivisionId":{"type":"integer","description":"The division (store) identifier","format":"int32"},"ApplicationId":{"type":"integer","description":"The application identifier","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the application","nullable":true},"Changed":{"type":"string","description":"The date and time the store application was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the store application","nullable":true}},"description":"StoreApplication model, represents the association between a division (store) and an application, defining where the store is visible."},"StoreModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The store identifier","format":"int32"},"DivisionCode":{"maxLength":50,"minLength":0,"type":"string","description":"The unique code of the store (division)","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The display name of the store in a specific language","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the store for the default language","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default"},"GroupName":{"maxLength":50,"minLength":0,"type":"string","description":"The group name of the store in a specific language, this is a free text field for client to use to classify larger collections of stores, ie. by region or type.","nullable":true},"DefaultGroupName":{"maxLength":50,"minLength":0,"type":"string","description":"The group name of the store for the default language","nullable":true},"IsGroupNameInherited":{"type":"boolean","description":"Indicates whether the group name is inherited from the default"},"SubGroupName":{"maxLength":50,"minLength":0,"type":"string","description":"The subgroup name of the store in a specific language, this is a free text field for client to use to classify larger collections of stores, ie. by city or sub-type.","nullable":true},"DefaultSubGroupName":{"maxLength":50,"minLength":0,"type":"string","description":"The subgroup name of the store for the default language","nullable":true},"IsSubGroupNameInherited":{"type":"boolean","description":"Indicates whether the subgroup name is inherited from the default"},"Description":{"type":"string","description":"The description of the store in a specific language","nullable":true},"DefaultDescription":{"type":"string","description":"The default description of the store for the default language","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default"},"UniqueUrlName":{"maxLength":100,"minLength":0,"type":"string","description":"The unique URL name of the store in a specific language, used for SEO friendly URLs.","nullable":true},"DefaultUniqueUrlName":{"maxLength":100,"minLength":0,"type":"string","description":"The unique URL name of the store for the default language","nullable":true},"IsUniqueUrlNameInherited":{"type":"boolean","description":"Indicates whether the unique URL name is inherited from the default"},"IsUniqueUrlNameManuallyMaintained":{"type":"boolean","description":"Indicates whether the unique URL name is manually maintained. This is true if the unique URL name has been explicitly set for this store, false if it is automatically generated from the store name."},"ImageKey":{"type":"string","description":"The image key for the store","format":"uuid","nullable":true},"Key":{"type":"string","description":"The unique key identifier for the store","format":"uuid"},"ImageUrl":{"type":"string","description":"The image URL for the store, deprecated, use ImageKey instead.","nullable":true},"IsPublic":{"type":"boolean","description":"Indicates whether the store is public"},"IsActive":{"type":"boolean","description":"Indicates whether the store is active"},"EmailAddress":{"maxLength":255,"minLength":0,"type":"string","description":"Optional email address of the store","nullable":true},"PhoneNumber":{"maxLength":50,"minLength":0,"type":"string","description":"Optional phone number of the store","nullable":true},"FaxNumber":{"maxLength":50,"minLength":0,"type":"string","description":"Optional fax number of the store","nullable":true},"AddressLine1":{"maxLength":255,"minLength":0,"type":"string","description":"Optional Address information, first line of the store address","nullable":true},"AddressLine2":{"maxLength":255,"minLength":0,"type":"string","description":"Optional Address information, second line of the store address","nullable":true},"ZipCode":{"maxLength":50,"minLength":0,"type":"string","description":"Optional Address information, ZIP code of the store","nullable":true},"Longitude":{"type":"number","description":"Optional longitude coordinate of the store location","format":"double","nullable":true},"City":{"maxLength":50,"minLength":0,"type":"string","description":"Optional the city where the store is located","nullable":true},"CountryId":{"type":"integer","description":"Optional Address information, the country identifier where the store is located","format":"int32","nullable":true},"OpenHoursWeekday":{"maxLength":255,"minLength":0,"type":"string","description":"The opening hours for weekdays","nullable":true},"OpenHoursSaturday":{"maxLength":255,"minLength":0,"type":"string","description":"The opening hours for Saturday","nullable":true},"OpenHoursSunday":{"maxLength":255,"minLength":0,"type":"string","description":"The opening hours for Sunday","nullable":true},"Region":{"maxLength":100,"minLength":0,"type":"string","description":"Optional Address information, region where the store is located","nullable":true},"Latitude":{"type":"number","description":"The latitude coordinate of the store location","format":"double","nullable":true},"Infos":{"type":"array","items":{"$ref":"#/components/schemas/InfoModel"},"description":"The additional info type items for the store"},"Changed":{"type":"string","description":"The date and time the store was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the store","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/DivisionCultureModel"},"description":"The culture-specific information for the store"}},"description":"Store model, represents a division (physical store) within the organization. Is used primarily as a container of price lists, assortments and warhouses for a physical store as well as client specific metadata and settings about the store. Each store can have culture-specific names, descriptions, and other properties."},"StorePriceListModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The internal price list identifier","format":"int32"},"DivisionId":{"type":"integer","description":"The division (store) identifier","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The price list name","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The code of the price list","nullable":true},"Start":{"type":"string","description":"The start date of the price list validity period, not commonly used.","format":"date-time","nullable":true},"End":{"type":"string","description":"The end date of the price list validity period, not commonly used.","format":"date-time","nullable":true},"Changed":{"type":"string","description":"The date and time the store price list was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the store price list","nullable":true}},"description":"StorePriceList model, represents a price list assigned to a specific store (division). Defining unique pricing and assortment for that store."},"StoreWarehouseModel":{"required":["Id","DivisionId"],"type":"object","properties":{"Id":{"type":"integer","description":"The warehouse identifier","format":"int32"},"DivisionId":{"type":"integer","description":"The division identifier that the warehouse belongs to","format":"int32"},"Name":{"type":"string","description":"The name of the warehouse","nullable":true},"LocationId":{"type":"integer","description":"The location identifier associated with the warehouse","format":"int32","nullable":true},"LocationName":{"type":"string","description":"The name of the location associated with the warehouse","nullable":true},"Changed":{"type":"string","description":"The date and time the warehouse link was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the warehouse link","nullable":true}},"description":"StoreWarehouse model, represents a warehouse associated with a store (division). Each warehouse can have specific location details. Defining availability and stock information for that store."},"SupplierModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The supplier identifier","format":"int32"},"CorporationId":{"type":"integer","description":"The corporation identifier that this supplier belongs to","format":"int32"},"Name":{"type":"string","description":"The name of the supplier","nullable":true},"Code":{"type":"string","description":"The unique code of the supplier","nullable":true},"CountryId":{"type":"integer","description":"The country identifier where the supplier is located","format":"int32","nullable":true},"CountryName":{"type":"string","description":"The name of the country where the supplier is located","nullable":true},"IsPurchaseIntegrated":{"type":"boolean","description":"Indicates whether the supplier supports integrated purchasing, deprecated functionality.","nullable":true},"IsPurchaseManual":{"type":"boolean","description":"Indicates whether the supplier supports manual purchasing, deprecated functionality.","nullable":true},"IsActive":{"type":"boolean","description":"Indicates whether the supplier is active"},"Feed":{"type":"boolean","description":"Indicates whether the supplier has feed integration enabled, obsolete property."},"LastDocumentImported":{"type":"string","description":"The date and time when the last document was imported from this supplier, obsolete property, see import logs for details.","format":"date-time"},"OrganizationNo":{"type":"string","description":"The organization number of the supplier","nullable":true},"CodePrefix":{"type":"string","description":"The code prefix used for supplier products, obsolete property.","nullable":true},"CareOf":{"type":"string","description":"Optional address information, care of information for the supplier's address","nullable":true},"AddressLine1":{"type":"string","description":"Optional address information, The first line of the supplier's address","nullable":true},"AddressLine2":{"type":"string","description":"Optional address information, The second line of the supplier's address","nullable":true},"City":{"type":"string","description":"Optional address information, The city where the supplier is located","nullable":true},"ZipCode":{"type":"string","description":"Optional address information, The zip code of the supplier's location","nullable":true},"Region":{"type":"string","description":"Optional address information, The region where the supplier is located","nullable":true},"Changed":{"type":"string","description":"The date and time the supplier was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the supplier","nullable":true},"EmailAddress":{"maxLength":255,"minLength":0,"type":"string","description":"The email address of the supplier, obsolete property. Used for contact purposes.","nullable":true},"PhoneNumber":{"maxLength":50,"minLength":0,"type":"string","description":"Optional address information, The phone number of the supplier","nullable":true},"AccountNo":{"maxLength":50,"minLength":0,"type":"string","description":"The account number for the supplier, obsolete property. Used for tracking imports.","nullable":true},"Website":{"maxLength":255,"minLength":0,"type":"string","description":"The website URL of the supplier","nullable":true},"ChosenSupplierSupplementChargePercentage":{"type":"number","description":"The supplement charge percentage for chosen supplier orders, obsolete property. Set supplemental charges on client price lists instead.","format":"double"},"ChosenSupplierPenaltyCharge":{"type":"number","description":"The penalty charge amount for chosen supplier cost comparison, allows to add penalty to chosen supplier selection. Use to give penalty to suppliers with unreliable delivery times or other issues. Set amount in supplier currency.","format":"double"},"ChosenSupplierPenaltyChargePercentage":{"type":"number","description":"The penalty charge percentage for chosen supplier cost comparison, allows to add penalty to chosen supplier selection. Use to give penalty to suppliers with unreliable delivery times or other issues. Set percentage of purchase cost amount.","format":"double"},"PurchaseCutoff":{"maxLength":255,"minLength":0,"type":"string","description":"The purchase cutoff time or conditions for the supplier, for display purposes.","nullable":true},"CurrencyId":{"type":"integer","description":"The currency identifier used by the supplier, used by settings on supplier, like penalty charges.","format":"int32","nullable":true},"CurrencyCode":{"type":"string","description":"The currency code used by the supplier","nullable":true},"CurrencyName":{"type":"string","description":"The name of the currency used by the supplier","nullable":true},"ErrorCommunicationValue":{"maxLength":255,"minLength":0,"type":"string","description":"The communication value for error notifications, deprecated property.","nullable":true},"ErrorCommunicationTypeId":{"type":"integer","description":"The communication type identifier for error notifications, deprecated property.","format":"int32","nullable":true},"IsChosenSupplierEnabled":{"type":"boolean","description":"Indicates whether chosen supplier functionality is enabled for this supplier"},"AutoMapManufacturers":{"type":"boolean","description":"Indicates whether manufacturers is automatically mapped for this supplier. New Manufacturers passed in on the supplier product import, with same code as existing manufacturers in the client catalog, will be automatically mapped.","nullable":true},"AutoCreateManufacturers":{"type":"boolean","description":"Indicates whether manufacturers should be automatically created for this supplier. New Manufacturers passed in on the supplier product import, that do not exist in the client catalog, will be automatically created.","nullable":true},"Infos":{"type":"array","items":{"$ref":"#/components/schemas/InfoModel"},"description":"The collection of additional info types for the supplier. Not commonly used, but can be utilized for storing extra metadata on the supplier products, if needed."}},"description":"Supplier model, represents a supplier entity with various attributes including contact details, purchasing options, and additional information. Supplier can have its own products, stock and price lists, which can be utilized by business logic in Norce. Or simply to be shown as supplemental information to the client products."},"SupplierPriceListModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The supplier price list identifier","format":"int32"},"SupplierId":{"type":"integer","description":"The supplier identifier associated with this price list","format":"int32"},"SupplierName":{"type":"string","description":"The name of the supplier associated with this price list","nullable":true},"SupplierCode":{"type":"string","description":"The code of the supplier associated with this price list","nullable":true},"SupplierCountryName":{"type":"string","description":"The country name of the supplier associated with this price list","nullable":true},"Name":{"type":"string","description":"The name of the supplier price list","nullable":true},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The code identifier for this supplier price list","nullable":true},"Description":{"maxLength":100,"minLength":0,"type":"string","description":"The description of the supplier price list","nullable":true},"CurrencyId":{"type":"integer","description":"The currency identifier associated with this price list","format":"int32","nullable":true},"CurrencyName":{"type":"string","description":"The name of the currency associated with this price list","nullable":true},"CurrencyCode":{"type":"string","description":"The code of the currency associated with this price list","nullable":true},"Contact":{"maxLength":50,"minLength":0,"type":"string","description":"The contact information for this supplier price list","nullable":true},"Comment":{"maxLength":50,"minLength":0,"type":"string","description":"Comments or notes about this supplier price list","nullable":true},"EndCustomer":{"maxLength":100,"minLength":0,"type":"string","description":"The end customer information for this supplier price list, used for supplier price lists that are specific to certain end customers (bids).","nullable":true},"ManufacturerId":{"type":"integer","description":"The manufacturer identifier associated with this price list, not commonly used.","format":"int32","nullable":true},"StartDate":{"type":"string","description":"The start date when this price list becomes effective, not commonly used.","format":"date-time","nullable":true},"EndDate":{"type":"string","description":"The end date when this price list expires, not commonly used.","format":"date-time","nullable":true},"IsManuallyMaintained":{"type":"boolean","description":"Indicates whether this price list is manually maintained. Allows for manually handle prices in the admin interface."},"IsActive":{"type":"boolean","description":"Indicates whether this supplier price list is active"},"IsPrimary":{"type":"boolean","description":"Indicates whether this is the primary price list for the supplier. Only one price list per supplier can be marked as primary."},"ManufacturerCode":{"maxLength":50,"minLength":0,"type":"string","description":"The manufacturer code associated with this price list, not commonly used.","nullable":true},"IsSpecialTerms":{"type":"boolean","description":"Indicates whether this price list has special terms and conditions, for display purposes only."},"Changed":{"type":"string","description":"The date and time the supplier price list was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the supplier price list","nullable":true}},"description":"SupplierPriceList model, represents a price list provided by a supplier, including details such as currency, validity period, and associated manufacturer information. This model is used to handle the cost prices for clients and can additionally be used for supplier based business logic on client price lists."},"SupplierPriceListWarehouseModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The warehouse identifier associated with this supplier price list","format":"int32"},"Name":{"type":"string","description":"The name of the warehouse","nullable":true},"LocationId":{"type":"integer","description":"The location identifier within the warehouse","format":"int32","nullable":true},"LocationName":{"type":"string","description":"The name of the location within the warehouse","nullable":true},"SupplierId":{"type":"integer","description":"The supplier identifier associated with this price list warehouse relationship","format":"int32"},"PriceListId":{"type":"integer","description":"The price list identifier for this supplier warehouse association","format":"int32"},"Changed":{"type":"string","description":"The date and time when the supplier price list warehouse relationship was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the supplier price list warehouse relationship","nullable":true}},"description":"SupplierPriceListWarehouse model, represents the association between a supplier price list and a warehouse. This defines which warehouses are linked to specific supplier price lists for inventory and pricing purposes."},"SupplierWarehouseLocationModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The supplier warehouse location identifier","format":"int32"},"SupplierId":{"type":"integer","description":"The supplier identifier associated with this warehouse location","format":"int32"},"WarehouseId":{"type":"integer","description":"The warehouse identifier associated with this supplier location","format":"int32"},"Name":{"type":"string","description":"The name of the supplier warehouse location","nullable":true},"CostBlock":{"type":"integer","description":"The cost block identifier for this supplier warehouse location, deprecated property.","format":"int32","nullable":true},"FreightCost":{"type":"number","description":"The freight cost associated with this supplier warehouse location, deprecated property.","format":"double","nullable":true},"MinimumOrderValue":{"type":"number","description":"The minimum order value required for this supplier warehouse location, deprecated property.","format":"double","nullable":true},"MinimumOrderValueCost":{"type":"number","description":"The cost associated with minimum order value requirements for this supplier warehouse location, deprecated property.","format":"double","nullable":true},"StandardLeadTimeDayCount":{"type":"integer","description":"The standard lead time usually in days for goods from this supplier warehouse location, overrides supplier warehouse lead time.","format":"int32","nullable":true},"TransferMethodValue":{"maxLength":255,"minLength":0,"type":"string","description":"The transfer method value for this supplier warehouse location, deprecated property.","nullable":true},"IsStandard":{"type":"boolean","description":"Indicates whether this is the standard location for the warehouse, only one location per warehouse can be marked as standard."},"IgnoreStock":{"type":"boolean","description":"Indicates whether stock should be ignored for this supplier warehouse location, use this for additional warehouse/locations that should not affect stock based business logic.","nullable":true},"LastImported":{"type":"string","description":"The date and time when data was last imported for this supplier warehouse location, obsolete property, see import logs for details.","format":"date-time","nullable":true},"NextExpectedDate":{"type":"string","description":"The next expected date for deliveries or updates from this supplier warehouse location, deprecated property.","format":"date-time","nullable":true},"TransferMethodId":{"type":"integer","description":"The transfer method identifier used for this supplier warehouse location, deprecated property.","format":"int32","nullable":true},"Changed":{"type":"string","description":"The date and time the supplier warehouse location was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the supplier warehouse location","nullable":true}},"description":"SupplierWarehouseLocation model, represents the association between a supplier and a warehouse location, defining specific details for that combination."},"SupplierWarehouseModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The supplier warehouse identifier","format":"int32"},"SupplierId":{"type":"integer","description":"The supplier identifier associated with this warehouse","format":"int32"},"Name":{"type":"string","description":"The name of the supplier warehouse","nullable":true},"CostBlock":{"type":"integer","description":"The cost block identifier, deprecated property.","format":"int32","nullable":true},"FreightCost":{"type":"number","description":"The freight cost associated with this supplier warehouse, deprecated property.","format":"double","nullable":true},"MinimumOrderValue":{"type":"number","description":"The minimum order value required for this supplier warehouse, deprecated property.","format":"double","nullable":true},"MinimumOrderValueCost":{"type":"number","description":"The cost associated with minimum order value requirements, deprecated property.","format":"double","nullable":true},"StandardLeadTimeDayCount":{"type":"integer","description":"The standard lead time usually in days for goods from this supplier warehouse","format":"int32","nullable":true},"TransferMethodValue":{"maxLength":255,"minLength":0,"type":"string","description":"The transfer method value for this supplier warehouse, deprecated property.","nullable":true},"IgnoreStock":{"type":"boolean","description":"Indicates whether stock should be ignored for this supplier warehouse, use this for additional warehouses that should not affect stock based business logic."},"IsStandard":{"type":"boolean","description":"Indicates whether this is the standard warehouse for the supplier, only one warehouse per supplier can be marked as standard."},"IsActive":{"type":"boolean","description":"Indicates whether this supplier warehouse is active"},"LastImported":{"type":"string","description":"The date and time when data was last imported for this supplier warehouse, obsolete property, see import logs for details.","format":"date-time","nullable":true},"NextExpectedDate":{"type":"string","description":"The next expected date for deliveries or updates from this supplier warehouse, deprecated property.","format":"date-time","nullable":true},"TransferMethodId":{"type":"integer","description":"The transfer method identifier used for this supplier warehouse, deprecated property.","format":"int32","nullable":true},"Changed":{"type":"string","description":"The date and time the supplier warehouse was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the supplier warehouse","nullable":true}},"description":"Supplier warehouse model, represents the relationship between a supplier and warehouse with various operational settings and configurations."},"UnitOfMeasurementCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this translation (e.g., \"en-US\", \"da-DK\")","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The translated name of the unit of measurement for this culture","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default name"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The translated description of the unit of measurement for this culture","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default description"}},"description":"Culture-specific model for unit of measurement translations"},"UnitOfMeasurementModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The system wide unit of measurement identifier","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The localized name of the unit of measurement","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The default name of the unit of measurement in the system's default language","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default name"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The localized description of the unit of measurement","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The default description of the unit of measurement in the system's default language","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default description"},"DataType":{"maxLength":50,"minLength":0,"type":"string","description":"The data type of the unit of measurement (e.g., int, decimal(19,2))","nullable":true},"Changed":{"type":"string","description":"The date and time when the unit of measurement was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the unit of measurement","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/UnitOfMeasurementCultureModel"},"description":"Collection of culture-specific translations for this unit of measurement"}},"description":"Unit of measurement model representing measurement units used throughout the system. Each unit can have culture-specific names and descriptions. For example, units for pcs (Pieces), kg (Kilograms), m (Meters), pairs (Pairs), sqm (Square Meters), etc."},"UpdateApplicationCultureModel":{"required":["CultureCode"],"type":"object","properties":{"CultureCode":{"maxLength":16,"type":"string","description":"The Code of the culture. Two letter or five letter codes. MaxLength: 16., e.g. \"en-US\", or \"sv-SE\""},"IsPrimary":{"type":"boolean","description":"Primary application culture. Must be set for only one of the active cultures. Can be updated on an existing ApplicationCulture."},"IsActive":{"type":"boolean","description":"If false, the culture is soft deleted from the application"}},"description":"ApplicationCulture model, represents a culture (language and cultural settings) added to the application, allows for end customers to view the store in this culture"},"UpdateClientCurrencyModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The currency identifier in the system.","format":"int32"},"IsExchangeRateInherited":{"type":"boolean","description":"Indicates whether the exchange rate is inherited from the default"},"ExchangeRate":{"maximum":999999999,"minimum":0,"type":"number","description":"The client specific exchange rate of the currency. The rate is defined from EUR (1.000000000) and all other currencies are defined against EUR. If set, Norce will not update exchange rate automatically. It is left to the client to maintain the rate.","format":"double","nullable":true},"ThresholdPercent":{"type":"number","description":"The threshold percentage for exchange rate changes. Only recalculate prices when the rate changes by at least this percentage.","format":"double","nullable":true},"Schedule":{"type":"string","description":"A cron expression defining when to force recalculation of prices regardless of rate changes. Must not run more than once per day.","nullable":true}},"description":"UpdateClientCurrencyModel model, represents a currency associated with the client, the UpdateClientCurrencyModel has only the updateable properties."},"VariantGroupCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this translation","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The translated name of the variant group for this culture","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The translated description of the variant group for this culture","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"}}},"VariantGroupModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the entity. Client-specific.","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name in the culture of the request.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The name in the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"If true, the culture of the request has no name of its own and inherits the default name."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The description in the culture of the request.","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The description in the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the culture of the request has no description of its own and inherits the default description."},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The entity code.","nullable":true},"IsActive":{"type":"boolean","description":"Indicates whether the variant group is active"},"Changed":{"type":"string","description":"The date and time when the variant group was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the variant group","nullable":true},"VariantTypes":{"type":"array","items":{"$ref":"#/components/schemas/VariantTypeModel"},"description":"The list of variant types associated with this variant group"},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/VariantGroupCultureModel"},"description":"The list of culture-specific translations for this variant group"}},"description":"VariantGroup model (called variant types in the admin interface), represents groups of variant types (called simply parametrics from its specific parametric it is associated to in the admin interface) that can be associated with products to define their variants. Each variant group can have culture-specific names and descriptions."},"VariantTypeCultureModel":{"type":"object","properties":{"CultureCode":{"maxLength":16,"minLength":0,"type":"string","description":"The culture code for this translation","nullable":true},"IsTranslated":{"type":"boolean","description":"Indicates whether this culture has been translated"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The translated name of the variant type for this culture","nullable":true},"IsNameInherited":{"type":"boolean","description":"Indicates whether the name is inherited from the default culture"},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The translated description of the variant type for this culture","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"Indicates whether the description is inherited from the default culture"}}},"VariantTypeModel":{"type":"object","properties":{"Id":{"type":"integer","description":"Internal identifier for the entity. Client-specific.","format":"int32"},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name in the culture of the request.","nullable":true},"DefaultName":{"maxLength":50,"minLength":0,"type":"string","description":"The name in the default language.","nullable":true},"IsNameInherited":{"type":"boolean","description":"If true, the culture of the request has no name of its own and inherits the default name."},"Description":{"maxLength":500,"minLength":0,"type":"string","description":"The description in the culture of the request.","nullable":true},"DefaultDescription":{"maxLength":500,"minLength":0,"type":"string","description":"The description in the default language.","nullable":true},"IsDescriptionInherited":{"type":"boolean","description":"If true, the culture of the request has no description of its own and inherits the default description."},"Code":{"maxLength":50,"minLength":0,"type":"string","description":"The entity code.","nullable":true},"SortOrder":{"type":"integer","description":"The sort order of the variant type","format":"int32"},"IsActive":{"type":"boolean","description":"Indicates whether the variant type is active"},"ParametricId":{"type":"integer","description":"The parametric identifier associated with this variant type","format":"int32","nullable":true},"ParametricName":{"type":"string","description":"The name of the parametric associated with this variant type","nullable":true},"ParametricDescription":{"type":"string","description":"The description of the parametric associated with this variant type","nullable":true},"Uom":{"type":"string","description":"The unit of measurement for the variant type","nullable":true},"Type":{"type":"string","description":"The type classification of the variant type. Valid values: text, html, int, decimal, date, boolean, list, multiple.","nullable":true},"Changed":{"type":"string","description":"The date and time when the variant type was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the variant type","nullable":true},"Cultures":{"type":"array","items":{"$ref":"#/components/schemas/VariantTypeCultureModel"},"description":"The list of culture-specific translations for this variant type"}},"description":"VariantType model (called simply parametrics in the admin interface when adding them to a variant group), represents types of variants that can be associated with products to define their variant structure. Each variant type can have culture-specific names and descriptions."},"WarehouseLocationModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The warehouse location identifier","format":"int32"},"Code":{"type":"string","description":"The warehouse location code, must be unique within the warehouse","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the warehouse location","nullable":true},"IsStandard":{"type":"boolean","description":"Indicates whether this is the standard location for the warehouse, only one location can be marked as standard per warehouse."},"StandardLeadTimeDayCount":{"type":"integer","description":"The standard lead time commonly in days for this warehouse location, overrides warehouse setting if specified","format":"int32","nullable":true},"IsIncludedInStockCalculation":{"type":"boolean","description":"Indicates whether this location is included in stock calculations. Set to false if the location is used for display only and should not affect business logic."},"PrimaryPriceListId":{"type":"integer","description":"The primary price list identifier for this warehouse location","format":"int32"},"PrimaryPriceListName":{"type":"string","description":"The name of the primary price list for this warehouse location","nullable":true},"Changed":{"type":"string","description":"The date and time when the warehouse location was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the warehouse location","nullable":true}},"description":"WarehouseLocation model, represents a specific location within a warehouse. Each location can have unique attributes such as code, name, and whether it is the standard location for the warehouse. It can also override lead times and stock calculation settings from the warehouse."},"WarehouseModel":{"type":"object","properties":{"Id":{"type":"integer","description":"The warehouse identifier","format":"int32"},"TypeId":{"type":"integer","description":"The warehouse type identifier, see WarehouseTypeModel","format":"int32"},"TypeName":{"type":"string","description":"The name of the warehouse type","nullable":true},"Code":{"type":"string","description":"The warehouse code, must be unique for the client setup.","nullable":true},"Name":{"maxLength":50,"minLength":0,"type":"string","description":"The name of the warehouse in the current culture","nullable":true},"Locations":{"type":"array","items":{"$ref":"#/components/schemas/WarehouseLocationModel"},"description":"The list of locations associated with this warehouse"},"LocationId":{"type":"integer","description":"The first or default location identifier for this warehouse","format":"int32","nullable":true},"LocationName":{"type":"string","description":"The name of the first or default location for this warehouse","nullable":true},"IsStandard":{"type":"boolean","description":"Indicates whether this is a standard warehouse, only one warehouse can be marked as standard for a client."},"StandardLeadTimeDayCount":{"type":"integer","description":"The standard lead time in commonly measured in days for this warehouse","format":"int32","nullable":true},"IsActive":{"type":"boolean","description":"Indicates whether the warehouse is active"},"Changed":{"type":"string","description":"The date and time when the warehouse was last changed","nullable":true},"ChangedBy":{"type":"string","description":"Fullname or Systemname of the user who last changed the warehouse","nullable":true}},"description":"Warehouse model, represents a warehouse in the system. Each warehouse can have specific location details and types. Warehouses are used for availability calculation, order reservation, and in-stock based business rules."}},"securitySchemes":{"Bearer":{"type":"http","description":"JWT Authorization header using the Bearer scheme.","scheme":"bearer","bearerFormat":"JWT"}}},"tags":[{"name":"Settings ApplicationCountry","description":"Manage the ApplicationCountry entity, which","externalDocs":{"description":"Full application country guide","url":"https://docs.example.com/products"}},{"name":"Settings ApplicationCulture","description":"Manage application cultures"},{"name":"Settings ApplicationCurrency"},{"name":"Settings ApplicationSalesArea"},{"name":"Settings Application"},{"name":"Audit Logs"},{"name":"Category","description":"Manage categories","externalDocs":{"description":"Full category guide","url":"https://docs.example.com/products/categories"}},{"name":"CategoryParametric","description":"Manage parametric categories"},{"name":"CategoryProductSortOrder"},{"name":"Settings ClientAssortment"},{"name":"Settings ClientCurrency"},{"name":"PriceList ClientPriceListType"},{"name":"Settings ClientSalesArea"},{"name":"Customer FlagGroup"},{"name":"Customer Flag"},{"name":"Customer InfoType"},{"name":"Product Family"},{"name":"Product File"},{"name":"Product Manufacturer"},{"name":"Parametric Group"},{"name":"Parametric List"},{"name":"Parametric Multiple"},{"name":"Parametric"},{"name":"PriceList Infos"},{"name":"PriceList Population"},{"name":"PriceList Pricing"},{"name":"PriceList"},{"name":"PriceList SupplierPriceList"},{"name":"PriceList PriceListType"},{"name":"PriceList Warehouse"},{"name":"Product FlagGroup"},{"name":"Product Flag"},{"name":"Product InfoType"},{"name":"Product Type"},{"name":"Promotion"},{"name":"Product RelationType"},{"name":"PriceList RoundingRule"},{"name":"Shopping InfoType"},{"name":"Store Application"},{"name":"Store PriceList"},{"name":"Store"},{"name":"Store Warehouse"},{"name":"Supplier PriceList"},{"name":"Supplier PriceListWarehouse"},{"name":"Supplier"},{"name":"Supplier Warehouse"},{"name":"Supplier WarehouseLocation"},{"name":"Unit of Measurement"},{"name":"Product VariantGroup"},{"name":"Product WarehouseLocation"},{"name":"Product Warehouse"}],"servers":[{"url":"https://{slug}.api-se.playground.norce.tech/commerce","description":"Playground","variables":{"slug":{"default":"customer-slug","description":"Replace with your slug."}}},{"url":"https://{slug}.api-se.stage.norce.tech/commerce","description":"Stage","variables":{"slug":{"default":"customer-slug","description":"Replace with your slug."}}},{"url":"https://{slug}.api-se.norce.tech/commerce","description":"Production","variables":{"slug":{"default":"customer-slug","description":"Replace with your slug."}}}]}