{"openapi":"3.0.0","info":{"title":"Starweb Shop API v.2","description":"This API is only allowed to be used by partners of Starweb AB and further requires explicit permission from both Starweb AB and the shop owner. If you are interested in using it, please contact us at api@starweb.se . Change log for this API can be found at: https:\/\/starwebserver.se\/API-CHANGELOG.md<br>Limitation: 1000 request\/min\/user","contact":{"name":"Starweb API support","email":"api@starweb.se"},"version":"2.19.0","x-logo":{"url":"https:\/\/uploads-ssl.webflow.com\/63bffdfdb788220c0640cd65\/645e05a08e0d30107e6234b6_starweb-logo-webb-rgb-p-500.png","backgroundColor":"#30394F","altText":"Starweb"}},"servers":[{"url":"https:\/\/{shopId}.starwebserver.se\/api\/v2","description":"Shop API","variables":{"shopId":{"default":"","description":"The shopId of the shop you want to connect to"}}}],"tags":[{"name":"Authentication","description":""},{"name":"Currency","description":""},{"name":"Customer Account Balance","description":""},{"name":"Customer Addresses","description":""},{"name":"Customer External Services","description":""},{"name":"Customer Tags","description":""},{"name":"Customers","description":""},{"name":"Media Files","description":""},{"name":"Order Addresses","description":""},{"name":"Order Comments","description":""},{"name":"Order External Services","description":""},{"name":"Order Items","description":""},{"name":"Order Statuses","description":""},{"name":"Orders","description":""},{"name":"Payment Methods","description":""},{"name":"Pricelists","description":""},{"name":"Product Attributes","description":""},{"name":"Product Bundled Products","description":""},{"name":"Product Bundled Products Pricelist Prices","description":""},{"name":"Product Categories","description":""},{"name":"Product Category Links","description":""},{"name":"Product Languages","description":""},{"name":"Product Manufacturers","description":""},{"name":"Product Media File Links","description":""},{"name":"Product Meta Data","description":""},{"name":"Product Meta Data Types","description":""},{"name":"Product Stock Statuses","description":""},{"name":"Product Tag Links","description":""},{"name":"Product Tags","description":""},{"name":"Product Units","description":""},{"name":"Product Variant Attribute Values","description":""},{"name":"Product Variant Attributes","description":""},{"name":"Product Variant Images","description":""},{"name":"Product Variant Languages","description":""},{"name":"Product Variant Pricelist Prices","description":""},{"name":"Product Variant Pricelist Volume Prices","description":""},{"name":"Product Variant Stocks","description":""},{"name":"Product Variants","description":""},{"name":"Product Vat Rates","description":""},{"name":"Products","description":""},{"name":"Shipping Methods","description":""},{"name":"Shipping Tracking Types","description":""},{"name":"Shop","description":""},{"name":"Stock Locations","description":""},{"name":"Tags","description":""},{"name":"Vat Rates","description":""},{"name":"Web Hooks","description":""}],"paths":{"\/token":{"summary":"Generate and fetch new access token","post":{"operationId":"generateFetchAccessToken","summary":"Create a token","description":"Create a token. Retrieves the create `Token` object.","responses":{"200":{"description":"Access Token and related details","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/TokenModel"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Client credentials","required":true,"content":{"application\/x-www-form-urlencoded":{"schema":{"$ref":"#\/components\/schemas\/ClientCredentialModel"}}}},"tags":["Authentication"]}},"\/currencies":{"summary":"Get Currencies","get":{"operationId":"getCurrencies","summary":"List all currencies","description":"Returns a list of currencies supported by the shop","responses":{"200":{"description":"An collection of currencies","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CurrencyCollection"}}}}},"tags":["Currency"]}},"\/currencies\/{currencyCode}":{"summary":"Get a currency","get":{"operationId":"getCurrency","summary":"Retrieve a currency","description":"Retrieves the details of a currency","responses":{"200":{"description":"A currency","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CurrencyModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Currency"]},"parameters":[{"name":"currencyCode","in":"path","required":true,"description":"The currency code","example":"sek","schema":{"type":"string"}}]},"\/customer-tags":{"summary":"Get customer tags","get":{"operationId":"getCustomersTags","summary":"List all tags","description":"Returns a list of tags","responses":{"200":{"description":"An collection of customer tags","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerTagModelCollection"}}}}},"tags":["Tags"]}},"\/customer-tags\/{tagId}":{"summary":"Get a customer tag","get":{"operationId":"getCustomersTag","summary":"Retrieve a tag","description":"Retrieves a `Tag` object","responses":{"200":{"description":"A customer tag","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerTagModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Tags"]},"parameters":[{"name":"tagId","in":"path","required":true,"description":"The tag id","schema":{"type":"integer","minimum":1,"format":"int32"}}]},"\/customers":{"summary":"Get shop orders or create a new one","get":{"operationId":"listCustomers","summary":"List all customers","description":"Returns a list of customers","parameters":[{"name":"page","in":"query","description":"The page of customers to return","schema":{"type":"integer","minimum":1,"format":"int32"}},{"name":"email","in":"query","description":"Filter customers by email, single or multiple entries separated by commas.","example":"test@example.com,test2@example.com","schema":{"type":"string"}},{"name":"sortBy","in":"query","description":"Sort the result using a specified field. customerId is default. Valid options are: customerId","example":"customerId","schema":{"type":"string","enum":["customerId"]}},{"name":"sortOrder","in":"query","description":"ASC for an ascending sort order; or DESC for a descending sort order. DESC is default","example":"DESC","schema":{"type":"string","enum":["ASC","DESC"]}},{"name":"createdSince","in":"query","description":"Use this to only fetch customers that has been created since a certain time. The time should be formatted using ISO-8601 (url encoded)","example":"2026-05-07T05:04:22+02:00","schema":{"type":"string"}},{"name":"updatedSince","in":"query","description":"Use this to only fetch customers that has been modified since a certain time. The time should be formatted using ISO-8601 (url encoded)","example":"2026-05-07T05:04:22+02:00","schema":{"type":"string"}},{"name":"includeWithoutAccount","in":"query","description":"Use this to also include customers without an account","example":true,"schema":{"type":"boolean"}},{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=tags (to include customer tags); ?include=tags,addresses (to include both customer tags and addresses). Available includes: tags, externalServices, addresses","schema":{"type":"string"},"examples":{"includeTags":{"value":"tags","summary":"include tags"},"includeAddresses":{"value":"addresses","summary":"include addresses"},"includeExternalServices":{"value":"externalServices","summary":"include external services"},"includeTagsAndExternalServices":{"value":"tags,externalServices","summary":"include tags and external services"}}}],"responses":{"200":{"description":"An array of customers","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Customers"]},"post":{"operationId":"createCustomer","summary":"Create a customer","description":"Creates a `Customer` object","responses":{"201":{"description":"The created customer is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerCreatedModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Customer data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerUpdateModel"}}}},"tags":["Customers"]}},"\/customers\/{customerId}":{"summary":"Get or manipulate a certain customer","get":{"operationId":"getCustomer","summary":"Retrieve a customer","description":"Retrieves a `Customer` object","responses":{"200":{"description":"A customer is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"parameters":[{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=tags (to include customer tags); ?include=tags,addresses (to include both customer tags and addresses). Available includes: tags, externalServices, addresses","examples":{"includeTags":{"value":"tags","summary":"include tags"},"includeAddresses":{"value":"addresses","summary":"include addresses"},"includeExternalServices":{"value":"externalServices","summary":"include external services"},"includeTagsAndExternalServices":{"value":"tags,externalServices","summary":"include tags and external services"}},"schema":{"type":"string"}}],"tags":["Customers"]},"delete":{"operationId":"deleteCustomer","summary":"Delete a customer","description":"Delete a customer permanently!","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Customers"]},"put":{"operationId":"putCustomer","summary":"Update a customer","description":"Updates a customer. Retrieves the updated `Customer` object","responses":{"200":{"description":"The updated customer is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Customer data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerUpdateModel"}}}},"tags":["Customers"]},"patch":{"operationId":"patchCustomer","summary":"Update a customer","description":"Updates a customer. Retrieves the updated `Customer` object","responses":{"200":{"description":"The updated customer is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Customer data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerUpdateModel"}}}},"tags":["Customers"]},"parameters":[{"name":"customerId","in":"path","required":true,"description":"The customers id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/customers\/{customerId}\/external-services":{"summary":"Get customer external services. At this time you cannot create or update a customer external service.","get":{"operationId":"getCustomerExternalServices","summary":"List all customer external services\u201a","description":"Returns a list of external services for a customer","responses":{"200":{"description":"An array of external services","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerExternalServicesModelCollection"}}}}},"tags":["Customer External Services"]},"parameters":[{"name":"customerId","in":"path","required":true,"description":"The customers id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/customers\/{customerId}\/external-services\/{serviceName}":{"summary":"Get a certain customer external service","get":{"operationId":"getCustomerExternalService","summary":"Retrieve a customer external service","description":"Retrieves a `CustomerExternalService` object","responses":{"200":{"description":"An external service is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerExternalServicesModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Customer External Services"]},"parameters":[{"name":"customerId","in":"path","required":true,"description":"The customers id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"serviceName","in":"path","required":true,"description":"The service name","schema":{"type":"string","example":"Fortnox"}}]},"\/customers\/{customerId}\/tags":{"summary":"Get customer tags or add an existing tag to a customer","get":{"operationId":"getCustomerTags","summary":"List all tags for a customer","description":"Returns a list of customer tags","responses":{"200":{"description":"An array of customer tags","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAddedTagModelCollection"}}}}},"tags":["Customer Tags"]},"post":{"operationId":"addTagToCustomer","summary":"Add a customer tag","description":"Add a tag to a customer. Retrieves the created `CustomerTag` object","responses":{"201":{"description":"The created customer tag is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAddedTagModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Customer tag data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAddedTagModel"}}}},"tags":["Customer Tags"]},"parameters":[{"name":"customerId","in":"path","required":true,"description":"The customers id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/customers\/{customerId}\/tags\/{tagId}":{"summary":"Get or replace a customers tag","get":{"operationId":"getCustomerTag","summary":"Retrieve a customer tag\u201a","description":"Retrieves a `CustomerTag` object","responses":{"200":{"description":"An customer tag is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAddedTagModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Customer Tags"]},"delete":{"operationId":"removeTagFromCustomer","summary":"Delete a customer tag\u201a","description":"Deletes a customer tag permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Customer Tags"]},"parameters":[{"name":"customerId","in":"path","required":true,"description":"The customers id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"tagId","in":"path","required":true,"description":"The customer tag id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/customers\/{customerId}\/addresses":{"summary":"Get customer addresses","get":{"operationId":"getCustomerGroups","summary":"List all addresses","description":"Returns a list of addresses for a customer","responses":{"200":{"description":"An object of customer addresses","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAddressesModelCollection"}}}}},"tags":["Customer Addresses"]},"parameters":[{"name":"customerId","in":"path","required":true,"description":"The customers id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/customers\/{customerId}\/addresses\/{addressType}":{"summary":"Get, delete or update a customers address","get":{"operationId":"getCustomerAddress","summary":"Rerieve a customer address","description":"Retrieves a `CustomerAddress` object","responses":{"200":{"description":"An customer address is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAddressesModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Customer Addresses"]},"delete":{"operationId":"removeAddressFromCustomer","summary":"Delete a customer address","description":"Delete a customer address permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Customer Addresses"]},"put":{"operationId":"putCustomerAddress","summary":"Update a customer address","description":"Updates a customer address. Retrieves the updated `CustomerAddress` object","responses":{"200":{"description":"The updated customer address is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAddressesModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Address data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AddressModel"}}}},"tags":["Customer Addresses"]},"patch":{"operationId":"patchCustomerAddress","summary":"Update a customer address","description":"Updates a customer address. Retrieves the updated `CustomerAddress` object","responses":{"200":{"description":"The updated customer address is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAddressesModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Address data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AddressModel"}}}},"tags":["Customer Addresses"]},"parameters":[{"name":"customerId","in":"path","required":true,"description":"The customers id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"addressType","in":"path","required":true,"description":"The customer address type","schema":{"type":"string","example":"invoice","enum":["delivery","invoice"]}}]},"\/customers\/{customerId}\/account-balance":{"summary":"Get or set a certain customer account balance.","get":{"operationId":"getCustomerAccountBalance","summary":"Retrieve a customer account balance","description":"Retrieves a `CustomerAccountBalance` object. This endpoint requires `Omnichannel - Balance of account` addon to be installed","responses":{"200":{"description":"A balance is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAccountBalanceModelItem"}}}},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Customer Account Balance"]},"put":{"operationId":"putCustomerAccountBalance","summary":"Update a customer account balance","description":"Updates a customer account balance. Retrieves the updated `CustomerAccountBalance` object. This endpoint requires `Omnichannel - Balance of account` addon to be installed","responses":{"200":{"description":"The updated customer account balance is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAccountBalanceModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Balance","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/CustomerAccountBalanceModel"}}}},"tags":["Customer Account Balance"]},"parameters":[{"name":"customerId","in":"path","required":true,"description":"The customers id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/media-files":{"summary":"Create and fetch media files","get":{"operationId":"getMediaFiles","summary":"List all media files","description":"Returns a list of media file\u201a","parameters":[{"name":"page","in":"query","description":"The page of media files to return","schema":{"type":"integer","minimum":1,"format":"int32"}}],"responses":{"200":{"description":"Collection of media files","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MediaFileModelCollection"}}}}},"tags":["Media Files"]},"post":{"operationId":"createMediaFile","summary":"Create a media file","description":"Creates a new `Media File` object","responses":{"201":{"description":"The created media file is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MediaFileModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"The media file to upload","required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/MediaFileUploadModel"}}}},"tags":["Media Files"]}},"\/media-files\/{mediaFileId}":{"summary":"Get or manipulate a certain media file","get":{"operationId":"getMediaFile","summary":"Retrieve a media file","description":"Retrieve a `MediaFile` object","responses":{"200":{"description":"A media file is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MediaFileModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Media Files"]},"delete":{"operationId":"deleteMediaFile","summary":"Delete a media file","description":"Delete a media file permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Media Files"]},"put":{"operationId":"putMediaFile","summary":"Update a media file","description":"Updates a media file. Retrieves the updated `MediaFile` object","responses":{"200":{"description":"The updated media file is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MediaFileModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"The media file to upload","required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/MediaFileUploadModel"}}}},"tags":["Media Files"]},"patch":{"operationId":"patchMediaFile","summary":"Update a media file","description":"Updates a media file. Retrieves the updated `MediaFile` object","responses":{"200":{"description":"The updated media file is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/MediaFileModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"The media file to upload","required":true,"content":{"multipart\/form-data":{"schema":{"$ref":"#\/components\/schemas\/MediaFileUploadModel"}}}},"tags":["Media Files"]},"parameters":[{"name":"mediaFileId","in":"path","required":true,"description":"The media files id","schema":{"type":"integer","minimum":1,"format":"int32"}}]},"\/orders":{"summary":"Get shop orders or create a new one","get":{"operationId":"listOrders","summary":"List all orders","description":"Returns a list of orders.","parameters":[{"name":"page","in":"query","description":"The page of orders to return","schema":{"type":"integer","minimum":1,"format":"int32"}},{"name":"includeNonCompletePayments","in":"query","description":"Set to true if you want to fetch orders that has not been completed yet. An order is \u201dcompleted\u201d when the payment step has been completed successfully.","schema":{"type":"boolean"}},{"name":"filterQuery","in":"query","description":"A filter query to filter the fetched orders by. Will search in fields such as: customer\/company name, order items sku and description, etc","schema":{"type":"string"}},{"name":"filterPaymentMethodId","in":"query","description":"Only fetch orders with a certain payment method Id","schema":{"type":"integer"}},{"name":"filterShippingMethodId","in":"query","description":"Only fetch orders with a certain shipping method Id","schema":{"type":"integer"}},{"name":"ordersCreatedAfter","in":"query","description":"Only fetch orders created after this timestamp (The time should be formatted using ISO-8601 and url encoded)","schema":{"type":"string"}},{"name":"ordersCreatedBefore","in":"query","description":"Only fetch orders created before this timestamp (The time should be formatted using ISO-8601 and url encoded)","schema":{"type":"string"}},{"name":"ordersModifiedAfter","in":"query","description":"Only fetch orders modified after this timestamp (The time should be formatted using ISO-8601 and url encoded)","schema":{"type":"string"}},{"name":"ordersModifiedBefore","in":"query","description":"Only fetch orders modified before this timestamp (The time should be formatted using ISO-8601 and url encoded)","schema":{"type":"string"}},{"name":"statusFilter","in":"query","description":"Only fetch orders with the specifiec order status. Use order status ID","schema":{"type":"integer","minimum":1}},{"name":"sortBy","in":"query","description":"Sort the result using a specified field. orderId is default","example":"orderId","schema":{"type":"string","enum":["orderId","createdAt","modifiedAt","customer","paymentMethodName","shippingMethodName","totalAmount","status","read"],"example":"orderId"}},{"name":"sortOrder","in":"query","description":"ASC for an ascending sort order; or DESC for a descending sort order. DESC is default","example":"DESC","schema":{"type":"string","enum":["ASC","DESC"],"example":"DESC"}},{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=items (to include order items) or ?include=items,externalServices (to include order items as well as external ids). or ?include=items.bundledItems (to include items and bundled items)Available includes: items, externalServices, status, customer, addresses","examples":{"items":{"value":"items","summary":"include items"},"itemsAndExternalServices":{"value":"items,externalServices","summary":"include items and external services"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"An array of orders","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Orders"]},"post":{"operationId":"createOrder","summary":"Create an order","description":"Create an order. Retrieves the create `Order` object","responses":{"201":{"description":"The created order is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Order data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderUpdateModel"}}}},"tags":["Orders"]}},"\/orders\/{orderId}":{"summary":"Get or manipulate a certain shop order","get":{"operationId":"getOrder","summary":"Retrieve an order","description":"Retrieve an `Order` object","parameters":[{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=items (to include order items) or ?include=items,externalServices (to include order items as well as external ids). Available includes: items, externalServices, status, customer, addresses","examples":{"items":{"value":"items","summary":"include items"},"itemsAndExternalServices":{"value":"items,externalServices","summary":"include items and external services"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"An order is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Orders"]},"delete":{"operationId":"deleteOrder","summary":"Delete an order","description":"Delete an order permanently","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Orders"]},"put":{"operationId":"putOrder","summary":"Update an order","description":"Updates an order. Retrieves the updated `Order` object","responses":{"200":{"description":"The updated order is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Order data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderPutModel"}}}},"tags":["Orders"]},"patch":{"operationId":"patchOrder","summary":"Update an order","description":"Updates an order. Retrieves the updated `Order` object","responses":{"200":{"description":"The updated order is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Order data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderUpdateModel"}}}},"tags":["Orders"]},"parameters":[{"name":"orderId","in":"path","required":true,"description":"The orders id","schema":{"type":"integer","minimum":1,"format":"int32"}}]},"\/orders\/{orderId}\/addresses":{"summary":"Get an orders addresses","get":{"operationId":"listOrderAddresses","summary":"List all order addresses","description":"Returns a list o order addresses","responses":{"200":{"description":"An array of order addresses","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderAddressCollection"}}}}},"tags":["Order Addresses"]},"parameters":[{"name":"orderId","in":"path","required":true,"description":"The orders id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/orders\/{orderId}\/addresses\/{addressType}":{"summary":"Get or manipulate a certain order address","get":{"operationId":"getOrderAddress","summary":"Retrieve an order address","description":"Retrieves the `OrderAddress` object","responses":{"200":{"description":"An address is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AddressModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Order Addresses"]},"delete":{"operationId":"deleteOrderAddress","summary":"Delete an order address","description":"Delete an order address permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Order Addresses"]},"put":{"operationId":"putOrderAddress","summary":"Update an order address","description":"Updates an order adress. Retrieves the updated `OrderAddress` object","responses":{"200":{"description":"The updated address is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AddressModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Address data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AddressModel"}}}},"tags":["Order Addresses"]},"patch":{"operationId":"patchOrderAddress","summary":"Update an order address","description":"Updates an order adress. Retrieves the updated `OrderAddress` object","responses":{"200":{"description":"The updated address is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AddressModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Address data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/AddressModel"}}}},"tags":["Order Addresses"]},"parameters":[{"name":"orderId","in":"path","required":true,"description":"The orders id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"addressType","in":"path","required":true,"description":"The order address type","schema":{"type":"string","example":"originalInvoice","enum":["paymentMethodDelivery","paymentMethodInvoice","originalDelivery","originalInvoice","customerDelivery","customerInvoice"]}}]},"\/orders\/{orderId}\/comments":{"summary":"Get order comments","get":{"operationId":"getOrderComments","summary":"List all order comments","description":"Returns a list of order comments.","responses":{"200":{"description":"A collection of order comments","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderCommentModelCollection"}}}}},"tags":["Order Comments"]},"post":{"operationId":"addCommentToOrder","summary":"Add an order comment","description":"Add a comment to an order. Retrieves the created `OrderComment` object","responses":{"201":{"description":"The created order comment is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderCommentModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Customer tag data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderCommentModel"}}}},"tags":["Order Comments"]},"parameters":[{"name":"orderId","in":"path","required":true,"description":"The orders id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/orders\/{orderId}\/comments\/{commentId}":{"summary":"Get a certain order comment","get":{"operationId":"getOrderComment","summary":"Retrieve an order comment","description":"Retrieves the `OrderComment` object","responses":{"200":{"description":"An order comment is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderCommentModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Order Comments"]},"put":{"operationId":"updateCommentToOrder","summary":"Add an order comment","description":"Update a comment for an order. Retrieves the created `OrderComment` object","responses":{"200":{"description":"The created order comment is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderCommentModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Order comment data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderCommentModel"}}}},"tags":["Order Comments"]},"patch":{"operationId":"patchCommentToOrder","summary":"Updates an order comment","description":"Update a comment for an order. Retrieves the created `OrderComment` object","responses":{"200":{"description":"The created order comment is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderCommentModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Customer tag data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderCommentModel"}}}},"tags":["Order Comments"]},"delete":{"operationId":"removeCommentFromOrder","summary":"Delete an order comment\u201a","description":"Deletes an order comment permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Order Comments"]},"parameters":[{"name":"orderId","in":"path","required":true,"description":"The orders id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"commentId","in":"path","required":true,"description":"The order comments id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/orders\/{orderId}\/external-services":{"summary":"Get or create order external services","get":{"operationId":"getOrderExternalServices","summary":"List all order external services","description":"Returns a list of order external services.","responses":{"200":{"description":"An array of external services","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderExternalServiceModelCollection"}}}}},"tags":["Order External Services"]},"post":{"operationId":"createOrderExternalService","summary":"Creates an order external service","description":"Create an order external service. Retrieves the created `OrderExternalService`\n                                    object","responses":{"201":{"description":"The created external service is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderExternalServicesModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Order external service data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderExternalServiceModel"}}}},"tags":["Order External Services"]},"parameters":[{"name":"orderId","in":"path","required":true,"description":"The orders id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/orders\/{orderId}\/external-services\/{serviceName}":{"summary":"Get or manipulate a certain order external service","get":{"operationId":"getOrderExternalService","summary":"Retrieve an order external service","description":"Retrieves the `OrderExternalService` object","responses":{"200":{"description":"An external service is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderExternalServicesModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Order External Services"]},"delete":{"operationId":"deleteOrderExternalService","summary":"Delete an order external service","description":"Deletes an order external service permanently","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Order External Services"]},"put":{"operationId":"putOrderExternalService","summary":"Update an order external service","description":"Updates an order external service. \n                    Retrieves the updated `OrderExternalService` object","responses":{"200":{"description":"The updated external service is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderExternalServicesModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Order external service data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderExternalServiceModel"}}}},"tags":["Order External Services"]},"patch":{"operationId":"patchOrderExternalService","summary":"Update an order external service","description":"Updates an order external service. \n                    Retrieves the updated `OrderExternalService` object","responses":{"200":{"description":"The updated external service is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderExternalServicesModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Order external service data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderExternalServiceModel"}}}},"tags":["Order External Services"]},"parameters":[{"name":"orderId","in":"path","required":true,"description":"The orders id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"serviceName","in":"path","required":true,"description":"The service name","schema":{"type":"string","example":"Fortnox"}}]},"\/orders\/{orderId}\/items":{"summary":"Get or create order items","get":{"operationId":"getOrderItems","summary":"List all order items","description":"Returns a list of order items","responses":{"200":{"description":"An array of order items","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderItemModelCollection"}}}}},"tags":["Order Items"]},"post":{"operationId":"createOrderItem","summary":"Create an order item","description":"Create an order item. Retrieves the create `OrderItem` object","responses":{"201":{"description":"The created order item is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderItemModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Order item data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderItemModel"}}}},"tags":["Order Items"]},"parameters":[{"name":"orderId","in":"path","required":true,"description":"The orders id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/orders\/{orderId}\/items\/{orderItemId}":{"summary":"Get or manipulate a certain order item","get":{"operationId":"getOrderItem","summary":"Retrieve an order item","description":"Retrieves the `OrderItem` object","parameters":[{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=bundledItems (to include bundled items). Available includes: bundledItems","example":"bundledItems","schema":{"type":"string"}}],"responses":{"200":{"description":"An order item is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderItemModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Order Items"]},"delete":{"operationId":"deleteOrderItem","summary":"Delete an order item","description":"Delete the order item permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Order Items"]},"put":{"operationId":"putOrderItem","summary":"Update an order item","description":"Updates an order item. Retrieves the updated `OrderItem` object","responses":{"200":{"description":"The updated order item is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderItemModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Order item data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderItemModel"}}}},"tags":["Order Items"]},"patch":{"operationId":"patchOrderItem","summary":"Update an order item","description":"Updates an order item. Retrieves the updated `OrderItem` object","responses":{"200":{"description":"The updated order item is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderItemModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Order item data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderItemModel"}}}},"tags":["Order Items"]},"parameters":[{"name":"orderId","in":"path","required":true,"description":"The orders id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"orderItemId","in":"path","required":true,"description":"The order item id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/order-statuses":{"summary":"Get or create order statuses","get":{"operationId":"getOrderStatuses","summary":"List all order statuses","description":"Returns a list of order statuses","responses":{"200":{"description":"An array of order statuses","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderStatusModelCollection"}}}}},"tags":["Order Statuses"]},"post":{"operationId":"createOrderStatus","summary":"Create an order status","description":"Create an order status. Retrieves the created `OrderStatus` object","responses":{"201":{"description":"The created order status is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderStatusModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Order status data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderStatusModel"}}}},"tags":["Order Statuses"]}},"\/order-statuses\/{orderStatusId}":{"summary":"Get or manipulate a certain order status.","get":{"operationId":"getOrderStatus","summary":"Retrieve an order status","description":"Retrieves the `OrderStatus` object","responses":{"200":{"description":"An order status is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderStatusModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Order Statuses"]},"delete":{"operationId":"deleteOrderStatus","summary":"Delete an order status","description":"Deletes an order status. Retrieves the updated `OrderItem` object. \n                    NB! You are not allowed to delete order statuses that is in use by an order, or standard order statuses (all statuses with an idCode set)","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"403":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Order Statuses"]},"put":{"operationId":"putOrderStatus","summary":"Update an order status","description":"Updates an order status. Retrieves the updated `Orderstatus` object. \n                NB! You are not allowed to update standard order statuses (all statuses with an idCode set)","responses":{"200":{"description":"The updated order status is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderStatusModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"403":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Order status data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderStatusModel"}}}},"tags":["Order Statuses"]},"patch":{"operationId":"patchOrderStatus","summary":"Update an order status","description":"Updates an order status. Retrieves the updated `Orderstatus` object. \n                    NB! You are not allowed to update standard order statuses (all statuses with an idCode set)","responses":{"200":{"description":"The updated order status is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderStatusModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"403":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Order status data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/OrderStatusModel"}}}},"tags":["Order Statuses"]},"parameters":[{"name":"orderStatusId","in":"path","required":true,"description":"The order status id","schema":{"type":"integer","minimum":1,"format":"int32"}}]},"\/payment-methods":{"summary":"Get payment methods","get":{"operationId":"getPaymentMethods","summary":"List payment methods","description":"Returns a list of payment methods","responses":{"200":{"description":"An collection of payment methods","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PaymentMethodModelCollection"}}}}},"tags":["Payment Methods"]}},"\/payment-methods\/{paymentMethodId}":{"summary":"Get a payment method","get":{"operationId":"getPaymentMethod","summary":"Retrieve a payment method","description":"Retrieves a `PaymentMethod` object","responses":{"200":{"description":"A payment method","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PaymentMethodModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Payment Methods"]},"parameters":[{"name":"paymentMethodId","in":"path","required":true,"description":"The payment method id","schema":{"type":"integer","minimum":1,"format":"int32"}}]},"\/pricelists":{"summary":"Get pricelists collection","get":{"operationId":"getPricelists","summary":"List all pricelists","description":"Returns a list of pricelists","responses":{"200":{"description":"An collection of pricelists","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PricelistModelCollection"}}}}},"tags":["Pricelists"]},"post":{"operationId":"createPricelist","summary":"Create a pricelist","description":"Create a pricelist. Retrieves the created `Pricelist` object","responses":{"201":{"description":"The created pricelist is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PricelistModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Pricelist data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PricelistPostRequestModel"}}}},"tags":["Pricelists"]}},"\/pricelists\/{pricelistId}":{"summary":"Get a pricelist","get":{"operationId":"getPricelist","summary":"Retrieve a pricelist","description":"Retrieves a `Pricelist` object","responses":{"200":{"description":"A pricelist","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PricelistModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Pricelists"]},"delete":{"operationId":"deletePricelist","summary":"Delete a pricelist","description":"Delete a pricelist permanently. The master pricelist can not be deleted and will return an error `403`","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"},"403":{"$ref":"#\/components\/responses\/Forbidden"}},"tags":["Pricelists"]},"put":{"operationId":"putPricelist","summary":"Update a pricelist","description":"Update a pricelist. Retrieves the updated `Pricelist` object","responses":{"200":{"description":"The updated pricelist is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PricelistModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product category data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PricelistPutRequestModel"}}}},"tags":["Pricelists"]},"patch":{"operationId":"patchPricelist","summary":"Update a pricelist","description":"Update a pricelist. Retrieves the updated `Pricelist` object","responses":{"200":{"description":"The updated pricelist is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PricelistModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product category data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PricelistPatchRequestModel"}}}},"tags":["Pricelists"]},"parameters":[{"name":"pricelistId","in":"path","required":true,"description":"The pricelist id","schema":{"type":"integer","minimum":1,"format":"int32","example":123}}]},"\/vat-rates":{"summary":"Get country vat rates","get":{"operationId":"listVatRates","summary":"List all country vat rates","description":"Returns a list of default country vat rates.","responses":{"200":{"description":"An array of default country vat rates","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/VatRateModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Vat Rates"]}},"\/vat-rates\/{countryCode}":{"summary":"Get a certain country specific vat rate","get":{"operationId":"getVatRate","summary":"Retrieve a country specific  default vat rates","description":"Retrieves the `VatRate` object.","responses":{"200":{"description":"A country's default vat rates are returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/VatRateModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Vat Rates"]},"parameters":[{"name":"countryCode","in":"path","required":true,"description":"The country code for the vat rates to fetch","schema":{"type":"string","example":"se"}}]},"\/product-attributes":{"summary":"Get a collection of a variants attributes","get":{"operationId":"listProductsVariantsAttributes","summary":"List all product variant attributes","description":"Returns a list of product variant attributes","responses":{"200":{"description":"An array of attribute","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Variant Attributes"]},"post":{"operationId":"createAttribute","summary":"Create a product variant attribute","description":"Creates a product variant attribute. \n                    Retrieves the created `ProductVariantAttribute` object.","responses":{"201":{"description":"The created attribute is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Attribute data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModelUpdatable"}}}},"tags":["Product Variant Attributes"]}},"\/product-attributes\/{attributeId}":{"summary":"Get a certain attribute","get":{"operationId":"getProductsVariantsAttribute","summary":"Retrieve a product variant attribute","description":"Retrieves the `ProductVariantAttribute` object.","responses":{"200":{"description":"An attribute value is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Attributes"]},"put":{"operationId":"putAttribute","summary":"Update a product variant attribute","description":"Updates a product variant attribute.\n                    Retrieves the updated `ProductVariantAttribute` object.","responses":{"200":{"description":"The updated attribute is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Attribute data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModelUpdatable"}}}},"tags":["Product Variant Attributes"]},"patch":{"operationId":"patchAttribute","summary":"Update a product variant attribute","description":"Updates a product variant attribute.\n                    Retrieves the updated `ProductVariantAttribute` object.","responses":{"200":{"description":"The updated attribute is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Attribute data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModelUpdatable"}}}},"tags":["Product Variant Attributes"]},"delete":{"operationId":"deleteAttribute","summary":"Delete a product variant attribute","description":"Deletes the product variant attribute permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Attributes"]},"parameters":[{"name":"attributeId","in":"path","required":true,"description":"The attribute value id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/product-attributes\/{attributeId}\/values":{"summary":"Get a collection of a variants attribute values","get":{"operationId":"listProductsVariantsAttributeValues","summary":"List all product variant attribute values","description":"Returns a list of product variant attribute values.","responses":{"200":{"description":"An array of attribute values","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"parameters":[{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=attribute (to include the attribute the values belongs to). Available includes: attribute","example":"attribute","schema":{"type":"string"}}],"tags":["Product Variant Attribute Values"]},"post":{"operationId":"createProductsVariantsAttributeValues","summary":"Create a product variant attribute value","description":"Creates a product variant attribute value.\n                    Retrieves the created `ProductVariantAttributeValue` object.","responses":{"201":{"description":"The created attribute value","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Attribute value data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModelUpdatable"}}}},"tags":["Product Variant Attribute Values"]},"parameters":[{"name":"attributeId","in":"path","required":true,"description":"The attribute id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/product-attributes\/{attributeId}\/values\/{attributeValueId}":{"summary":"Get a certain attribute value","get":{"operationId":"getProductsVariantsAttributeValue","summary":"Retrieve a product variant attribute value","description":"Retrieves the `ProductVariantAttributeValue` object.","responses":{"200":{"description":"An attribute value is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"parameters":[{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=attribute (to include the attribute the values belongs to). Available includes: attribute","example":"attribute","schema":{"type":"string"}}],"tags":["Product Variant Attribute Values"]},"put":{"operationId":"putProductsVariantsAttributeValues","summary":"Update a product variant attribute value","description":"Updates a product variant attribute value.\n                    Retrieves the updated`ProductVariantAttributeValue` object.","responses":{"200":{"description":"The updated attribute value","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Attribute value data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModelUpdatable"}}}},"tags":["Product Variant Attribute Values"]},"patch":{"operationId":"patchProductsVariantsAttributeValues","summary":"Update a product variant attribute value","description":"Updates a product variant attribute value.\n                    Retrieves the updated`ProductVariantAttributeValue` object.","responses":{"200":{"description":"The updated attribute value","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Attribute value data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModelUpdatable"}}}},"tags":["Product Variant Attribute Values"]},"delete":{"operationId":"deleteAttributeValue","summary":"Delete a product variant attribute value permanently.","description":"Delete a product variant attribute value permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Attribute Values"]},"parameters":[{"name":"attributeId","in":"path","required":true,"description":"The attribute id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"attributeValueId","in":"path","required":true,"description":"The attribe value id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/product-categories":{"summary":"Get product categories or create a new one","get":{"operationId":"listProductCategories","summary":"List all product categories","description":"Returns a list of product categories","parameters":[{"name":"page","in":"query","description":"The page of categories to return","schema":{"type":"integer","minimum":1,"format":"int32"}},{"name":"externalId","in":"query","description":"Use to fetch categories with a specific external id","schema":{"type":"string","example":"123"}},{"name":"parent","in":"query","description":"Use to fetch only categories with this parentId","schema":{"type":"integer","example":5}},{"name":"filterVisible","in":"query","description":"Only fetch categories visible to visitors","schema":{"type":"boolean","example":true}},{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=languages (to include language based data such as category names, description, etc). Available includes: languages","example":"languages","schema":{"type":"string"}}],"responses":{"200":{"description":"An array of product categories","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Categories"]},"post":{"operationId":"createProductCategory","summary":"Create a product category","description":"Create a product category. Retrieves the created `ProductCategory` object","responses":{"201":{"description":"The created product category is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product category data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryModelUpdatable"}}}},"tags":["Product Categories"]}},"\/product-categories\/{categoryId}":{"summary":"Get or manipulate a certain product category","get":{"operationId":"getProductCategory","summary":"Retrieve a product category","description":"Retrieves a `ProductCategory` object","responses":{"200":{"description":"A product category is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"parameters":[{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=languages (to include language based data such as category names, description, etc). Available includes: languages","example":"languages","schema":{"type":"string"}}],"tags":["Product Categories"]},"delete":{"operationId":"deleteProductCategory","summary":"Delete a product category","description":"Delete a product category permanently","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Categories"]},"put":{"operationId":"putProductCategory","summary":"Update a product category","description":"Update a product category. Retrieves the updated `ProductCategory` object","responses":{"200":{"description":"The updated product category is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product category data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryModelUpdatable"}}}},"tags":["Product Categories"]},"patch":{"operationId":"patchProductCategory","summary":"Update a product category","description":"Update a product category. Retrieves the updated `ProductCategory` object","responses":{"200":{"description":"The updated product category is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product category data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryModelUpdatable"}}}},"tags":["Product Categories"]},"parameters":[{"name":"categoryId","in":"path","required":true,"description":"The product category id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/product-manufacturers":{"summary":"List product manufacturers","get":{"operationId":"listProductManufacturers","summary":"List all product manufacturers","description":"Returns a list of product manufacturers.","responses":{"200":{"description":"An array of product manufacturer","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductManufacturerModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Manufacturers"]},"post":{"operationId":"createProductManufacturer","summary":"Create a product manufacturer","description":"Creates a product manufacturer.","responses":{"201":{"description":"The created product manufacturer","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductManufacturerModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product manufacturer data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductManufacturerModel"}}}},"tags":["Product Manufacturers"]}},"\/product-manufacturers\/{manufacturerId}":{"summary":"Get a certain product manufacturer","get":{"operationId":"getProductManufacturer","summary":"Retrieve a product manufacturer","description":"Retrieves the `ProductManufacturer` object.","responses":{"200":{"description":"A product manufacturer is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductManufacturerModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Manufacturers"]},"delete":{"operationId":"deleteProductManufacturer","summary":"Deletes a product manufacturer","description":"Deletes the `ProductManufacturer` object.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Manufacturers"]},"put":{"operationId":"putProductManufacturer","summary":"Update a product manufacturer","description":"Updates the `ProductManufacturer` object.","responses":{"200":{"description":"A product manufacturer is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductManufacturerModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product manufacturer data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductManufacturerModel"}}}},"tags":["Product Manufacturers"]},"patch":{"operationId":"patchProductManufacturer","summary":"Update a product manufacturer","description":"Updates the `ProductManufacturer` object.","responses":{"200":{"description":"A product manufacturer is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductManufacturerModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product manufacturer data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductManufacturerModel"}}}},"tags":["Product Manufacturers"]},"parameters":[{"name":"manufacturerId","in":"path","required":true,"description":"The manufacturers id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/product-units":{"summary":"Get a product unit","get":{"operationId":"listProductUnits","summary":"List all product units","description":"Returns a list of product units.","responses":{"200":{"description":"An array of product units","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductUnitModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Units"]},"post":{"operationId":"createProductUnit","summary":"Create a product unit","description":"Creates a product unit.","responses":{"201":{"description":"The created product unit","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductUnitModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product unit data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductUnitModelUpdatable"}}}},"tags":["Product Units"]}},"\/product-units\/{unitId}":{"summary":"Get a certain product unit","get":{"operationId":"getProductUnit","summary":"Retrieve a product unit","description":"Retrieves the `ProductUnit` object.","responses":{"200":{"description":"A product unit is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductUnitModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Units"]},"delete":{"operationId":"deleteProductUnit","summary":"Deletes a product unit","description":"Deletes the `ProductUnit` object.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Units"]},"put":{"operationId":"putProductUnit","summary":"Update a product unit","description":"Updates the `ProductUnit` object.","responses":{"200":{"description":"The updated product unit","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductUnitModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product unit data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductUnitModelUpdatable"}}}},"tags":["Product Units"]},"patch":{"operationId":"patchProductUnit","summary":"Update a product unit","description":"Updates the `ProductUnit` object.","responses":{"200":{"description":"The updated product unit","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductUnitModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product unit data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductUnitModelUpdatable"}}}},"tags":["Product Units"]},"parameters":[{"name":"unitId","in":"path","required":true,"description":"The units id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/product-meta-data-types":{"summary":"Get a product meta data type","get":{"operationId":"listProductMetaDataTypes","summary":"List all product meta data types","description":"Returns a list of product meta data types","responses":{"200":{"description":"An array of product meta data types","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Meta Data Types"]},"post":{"operationId":"createProductMetaDataType","summary":"Create a product meta data type","description":"Create a product meta data type. Retrieves the created `ProductMetaDataType` object","responses":{"201":{"description":"The created product meta data type is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product meta data type data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeModelUpdatable"}}}},"tags":["Product Meta Data Types"]}},"\/product-meta-data-types\/{metaDataTypeId}":{"summary":"Get a certain product meta data type","get":{"operationId":"getProductMetaDataType","summary":"Retrieve a product meta data type","description":"Retrieves the `ProductMetaDataType` object.","responses":{"200":{"description":"A product meta data type is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Meta Data Types"]},"delete":{"operationId":"deleteProductMetaDataType","summary":"Delete a product meta data type","description":"Delete a product meta data type permanently","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Meta Data Types"]},"put":{"operationId":"putProductMetaDataType","summary":"Update a product meta data type","description":"Update a product meta data type. Retrieves the updated `ProductMetaDataType` object","responses":{"200":{"description":"The updated product meta data type is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product meta data type data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeModelUpdatable"}}}},"tags":["Product Meta Data Types"]},"patch":{"operationId":"patchProductMetaDataType","summary":"Update a product meta data type","description":"Update a product meta data type. Retrieves the updated `ProductMetaDataType` object","responses":{"200":{"description":"The updated product meta data type is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product meta data type data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeModelUpdatable"}}}},"tags":["Product Meta Data Types"]},"parameters":[{"name":"metaDataTypeId","in":"path","required":true,"description":"The meta data types id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/product-stock-statuses":{"summary":"Get product stock status or create a new one","get":{"operationId":"listProductStockStatses","summary":"List all product stock statuses","description":"Returns a list of product stock statuses.","responses":{"200":{"description":"An array of stock statuses","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductStockStatusModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Stock Statuses"]},"post":{"operationId":"createProductStockStatus","summary":"Create a product stock status","description":"Create a product stock status. Retrieves the created `ProductStockStatus` object.","responses":{"201":{"description":"The created product stock status is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductStockStatusModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product stock status data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductStockStatusRequestModel"}}}},"tags":["Product Stock Statuses"]}},"\/product-stock-statuses\/{stockStatusId}":{"summary":"Get or manipulate a certain product stock status","get":{"operationId":"getProductStockStatus","summary":"Retrieve a product stock status","description":"Retrieves the `ProductStockStatus` object.","responses":{"200":{"description":"A product stock status is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductStockStatusModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Stock Statuses"]},"delete":{"operationId":"deleteProductStockStatus","summary":"Delete a product stock status","description":"Deletes a product stock status permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Stock Statuses"]},"put":{"operationId":"putProductStockStatus","summary":"Update a product stock status","description":"Updates a product stock status. Retrieves the update `ProductStockStatus` object.","responses":{"200":{"description":"The updated product stock status is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductStockStatusModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product stock status data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductStockStatusRequestModel"}}}},"tags":["Product Stock Statuses"]},"patch":{"operationId":"patchProductStockStatus","summary":"Update a product stock status","description":"Updates a product stock status. Retrieves the update `ProductStockStatus` object.","responses":{"200":{"description":"The updated product stock status is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductStockStatusModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product stock status data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductStockStatusRequestModel"}}}},"tags":["Product Stock Statuses"]},"parameters":[{"name":"stockStatusId","in":"path","required":true,"description":"The stock status id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/product-tags":{"summary":"Get product tags","get":{"operationId":"getProductsTags","summary":"List all tags","description":"Returns a list of tags","responses":{"200":{"description":"An collection of product tags","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagModelCollection"}}}}},"tags":["Product Tags"]},"post":{"operationId":"createProductTag","summary":"Create a product tag","description":"Creates a `ProductTag` object","responses":{"201":{"description":"The created productTag is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"ProductTag data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagPostRequestModel"}}}},"tags":["Product Tags"]}},"\/product-tags\/{productTagId}":{"summary":"Get a product tag","get":{"operationId":"getProductsTag","summary":"Retrieve a product tag","description":"Retrieves a `Tag` object","responses":{"200":{"description":"A product tag","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Tags"]},"delete":{"operationId":"deleteProductTag","summary":"Delete a product tag","description":"Delete a product tag permanently","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Tags"]},"put":{"operationId":"putProductTag","summary":"Update a product tag","description":"Update a product tag. Retrieves the updated `ProductTag` object","responses":{"200":{"description":"The updated productTag is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product category data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagPutRequestModel"}}}},"tags":["Product Tags"]},"patch":{"operationId":"patchProductTag","summary":"Update a product tag","description":"Partially updates a product tag. Retrieves the updated `ProductTag` object","responses":{"200":{"description":"The updated productTag is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product category data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagPatchRequestModel"}}}},"tags":["Product Tags"]},"parameters":[{"name":"productTagId","in":"path","required":true,"description":"The product tag id","schema":{"type":"integer","minimum":1,"format":"int32"}}]},"\/product-tags\/{productTagId}\/options":{"summary":"Get product tag option options","get":{"operationId":"getProductsTagOptions","summary":"List all tag options","description":"Returns a list of options","responses":{"200":{"description":"An collection of product tag options","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagOptionModelCollection"}}}}},"tags":["Product Tags"]},"post":{"operationId":"createProductTagOption","summary":"Create a tag option","description":"Create a tag option. Tag options can only be created for tags of type `option`. If you try to create options for a tag of type `boolean` an error `405` will be returned. Returns the created `ProductTagOption` object.","responses":{"201":{"description":"The created productTagOption is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagOptionModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"405":{"$ref":"#\/components\/responses\/MethodNotAllowed"}},"requestBody":{"description":"ProductTagOption data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagOptionPostRequestModel"}}}},"tags":["Product Tags"]},"parameters":[{"name":"productTagId","in":"path","required":true,"description":"The product tag id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/product-tags\/{productTagId}\/options\/{productTagOptionId}":{"summary":"Get a tag option","get":{"operationId":"getProductTagOptions","summary":"Retrieve a tag option","description":"Retrieves a `TagOption` object","responses":{"200":{"description":"A product tag option","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagOptionModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Tags"]},"delete":{"operationId":"deleteProductTagOption","summary":"Delete a tag option","description":"Delete a tag option permanently. Tag options can only be deleted for tags of type `option`. If you try to delete a tag option for a tag of any other type an error `405` will be returned.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"},"405":{"$ref":"#\/components\/responses\/MethodNotAllowed"}},"tags":["Product Tags"]},"put":{"operationId":"putProductTagOption","summary":"Update a tag option","description":"Update a tag option. Tag options can only be updated for tags of type `option`. If you try to update a tag option for a tag of any other type an error `405` will be returned. Returns the updated `ProductTagOption` object.","responses":{"200":{"description":"The updated productTagOption is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagOptionModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"},"405":{"$ref":"#\/components\/responses\/MethodNotAllowed"}},"requestBody":{"description":"Product tag option data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagOptionPutRequestModel"}}}},"tags":["Product Tags"]},"patch":{"operationId":"patchProductTagOption","summary":"Update a tag option","description":"Partially updates a tag option. Tag options can only be updates for tags of type `option`. If you try to update a tag option for a tag of any other type an error `405` will be returned. Returns the updated `ProductTagOption` object.","responses":{"200":{"description":"The updated tag option is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagOptionModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"},"405":{"$ref":"#\/components\/responses\/MethodNotAllowed"}},"requestBody":{"description":"Product tag option data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagOptionPatchRequestModel"}}}},"tags":["Product Tags"]},"parameters":[{"name":"productTagId","in":"path","required":true,"description":"The product tag id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"productTagOptionId","in":"path","required":true,"description":"The product tag option id","schema":{"type":"integer","minimum":1,"format":"int32"}}]},"\/products":{"summary":"Get products or create a new one","get":{"operationId":"listProducts","summary":"List all products","description":"Returns a list of products.","parameters":[{"name":"page","in":"query","description":"The page of products to return","schema":{"type":"integer","minimum":1,"format":"int32"}},{"name":"sortBy","in":"query","description":"Sort the result using a specified field. productId is default. Valid options are: productId","example":"productId","schema":{"type":"string","enum":["productId"]}},{"name":"sortOrder","in":"query","description":"ASC for an ascending sort order; or DESC for a descending sort order. ASC is default","example":"ASC","schema":{"type":"string","enum":["ASC","DESC"]}},{"name":"createdSince","in":"query","description":"Use this to only fetch products that has been created since a certain time. The time should be formatted using ISO-8601 (url encoded)","example":"2026-05-07T05:04:22+02:00","schema":{"type":"string"}},{"name":"updatedSince","in":"query","description":"Use this to only fetch products that has been modified since a certain time. The time should be formatted using ISO-8601 (url encoded)","example":"2026-05-07T05:04:22+02:00","schema":{"type":"string"}},{"name":"filterVisible","in":"query","description":"Only fetch products visible to visitors. Default is false.","example":true,"schema":{"type":"boolean"}},{"name":"filterSku","in":"query","description":"Only fetch a product with the specified SKU. Has to follow the pattern of \/[A-Za-z0-9._-]+$\/","example":"ABC123","schema":{"type":"string"}},{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=primaryVariant (to include primary product variant);?include=primaryVariant,languages (to include both primary product variant and languages). <br \/><br \/>Available includes: `primaryVariant`, `primaryVariant.prices`, `primaryVariant.attributeValues`, `attributes`, `mediaFiles`, `languages`, `vatRates`, `categories`, `unit`, `metaData`, `bundledProducts`, `bundledProducts.prices`, `tags`.<br \/><br \/>To fetch only variants, instead use \/products\/x\/variants(unnecessary if hasSeveralVariants is false) and to fetch only languages for an object, instead use the individual objects language endpoint","examples":{"primaryVariant":{"value":"primaryVariant","summary":"include primary variant"},"languages":{"value":"languages","summary":"include languages. Due to performance concerns only the primary language is included"},"primaryVariantPrices":{"value":"primaryVariant.prices","summary":"include primary variant prices"},"primaryVariantPricesAndMediaFiles":{"value":"primaryVariant.prices,mediaFiles","summary":"include primary variant prices and media files"},"attributes":{"value":"attributes","summary":"include attributes. Due to performance concerns only the primary language is included"},"unit":{"value":"unit","summary":"include unit. Due to performance concerns only the primary language is included"},"bundledProducts":{"value":"bundledProducts","summary":"include bundled products"},"metaData":{"value":"metaData","summary":"include metaData. Due to performance concerns only the primary language is included"},"tags":{"value":"tags","summary":"include product tag links"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"An array of products","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Products"]},"post":{"operationId":"createProduct","summary":"Create a product","description":"Creates a product. Retrieves the created `Product` object.","responses":{"201":{"description":"The created product is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductModelUpdatable"}}}},"tags":["Products"]}},"\/products\/{productId}":{"summary":"Get or manipulate a certain product","get":{"operationId":"getProduct","summary":"Retrieve a product","description":"Retrieves the `Product` object.","responses":{"200":{"description":"A product is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"parameters":[{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=variants (to include product variants); ?include=variants,languages (to include both product variants and languages). Available includes: `primaryVariant`, `primaryVariant.prices`, `mediaFiles`, `languages`, `vatRates`, `categories`, `unit`, `metaData`, `bundledProducts`, `bundledProducts.prices`, `tags`. To fetch only variants, instead use \/products\/x\/variants (unnecessary if hasSeveralVariants is false)","schema":{"type":"string"}}],"tags":["Products"]},"delete":{"operationId":"deleteProduct","summary":"Delete a product","description":"Deletes a product permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Products"]},"put":{"operationId":"putProduct","summary":"Update a product","description":"Updates a product. Retrieves the update `Product` object.","responses":{"200":{"description":"The updated product is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductModelUpdatable"}}}},"tags":["Products"]},"patch":{"operationId":"patchProduct","summary":"Update a product","description":"Updates a product. Retrieves the update `Product` object.","responses":{"200":{"description":"The updated product is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductModelPatchable"}}}},"tags":["Products"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/products\/{productId}\/bundled-products":{"summary":"Get a products bundled product or create a new bundled product","get":{"operationId":"listProductsBundledProducts","summary":"List all bundled products.","description":"Return a list of bundled products.","parameters":[{"name":"page","in":"query","description":"The page of bundled products to return","schema":{"type":"integer","minimum":1,"format":"int32"}},{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: `?include=prices` (to include bundled product prices). Available includes: `prices`, `stocks`.","examples":{"prices":{"value":"prices","summary":"include prices"},"stocks":{"value":"stocks","summary":"include stocks"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"An array of bundled products","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundledProductsModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Bundled Products"]},"post":{"operationId":"createProductBundledProduct","summary":"Create a bundled product.","description":"Creates a bundled product. Retrieves the created `BundledProduct` object","responses":{"201":{"description":"The created bundled product is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundledProductsModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Bundled product data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundledProductsModel"}}}},"tags":["Product Bundled Products"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/bundled-products\/{bundledProductId}":{"summary":"Get or manipulate a certain bundled product","get":{"operationId":"getProductsBundledProducts","summary":"Retrieve a bundled product.","description":"Retrieves the `BundledProduct` object","responses":{"200":{"description":"A products bundled product is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundledProductsModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"parameters":[{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=prices (to include bundled product prices). Available includes: prices","examples":{"prices":{"value":"prices","summary":"include prices"}},"schema":{"type":"string"}}],"tags":["Product Bundled Products"]},"delete":{"operationId":"deleteProductsBundledProduct","summary":"Delete a bundled product.","description":"Deletes a bundled product permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Bundled Products"]},"put":{"operationId":"putProductsBundledProduct","summary":"Update a bundled product.","description":"Updates a bundled product. Retrieves the updated `BundledProduct` object","responses":{"200":{"description":"The updated bundled product is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundledProductsModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Bundled product data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundledProductsModel"}}}},"tags":["Product Bundled Products"]},"patch":{"operationId":"patchProductsBundledProduct","summary":"Update a bundled product.","description":"Updates a bundled product. Retrieves the updated `BundledProduct` object","responses":{"200":{"description":"The updated bundled product is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundledProductsModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Bundled products data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/BundledProductsModel"}}}},"tags":["Product Bundled Products"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"bundledProductId","in":"path","required":true,"description":"The bundled products id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/products\/{productId}\/variants":{"summary":"Get a products variants or create a new variant","get":{"operationId":"listProductsVariants","summary":"List all product variants.","description":"Return a list of product variants.","parameters":[{"name":"page","in":"query","description":"The page of product variants to return","schema":{"type":"integer","minimum":1,"format":"int32"}},{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=prices (to include variants prices). Available includes: prices, attributeValues, attributeValues.attribute","examples":{"prices":{"value":"prices","summary":"include prices"},"attributeValues":{"value":"attributeValues","summary":"include attribute values"},"attributeValues.attribute":{"value":"attributeValues.attribute","summary":"include attribute values attribute"}},"schema":{"type":"string"}}],"responses":{"200":{"description":"An array of product variants","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Variants"]},"post":{"operationId":"createProductVariant","summary":"Create a product variant.","description":"Creates a product variant. Retrieves the created `ProductVariant` object","responses":{"201":{"description":"The created products variant is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product variant data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantRequestModel"}}}},"tags":["Product Variants"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/variants\/{variantId}":{"summary":"Get or manipulate a certain product variant","get":{"operationId":"getProductsVariant","summary":"Retrieve a product variant.","description":"Retrieves the `ProductVariant` object","responses":{"200":{"description":"A products variant is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"parameters":[{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=prices (to include variants prices). Available includes: prices,  attributeValues, attributeValues.attribute","examples":{"prices":{"value":"prices","summary":"include prices"},"attributeValues":{"value":"attributeValues","summary":"include attribute values"},"attributeValues.attribute":{"value":"attributeValues.attribute","summary":"include attribute values attribute"}},"schema":{"type":"string"}}],"tags":["Product Variants"]},"delete":{"operationId":"deleteProductsVariant","summary":"Delete a product variant.","description":"Deletes a product variant permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variants"]},"put":{"operationId":"putProductsVariant","summary":"Update a product variant.","description":"Updates a product variant. Retrieves the updated `ProductVariant` object","responses":{"200":{"description":"The updated products variant is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Products variant data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantPutRequestModel"}}}},"tags":["Product Variants"]},"patch":{"operationId":"patchProductsVariant","summary":"Update a product variant.","description":"Updates a product variant. Retrieves the updated `ProductVariant` object","responses":{"200":{"description":"The updated products variant is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Products variant data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantPatchRequestModel"}}}},"tags":["Product Variants"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"variantId","in":"path","required":true,"description":"The products variants id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/products\/{productId}\/vat-rates":{"summary":"Get a products country specific vat rates or create a new one","get":{"operationId":"listProductsVatRates","summary":"List all product vat rates","description":"Returns a list of product vat rates.","responses":{"200":{"description":"An array of product vat rates","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVatRateModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Vat Rates"]},"post":{"operationId":"createProductVatRate","summary":"Create a product vat rate","description":"Creates a product vat rate. Retrieves the create `ProductVatRate` object.","responses":{"201":{"description":"The created products vat rate is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVatRateModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product vat rate data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVatRateModel"}}}},"tags":["Product Vat Rates"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/vat-rates\/{countryCode}":{"summary":"Get or manipulate a certain country specific product vat rate","get":{"operationId":"getProductsVatRate","summary":"Retrieve a product vat rate","description":"Retrieves the `ProductVatRate` object.","responses":{"200":{"description":"A products vat rate is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVatRateModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Vat Rates"]},"delete":{"operationId":"deleteProductsVatRate","summary":"Delete a product vat rate","description":"Deletes the product vat rate permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Vat Rates"]},"put":{"operationId":"putProductsVatRate","summary":"Update a product vat rate","description":"Updates a product vat rate. Retrieves the update `ProductVatRate` object.","responses":{"200":{"description":"The updated products vat rate is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVatRateModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Products vat rate data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVatRateModel"}}}},"tags":["Product Vat Rates"]},"patch":{"operationId":"patchProductsVatRate","summary":"Update a product vat rate","description":"Updates a product vat rate. Retrieves the update `ProductVatRate` object.","responses":{"200":{"description":"The updated products vat rate is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVatRateModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Products vat rate data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVatRateModel"}}}},"tags":["Product Vat Rates"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"countryCode","in":"path","required":true,"description":"The country code for the vat rate to fetch\/manipulate","schema":{"type":"string","example":"se"}}]},"\/products\/{productId}\/media-files":{"summary":"Get a products media file links or create a new media file link","description":"Updates a product vat rate. Retrieves the update `ProductVatRate` object.","get":{"operationId":"listProductsMediaFileLinks","summary":"List all product media file links","description":"Returns a list of product media file links.","responses":{"200":{"description":"An array of product media file links","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Media File Links"]},"post":{"operationId":"createProductsMediaFileLink","summary":"Create a product media file link","description":"Creates a product media file link. \n                    Retrieves the create `ProductMediaFileLink` object.","responses":{"201":{"description":"The created products media file link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product media file link data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModel"}}}},"tags":["Product Media File Links"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/media-files\/{mediaFileId}":{"summary":"Get or manipulate a certain products media file link","get":{"operationId":"getProductsMediaFileLink","summary":"Retrieve a product media file link","description":"Retrieves the `ProductMediaFileLink` object.","responses":{"200":{"description":"A products media file link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Media File Links"]},"delete":{"operationId":"deleteProductsMediaFileLink","summary":"Delete a product media file link","description":"Deletes the product media file link permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Media File Links"]},"put":{"operationId":"putProductsMediaFileLink","summary":"Update a product media file link","description":"Updates a product media file link. \n                    Retrieves the update `ProductMediaFileLink` object.","responses":{"200":{"description":"The updated products media file link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product media file link data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModel"}}}},"tags":["Product Media File Links"]},"patch":{"operationId":"patchProductsMediaFileLink","summary":"Update a product media file link","description":"Updates a product media file link. \n                    Retrieves the update `ProductMediaFileLink` object.","responses":{"200":{"description":"The updated products media file link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product media file link data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModel"}}}},"tags":["Product Media File Links"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"mediaFileId","in":"path","required":true,"description":"The media file id of the link you want to fetch\/change","schema":{"type":"integer","minimum":1,"format":"int32","example":3}}]},"\/products\/{productId}\/languages":{"summary":"Get a products languages or create a new language","get":{"operationId":"listProductsLanguages","summary":"List all product languages","description":"Returns a list of product languages.","responses":{"200":{"description":"An array of product languages","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductLanguageModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Languages"]},"post":{"operationId":"createProductsLanguage","summary":"Create a product language","description":"Create a product language. Retrieves the created `ProductLanguage` object.","responses":{"201":{"description":"The created products language is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductLanguageModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product language data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductLanguageModel"}}}},"tags":["Product Languages"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/languages\/{langCode}":{"summary":"Get or manipulate a certain products language","get":{"operationId":"getProductsLanguage","summary":"Retrieve a product language","description":"Retrieves the `ProductLanguage` object.","responses":{"200":{"description":"A products language is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductLanguageModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Languages"]},"delete":{"operationId":"deleteProductsLanguage","summary":"Delete a product language","description":"Delete a product language permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Languages"]},"put":{"operationId":"putProductsLanguage","summary":"Update a product language","description":"Update a product language. Retrieves the update `ProductLanguage` object.","responses":{"200":{"description":"The updated products language is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductLanguageModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product language data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductLanguageModel"}}}},"tags":["Product Languages"]},"patch":{"operationId":"patchProductsLanguage","summary":"Update a product language","description":"Update a product language. Retrieves the update `ProductLanguage` object.","responses":{"200":{"description":"The updated products language is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductLanguageModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product language data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductLanguageModel"}}}},"tags":["Product Languages"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"langCode","in":"path","required":true,"description":"The language code you want to fetch\/change. Supported language codes are: sv, en, ar, no, da, fi, de, fr, es, et, lv, lt, it, nl, pl, pt, is","schema":{"type":"string","example":"sv"}}]},"\/products\/{productId}\/categories":{"summary":"Get a products category link or create a new link","get":{"operationId":"listProductsCategoryLinks","summary":"Retrieve all product category links","description":"Returns a list of product category links.","responses":{"200":{"description":"An array of product category links","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Category Links"]},"post":{"operationId":"createProductsCategoryLink","summary":"Create a product category link","description":"Retrieves the created `ProductCategoryLink` object","responses":{"201":{"description":"The created products category link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product category link data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModel"}}}},"tags":["Product Category Links"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/categories\/{categoryId}":{"summary":"Get or manipulate a certain products category link","get":{"operationId":"getProductsCategoryLink","summary":"Retrieve a product category link","description":"Retrieves the `ProductCategoryLink` object","responses":{"200":{"description":"A products category link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Category Links"]},"delete":{"operationId":"deleteProductsCategoryLink","summary":"Delete a product category link","description":"Delete a product category link permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Category Links"]},"put":{"operationId":"putProductsCategoryLink","summary":"Update a product category link","description":"Update a product category link. Retrieves the update `ProductCategoryLink` object.","responses":{"200":{"description":"The updated products category link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product category link data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModel"}}}},"tags":["Product Category Links"]},"patch":{"operationId":"patchProductsCategoryLink","summary":"Update a product category link","description":"Update a product category link. Retrieves the update `ProductCategoryLink` object.","responses":{"200":{"description":"The updated products category link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product category link data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModel"}}}},"tags":["Product Category Links"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"categoryId","in":"path","required":true,"description":"The category id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/products\/{productId}\/meta-data":{"summary":"Get a products meta data or create a new one","get":{"operationId":"listProductsMetaData","summary":"List all product meta data","description":"Returns a list of product meta data.","responses":{"200":{"description":"An array of product meta data","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Meta Data"]},"post":{"operationId":"createProductsMetaData","summary":"Create a product meta data","description":"Deprecated: use the [putProductsMetaData](#operation\/putProductsMetaData) operation to create a new product meta data for the `metaDataTypeId` instead. Creates a product meta data. Retrieves the created `ProductMetaData` object.","responses":{"201":{"description":"The created products meta data is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product meta data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataModelUpdatable"}}}},"deprecated":true,"tags":["Product Meta Data"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/meta-data\/{metaDataTypeId}":{"summary":"Get or manipulate a certain products meta data","get":{"operationId":"getProductsMetaData","summary":"Retrieve a product meta data","description":"Retrieves the `ProductMetaData` object.","responses":{"200":{"description":"A products meta data is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Meta Data"]},"delete":{"operationId":"deleteProductsMetaData","summary":"Delete a product meta data","description":"Deletes a product meta data permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Meta Data"]},"put":{"operationId":"putProductsMetaData","summary":"Update a product meta data","description":"Updates a product meta data if it exists or creates a new product meta data for the given `metaDataTypeId` if it does not exist. Retrieves the update `ProductMetaData` object.","responses":{"200":{"description":"The updated products meta data is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product meta data data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataModelUpdatable"}}}},"tags":["Product Meta Data"]},"patch":{"operationId":"patchProductsMetaData","summary":"Update a product meta data","description":"Updates a product meta data. Retrieves the update `ProductMetaData` object.","responses":{"200":{"description":"The updated products meta data is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product meta data data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductMetaDataModelUpdatable"}}}},"tags":["Product Meta Data"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"metaDataTypeId","in":"path","required":true,"description":"The meta data type id","schema":{"type":"integer","minimum":1,"format":"int32","example":9}}]},"\/products\/{productId}\/attributes":{"summary":"Get a products attributes","get":{"operationId":"listProductsAttributes","summary":"List all product attributes","description":"Returns a list of product attributes.","responses":{"200":{"description":"An array of the products attributes","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModelCollection"}}}},"404":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Attributes"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/attributes\/{attributeId}":{"summary":"Get a certain attribute from a product","get":{"operationId":"getProductsAttribute","summary":"Retrieve a product attribute","description":"Retrieves the `ProductAttribute` object.","responses":{"200":{"description":"A products attribute is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Attributes"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"attributeId","in":"path","required":true,"description":"The attribute id you want to fetch.","schema":{"type":"integer","example":1}}]},"\/products\/{productId}\/variants\/{variantId}\/prices":{"summary":"Get a pricelist price or create a new","get":{"operationId":"listProductsVariantsPricelistPrices","summary":"List all product variant pricelist prices.","description":"Returns a list of product variant pricelist prices","responses":{"200":{"description":"An array of pricelist prices","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantPriceModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Variant Pricelist Prices"]},"post":{"operationId":"createProductVariantPricelistPrice","summary":"Create a product variant pricelist prices.","description":"Creates a product variant pricelist price. \n                    Retrieves the created `ProductVariantPricelistPrice` object","responses":{"201":{"description":"The created pricelist price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantPriceModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Pricelist price data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantPriceModel"}}}},"tags":["Product Variant Pricelist Prices"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"variantId","in":"path","required":true,"description":"The products variants id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=volumePrices (to include variants volume prices). Available includes: volumePrices","examples":{"volumePrices":{"value":"volumePrices","summary":"include volume prices"}},"schema":{"type":"string"}}]},"\/products\/{productId}\/variants\/{variantId}\/prices\/{pricelistId}":{"summary":"Get or manipulate a certain pricelist price","get":{"operationId":"getProductsVariantsPricelistPrice","summary":"Retrieves a product variant pricelist price.","description":"Retrieves the `ProductVariantPricelistPrice` object","responses":{"200":{"description":"A pricelist price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantPriceModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Pricelist Prices"]},"delete":{"operationId":"deleteProductsVariantsPricelistPrice","summary":"Delete a product variant pricelist prices.","description":"Deletes a product variant pricelist price permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Pricelist Prices"]},"put":{"operationId":"putProductsVariantsPricelistPrice","summary":"Update a product variant pricelist prices.","description":"Updates a product variant pricelist price. \n                    Retrieves the updated `ProductVariantPricelistPrice` object","responses":{"200":{"description":"The updated pricelist price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantPriceModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Pricelist price data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantPriceModel"}}}},"tags":["Product Variant Pricelist Prices"]},"patch":{"operationId":"patchProductsVariantsPricelistPrice","summary":"Update a product variant pricelist prices.","description":"Updates a product variant pricelist price. \n                    Retrieves the updated `ProductVariantPricelistPrice` object","responses":{"200":{"description":"The updated pricelist price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantPriceModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Pricelist price data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantPriceModel"}}}},"tags":["Product Variant Pricelist Prices"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"variantId","in":"path","required":true,"description":"The products variants id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"pricelistId","in":"path","required":true,"description":"The pricelist id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"include","in":"query","style":"form","explode":false,"description":"If you want to include child data in the result. Example: ?include=volumePrices (to include variants volume prices). Available includes: volumePrices","examples":{"volumePrices":{"value":"volumePrices","summary":"include volume prices"}},"schema":{"type":"string"}}]},"\/products\/{productId}\/bundled-products\/{bundledProductId}\/prices":{"summary":"Get a pricelist price or create a new","get":{"operationId":"listProductBundledProductsPricelistPrices","summary":"List all bundled products pricelist prices.","description":"Returns a list of bundled product pricelist prices","responses":{"200":{"description":"An array of pricelist prices","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Bundled Products Pricelist Prices"]},"post":{"operationId":"createProductBundleProductPricelistPrice","summary":"Create a bundled product pricelist prices.","description":"Creates a bundled product pricelist price. \n                    Retrieves the created `ProductBundleProductPricelistPrice` object","responses":{"201":{"description":"The created pricelist price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Pricelist price data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModel"}}}},"tags":["Product Bundled Products Pricelist Prices"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"bundledProductId","in":"path","required":true,"description":"The bundled products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/bundled-products\/{bundledProductId}\/prices\/{pricelistId}":{"summary":"Get or manipulate a certain pricelist price","get":{"operationId":"getProductBundledProductsPricelistPrice","summary":"Retrieves a bundled product pricelist price.","description":"Retrieves the `ProductBundleProductPricelistPrice` object","responses":{"200":{"description":"A pricelist price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Bundled Products Pricelist Prices"]},"delete":{"operationId":"deleteProductBundledProductsPricelistPrice","summary":"Delete a bundled product pricelist prices.","description":"Deletes a bundled product pricelist price permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Bundled Products Pricelist Prices"]},"put":{"operationId":"putProductBundledProductsPricelistPrice","summary":"Update a bundled product pricelist prices.","description":"Updates a bundled product pricelist price. \n                    Retrieves the updated `ProductBundleProductPricelistPrice` object","responses":{"200":{"description":"The updated pricelist price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Pricelist price data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModel"}}}},"tags":["Product Bundled Products Pricelist Prices"]},"patch":{"operationId":"patchProductBundledProductsPricelistPrice","summary":"Update a bundled product pricelist prices.","description":"Updates a bundled product pricelist price. \n                    Retrieves the updated `ProductBundleProductPricelistPrice` object","responses":{"200":{"description":"The updated pricelist price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Pricelist price data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModel"}}}},"tags":["Product Bundled Products Pricelist Prices"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"bundledProductId","in":"path","required":true,"description":"The bundled products id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"pricelistId","in":"path","required":true,"description":"The pricelist id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/products\/{productId}\/tags":{"summary":"Get a product tag option link or create a new link","description":"You can assign a tag to the product by creating a relation between the product  and a tag option.","get":{"operationId":"listProductTagLinks","summary":"Retrieve all product tag links","description":"Returns a list of product tag links.","responses":{"200":{"description":"An array of product tag links","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagLinkModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Tag Links"]},"post":{"operationId":"createProductTagLink","summary":"Create a product tag link","description":"Create a product tag link by submitting the tagOptionId. Retrieves the created `ProductTagLink` object","responses":{"201":{"description":"The created products tag link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagLinkModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product tag link data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagLinkPostRequestModel"}}}},"tags":["Product Tag Links"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/tags\/{tagOptionId}":{"summary":"Get or delete a certain product tag link","get":{"operationId":"getProductTagLink","summary":"Retrieve a product tag link","description":"Retrieves the `ProductTagLink` object","responses":{"200":{"description":"A products tag link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductTagLinkModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Tag Links"]},"delete":{"operationId":"deleteProductTagLink","summary":"Delete a product tag link","description":"Delete a product tag link permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Tag Links"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"tagOptionId","in":"path","required":true,"description":"The id of the tag option","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/products\/{productId}\/variants\/{variantId}\/prices\/{pricelistId}\/volume":{"summary":"Get a pricelist volume price or create a new","get":{"operationId":"listProductsVariantsPricelistVolumePrices","summary":"List all of the variants pricelist volume prices.","description":"Returns a list of the variants pricelist volume prices","responses":{"200":{"description":"An array of volume pricelist prices","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Variant Pricelist Volume Prices"]},"post":{"operationId":"createProductVariantPricelistVolumePrice","summary":"Create a variant volume pricelist price.","description":"Creates a variant volume pricelist price. \n                    Retrieves the created `ProductVariantPricelistVolumePrice` object","responses":{"201":{"description":"The created pricelist volume price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Pricelist volume price data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceModel"}}}},"tags":["Product Variant Pricelist Volume Prices"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"variantId","in":"path","required":true,"description":"The products variants id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"pricelistId","in":"path","required":true,"description":"The pricelist id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/products\/{productId}\/variants\/{variantId}\/prices\/{pricelistId}\/volume\/{quantity}":{"summary":"Get or manipulate a certain pricelist volume price","get":{"operationId":"getProductsVariantsPricelistVolumePrice","summary":"Retrieves a product variant pricelist volume price.","description":"Retrieves the `ProductVariantPricelistVolumePrice` object","responses":{"200":{"description":"A pricelist volume price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Pricelist Volume Prices"]},"delete":{"operationId":"deleteProductsVariantsPricelistVolumePrice","summary":"Delete a product variant pricelist volume price.","description":"Deletes a product variant pricelist volume price permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Pricelist Volume Prices"]},"put":{"operationId":"putProductsVariantsPricelistVolumePrice","summary":"Update a product variant pricelist volume price.","description":"Updates a product variant pricelist volume price. \n                    Retrieves the updated `ProductVariantPricelistVolumePrice` object","responses":{"200":{"description":"The updated pricelist volume price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Pricelist volume price data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceModel"}}}},"tags":["Product Variant Pricelist Volume Prices"]},"patch":{"operationId":"patchProductsVariantsPricelistVolumePrice","summary":"Update a product variant pricelist volume price.","description":"Updates a product variant pricelist volume price. \n                    Retrieves the updated `ProductVariantPricelistVolumePrice` object","responses":{"200":{"description":"The updated pricelist volume price is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Pricelist volume price data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceModel"}}}},"tags":["Product Variant Pricelist Volume Prices"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"variantId","in":"path","required":true,"description":"The products variants id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"pricelistId","in":"path","required":true,"description":"The pricelist id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"quantity","in":"path","required":true,"description":"The volume quantity","schema":{"type":"integer","minimum":2,"format":"int32","example":10}}]},"\/products\/{productId}\/variants\/{variantId}\/stocks":{"summary":"Get a collection of product variant stocks for stock locations or create a new one","get":{"operationId":"listProductsVariantsStocks","summary":"List all stocks for a product variant","description":"Returns a list of product variant stocks for stock locations","responses":{"200":{"description":"An array of stocks","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantStockModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Variant Stocks"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The products id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}},{"name":"variantId","in":"path","required":true,"description":"The products variants id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]},"\/products\/{productId}\/variants\/{variantId}\/stocks\/{stockLocationId}":{"summary":"Get or manipulate a certain stock","get":{"operationId":"getProductVariantStock","summary":"Retrieves a product variant stock","description":"Retrieves the `ProductVariantStock` object","responses":{"200":{"description":"A stock is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantStockModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Stocks"]},"delete":{"operationId":"deleteProductVariantStocks","summary":"Delete a product variant stock","description":"Deletes a product variant stock permanently.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Stocks"]},"put":{"operationId":"putProductVariantStock","summary":"Update or create product variant stock","description":"Update or set the stock for a product variant at a stock location. \n                    Retrieves the updated `ProductVariantStock` object","responses":{"200":{"description":"The updated stock is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantStockModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Stock data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantStockPutRequestModel"}}}},"tags":["Product Variant Stocks"]},"patch":{"operationId":"patchProductVariantStock","summary":"Update a product variant stock","description":"Update the stock for a product variant at a stock location. \n                    Retrieves the updated `ProductVariantStock` object","responses":{"200":{"description":"The updated stock is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantStockModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Stock data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantStockPatchRequestModel"}}}},"tags":["Product Variant Stocks"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"variantId","in":"path","required":true,"description":"The products variants id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"stockLocationId","in":"path","required":true,"description":"The stock location id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/products\/{productId}\/variants\/{variantId}\/languages":{"summary":"List or create product variant languages.","description":"Retrieves a list of product variant languages or creates a new one for a specific product variant.","get":{"operationId":"listProductVariantLanguages","summary":"List product variant languages.","description":"Retrieves a list of product variant languages for a specific product variant.","responses":{"200":{"description":"A list of product variant languages is returned.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantLanguageModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Variant Languages"]},"post":{"operationId":"createProductVariantLanguage","summary":"Create a product variant language.","description":"Creates a new product variant language for a specific product variant.","responses":{"201":{"description":"A new product variant language is created.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantLanguageModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product variant language data.","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantLanguageModel"}}}},"tags":["Product Variant Languages"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product identifier.","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"variantId","in":"path","required":true,"description":"The product variant identifier.","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/products\/{productId}\/variants\/{variantId}\/languages\/{langCode}":{"summary":"Retrieve, update or delete a product variant language,","description":"Retrieves, updates, or deletes a specific product variant language by its `langCode`.","get":{"operationId":"getProductVariantLanguage","summary":"Retrieve a product variant language.","description":"Retrieves a specific product variant language by its `langCode`.","responses":{"200":{"description":"The product variant language is returned.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantLanguageModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Languages"]},"put":{"operationId":"putProductVariantLanguage","summary":"Update a product variant language.","description":"Update a product variant language and retrieve the updated object.","responses":{"200":{"description":"The updated product variant language is returned.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantLanguageModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product variant language data.","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantLanguageModel"}}}},"tags":["Product Variant Languages"]},"patch":{"operationId":"patchProductVariantLanguage","summary":"Partially update a product variant language.","description":"Partially update a product variant language and retrieve the updated object.","responses":{"200":{"description":"The updated product variant language is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantLanguageModel"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product variant language data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantLanguageModel"}}}},"tags":["Product Variant Languages"]},"delete":{"operationId":"deleteProductVariantLanguage","summary":"Delete a product variant language.","description":"Deletes a specific product variant language by its `langCode`.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Languages"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product identifier.","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"variantId","in":"path","required":true,"description":"The product variant identifier.","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"langCode","in":"path","required":true,"description":"The language code identifier for the product variant language. Supported language codes are: sv, en, ar, no, da, fi, de, fr, es, et, lv, lt, it, nl, pl, pt, is","schema":{"type":"string","example":"sv"}}]},"\/products\/{productId}\/variants\/{variantId}\/images":{"summary":"List or create product variant image links.","description":"Retrieves a list of product variant image links, or creates a new product variant image link.","get":{"operationId":"listProductVariantImages","summary":"List product variant image links.","description":"Retrieves a list of product variant image links for a specific product variant.","responses":{"200":{"description":"A list of product variant image links is returned.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantImageModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Product Variant Images"]},"post":{"operationId":"createProductVariantImage","summary":"Create a product variant image link.","description":"Creates a new product variant image link for a specific product variant.","responses":{"201":{"description":"A new product variant image link is created.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantImageModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Product variant image link data.","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantImageModel"}}}},"tags":["Product Variant Images"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product identifier.","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"variantId","in":"path","required":true,"description":"The product variant identifier.","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/products\/{productId}\/variants\/{variantId}\/images\/{variantImageId}":{"summary":"Retrieve, update or delete a product variant image link","description":"Retrieves, updates, or deletes a specific product variant image link by its ID.","get":{"operationId":"getProductVariantImage","summary":"Retrieve a product variant image link.","description":"Retrieves a specific product variant image link by its ID.","responses":{"200":{"description":"The product variant image link is returned.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantImageModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Images"]},"put":{"operationId":"putProductVariantImage","summary":"Update a product variant image link.","description":"Update a product variant image link and retrieve the updated object.","responses":{"200":{"description":"The updated product variant image link is returned.","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantImageModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product variant image link data.","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantImageModel"}}}},"tags":["Product Variant Images"]},"patch":{"operationId":"patchProductVariantImage","summary":"Partially update a product variant image link.","description":"Partially update a product variant image link and retrieve the updated object.","responses":{"200":{"description":"The updated product variant image link is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantImageModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Product variant image link data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ProductVariantImageModel"}}}},"tags":["Product Variant Images"]},"delete":{"operationId":"deleteProductVariantImage","summary":"Delete a product variant image link.","description":"Deletes a specific product variant image link by its ID.","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Product Variant Images"]},"parameters":[{"name":"productId","in":"path","required":true,"description":"The product identifier.","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"variantId","in":"path","required":true,"description":"The product variant identifier.","schema":{"type":"integer","minimum":1,"format":"int32","example":1}},{"name":"variantImageId","in":"path","required":true,"description":"The variant image link identifier.","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/shipping-methods":{"summary":"Get shipping methods collection","get":{"operationId":"getShippingMethods","summary":"List all shipping methods","description":"Returns a list of shipping methods.","responses":{"200":{"description":"An collection of shipping methods","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ShippingMethodModelCollection"}}}}},"tags":["Shipping Methods"]}},"\/shipping-methods\/{shippingMethodId}":{"summary":"Get a shipping method","get":{"operationId":"getShippingMethod","summary":"Retrieve a shipping method","description":"Retrieves a `ShippingMethid` object","responses":{"200":{"description":"A shipping method","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ShippingMethodModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Shipping Methods"]},"parameters":[{"name":"shippingMethodId","in":"path","required":true,"description":"The shipping method id","schema":{"type":"integer","minimum":1,"format":"int32"}}]},"\/shipping-tracking-types":{"summary":"Get shipping tracking types","get":{"operationId":"getShippingTrackingTypes","summary":"List all shipping tracking types","description":"Returns a list of shippoing tracking types.","responses":{"200":{"description":"An array of shipping tracking types","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ShippingTrackingTypeModelCollection"}}}}},"tags":["Shipping Tracking Types"]}},"\/shop":{"summary":"Get shop details","get":{"operationId":"getShop","summary":"Retrieve the shop","description":"Retrieves the `Shop` object.","responses":{"200":{"description":"A shop","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ShopItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Shop"]}},"\/stock-locations":{"summary":"Get stock locations or create a new one","get":{"operationId":"listStockLocations","summary":"List all stock locations","description":"Returns a list of stock locations","responses":{"200":{"description":"An array of stock locations","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockLocationModelCollection"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"tags":["Stock Locations"]},"post":{"operationId":"createStockLocation","summary":"Create a stock location","description":"Create a stock location. Retrieves the created `StockLocation` object","responses":{"201":{"description":"The created stock location is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockLocationModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"403":{"$ref":"#\/components\/responses\/Forbidden"}},"requestBody":{"description":"Stock location data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockLocationPostRequestModel"}}}},"tags":["Stock Locations"]}},"\/stock-locations\/{stockLocationId}":{"summary":"Get or manipulate a certain stock location","get":{"operationId":"getStockLocation","summary":"Retrieve a stock location","description":"Retrieves a `StockLocation` object","responses":{"200":{"description":"A stock location is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockLocationModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Stock Locations"]},"delete":{"operationId":"deleteStockLocation","summary":"Delete a stock location","description":"Delete a stock location permanently","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Stock Locations"]},"put":{"operationId":"putStockLocation","summary":"Update a stock location","description":"Update a stock location. Retrieves the updated `StockLocation` object","responses":{"200":{"description":"The updated stock location is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockLocationModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Stock location data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockLocationPutRequestModel"}}}},"tags":["Stock Locations"]},"patch":{"operationId":"patchStockLocation","summary":"Partially update a stock location","description":"Update a stock location partially. Retrieves the updated `StockLocation` object","responses":{"200":{"description":"The updated stock location is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockLocationModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"403":{"$ref":"#\/components\/responses\/Forbidden"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Stock location data","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/StockLocationPatchRequestModel"}}}},"tags":["Stock Locations"]},"parameters":[{"name":"stockLocationId","in":"path","required":true,"description":"The stock location id","schema":{"type":"integer","minimum":1,"format":"int32","example":1}}]},"\/web-hooks":{"summary":"Get or create web hooks","get":{"summary":"Get web hooks","operationId":"getWebHooks","parameters":[{"name":"sortBy","in":"query","description":"Sort the result using a specified field. webHookId is default. Valid options are: webHookId","example":"webHookId","schema":{"type":"string","enum":["webHookId"]}},{"name":"sortOrder","in":"query","description":"ASC for an ascending sort order; or DESC for a descending sort order. ASC is default","example":"ASC","schema":{"type":"string","enum":["ASC","DESC"]}}],"responses":{"200":{"description":"An array of web hooks","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebHookModelCollection"}}}}},"tags":["Web Hooks"]},"post":{"summary":"Create a web hook","operationId":"createWebHook","responses":{"201":{"description":"The created web hook is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebHookModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"}},"requestBody":{"description":"Web hook data\n---\nPlease note that you should always use HTTPS when adding Webhooks in order to ensure security.\n\n\n\n\nAlso, there is no way to validate that the request originate from Starweb, so it is important that you always validate\nthese event with an API call. For example, if you receive a Webhook event regarding an order status update,\nvalidate this and retrieve the actual data of that order using a GET to `\/api\/v2\/orders\/{order-id}`\n\n\n\n\nAll Webhook events will retry up to 10 times or until they get a 20x response. If they don't get a 20x response they\nwill retry again after 30 min.\n\n---\n\nAll webhooks will POST to the URL and contain a JSON payload with the following fields:\n---\n- uuid (a UUID of this event, will be the same even if the event is resent due to none 20x response)\n- eventId\n- shopIdCode\n- eventTimestamp\n\nAdditional fields depend on the event:\n---\n**product created \/ updated \/ deleted:**\n- productId\n\n**order created \/ updated \/ status-changed:**\n- orderId\n- shippingMethodId\n- paymentMethodId\n- orderStatusId\n- orderStatusIdCode\n- totalAmount\n- currencyCode","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebHookModel"}}}},"tags":["Web Hooks"]}},"\/web-hooks\/{webHookId}":{"summary":"Get or manipulate a certain web hook","get":{"summary":"Get specified web hook","operationId":"getWebHook","responses":{"200":{"description":"An web hook is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebHookModelItem"}}}},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Web Hooks"]},"delete":{"summary":"Delete specified web hook","operationId":"deleteWebHook","responses":{"204":{"$ref":"#\/components\/responses\/ItemDeleted"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"tags":["Web Hooks"]},"put":{"summary":"Update specified web hook","operationId":"putWebHook","responses":{"200":{"description":"The updated web hook is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebHookModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Web hook data\n---\nPlease note that you should always use HTTPS when adding Webhooks in order to ensure security.\n\n\n\n\nAlso, there is no way to validate that the request originate from Starweb, so it is important that you always validate\nthese event with an API call. For example, if you receive a Webhook event regarding an order status update,\nvalidate this and retrieve the actual data of that order using a GET to `\/api\/v2\/orders\/{order-id}`\n\n\n\n\nAll Webhook events will retry up to 10 times or until they get a 20x response. If they don't get a 20x response they\nwill retry again after 30 min.\n\n---\n\nAll webhooks will POST to the URL and contain a JSON payload with the following fields:\n---\n- uuid (a UUID of this event, will be the same even if the event is resent due to none 20x response)\n- eventId\n- shopIdCode\n- eventTimestamp\n\nAdditional fields depend on the event:\n---\n**product created \/ updated \/ deleted:**\n- productId\n\n**order created \/ updated \/ status-changed:**\n- orderId\n- shippingMethodId\n- paymentMethodId\n- orderStatusId\n- orderStatusIdCode\n- totalAmount\n- currencyCode","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebHookModel"}}}},"tags":["Web Hooks"]},"patch":{"summary":"Update specified web hook","operationId":"patchWebHook","responses":{"200":{"description":"The updated web hook is returned","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebHookModelItem"}}}},"400":{"$ref":"#\/components\/responses\/BadRequest"},"404":{"$ref":"#\/components\/responses\/NotFound"}},"requestBody":{"description":"Web hook data\n---\nPlease note that you should always use HTTPS when adding Webhooks in order to ensure security.\n\n\n\n\nAlso, there is no way to validate that the request originate from Starweb, so it is important that you always validate\nthese event with an API call. For example, if you receive a Webhook event regarding an order status update,\nvalidate this and retrieve the actual data of that order using a GET to `\/api\/v2\/orders\/{order-id}`\n\n\n\n\nAll Webhook events will retry up to 10 times or until they get a 20x response. If they don't get a 20x response they\nwill retry again after 30 min.\n\n---\n\nAll webhooks will POST to the URL and contain a JSON payload with the following fields:\n---\n- uuid (a UUID of this event, will be the same even if the event is resent due to none 20x response)\n- eventId\n- shopIdCode\n- eventTimestamp\n\nAdditional fields depend on the event:\n---\n**product created \/ updated \/ deleted:**\n- productId\n\n**order created \/ updated \/ status-changed:**\n- orderId\n- shippingMethodId\n- paymentMethodId\n- orderStatusId\n- orderStatusIdCode\n- totalAmount\n- currencyCode","required":true,"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/WebHookModel"}}}},"tags":["Web Hooks"]},"parameters":[{"name":"webHookId","in":"path","required":true,"description":"The web hook id","schema":{"type":"integer","minimum":1,"format":"int32","example":101}}]}},"security":[{"oauth2":[]}],"components":{"schemas":{"ErrorModel":{"type":"object","properties":{"error":{"type":"string","description":"An error code for this type of error","readOnly":true,"example":"error_code"},"error_description":{"type":"string","description":"A human readable description of the error","readOnly":true,"example":"Something went wrong"}}},"PaginationModel":{"type":"object","properties":{"current_page":{"type":"integer","description":"The current requested page","readOnly":true,"example":1},"per_page":{"type":"integer","description":"Number of items per page","readOnly":true,"example":100},"total":{"type":"integer","description":"The total number of items","readOnly":true,"example":150},"count":{"type":"integer","description":"Number of items on this page","readOnly":true,"example":100},"total_pages":{"type":"integer","description":"Number of items on this page","readOnly":true,"example":2}}},"OrderModel":{"type":"object","properties":{"orderId":{"type":"integer","description":"The orders ID","readOnly":true,"example":101},"modifiedAt":{"type":"string","description":"A timestamp of when the order was modified. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00","readOnly":true},"paymentMethodExternalId":{"type":"string","description":"An external id of the payment method","example":"Some-external-id","readOnly":true},"shippingMethodExternalId":{"type":"string","description":"An external id of the shipping method","example":"Some-external-id","readOnly":true},"baseCurrencyCode":{"type":"string","description":"The shops base currency code at the point of order creation","readOnly":true,"example":"SEK"},"shopCountryCode":{"type":"string","description":"The shops country code at the point of order creation","readOnly":true,"example":"SE"},"totalAmount":{"type":"number","description":"The total order amount","readOnly":true,"example":622.4},"totalVat":{"type":"number","description":"The total order VAT amount","readOnly":true,"example":155.6},"amountToPay":{"type":"number","description":"The total order amount to pay","readOnly":true,"example":778},"totalAmountInBaseCurrency":{"type":"number","description":"The total order amount, in the shops base currency","readOnly":true,"example":778},"totalVatInBaseCurrency":{"type":"number","description":"The total VAT amount, in the shops base currency","readOnly":true,"example":115.6},"amountToPayInBaseCurrency":{"type":"number","description":"The total amount to pay, in the shops base currency","readOnly":true,"example":778},"createdAt":{"type":"string","description":"A timestamp of when the order was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00"},"customerId":{"type":"integer","description":"The ID of the orders customer","example":101},"statusId":{"type":"integer","description":"The ID of the orders status","example":1},"onOrderStatusChangeSendEmail":{"type":"boolean","description":"Set this to false to prevent sending email to customer on changes to statusId and new orders for a single call","example":false,"writeOnly":true,"default":true},"onOrderStatusChangeProcessPayment":{"type":"boolean","description":"Set this to false to prevent processing payment on changes to statusId. Only applies to payment methods that support processing payments. For example charging a reserved amount or cancel a created invoice","writeOnly":true,"example":false,"default":true},"sendEmailsOnStatusChange":{"type":"boolean","description":"Set this to false to prevent sending email to customer on changes to statusId and new orders for this and all future calls","example":false,"default":true},"shippingMethodId":{"type":"integer","description":"The ID of the orders shipping method","example":1},"paymentMethodId":{"type":"integer","description":"The ID of the orders payment method","example":1},"paymentMethodIdCode":{"type":"string","description":"The ID code of the payment method.","readOnly":true,"example":"custom"},"paymentMethodName":{"type":"string","description":"Title of the orders payment method","maxLength":50,"example":"Bankgiro"},"paymentFee":{"type":"number","description":"Payment fee","minimum":0,"example":23.2},"paymentVatRate":{"type":"number","description":"The VAT rate of the paymentFee in percent","example":25},"shippingMethodName":{"type":"string","description":"Title of the orders shipping method","maxLength":255,"example":"UPS International"},"shippingCost":{"type":"number","description":"Shipping cost","minimum":0,"example":23.2},"shippingVatRate":{"type":"number","description":"The VAT rate of the shippingCost in percent","example":25},"totalWeight":{"type":"number","description":"The total weight of the order in kg. This field is a calculated summary of all order items","readOnly":true,"example":0.9},"customInfo1":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"customInfo2":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"customInfo3":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"customInfo4":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"discountCode":{"type":"string","description":"The code ID of a discount code that was used for this order","maxLength":20},"amountPaid":{"type":"number","description":"The amount paid via the payment method for this order","example":778},"amountPaidInBaseCurrency":{"type":"number","description":"Same as amountPaid, but in the shops base currency","readOnly":true,"example":778},"amountPaidVouchers":{"type":"number","description":"The total amount paid via gift vouchers for this order","readOnly":true,"example":100},"vouchers":{"type":"array","description":"Applied gift vouchers for this order","readOnly":true,"items":{"type":"object","properties":{"code":{"type":"string","description":"The voucher code","example":"SUMMER2024"},"appliedAmount":{"type":"number","description":"The amount deducted by this voucher","example":100},"reservationId":{"type":"integer","description":"The Bex reservation ID for this voucher","example":16846836}}}},"isComplete":{"type":"boolean","description":"Is the order completed (that is, is it completely saved and has the payment method processed and confirmed it)","example":true},"currencyCode":{"type":"string","description":"The currency code of the currency that was used for this order. Has to be a valid ISO 4217 currency code","minLength":3,"maxLength":3,"example":"SEK"},"currencyExchangeRate":{"type":"number","description":"The exchange rate between this orders currency and the shops base currency. Ff, for example, the shop base currency is SEK and this order was placed in NOK, where 1 SEK = 0.97 NOK - this value would be 0.97","example":0.97},"currencyPrecision":{"type":"integer","description":"The number of decimals to display","example":2},"langCode":{"type":"string","description":"Language Code (ISO 639-1) used for placing this order. Has to be a valid lang code that the shop has setup. Used for order update emails, etc. ","minLength":2,"maxLength":2,"example":"sv"},"paymentReference":{"type":"string","description":"Reference to the payment methods payment transaction","maxLength":80},"paymentStatus":{"type":"string","description":"Status of the payment methods payment transaction","maxLength":20,"example":"reserved"},"isRead":{"type":"boolean","description":"An order is read when an administrator has read it via the admin GUI"},"hasComments":{"type":"boolean","description":"Whether the customer or an admin has added a comment to the order","readOnly":true},"internalComment":{"type":"string","description":"An internal comment placed by an administrator. Not available to the customer","example":"Lorem ipsum..."},"shippingTrackerType":{"type":"integer","description":"The ID of the tracking number type. Types are available via: GET \/shipping-tracker-types","example":1},"shippingTrackingNo":{"type":"string","description":"The shipping tracking number. Has to be in the format that is used for the chosen tracking type (please contact the freight forwarder regarding this).","maxLength":50},"stockLocationId":{"type":"integer","description":"The ID of the orders stock location","example":23},"originalCustomerEmail":{"type":"string","description":"The email address of the customer at the point of order creation","example":"john.doe@example.net"},"originalCustomerNationalIdNo":{"type":"string","description":"The national id number of the customer at the point of order creation"},"originalCustomerVatNo":{"type":"string","description":"The VAT number of the customer at the point of order creation"},"originalCustomerType":{"type":"string","description":"The type of the customer at the point of order creation. Either: \u201dperson\u201d or \u201dcompany\u201d","example":"person"},"originalCustomerCustomInfo1":{"type":"string","description":"Custom customer info at the point of order creation"},"originalCustomerCustomInfo2":{"type":"string","description":"Custom customer info at the point of order creation"},"items":{"$ref":"#\/components\/schemas\/OrderItemModelCollection"},"addresses":{"$ref":"#\/components\/schemas\/OrderAddressCollection"},"externalServices":{"$ref":"#\/components\/schemas\/OrderExternalServiceModelCollection"},"customer":{"$ref":"#\/components\/schemas\/CustomerModelItem"},"status":{"$ref":"#\/components\/schemas\/OrderStatusModelItem"}}},"OrderPutModel":{"type":"object","properties":{"orderId":{"type":"integer","description":"The orders ID","readOnly":true,"example":101},"modifiedAt":{"type":"string","description":"A timestamp of when the order was modified. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00","readOnly":true},"baseCurrencyCode":{"type":"string","description":"The shops base currency code at the point of order creation","readOnly":true,"example":"SEK"},"shopCountryCode":{"type":"string","description":"The shops country code at the point of order creation","readOnly":true,"example":"SE"},"totalAmount":{"type":"number","description":"The total order amount","readOnly":true,"example":622.4},"totalVat":{"type":"number","description":"The total order VAT amount","readOnly":true,"example":155.6},"amountToPay":{"type":"number","description":"The total order amount to pay","readOnly":true,"example":778},"totalAmountInBaseCurrency":{"type":"number","description":"The total order amount, in the shops base currency","readOnly":true,"example":778},"totalVatInBaseCurrency":{"type":"number","description":"The total VAT amount, in the shops base currency","readOnly":true,"example":115.6},"amountToPayInBaseCurrency":{"type":"number","description":"The total amount to pay, in the shops base currency","readOnly":true,"example":778},"createdAt":{"type":"string","description":"A timestamp of when the order was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00"},"customerId":{"type":"integer","description":"The ID of the orders customer","example":101},"statusId":{"type":"integer","description":"The ID of the orders status","example":1},"onOrderStatusChangeSendEmail":{"type":"boolean","description":"Set this to false to prevent sending email to customer on changes to statusId and new orders","example":false,"writeOnly":true,"default":true},"onOrderStatusChangeProcessPayment":{"type":"boolean","description":"Set this to false to prevent processing payment on changes to statusId. Only applies to payment methods that support processing payments. For example charging a reserved amount or cancel a created invoice","writeOnly":true,"example":false,"default":true},"shippingMethodId":{"type":"integer","description":"The ID of the orders shipping method","example":1},"paymentMethodId":{"type":"integer","description":"The ID of the orders payment method","example":1},"paymentMethodIdCode":{"type":"string","description":"The ID code of the payment method.","readOnly":true,"example":"custom"},"paymentMethodName":{"type":"string","description":"Title of the orders payment method","maxLength":50,"example":"Bankgiro"},"paymentFee":{"type":"number","description":"Payment fee","minimum":0,"example":23.2},"paymentVatRate":{"type":"number","description":"The VAT rate of the paymentFee in percent","example":25},"shippingMethodName":{"type":"string","description":"Title of the orders shipping method","maxLength":255,"example":"UPS International"},"shippingCost":{"type":"number","description":"Shipping cost","minimum":0,"example":23.2},"shippingVatRate":{"type":"number","description":"The VAT rate of the shippingCost in percent","example":25},"totalWeight":{"type":"number","description":"The total weight of the order in kg. This field is a calculated summary of all order items","readOnly":true,"example":0.9},"customInfo1":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"customInfo2":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"customInfo3":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"customInfo4":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"discountCode":{"type":"string","description":"The code ID of a discount code that was used for this order","maxLength":20},"amountPaid":{"type":"number","description":"The amount paid via the payment method for this order","example":778},"amountPaidInBaseCurrency":{"type":"number","description":"Same as amountPaid, but in the shops base currency","readOnly":true,"example":778},"amountPaidVouchers":{"type":"number","description":"The total amount paid via gift vouchers for this order","readOnly":true,"example":100},"vouchers":{"type":"array","description":"Applied gift vouchers for this order","readOnly":true,"items":{"type":"object","properties":{"code":{"type":"string","description":"The voucher code","example":"SUMMER2024"},"appliedAmount":{"type":"number","description":"The amount deducted by this voucher","example":100},"reservationId":{"type":"integer","description":"The Bex reservation ID for this voucher","example":16846836}}}},"isComplete":{"type":"boolean","description":"Is the order completed (that is, is it completely saved and has the payment method processed and confirmed it)","example":true},"currencyCode":{"type":"string","description":"The currency code of the currency that was used for this order. Has to be a valid ISO 4217 currency code","minLength":3,"maxLength":3,"example":"SEK"},"currencyExchangeRate":{"type":"number","description":"The exchange rate between this orders currency and the shops base currency. Ff, for example, the shop base currency is SEK and this order was placed in NOK, where 1 SEK = 0.97 NOK - this value would be 0.97","example":0.97},"currencyPrecision":{"type":"integer","description":"The number of decimals to display","example":2},"langCode":{"type":"string","description":"Language Code (ISO 639-1) used for placing this order. Has to be a valid lang code that the shop has setup. Used for order update emails, etc.","minLength":2,"maxLength":2,"example":"sv"},"paymentReference":{"type":"string","description":"Reference to the payment methods payment transaction","maxLength":80},"paymentStatus":{"type":"string","description":"Status of the payment methods payment transaction","maxLength":20,"example":"reserved"},"isRead":{"type":"boolean","description":"An order is read when an administrator has read it via the admin GUI"},"hasComment":{"type":"boolean","description":"Whether the customer or an admin has added a comment to the order","readOnly":true},"internalComment":{"type":"string","description":"An internal comment placed by an administrator. Not available to the customer","example":"Lorem ipsum..."},"shippingTrackerType":{"type":"integer","description":"The ID of the tracking number type. Types are available via: GET \/shipping-tracker-types","example":1},"shippingTrackingNo":{"type":"string","description":"The shipping tracking number. Has to be in the format that is used for the chosen tracking type (please contact the freight forwarder regarding this).","maxLength":50},"originalCustomerEmail":{"type":"string","description":"The email address of the customer at the point of order creation","example":"john.doe@example.net"},"originalCustomerNationalIdNo":{"type":"string","description":"The national id number of the customer at the point of order creation"},"originalCustomerVatNo":{"type":"string","description":"The VAT number of the customer at the point of order creation"},"originalCustomerType":{"type":"string","description":"The type of the customer at the point of order creationEither: \u201dperson\u201d or \u201dcompany\u201d","example":"person"},"originalCustomerCustomInfo1":{"type":"string","description":"Custom customer info at the point of order creation "},"originalCustomerCustomInfo2":{"type":"string","description":"Custom customer info at the point of order creation"},"items":{"type":"array","description":"A collection of order items","items":{"$ref":"#\/components\/schemas\/OrderItemModel"}},"addresses":{"$ref":"#\/components\/schemas\/OrderAddressModel"},"externalId":{"type":"string","description":"An ID for this order at some other external service f.ex. Specter","example":"ABC-123"},"externalIdType":{"type":"string","description":"Name of the external service the externalId belongs to","example":"Specter"}},"required":["statusId"]},"OrderUpdateModel":{"type":"object","properties":{"orderId":{"type":"integer","description":"The orders ID","readOnly":true,"example":101},"modifiedAt":{"type":"string","description":"A timestamp of when the order was modified. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00","readOnly":true},"baseCurrencyCode":{"type":"string","description":"The shops base currency code at the point of order creation","readOnly":true,"example":"SEK"},"shopCountryCode":{"type":"string","description":"The shops country code at the point of order creation","readOnly":true,"example":"SE"},"totalAmount":{"type":"number","description":"The total order amount","readOnly":true,"example":622.4},"totalVat":{"type":"number","description":"The total order VAT amount","readOnly":true,"example":155.6},"amountToPay":{"type":"number","description":"The total order amount to pay","readOnly":true,"example":778},"totalAmountInBaseCurrency":{"type":"number","description":"The total order amount, in the shops base currency","readOnly":true,"example":778},"totalVatInBaseCurrency":{"type":"number","description":"The total VAT amount, in the shops base currency","readOnly":true,"example":115.6},"amountToPayInBaseCurrency":{"type":"number","description":"The total amount to pay, in the shops base currency","readOnly":true,"example":778},"createdAt":{"type":"string","description":"A timestamp of when the order was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00"},"customerId":{"type":"integer","description":"The ID of the orders customer","example":101},"statusId":{"type":"integer","description":"The ID of the orders status","example":1},"onOrderStatusChangeSendEmail":{"type":"boolean","description":"Set this to false to prevent sending email to customer on changes to statusId and new orders","example":false,"writeOnly":true,"default":true},"onOrderStatusChangeProcessPayment":{"type":"boolean","description":"Set this to false to prevent processing payment on changes to statusId. Only applies to payment methods that support processing payments. For example charging a reserved amount or cancel a created invoice","writeOnly":true,"example":false,"default":true},"shippingMethodId":{"type":"integer","description":"The ID of the orders shipping method","example":1},"paymentMethodId":{"type":"integer","description":"The ID of the orders payment method","example":1},"paymentMethodIdCode":{"type":"string","description":"The ID code of the payment method.","readOnly":true,"example":"custom"},"paymentMethodName":{"type":"string","description":"Title of the orders payment method","maxLength":50,"example":"Bankgiro"},"paymentFee":{"type":"number","description":"Payment fee","minimum":0,"example":23.2},"paymentVatRate":{"type":"number","description":"The VAT rate of the paymentFee in percent","example":25},"shippingMethodName":{"type":"string","description":"Title of the orders shipping method","maxLength":255,"example":"UPS International"},"shippingCost":{"type":"number","description":"Shipping cost","minimum":0,"example":23.2},"shippingVatRate":{"type":"number","description":"The VAT rate of the shippingCost in percent","example":25},"totalWeight":{"type":"number","description":"The total weight of the order in kg. This field is a calculated summary of all order items","readOnly":true,"example":0.9},"customInfo1":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"customInfo2":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"customInfo3":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"customInfo4":{"type":"string","description":"Custom info saved to an order. Can be linked to fields on the checkout page for additional data collection","maxLength":255},"discountCode":{"type":"string","description":"The code ID of a discount code that was used for this order","maxLength":20},"amountPaid":{"type":"number","description":"The amount paid via the payment method for this order","example":778},"amountPaidInBaseCurrency":{"type":"number","description":"Same as amountPaid, but in the shops base currency","readOnly":true,"example":778},"amountPaidVouchers":{"type":"number","description":"The total amount paid via gift vouchers for this order","readOnly":true,"example":100},"vouchers":{"type":"array","description":"Applied gift vouchers for this order","readOnly":true,"items":{"type":"object","properties":{"code":{"type":"string","description":"The voucher code","example":"SUMMER2024"},"appliedAmount":{"type":"number","description":"The amount deducted by this voucher","example":100},"reservationId":{"type":"integer","description":"The Bex reservation ID for this voucher","example":16846836}}}},"isComplete":{"type":"boolean","description":"Is the order completed (that is, is it completely saved and has the payment method processed and confirmed it)","example":true},"currencyCode":{"type":"string","description":"The currency code of the currency that was used for this order. Has to be a valid ISO 4217 currency code","minLength":3,"maxLength":3,"example":"SEK"},"currencyExchangeRate":{"type":"number","description":"The exchange rate between this orders currency and the shops base currency. Ff, for example, the shop base currency is SEK and this order was placed in NOK, where 1 SEK = 0.97 NOK - this value would be 0.97","example":0.97},"currencyPrecision":{"type":"integer","description":"The number of decimals to display","example":2},"langCode":{"type":"string","description":"Language Code (ISO 639-1) used for placing this order. Has to be a valid lang code that the shop has setup. Used for order update emails, etc.","minLength":2,"maxLength":2,"example":"sv"},"paymentReference":{"type":"string","description":"Reference to the payment methods payment transaction","maxLength":80},"paymentStatus":{"type":"string","description":"Status of the payment methods payment transaction","maxLength":20,"example":"reserved"},"isRead":{"type":"boolean","description":"An order is read when an administrator has read it via the admin GUI"},"hasComment":{"type":"boolean","description":"Whether the customer or an admin has added a comment to the order","readOnly":true},"internalComment":{"type":"string","description":"An internal comment placed by an administrator. Not available to the customer","example":"Lorem ipsum..."},"shippingTrackerType":{"type":"integer","description":"The ID of the tracking number type. Types are available via: GET \/shipping-tracker-types","example":1},"shippingTrackingNo":{"type":"string","description":"The shipping tracking number. Has to be in the format that is used for the chosen tracking type (please contact the freight forwarder regarding this).","maxLength":50},"originalCustomerEmail":{"type":"string","description":"The email address of the customer at the point of order creation","example":"john.doe@example.net"},"originalCustomerNationalIdNo":{"type":"string","description":"The national id number of the customer at the point of order creation"},"originalCustomerVatNo":{"type":"string","description":"The VAT number of the customer at the point of order creation"},"originalCustomerType":{"type":"string","description":"The type of the customer at the point of order creationEither: \u201dperson\u201d or \u201dcompany\u201d","example":"person"},"originalCustomerCustomInfo1":{"type":"string","description":"Custom customer info at the point of order creation "},"originalCustomerCustomInfo2":{"type":"string","description":"Custom customer info at the point of order creation"},"items":{"type":"array","description":"A collection of order items","items":{"$ref":"#\/components\/schemas\/OrderItemModel"}},"addresses":{"$ref":"#\/components\/schemas\/OrderAddressModel"},"externalId":{"type":"string","description":"An ID for this order at some other external service f.ex. Specter","example":"ABC-123"},"externalIdType":{"type":"string","description":"Name of the external service the externalId belongs to","example":"Specter"}}},"OrderModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/OrderModel"}}},"OrderModelCollection":{"properties":{"data":{"type":"array","description":"A list of orders","items":{"$ref":"#\/components\/schemas\/OrderModel"}},"meta":{"type":"object","properties":{"pagination":{"$ref":"#\/components\/schemas\/PaginationModel"}}}}},"ShippingTrackingTypeModel":{"type":"object","properties":{"type":{"type":"integer","description":"The shipping tracking type ID","readOnly":true,"example":1},"name":{"type":"string","description":"The shipping tracking type name","readOnly":true,"example":"Posten Sverige"}}},"ShippingTrackingTypeModelCollection":{"properties":{"data":{"type":"array","description":"A list of shipping tracking types","items":{"$ref":"#\/components\/schemas\/ShippingTrackingTypeModel"}}}},"AddressModel":{"type":"object","properties":{"companyName":{"type":"string","description":"Company name","maxLength":80,"example":"Example Ltd."},"firstName":{"type":"string","description":"First name","maxLength":35,"example":"John"},"lastName":{"type":"string","description":"Last name","maxLength":35,"example":"Doe"},"careOf":{"type":"string","description":"Care Of","maxLength":80},"attention":{"type":"string","description":"Attention","maxLength":80},"reference":{"type":"string","description":"Reference","maxLength":80},"address":{"type":"string","description":"Address","maxLength":50,"example":"Street 1"},"postalCode":{"type":"string","description":"Postal Code","maxLength":12,"example":"214 31"},"city":{"type":"string","description":"City","maxLength":30,"example":"My Town"},"state":{"type":"string","description":"State","maxLength":30},"countryCode":{"type":"string","description":"Country code in ISO 3166-1 alpha-2 format","maxLength":2,"minLength":2,"example":"SE"},"phoneNo":{"type":"string","description":"Phone number in an international format","maxLength":30,"example":"+46406020900"},"mobilePhoneNo":{"type":"string","description":"Mobile phone number in an international format","maxLength":30,"example":"+46850910000"}}},"AddressModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/AddressModel"}}},"OrderAddressModel":{"type":"object","properties":{"originalInvoice":{"$ref":"#\/components\/schemas\/AddressModel"},"originalDelivery":{"$ref":"#\/components\/schemas\/AddressModel"},"customerInvoice":{"$ref":"#\/components\/schemas\/AddressModel"},"customerDelivery":{"$ref":"#\/components\/schemas\/AddressModel"},"paymentMethodInvoice":{"$ref":"#\/components\/schemas\/AddressModel"},"paymentMethodDelivery":{"$ref":"#\/components\/schemas\/AddressModel"}}},"OrderAddressCollection":{"properties":{"data":{"$ref":"#\/components\/schemas\/OrderAddressModel"}}},"OrderStatusModel":{"type":"object","properties":{"statusId":{"type":"integer","description":"The id of the order status","readOnly":true,"example":1},"shouldSendEmail":{"type":"boolean","description":"Should an order status update email be sent out when an order gets this status"},"idCode":{"type":"string","description":"Standard order statuses has an idCode as well. These are: created, picking, completed, canceled","readOnly":true,"example":"created"},"languages":{"$ref":"#\/components\/schemas\/OrderStatusLanguageModelCollection"}}},"OrderStatusLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","description":"Language Code (ISO 639-1) for this translation. Has to be a valid lang code that the shop has setup. ","minLength":2,"maxLength":2,"example":"sv"},"name":{"type":"string","maxLength":64,"description":"The name of this order status","example":"Order Created"}}},"OrderStatusLanguageModelCollection":{"type":"object","properties":{"data":{"type":"array","description":"a list of order status language models","items":{"$ref":"#\/components\/schemas\/OrderStatusLanguageModel"}}}},"OrderStatusModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/OrderStatusModel"}}},"OrderStatusModelCollection":{"properties":{"data":{"type":"array","description":"A list of order statuses","items":{"$ref":"#\/components\/schemas\/OrderStatusModel"}}}},"OrderItemModel":{"type":"object","properties":{"itemId":{"type":"integer","description":"The id of the order item","readOnly":true,"example":1},"sku":{"type":"string","maxLength":40,"description":"The SKU of the order item","example":"ABC123"},"description":{"type":"string","maxLength":255,"description":"The description of the order item","example":"An item"},"quantity":{"type":"integer","minimum":-1000000,"maximum":1000000,"description":"The quantity of the order item","example":1},"unitSymbol":{"type":"string","maxLength":5,"description":"The unit symbol of the order item","example":"pcs."},"unitPrice":{"type":"number","description":"The price per unit excluding VAT","example":23.2},"vatRate":{"type":"number","minimum":0,"maximum":100,"description":"The items VAT rate in percent. 25.0 = 25% VAT","example":25},"discount":{"type":"number","minimum":0,"description":"The discount for the entire order row. Either as a percentage or an amount. If this is an amount and set to 20.0, the sum 20.0 will be subtracted from the order total no matter what the quantity is set to.","example":8},"discountType":{"type":"string","enum":["amount","percent"],"description":"The type of discount. Either \u201damount\u201d or \u201dpercent\u201d. Default is \u201dpercent\u201d","example":"percent"},"sortIndex":{"type":"integer","minimum":0,"description":"The sort order of the order items"}}},"OrderItemModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/OrderItemModel"}}},"OrderItemBundledModelItem":{"properties":{"bundledItems":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/OrderItemModel"}}}}}},"OrderItemModelCollection":{"properties":{"data":{"type":"array","description":"A list of order items","items":{"allOf":[{"$ref":"#\/components\/schemas\/OrderItemModel"},{"$ref":"#\/components\/schemas\/OrderItemBundledModelItem"}]}}}},"OrderExternalServiceModel":{"type":"object","properties":{"serviceName":{"type":"string","maxLength":40,"description":"The service name that this external id is linked to. Please note that this service name has to be unique for the order","example":"Fortnox"},"externalIdValue":{"type":"string","maxLength":40,"description":"The external id","example":"ABC123"},"agent":{"type":"string","description":"Agent id for nShift agent if applicable","example":"8081"},"readOnly":{"type":"boolean","description":"Some external services cannot be updated and they have readOnly set to true","readOnly":true,"example":false}}},"OrderExternalServicesModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/OrderExternalServiceModel"}}},"OrderExternalServiceModelCollection":{"properties":{"data":{"type":"array","description":"A list of order external services","items":{"$ref":"#\/components\/schemas\/OrderExternalServiceModel"}}}},"CurrencyModel":{"type":"object","properties":{"code":{"type":"string","readOnly":true,"example":"SEK","description":"The currency code"},"exchangeRate":{"type":"number","example":"1.0","description":"The exchange rate against the shops default currency. Used in reports, etc. The default currency can be fetched from \/shop"},"precision":{"type":"integer","example":0,"description":"The number of decimals to show and use"}}},"CurrencyModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/CurrencyModel"}}},"CurrencyCollection":{"properties":{"data":{"type":"array","description":"A collection of currencies","items":{"$ref":"#\/components\/schemas\/CurrencyModel"}}}},"CustomerUpdateModel":{"type":"object","properties":{"customerId":{"type":"integer","description":"The customers ID","readOnly":true,"example":101},"createdAt":{"type":"string","description":"A timestamp of when the customer was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00"},"type":{"type":"string","description":"The type of customer this is. Either: \u201dperson\u201d or \u201dcompany\u201d","example":"person"},"email":{"type":"string","format":"email","maxLength":255,"description":"Email address of the customer"},"nationalIdNo":{"type":"string","maxLength":20,"description":"National id number of the customer"},"vatNo":{"type":"string","maxLength":20,"description":"VAT number of the customer"},"customInfo1":{"type":"string","maxLength":255,"description":"Custom info saved to a customer. Can be linked to text fields on the customer registration page for additional data collection"},"customInfo2":{"type":"string","maxLength":255,"description":"Custom info saved to a customer. Can be linked to text fields on the customer registration page for additional data collection"},"pricelistId":{"type":"integer","nullable":true,"description":"The id of the pricelist the customer is linked to (or null if the customer has no specific pricelist linked)"},"externalId":{"type":"string","nullable":true,"description":"Customer ID in external services f.ex. Specter."},"externalIdType":{"type":"string","nullable":true,"description":"The type of the service the external ID belongs to."},"langCode":{"type":"string","readOnly":true,"description":"Language code for the customer"},"addresses":{"type":"object","properties":{"invoice":{"$ref":"#\/components\/schemas\/AddressModel"},"delivery":{"$ref":"#\/components\/schemas\/AddressModel"}}},"newsletterSubscriber":{"type":"boolean","description":"Specifies if customer has agreed to receive newsletters."}}},"CustomerModel":{"properties":{"customerId":{"type":"integer","description":"The customers ID","readOnly":true,"example":101},"parentId":{"type":"integer","nullable":true,"description":"The customers parent customer ID","readOnly":true,"example":100},"createdAt":{"type":"string","description":"A timestamp of when the customer was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00"},"type":{"type":"string","description":"The type of customer this is. Either: \u201dperson\u201d or \u201dcompany\u201d","example":"person"},"email":{"type":"string","format":"email","maxLength":255,"description":"Email address of the customer"},"nationalIdNo":{"type":"string","maxLength":20,"description":"National id number of the customer"},"vatNo":{"type":"string","maxLength":20,"description":"VAT number of the customer"},"customInfo1":{"type":"string","maxLength":255,"description":"Custom info saved to a customer. Can be linked to text fields on the customer registration page for additional data collection"},"customInfo2":{"type":"string","maxLength":255,"description":"Custom info saved to a customer. Can be linked to text fields on the customer registration page for additional data collection"},"modifiedAt":{"type":"string","description":"A timestamp of when the customer was modified. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00","readOnly":true},"approved":{"type":"boolean","nullable":true,"description":"If the customer is approved or not. Can be null if the customer is neither approved nor disapproved yet","readOnly":true},"approvedAt":{"type":"string","description":"A timestamp of when the customer was was approved\/disapproved. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00","readOnly":true},"pricelistId":{"type":"integer","nullable":true,"description":"The id of the pricelist the customer is linked to (or null if the customer has no specific pricelist linked)","readOnly":true},"externalId":{"type":"string","nullable":true,"description":"Customer ID in external services f.ex. Specter."},"externalIdType":{"type":"string","nullable":true,"description":"The type of the service the external ID belongs to."},"newsletterSubscriber":{"type":"boolean","description":"Specifies if customer has agreed to receive newsletters."}},"type":"object"},"CustomerModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/CustomerModel"}}},"CustomerCreatedModel":{"type":"object","properties":{"customerId":{"type":"integer","description":"The customers ID","readOnly":true,"example":101},"parentId":{"type":"integer","nullable":true,"description":"The customers parent customer ID","readOnly":true,"example":100},"createdAt":{"type":"string","description":"A timestamp of when the customer was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00"},"type":{"type":"string","description":"The type of customer this is. Either: \u201dperson\u201d or \u201dcompany\u201d","example":"person"},"email":{"type":"string","format":"email","maxLength":255,"description":"Email address of the customer"},"nationalIdNo":{"type":"string","maxLength":20,"description":"National id number of the customer"},"vatNo":{"type":"string","maxLength":20,"description":"VAT number of the customer"},"customInfo1":{"type":"string","maxLength":255,"description":"Custom info saved to a customer. Can be linked to text fields on the customer registration page for additional data collection"},"customInfo2":{"type":"string","maxLength":255,"description":"Custom info saved to a customer. Can be linked to text fields on the customer registration page for additional data collection"},"modifiedAt":{"type":"string","description":"A timestamp of when the customer was modified. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00","readOnly":true},"approved":{"type":"boolean","nullable":true,"description":"If the customer is approved or not. Can be null if the customer is neither approved nor disapproved yet","readOnly":true},"approvedAt":{"type":"string","description":"A timestamp of when the customer was was approved\/disapproved. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00","readOnly":true},"pricelistId":{"type":"integer","nullable":true,"description":"The id of the pricelist the customer is linked to (or null if the customer has no specific pricelist linked)","readOnly":true},"externalId":{"type":"string","nullable":true,"description":"Customer ID in external services f.ex. Specter."},"externalIdType":{"type":"string","nullable":true,"description":"The type of the service the external ID belongs to."},"newsletterSubscriber":{"type":"boolean","description":"Specifies if customer has agreed to receive newsletters."}}},"CustomerCreatedModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/CustomerCreatedModel"}}},"CustomerModelCollection":{"properties":{"data":{"type":"array","description":"A list of customers","items":{"$ref":"#\/components\/schemas\/CustomerModel"}},"meta":{"type":"object","properties":{"pagination":{"$ref":"#\/components\/schemas\/PaginationModel"}}}}},"CustomerAddedTagModel":{"type":"object","properties":{"tagId":{"type":"integer","minimum":1,"description":"The id of the tag","example":1},"name":{"type":"string","description":"The name of the tag","readOnly":true,"example":"Exclusive customers"}}},"CustomerAddedTagModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/CustomerAddedTagModel"}}},"CustomerAddedTagModelCollection":{"properties":{"data":{"type":"array","description":"A list of customer tags","items":{"$ref":"#\/components\/schemas\/CustomerAddedTagModel"}}}},"CustomerAddressesModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/AddressModel"}}},"CustomerAddressesModelCollection":{"properties":{"data":{"type":"object","properties":{"invoice":{"$ref":"#\/components\/schemas\/AddressModel"},"delivery":{"$ref":"#\/components\/schemas\/AddressModel"}}}}},"CustomerAccountBalanceModel":{"type":"object","properties":{"balance":{"type":"number","format":"int","description":"Account balance","example":1000}}},"CustomerAccountBalanceModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/CustomerAccountBalanceModel"}}},"CustomerExternalServicesModel":{"type":"object","properties":{"serviceName":{"type":"string","description":"The service name of the external service","example":"Fortnox","maxLength":20},"externalIdValue":{"type":"string","description":"The external service ID","example":"ABC123","maxLength":40}}},"CustomerExternalServicesModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/CustomerExternalServicesModel"}}},"CustomerExternalServicesModelCollection":{"properties":{"data":{"type":"array","description":"A list of customer external services","items":{"$ref":"#\/components\/schemas\/CustomerExternalServicesModel"}}}},"TokenModel":{"type":"object","properties":{"access_token":{"type":"string","description":"The Access Token to use in future requests","readOnly":true,"example":"2YotnFZFEjr1zCsicMWpAA"},"scope":{"type":"string","description":"The scope this access token is valid for","readOnly":true},"expires_in":{"type":"integer","description":"The number of seconds until this access token expires","readOnly":true,"example":3600}}},"ClientCredentialModel":{"type":"object","properties":{"grant_type":{"type":"string","description":"The grant type to use for the request. At this time, only client_credentials is allowed","example":"client_credentials"},"client_id":{"type":"string","description":"Your client id","example":"your-client-id"},"client_secret":{"type":"string","description":"Your client secret","example":"your-client-secret"}}},"CustomerTagModel":{"type":"object","properties":{"tagId":{"type":"integer","description":"The tag Id","readOnly":true,"example":1},"name":{"type":"string","description":"The tag name","readOnly":true,"example":"Exclusive customers"}}},"CustomerTagModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/CustomerTagModel"}}},"CustomerTagModelCollection":{"properties":{"data":{"type":"array","description":"A list of customer tags","items":{"$ref":"#\/components\/schemas\/CustomerTagModel"}}}},"PaymentMethodLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","readOnly":true,"description":"Language code"},"name":{"type":"string","description":"Name of payment method","readOnly":true},"title":{"type":"string","description":"Title of payment method","readOnly":true},"shortDescription":{"type":"string","description":"A shorter informative description","readOnly":true}}},"PaymentMethodLanguageModelCollection":{"properties":{"data":{"type":"array","description":"A collection of payment method languages","items":{"$ref":"#\/components\/schemas\/PaymentMethodLanguageModel"}}}},"PaymentMethodModel":{"type":"object","properties":{"paymentMethodId":{"type":"integer","readOnly":true,"example":1,"description":"The payment methods Id"},"idCode":{"type":"string","readOnly":true,"example":"custom","description":"The payment methods idCode. This can be used to identify a payment method of a standarized type"},"active":{"type":"boolean","readOnly":true,"description":"If the payment method is actively available on checkout or not"},"fee":{"type":"number","format":"float","readOnly":true,"minimum":0,"description":"Fee associated with this method"},"validForCountries":{"type":"string","readOnly":true,"enum":["all","EU","non-EU","selected","none"],"description":"The restrictions to countries this payment method is valid for. Valid values are: all, EU, non-EU, selected, none","example":"all"},"validCountriesSelected":{"type":"array","readOnly":true,"description":"The countries this method is valid for (if validForCountries is set to \u201dselected\u201d)","items":{"type":"string","readOnly":true,"minLength":2,"maxLength":2,"description":"Country code","example":"SE"}},"validForMinItemsSubtotal":{"type":"number","format":"float","readOnly":true,"minimum":0,"nullable":true,"example":null,"description":"The min order sub total that this method is valid for"},"validForMaxItemsSubtotal":{"type":"number","format":"float","readOnly":true,"minimum":0,"nullable":true,"example":null,"description":"The max order sub total that this method is valid for"},"validForMinWeight":{"type":"number","format":"float","readOnly":true,"minimum":0,"nullable":true,"example":null,"description":"The min order weight that this method is valid for"},"validForMaxWeight":{"type":"number","format":"float","readOnly":true,"minimum":0,"nullable":true,"example":null,"description":"The max order weight that this method is valid for."},"validForShippingMethods":{"type":"string","readOnly":true,"example":"all","enum":["all","selected"],"description":"The shipping methods this is valid for. Valid values are: all, selected"},"validForCustomerType":{"type":"string","readOnly":true,"nullable":true,"example":null,"description":"The customer type this method is valid for. Valid values are: null (no restriction), person, company"},"isClickAndCollect":{"type":"boolean","readOnly":true,"nullable":false,"example":false,"description":"Tells whether this method is a \"click and collect\" or not"},"externalId":{"type":"string","readOnly":true,"nullable":true,"example":"some-external-id","description":"An ID from external system for reference"},"languages":{"$ref":"#\/components\/schemas\/PaymentMethodLanguageModelCollection"}}},"PaymentMethodModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/PaymentMethodModel"}}},"PaymentMethodModelCollection":{"properties":{"data":{"type":"array","description":"A collection of payment methods","items":{"$ref":"#\/components\/schemas\/PaymentMethodModel"}}}},"ShippingMethodLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","readOnly":true,"description":"Language code"},"name":{"type":"string","description":"Name of shipping method","readOnly":true},"title":{"type":"string","description":"Title of shipping method","readOnly":true},"shortDescription":{"type":"string","description":"A shorter informative description","readOnly":true}}},"ShippingMethodLanguageModelCollection":{"properties":{"data":{"type":"array","description":"A collection of shipping method languages","items":{"$ref":"#\/components\/schemas\/ShippingMethodLanguageModel"}}}},"ShippingMethodModel":{"type":"object","properties":{"shippingMethodId":{"type":"integer","readOnly":true,"example":1,"description":"The shipping methods Id"},"active":{"type":"boolean","readOnly":true,"description":"If the shipping method is actively available on checkout or not"},"validForCountries":{"type":"string","readOnly":true,"enum":["all","EU","non-EU","selected","none"],"description":"The restrictions to countries this shipping method is valid for. Valid values are: all, EU, non-EU, selected, none","example":"all"},"validCountriesSelected":{"type":"array","readOnly":true,"description":"The countries this method is valid for (if validForCountries is set to \u201dselected\u201d)","items":{"type":"string","readOnly":true,"minLength":2,"maxLength":2,"description":"Country code","example":"SE"}},"validForMinItemsSubtotal":{"type":"number","format":"float","readOnly":true,"minimum":0,"nullable":true,"example":null,"description":"The min order sub total that this method is valid for"},"validForMaxItemsSubtotal":{"type":"number","format":"float","readOnly":true,"minimum":0,"nullable":true,"example":null,"description":"The max order sub total that this method is valid for"},"validForMinWeight":{"type":"number","format":"float","readOnly":true,"minimum":0,"nullable":true,"example":null,"description":"The min order weight that this method is valid for"},"validForMaxWeight":{"type":"number","format":"float","readOnly":true,"minimum":0,"nullable":true,"example":null,"description":"The max order weight that this method is valid for."},"validForCustomerType":{"type":"string","readOnly":true,"nullable":true,"example":null,"description":"The customer type this method is valid for. Valid values are: null (no restriction), person, company"},"freeShippingMinItemsSubtotal":{"type":"number","format":"float","readOnly":true,"minimum":0,"nullable":true,"example":null,"description":"Offer free shipping with this method if the minimum order sub total amount is at least this value"},"freeShippingMinWeight":{"type":"number","format":"float","readOnly":true,"minimum":0,"nullable":true,"example":null,"description":"Offer free shipping with this method if the minimum order total weight is at least this value"},"isClickAndCollect":{"type":"boolean","readOnly":true,"nullable":false,"example":false,"description":"Tells whether this method is a \"click and collect\" or not"},"externalId":{"type":"string","readOnly":true,"nullable":true,"example":"some-external-id","description":"An ID from external system for reference"},"languages":{"$ref":"#\/components\/schemas\/ShippingMethodLanguageModelCollection"}}},"ShippingMethodModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ShippingMethodModel"}}},"ShippingMethodModelCollection":{"properties":{"data":{"type":"array","description":"A collection of shipping methods","items":{"$ref":"#\/components\/schemas\/ShippingMethodModel"}}}},"PricelistModel":{"type":"object","properties":{"pricelistId":{"type":"integer","readOnly":true,"example":1,"description":"The pricelist id"},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this pricelist"},"externalIdType":{"type":"string","description":"The external type of this pricelist, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"name":{"type":"string","maxLength":30,"readOnly":true,"example":"My pricelist","description":"The name of this pricelist"},"isMaster":{"type":"boolean","readOnly":true,"example":true,"description":"If this pricelist is the default \u201dmaster\u201d\u00a0pricelist or not. Only one pricelist can be the master pricelist"},"isActive":{"type":"boolean","readOnly":true,"default":false,"description":"Shows if the pricelist is activated or not."},"region":{"type":"string","readOnly":true,"example":"all","description":"The region this pricelist is valid for","enum":["all","EU","non-EU","selected"]},"countryCodes":{"type":"array","readOnly":true,"items":{"type":"string","example":"SE"},"example":["SE","DK"],"description":"The countryCodes this pricelist is valid for. These will be set only if the `region` property is set to the value `selected` for specific countries."},"currencyCode":{"type":"string","minLength":3,"maxLength":3,"readOnly":true,"example":"SEK","description":"The currencyCode this pricelist is valid for"},"parentPricelistId":{"type":"integer","example":null,"description":"Does this pricelist has a parent price list. ","nullable":true},"isCustomerPricelist":{"type":"boolean","description":"Is this pricelist a \u201dcustomer\u201d pricelist (for selected customer groups)"},"isCountryPricelist":{"type":"boolean","description":"Is this pricelist a \u201dcountry\u201d pricelist (base pricelist for a certain country)"}}},"PricelistPostRequestModel":{"anyOf":[{"title":"Country Pricelist","type":"object","properties":{"name":{"type":"string","maxLength":30,"example":"My pricelist","description":"The unique name of this pricelist. Can only be set and updated for non master pricelits."},"currencyCode":{"type":"string","minLength":3,"maxLength":3,"example":"SEK","description":"The currencyCode this pricelist is valid for."},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this pricelist"},"externalIdType":{"type":"string","description":"The external type of this pricelist, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"isActive":{"type":"boolean","default":false,"description":"Activate the pricelist. It is recommended that you do not activate the pricelist right away. On activation all product prices for that pricelist are set to `0` until you have mass updated the related products in the selected currency. You may want to change visibility settings for the selected countries as well. Defaults to `false`"},"region":{"type":"string","maxLength":10,"example":"EU","default":"all","description":"The region this pricelist is valid for. Valid values are `all`, `EU`, `non-EU` or `selected` If you send in the latter you need to send in `countryCodes` for the selected countries as well. Will default to `all`"},"countryCodes":{"type":"string","example":"SE,DK","pattern":"([a-zA-Z]{2})(,[a-zA-Z]{2})*","description":"The countryCodes this pricelist is valid for. These will considered  only if the `region` property is set to the value `selected` for specific countries."},"pricesInclVatByDefault":{"type":"boolean","example":false,"default":true,"description":"Show prices inclusive VAT, defaults to `true`"},"inputAdminProductPricesInclVat":{"type":"boolean","example":true,"default":false,"description":"Enter product prices in admin incl. VAT, defaults to `false`"}},"required":["name","currencyCode"]},{"title":"Customer Pricelist","type":"object","properties":{"name":{"type":"string","maxLength":30,"example":"My pricelist","description":"The unique name of this pricelist. Can only be set and updated for non master pricelits."},"parentPricelistId":{"type":"integer","example":null,"description":"It is possible to nest pricelists. If a pricelist has a parent pricelist it is considered to be a customer pricelist and `isCustomerPricelist` will be true. If no parent pricelist is set, it is considered a country pricelist and the `isCountryPricelist` is true."},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this pricelist"},"externalIdType":{"type":"string","description":"The external type of this pricelist, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"isActive":{"type":"boolean","default":false,"description":"Activate the pricelist. It is recommended that you do not activate the pricelist right away. On activation all product prices for that pricelist are set to `0` until you have mass updated the related products in the selected currency. You may want to change visibility settings for the selected countries as well. Defaults to `false`"},"pricesInclVatByDefault":{"type":"boolean","example":false,"default":true,"description":"Show prices inclusive VAT, defaults to `true`"},"inputAdminProductPricesInclVat":{"type":"boolean","example":true,"default":false,"description":"Enter product prices in admin incl. VAT, defaults to `false`"}},"required":["name","parentPricelistId"]}]},"PricelistModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/PricelistModel"}}},"PricelistModelCollection":{"properties":{"data":{"type":"array","description":"A collection of pricelists","items":{"$ref":"#\/components\/schemas\/PricelistModel"}}}},"PricelistPutRequestModel":{"anyOf":[{"title":"Master Pricelist","type":"object","properties":{"currencyCode":{"type":"string","minLength":3,"maxLength":3,"example":"SEK","description":"The currency code needs to be a currencyCode that does not exist in the database if it should be different from the existing base currencyCode."},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this pricelist"},"externalIdType":{"type":"string","description":"The external type of this pricelist, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"countryCodes":{"type":"string","example":"SE","pattern":"[a-zA-Z]{2}"},"pricesInclVatByDefault":{"type":"boolean","example":false,"default":true,"description":"Show prices inclusive VAT, defaults to `true`"},"inputAdminProductPricesInclVat":{"type":"boolean","example":true,"default":false,"description":"Enter product prices in admin incl. VAT, defaults to `false`"}},"required":["currencyCode"]},{"title":"Country Pricelist","type":"object","properties":{"name":{"type":"string","maxLength":30,"example":"My pricelist","description":"The unique name of this pricelist. Can only be set and updated for non master pricelits."},"currencyCode":{"type":"string","minLength":3,"maxLength":3,"example":"SEK","description":"The currencyCode this pricelist is valid for."},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this pricelist"},"externalIdType":{"type":"string","description":"The external type of this pricelist, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"isActive":{"type":"boolean","default":false,"description":"Activate the pricelist. It is recommended that you do not activate the pricelist right away. On activation all product prices for that pricelist are set to `0` until you have mass updated the related products in the selected currency. You may want to change visibility settings for the selected countries as well. Defaults to `false`"},"region":{"type":"string","maxLength":10,"example":"EU","default":"all","description":"The region this pricelist is valid for. Valid values are `all`, `EU`, `non-EU` or `selected` If you send in the latter you need to send in `countryCodes` for the selected countries as well. Will default to `all`"},"countryCodes":{"type":"string","example":"SE,DK","pattern":"([a-zA-Z]{2})(,[a-zA-Z]{2})*","description":"The countryCodes this pricelist is valid for. These will considered  only if the `region` property is set to the value `selected` for specific countries."},"pricesInclVatByDefault":{"type":"boolean","example":false,"default":true,"description":"Show prices inclusive VAT, defaults to `true`"},"inputAdminProductPricesInclVat":{"type":"boolean","example":true,"default":false,"description":"Enter product prices in admin incl. VAT, defaults to `false`"}},"required":["name","currencyCode"]},{"title":"Customer Pricelist","type":"object","properties":{"name":{"type":"string","maxLength":30,"example":"My pricelist","description":"The unique name of this pricelist. Can only be set and updated for non master pricelits."},"parentPricelistId":{"type":"integer","example":null,"description":"It is possible to nest pricelists. If a pricelist has a parent pricelist it is considered to be a customer pricelist and `isCustomerPricelist` will be true. If no parent pricelist is set, it is considered a country pricelist and the `isCountryPricelist` is true."},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this pricelist"},"externalIdType":{"type":"string","description":"The external type of this pricelist, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"isActive":{"type":"boolean","default":false,"description":"Activate the pricelist. It is recommended that you do not activate the pricelist right away. On activation all product prices for that pricelist are set to `0` until you have mass updated the related products in the selected currency. You may want to change visibility settings for the selected countries as well. Defaults to `false`"},"pricesInclVatByDefault":{"type":"boolean","example":false,"default":true,"description":"Show prices inclusive VAT, defaults to `true`"},"inputAdminProductPricesInclVat":{"type":"boolean","example":true,"default":false,"description":"Enter product prices in admin incl. VAT, defaults to `false`"}},"required":["name","parentPricelistId"]}]},"PricelistPatchRequestModel":{"anyOf":[{"title":"Master Pricelist","type":"object","properties":{"currencyCode":{"type":"string","minLength":3,"maxLength":3,"example":"SEK","description":"The currency code needs to be a currencyCode that does not exist in the database if it should be different from the existing base currencyCode."},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this pricelist"},"externalIdType":{"type":"string","description":"The external type of this pricelist, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"countryCodes":{"type":"string","example":"SE","pattern":"[a-zA-Z]{2}"},"pricesInclVatByDefault":{"type":"boolean","example":false,"default":true,"description":"Show prices inclusive VAT, defaults to `true`"},"inputAdminProductPricesInclVat":{"type":"boolean","example":true,"default":false,"description":"Enter product prices in admin incl. VAT, defaults to `false`"}},"required":["currencyCode"]},{"title":"Country Pricelist","type":"object","properties":{"name":{"type":"string","maxLength":30,"example":"My pricelist","description":"The unique name of this pricelist. Can only be set and updated for non master pricelits."},"currencyCode":{"type":"string","minLength":3,"maxLength":3,"example":"SEK","description":"The currencyCode this pricelist is valid for."},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this pricelist"},"externalIdType":{"type":"string","description":"The external type of this pricelist, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"isActive":{"type":"boolean","default":false,"description":"Activate the pricelist. It is recommended that you do not activate the pricelist right away. On activation all product prices for that pricelist are set to `0` until you have mass updated the related products in the selected currency. You may want to change visibility settings for the selected countries as well. Defaults to `false`"},"region":{"type":"string","maxLength":10,"example":"EU","default":"all","description":"The region this pricelist is valid for. Valid values are `all`, `EU`, `non-EU` or `selected` If you send in the latter you need to send in `countryCodes` for the selected countries as well. Will default to `all`"},"countryCodes":{"type":"string","example":"SE,DK","pattern":"([a-zA-Z]{2})(,[a-zA-Z]{2})*","description":"The countryCodes this pricelist is valid for. These will considered  only if the `region` property is set to the value `selected` for specific countries."},"pricesInclVatByDefault":{"type":"boolean","example":false,"default":true,"description":"Show prices inclusive VAT, defaults to `true`"},"inputAdminProductPricesInclVat":{"type":"boolean","example":true,"default":false,"description":"Enter product prices in admin incl. VAT, defaults to `false`"}},"required":["name","currencyCode"]},{"title":"Customer Pricelist","type":"object","properties":{"name":{"type":"string","maxLength":30,"example":"My pricelist","description":"The unique name of this pricelist. Can only be set and updated for non master pricelits."},"parentPricelistId":{"type":"integer","example":null,"description":"It is possible to nest pricelists. If a pricelist has a parent pricelist it is considered to be a customer pricelist and `isCustomerPricelist` will be true. If no parent pricelist is set, it is considered a country pricelist and the `isCountryPricelist` is true."},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this pricelist"},"externalIdType":{"type":"string","description":"The external type of this pricelist, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"isActive":{"type":"boolean","default":false,"description":"Activate the pricelist. It is recommended that you do not activate the pricelist right away. On activation all product prices for that pricelist are set to `0` until you have mass updated the related products in the selected currency. You may want to change visibility settings for the selected countries as well. Defaults to `false`"},"pricesInclVatByDefault":{"type":"boolean","example":false,"default":true,"description":"Show prices inclusive VAT, defaults to `true`"},"inputAdminProductPricesInclVat":{"type":"boolean","example":true,"default":false,"description":"Enter product prices in admin incl. VAT, defaults to `false`"}},"required":["name","parentPricelistId"]}]},"OrderCommentModel":{"type":"object","properties":{"commentId":{"type":"integer","description":"The comments id","readOnly":true,"example":1},"createdAt":{"type":"string","description":"A timestamp of when the comment was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00"},"text":{"type":"string","description":"The comment","example":"Lorem ipsum"},"from":{"type":"string","description":"The author of the comment. Either \u201dadmin\u201d or \u201dcustomer\u201d","example":"customer"}}},"OrderCommentModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/OrderCommentModel"}}},"OrderCommentModelCollection":{"properties":{"data":{"type":"array","description":"A list of order comments","items":{"$ref":"#\/components\/schemas\/OrderCommentModel"}}}},"MediaFileUploadModel":{"type":"object","properties":{"file":{"type":"string","format":"binary","example":"[binary data]"}}},"MediaFileModel":{"type":"object","properties":{"mediaFileId":{"type":"integer","description":"The media file ID","readOnly":true,"example":101},"name":{"type":"string","description":"The name of the media file","readOnly":true,"example":"my-image.jpg"},"createdAt":{"type":"string","description":"A timestamp of when the media file was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00","readOnly":true},"modifiedAt":{"type":"string","description":"A timestamp of when the media file was modifies. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00","readOnly":true},"size":{"type":"integer","description":"The media files size in bytes","readOnly":true,"example":1157115},"mime":{"type":"string","description":"The media files mime type","readOnly":true,"example":"image\/jpeg"},"height":{"type":"integer","description":"The media files height in pixels","readOnly":true,"example":2000},"width":{"type":"integer","description":"The media files width in pixels","readOnly":true,"example":2000},"url":{"type":"string","description":"The media files URL","readOnly":true,"example":"https:\/\/cdn.starwebserver.se\/shops\/leksaker\/files\/56220.jpg"}}},"MediaFileModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/MediaFileModel"}}},"MediaFileModelCollection":{"properties":{"data":{"type":"array","description":"A collection of media files","items":{"$ref":"#\/components\/schemas\/MediaFileModel"}},"meta":{"type":"object","properties":{"pagination":{"$ref":"#\/components\/schemas\/PaginationModel"}}}}},"ProductCategoryModel":{"type":"object","properties":{"categoryId":{"type":"integer","description":"The product category Id","readOnly":true,"example":101},"parentId":{"type":"integer","description":"The category`s parent`s Id","example":null,"nullable":true},"visibility":{"type":"string","description":"The category`s visibility settings. Possible values are: visible, hidden and pricelists. Pricelists means that the category is only visible for customers with access to specific pricelists","example":"visible"},"sortIndex":{"type":"integer","description":"Sort index. A category with a lower value is displayed higher up in lists","example":9},"openPage":{"type":"boolean","description":"Whether or not links to the category should open a category page listing its products and sub categories on click.","example":true},"imageFileId":{"type":"integer","description":"The Id to the category`s image file. Has to be an existing mediaFile","example":null,"nullable":true},"externalId":{"type":"string","description":"The external Id for this category for the system named in externalType","maxLength":255,"nullable":true,"default":null,"example":"123"},"externalIdType":{"type":"string","description":"The system name the externalId belongs to.","maxLength":255,"nullable":true,"default":null,"example":"Fortnox"},"externalType":{"type":"string","deprecated":true,"nullable":true,"default":null,"description":"This field is deprecated: use `externalIdType` instead","maxLength":20},"hasChildren":{"type":"boolean","description":"Whether or not the category has any children categories","readOnly":true,"example":true},"languages":{"$ref":"#\/components\/schemas\/ProductCategoryLanguagesModelCollection"}}},"ProductCategoryModelUpdatable":{"type":"object","properties":{"categoryId":{"type":"integer","description":"The product category Id","readOnly":true,"example":101},"parentId":{"type":"integer","description":"The category`s parent`s Id","example":null,"nullable":true},"visibility":{"type":"string","description":"The category`s visibility settings. Possible values are: visible, hidden and pricelists. Pricelists means that the category is only visible for customers with access to specific pricelists","example":"visible"},"sortIndex":{"type":"integer","description":"Sort index. A category with a lower value is displayed higher up in lists","example":9},"openPage":{"type":"boolean","description":"Whether or not links to the category should open a category page listing its products and sub categories on click.","example":true},"imageFileId":{"type":"integer","description":"The Id to the category`s image file. Has to be an existing mediaFile","example":null,"nullable":true},"externalId":{"type":"string","description":"The external Id for this category for the system named in externalType","maxLength":255,"nullable":true,"default":null,"example":"123"},"externalIdType":{"type":"string","description":"The system name the externalId belongs to.","maxLength":255,"nullable":true,"default":null,"example":"Fortnox"},"externalType":{"type":"string","deprecated":true,"nullable":true,"default":null,"description":"This field is deprecated: use `externalIdType` instead","maxLength":20},"hasChildren":{"type":"boolean","description":"Whether or not the category has any children categories","readOnly":true,"example":true},"languages":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductCategoryLanguagesModel"}}}},"ProductCategoryLanguagesModel":{"type":"object","properties":{"langCode":{"type":"string","description":"Language Code (ISO 639-1) for this translation. Has to be a valid lang code that the shop supports. (required)","minLength":2,"maxLength":2,"example":"sv"},"name":{"type":"string","maxLength":90,"description":"The name of this product category (required)","example":"My category"},"pageTitle":{"type":"string","maxLength":100,"description":"The page title for this product category","example":"My category - find products here!","nullable":true},"description":{"type":"string","maxLength":65535,"description":"The main\/top description of this product category","example":"Lorem ipsum...","nullable":true},"bottomDescription":{"type":"string","maxLength":65535,"description":"The extra\/bottom description of this product category","example":"Lorem ipsum...","nullable":true},"pageMetaDescription":{"type":"string","maxLength":278,"description":"The page meta data description of this product category","example":"Lorem ipsum...","nullable":true},"permalink":{"type":"string","maxLength":128,"description":"The permalink to this product category. Will auto generate if left out","example":"my-category","nullable":true}}},"ProductCategoryLanguagesModelCollection":{"properties":{"data":{"type":"array","description":"A collection of category languages","items":{"$ref":"#\/components\/schemas\/ProductCategoryLanguagesModel"}}}},"ProductCategoryModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductCategoryModel"}}},"ProductCategoryModelCollection":{"properties":{"data":{"type":"array","description":"A list of product categories","items":{"$ref":"#\/components\/schemas\/ProductCategoryModel"}},"meta":{"type":"object","properties":{"pagination":{"$ref":"#\/components\/schemas\/PaginationModel"}}}}},"ProductModel":{"type":"object","properties":{"productId":{"type":"integer","readOnly":true,"example":101},"externalId":{"type":"string","description":"The external Id for this product for the system named in `externalIdType`","maxLength":255,"nullable":true,"default":null,"example":"123"},"externalIdType":{"type":"string","description":"The system name the externalId belongs to.","maxLength":255,"nullable":true,"default":null,"example":"My Erp System"},"createdAt":{"type":"string","description":"A timestamp of when the product was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00"},"defaultVatRate":{"type":"string","nullable":true,"description":"The default vat rate for this product. Will fall back to shop default if null. To fetch country specific vat rates, please use include=vatRates or use the \/products\/x\/vat-rates endpoint."},"visibility":{"type":"string","default":"hidden","description":"The visibility of this product. Supported values are: hidden, visible, pricelists"},"visibilityPricelistIds":{"type":"array","description":"The ID\u00b4s of the pricelists that the product should be visible for. Is required for when \u201dvisibility\u201d is set to \u201dpricelists\u201d but should never be populated otherwise","items":{"type":"integer","description":"The ID of the pricelist the product should be visible for","example":1}},"moreInfoUrl":{"type":"string","maxLength":255,"description":"A valid URL to a web page with more information for this product","nullable":true},"manufacturerId":{"type":"integer","nullable":true,"description":"The id of the manufacturer to use for this product. Fetch and handle available manufacturers using the \/product-manufacturers endpoint"},"unitId":{"type":"integer","nullable":true,"description":"The id of the unit to use for this product if not standard. Fetch and handle available units using the \/product-units endpoint"},"sortIndex":{"type":"integer","nullable":true,"minimum":0,"maximum":10000,"description":"Sort index for this product in a list"},"type":{"type":"string","enum":["basic","bundle"],"description":"The type of product. Either \u201dbasic\u201d or \u201dbundle\u201d. Default is \u201dbasic\u201d","example":"basic"},"isBackInStockWatchable":{"type":"boolean","default":true,"description":"Should this product be watchable for customers when it is back in stock?"},"bundleUseManualPrice":{"type":"boolean","example":false,"nullable":true,"deprecated":true,"description":"*Deprecated and will be removed in the next version, use \u201dpriceMode\u201d instead. Should all bundled products have a manually entered price? Only applies if type is bundle."},"priceMode":{"type":"string","enum":["normal","manual","calculated"],"nullable":true,"description":"The price mode for the bundle product. Use \u201dnormal\u201d to set one price for the whole bundle. Use \u201dmanual\u201d to set each bundled product's price individually. Or use \u201dcalculated\u201d to skip price setting and calculate the total price based on the bundled products' prices. Only applies if type is bundle. Default is \u201dnormal\u201d","example":"manual"},"accounting":{"type":"integer","nullable":true,"minimum":100,"maximum":9999,"description":"Account number for managing accounting on product level"},"hasSeveralVariants":{"type":"boolean","description":"Indicates if the products has several variants or not. The remaining variants can be fetched using the \/products\/{product id}\/variants endpoint","readOnly":true,"example":false},"modifiedAt":{"type":"string","description":"A timestamp of when the product was modified. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00","readOnly":true},"variants":{"$ref":"#\/components\/schemas\/ProductVariantModelCollection"},"bundledProducts":{"$ref":"#\/components\/schemas\/BundledProductsModelCollection"},"mediaFiles":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModelCollection"},"languages":{"properties":{"data":{"type":"array","description":"A collection of product languages","items":{"$ref":"#\/components\/schemas\/ProductLanguageSlimModel"}}}},"vatRates":{"$ref":"#\/components\/schemas\/ProductVatRateModelCollection"},"categories":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModelCollection"},"unit":{"$ref":"#\/components\/schemas\/ProductUnitModelItem"},"metaData":{"$ref":"#\/components\/schemas\/ProductMetaDataModelCollection"}}},"ProductModelUpdatable":{"type":"object","properties":{"externalId":{"type":"string","description":"The external Id for this product for the system named in `externalIdType`","maxLength":40,"example":"123"},"externalIdType":{"type":"string","description":"The system name the externalId belongs to.","maxLength":20,"example":"My Erp System"},"createdAt":{"type":"string","description":"A timestamp of when the product was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00"},"defaultVatRate":{"type":"string","nullable":true,"description":"The default vat rate for this product. Will fall back to shop default if null. To fetch country specific vat rates, please use include=vatRates or use the \/products\/x\/vat-rates endpoint."},"visibility":{"type":"string","default":"hidden","description":"The visibility of this product. Supported values are: hidden, visible, pricelists"},"visibilityPricelistIds":{"type":"array","description":"The ID\u00b4s of the pricelists that the product should be visible for. Is required for when \u201dvisibility\u201d is set to \u201dpricelists\u201d but should never be populated otherwise","items":{"type":"integer","description":"The ID of the pricelist the product should be visible for","example":1},"nullable":true},"moreInfoUrl":{"type":"string","maxLength":255,"nullable":true,"description":"A valid URL to a web page with more information for this product"},"manufacturerId":{"type":"integer","nullable":true,"description":"The id of the manufacturer to use for this product. Fetch and handle available manufacturers using the \/product-manufacturers endpoint"},"unitId":{"type":"integer","nullable":true,"description":"The id of the unit to use for this product if not standard. Fetch and handle available units using the \/product-units endpoint"},"sortIndex":{"type":"integer","nullable":true,"minimum":1,"maximum":10000,"description":"Sort index for this product in a list"},"type":{"type":"string","enum":["basic","bundle"],"description":"The type of product. Either \u201dbasic\u201d or \u201dbundle\u201d. Default is \u201dbasic\u201d","example":"basic"},"isBackInStockWatchable":{"type":"boolean","default":true,"description":"Should this product be watchable for customers when it is back in stock?"},"bundleUseManualPrice":{"type":"boolean","example":false,"nullable":true,"description":"*Deprecated and will be removed in the next version, use \u201dpriceMode\u201d instead. Should all bundled products have a manually entered price? Only applies if type is bundle.","deprecated":true},"priceMode":{"type":"string","enum":["normal","manual","calculated"],"nullable":true,"description":"The price mode for the bundle product. Use \u201dnormal\u201d to set one price for the whole bundle. Use \u201dmanual\u201d to set each bundled product's price individually. Or use \u201dcalculated\u201d to skip price setting and calculate the total price based on the bundled products' prices. Only applies if type is bundle. Default is \u201dnormal\u201d","example":"manual"},"accounting":{"type":"integer","nullable":true,"minimum":100,"maximum":9999,"description":"Account number for managing accounting on product level"},"variants":{"type":"array","description":"A collection of variants","items":{"$ref":"#\/components\/schemas\/ProductVariantRequestModel"}},"bundledProducts":{"type":"array","description":"A collection of bundled products","nullable":true,"items":{"$ref":"#\/components\/schemas\/BundledProductsModel"}},"mediaFiles":{"type":"array","description":"A collection of media files","items":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModel"}},"languages":{"type":"array","description":"A collection of product languages","items":{"$ref":"#\/components\/schemas\/ProductLanguageModel"}},"vatRates":{"type":"array","description":"A collection of country specific vat rates","items":{"$ref":"#\/components\/schemas\/ProductVatRateModel"}},"categories":{"type":"array","description":"A collection of categories","items":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModel"}},"metaData":{"type":"array","description":"A collection of meta data","items":{"$ref":"#\/components\/schemas\/ProductMetaDataModelUpdatable"}}}},"ProductModelPatchable":{"type":"object","properties":{"externalId":{"type":"string","description":"The external Id for this product for the system named in `externalIdType`","maxLength":40,"example":"123"},"externalIdType":{"type":"string","description":"The system name the externalId belongs to.","maxLength":20,"example":"My Erp System"},"createdAt":{"type":"string","description":"A timestamp of when the product was created. The time should be formatted using ISO-8601","example":"2026-05-07T05:04:22+02:00"},"defaultVatRate":{"type":"string","nullable":true,"description":"The default vat rate for this product. Will fall back to shop default if null. To fetch country specific vat rates, please use include=vatRates or use the \/products\/x\/vat-rates endpoint."},"visibility":{"type":"string","default":"hidden","description":"The visibility of this product. Supported values are: hidden, visible, pricelists"},"visibilityPricelistIds":{"type":"array","description":"The ID\u00b4s of the pricelists that the product should be visible for. Is required for when \u201dvisibility\u201d is set to \u201dpricelists\u201d but should never be populated otherwise","items":{"type":"integer","description":"The ID of the pricelist the product should be visible for","example":1},"nullable":true},"moreInfoUrl":{"type":"string","maxLength":255,"nullable":true,"description":"A valid URL to a web page with more information for this product"},"manufacturerId":{"type":"integer","nullable":true,"description":"The id of the manufacturer to use for this product. Fetch and handle available manufacturers using the \/product-manufacturers endpoint"},"unitId":{"type":"integer","nullable":true,"description":"The id of the unit to use for this product if not standard. Fetch and handle available units using the \/product-units endpoint"},"sortIndex":{"type":"integer","nullable":true,"minimum":1,"maximum":10000,"description":"Sort index for this product in a list"},"type":{"type":"string","enum":["basic","bundle"],"description":"The type of product. Either \u201dbasic\u201d or \u201dbundle\u201d. Default is \u201dbasic\u201d","example":"basic"},"isBackInStockWatchable":{"type":"boolean","default":true,"description":"Should this product be watchable for customers when it is back in stock?"},"bundleUseManualPrice":{"type":"boolean","example":false,"nullable":true,"description":"*Deprecated and will be removed in the next version, use \u201dpriceMode\u201d instead. Should all bundled products have a manually entered price? Only applies if type is bundle.","deprecated":true},"priceMode":{"type":"string","enum":["normal","manual","calculated"],"nullable":true,"description":"The price mode for the bundle product. Use \u201dnormal\u201d to set one price for the whole bundle. Use \u201dmanual\u201d to set each bundled product's price individually. Or use \u201dcalculated\u201d to skip price setting and calculate the total price based on the bundled products' prices. Only applies if type is bundle. Default is \u201dnormal\u201d","example":"manual"},"accounting":{"type":"integer","nullable":true,"minimum":100,"maximum":9999,"description":"Account number for managing accounting on product level"},"mediaFiles":{"type":"array","description":"A collection of media files","items":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModel"}},"languages":{"type":"array","description":"A collection of product languages","items":{"$ref":"#\/components\/schemas\/ProductLanguageModel"}},"vatRates":{"type":"array","description":"A collection of country specific vat rates","items":{"$ref":"#\/components\/schemas\/ProductVatRateModel"}},"categories":{"type":"array","description":"A collection of categories","items":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModel"}},"metaData":{"type":"array","description":"A collection of meta data","items":{"$ref":"#\/components\/schemas\/ProductMetaDataModelUpdatable"}}}},"ProductModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductModel"}}},"ProductModelCollection":{"properties":{"data":{"type":"array","description":"A collection of products","items":{"$ref":"#\/components\/schemas\/ProductModel"}},"meta":{"type":"object","properties":{"pagination":{"$ref":"#\/components\/schemas\/PaginationModel"}}}}},"ProductVariantModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductVariantResponseModel"}}},"ProductVariantModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product variants","items":{"$ref":"#\/components\/schemas\/ProductVariantResponseModel"}}}},"ProductVariantRequestModel":{"type":"object","properties":{"sku":{"type":"string","maxLength":40,"description":"The product variants SKU (stock keeping unit)"},"externalId":{"type":"string","description":"The external Id for this product for the system named in externalType","maxLength":40,"example":"123","nullable":true},"externalIdType":{"type":"string","description":"The system name the externalId belongs to.","maxLength":20,"example":"My Erp System","nullable":true},"isActive":{"type":"boolean","default":true,"description":"Is this variant active? Only active variants are visible to customers","nullable":true},"sortIndex":{"type":"integer","description":"The sort index of this variant.","nullable":true},"stockStatusId":{"type":"integer","nullable":true,"description":"The ID of the variants stock status. Available stock statuses can be fetched using the \/product-stock-statuses endpoint"},"stockQuantity":{"type":"integer","nullable":true,"maximum":100000000,"minimum":-100000000,"description":"The current stock quantity for this variant"},"weightInKg":{"type":"number","format":"float","nullable":true,"minimum":0,"description":"The variants weight in KG","example":0.15},"length":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant length in mm","example":50},"width":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant width in mm","example":20},"height":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant height in mm","example":10},"costPrice":{"type":"string","minimum":0,"nullable":true,"description":"The cost for this variant. Used for statistic and never displayed to customers"},"ean":{"type":"string","maxLength":20,"description":"European article no","nullable":true},"mpn":{"type":"string","maxLength":40,"description":"Manufacturer part no","nullable":true},"imageFileId":{"type":"integer","nullable":true,"description":"The ID of this variant main image. Available media files can be fetched using the \/media-files endpoint"},"prices":{"type":"array","description":"An array of prices for different price lists","items":{"$ref":"#\/components\/schemas\/ProductVariantPriceModel"}},"attributeValueLinks":{"type":"array","description":"An array of attribute value IDs that this variant belongs to. This field is mandatory for products variants if the product\u00b4s hasSeveralVariants field is set to true.","items":{"type":"integer","minimum":1,"description":"The ID of the attribute value"}},"volumePricingInheritancePricelistIds":{"type":"array","description":"An array of pricelists IDs that will use inheritance","items":{"type":"integer","minimum":1,"description":"The ID of the attribute value"},"nullable":true}},"required":["sku","attributeValueLinks"]},"ProductVariantPutRequestModel":{"type":"object","properties":{"sku":{"type":"string","maxLength":40,"description":"The product variants SKU (stock keeping unit)"},"externalId":{"type":"string","description":"The external Id for this product for the system named in externalType","maxLength":40,"example":"123","nullable":true},"externalIdType":{"type":"string","description":"The system name the externalId belongs to.","maxLength":20,"example":"My Erp System","nullable":true},"isActive":{"type":"boolean","default":true,"description":"Is this variant active? Only active variants are visible to customers","nullable":true},"sortIndex":{"type":"integer","description":"The sort index of this variant.","nullable":true},"stockStatusId":{"type":"integer","nullable":true,"description":"The ID of the variants stock status. Available stock statuses can be fetched using the \/product-stock-statuses endpoint"},"stockQuantity":{"type":"integer","nullable":true,"maximum":100000000,"minimum":-100000000,"description":"The current stock quantity for this variant"},"weightInKg":{"type":"number","format":"float","nullable":true,"minimum":0,"description":"The variants weight in KG","example":0.15},"length":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant length in mm","example":50},"width":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant width in mm","example":20},"height":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant height in mm","example":10},"costPrice":{"type":"string","minimum":0,"nullable":true,"description":"The cost for this variant. Used for statistic and never displayed to customers"},"ean":{"type":"string","maxLength":20,"description":"European article no","nullable":true},"mpn":{"type":"string","maxLength":40,"description":"Manufacturer part no","nullable":true},"imageFileId":{"type":"integer","nullable":true,"description":"The ID of this variant main image. Available media files can be fetched using the \/media-files endpoint"},"prices":{"type":"array","description":"An array of prices for different price lists","items":{"$ref":"#\/components\/schemas\/ProductVariantPriceModel"}},"attributeValueLinks":{"type":"array","description":"An array of attribute value IDs that this variant belongs to. This field is mandatory for products variants if the product\u00b4s hasSeveralVariants field is set to true.","items":{"type":"integer","minimum":1,"description":"The ID of the attribute value"},"nullable":true},"volumePricingInheritancePricelistIds":{"type":"array","description":"An array of pricelists IDs that will use inheritance","items":{"type":"integer","minimum":1,"description":"The ID of the attribute value"},"nullable":true}},"required":["sku","attributeValueLinks"]},"ProductVariantPatchRequestModel":{"type":"object","properties":{"sku":{"type":"string","maxLength":40,"description":"The product variants SKU (stock keeping unit)"},"externalId":{"type":"string","description":"The external Id for this product for the system named in externalType","maxLength":40,"example":"123","nullable":true},"externalIdType":{"type":"string","description":"The system name the externalId belongs to.","maxLength":20,"example":"My Erp System","nullable":true},"isActive":{"type":"boolean","default":true,"description":"Is this variant active? Only active variants are visible to customers","nullable":true},"sortIndex":{"type":"integer","description":"The sort index of this variant.","nullable":true},"stockStatusId":{"type":"integer","nullable":true,"description":"The ID of the variants stock status. Available stock statuses can be fetched using the \/product-stock-statuses endpoint"},"stockQuantity":{"type":"integer","nullable":true,"maximum":100000000,"minimum":-100000000,"description":"The current stock quantity for this variant"},"weightInKg":{"type":"number","format":"float","nullable":true,"minimum":0,"description":"The variants weight in KG","example":0.15},"length":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant length in mm","example":50},"width":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant width in mm","example":20},"height":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant height in mm","example":10},"costPrice":{"type":"string","minimum":0,"nullable":true,"description":"The cost for this variant. Used for statistic and never displayed to customers"},"ean":{"type":"string","maxLength":20,"description":"European article no","nullable":true},"mpn":{"type":"string","maxLength":40,"description":"Manufacturer part no","nullable":true},"imageFileId":{"type":"integer","nullable":true,"description":"The ID of this variant main image. Available media files can be fetched using the \/media-files endpoint"},"prices":{"type":"array","description":"An array of prices for different price lists","items":{"$ref":"#\/components\/schemas\/ProductVariantPriceModel"}},"attributeValueLinks":{"type":"array","description":"An array of attribute value IDs that this variant belongs to. This field is mandatory for products variants if the product\u00b4s hasSeveralVariants field is set to true.","items":{"type":"integer","minimum":1,"description":"The ID of the attribute value"},"nullable":true},"volumePricingInheritancePricelistIds":{"type":"array","description":"An array of pricelists IDs that will use inheritance","items":{"type":"integer","minimum":1,"description":"The ID of the attribute value"},"nullable":true}}},"ProductVariantResponseModel":{"type":"object","properties":{"sku":{"type":"string","maxLength":40,"description":"The product variants SKU (stock keeping unit)"},"externalId":{"type":"string","description":"The external Id for this product for the system named in externalType","maxLength":40,"example":"123","nullable":true},"externalIdType":{"type":"string","description":"The system name the externalId belongs to.","maxLength":20,"example":"My Erp System","nullable":true},"isActive":{"type":"boolean","default":true,"description":"Is this variant active? Only active variants are visible to customers","nullable":true},"sortIndex":{"type":"integer","description":"The sort index of this variant.","nullable":true},"stockStatusId":{"type":"integer","nullable":true,"description":"The ID of the variants stock status. Available stock statuses can be fetched using the \/product-stock-statuses endpoint"},"stockQuantity":{"type":"integer","nullable":true,"maximum":100000000,"minimum":-100000000,"description":"The current stock quantity for this variant"},"weightInKg":{"type":"number","format":"float","nullable":true,"minimum":0,"description":"The variants weight in KG","example":0.15},"length":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant length in mm","example":50},"width":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant width in mm","example":20},"height":{"type":"number","format":"integer","nullable":true,"minimum":1,"description":"The variant height in mm","example":10},"costPrice":{"type":"string","minimum":0,"nullable":true,"description":"The cost for this variant. Used for statistic and never displayed to customers"},"ean":{"type":"string","maxLength":20,"description":"European article no","nullable":true},"mpn":{"type":"string","maxLength":40,"description":"Manufacturer part no","nullable":true},"imageFileId":{"type":"integer","nullable":true,"description":"The ID of this variant main image. Available media files can be fetched using the \/media-files endpoint"},"prices":{"type":"array","description":"A collection of product variant prices","items":{"$ref":"#\/components\/schemas\/ProductVariantPriceModel"}},"attributeValueLinks":{"type":"array","description":"An array of attribute value IDs that this variant belongs to. This field is mandatory for products variants if the product\u00b4s hasSeveralVariants field is set to true.","items":{"type":"integer","minimum":1,"description":"The ID of the attribute value"}},"volumePricingInheritancePricelistIds":{"type":"array","description":"An array of pricelists IDs that will use inheritance","items":{"type":"integer","minimum":1,"description":"The ID of the attribute value"},"nullable":true},"variantId":{"type":"integer","readOnly":true,"description":"The variant id","minimum":1,"format":"int32","example":1},"attributeValues":{"type":"array","description":"A collection of product variant attribute values","items":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModel"}}},"required":["sku","attributeValueLinks"]},"ProductMediaFileLinkModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModel"}}},"ProductMediaFileLinkModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product media file links","items":{"$ref":"#\/components\/schemas\/ProductMediaFileLinkModel"}}}},"ProductMediaFileLinkModel":{"type":"object","properties":{"productMediaFileId":{"type":"integer","readOnly":true,"description":"This links ID"},"mediaFileId":{"type":"integer","nullable":false,"description":"The media file this link points to. You can fetch available media files from the \/media-files endpoint"},"sortIndex":{"type":"integer","description":"The sort index of these media file links. Note that after the item is saved the sort index will be rearranged so that the item with the lowest sort index always get sort index 0, the next one 1, and so on."},"type":{"type":"string","readOnly":true,"description":"The type of file this link points to. Can be either \u201dimage\u201d or \u201ddocument\u201d","example":"image"}},"required":["mediaFileId"]},"ProductLanguageModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductLanguageModel"}}},"ProductLanguageModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product languages","items":{"$ref":"#\/components\/schemas\/ProductLanguageModel"}}}},"ProductLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","description":"The langCode for this language. Supported language codes are: sv, en, ar, no, da, fi, de, fr, es, et, lv, lt, it, nl, pl, pt, is"},"name":{"type":"string","maxLength":150,"description":"The products name"},"shortDescription":{"type":"string","maxLength":65535,"description":"The products short description"},"longDescription":{"type":"string","maxLength":65535,"description":"The products long description"},"permalink":{"type":"string","maxLength":128,"description":"The permalink for this product and language"},"pageTitle":{"type":"string","maxLength":100,"description":"The page title for this product"},"pageMetaDescription":{"type":"string","maxLength":278,"description":"The meta description for this product"}},"required":["langCode","name"]},"ProductLanguageSlimModel":{"type":"object","properties":{"langCode":{"type":"string","description":"The langCode for this language. Supported language codes are: sv, en, ar, no, da, fi, de, fr, es, et, lv, lt, it, nl, pl, pt, is"},"name":{"type":"string","maxLength":150,"description":"The products name"},"shortDescription":{"type":"string","maxLength":65535,"description":"The products short description"},"permalink":{"type":"string","maxLength":128,"description":"The permalink for this product and language"}},"required":["langCode","name"]},"ProductVatRateModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductVatRateModel"}}},"ProductVatRateModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product vat rates","items":{"$ref":"#\/components\/schemas\/ProductVatRateModel"}}}},"ProductVatRateModel":{"type":"object","properties":{"countryCode":{"type":"string","minLength":2,"maxLength":2,"description":"The country code this vat rate should be valid for. The country code should be set using ISO 3166-1 alpha-2"},"vatRate":{"type":"number","format":"float","default":0,"minimum":0,"maximum":100,"example":25,"description":"The vat rate to use for this country and product"}}},"ProductCategoryLinkModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModel"}}},"ProductCategoryLinkModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product category links","items":{"$ref":"#\/components\/schemas\/ProductCategoryLinkModel"}}}},"ProductCategoryLinkModel":{"type":"object","properties":{"categoryId":{"type":"integer","nullable":false,"description":"The category id this product should be listed in"},"sortIndex":{"type":"integer","description":"The sort index this product have in the category"}}},"ProductMetaDataModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductMetaDataModel"}}},"ProductMetaDataModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product meta data","items":{"$ref":"#\/components\/schemas\/ProductMetaDataModel"}}}},"ProductMetaDataModelUpdatable":{"type":"object","properties":{"metaDataId":{"type":"integer","readOnly":true,"description":"The ID of the meta data."},"metaDataTypeId":{"type":"integer","description":"The ID of the meta data type. Available meta data types can be fetched using the \/product-meta-data-types endpoint"},"sortIndex":{"type":"integer","description":"The sort index of this meta data for this product"},"languages":{"type":"array","description":"A collection of product meta data languages","items":{"$ref":"#\/components\/schemas\/ProductMetaLanguageDataModel"}}},"required":["metaDataTypeId"]},"ProductMetaDataModel":{"type":"object","properties":{"metaDataId":{"type":"integer","description":"The ID of the meta data."},"metaDataTypeId":{"type":"integer","description":"The ID of the meta data type. Available meta data types can be fetched using the \/product-meta-data-types endpoint"},"sortIndex":{"type":"integer","description":"The sort index of this meta data for this product"},"languages":{"$ref":"#\/components\/schemas\/ProductMetaLanguageDataModelCollection"}}},"ProductMetaLanguageDataModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductMetaLanguageDataModel"}}},"ProductMetaLanguageDataModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product meta data","items":{"$ref":"#\/components\/schemas\/ProductMetaLanguageDataModel"}}}},"ProductMetaLanguageDataModel":{"type":"object","properties":{"langCode":{"type":"string","description":"The langCode for this language"},"value":{"type":"string","maxLength":255,"description":"The value for this meta data"}}},"ProductUnitModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product units","items":{"$ref":"#\/components\/schemas\/ProductUnitModel"}}}},"ProductUnitModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductUnitModel"}}},"ProductUnitModel":{"type":"object","properties":{"unitId":{"type":"integer","readOnly":true,"description":"The unit's id","minimum":1,"format":"int32","example":1},"externalId":{"type":"string","description":"The external id of this unit","example":"101","maxLength":40,"default":"","nullable":true},"externalIdType":{"type":"string","description":"The external type of this unit, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":"","nullable":true},"languages":{"$ref":"#\/components\/schemas\/ProductUnitLanguageModelCollection"}}},"ProductUnitModelUpdatable":{"type":"object","properties":{"externalId":{"type":"string","description":"The external id of this unit","example":"101","maxLength":40,"default":"","nullable":true},"externalIdType":{"type":"string","description":"The external type of this unit, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":"","nullable":true},"languages":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductUnitLanguageModel"}}},"required":["languages"]},"ProductUnitLanguageModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product unit languages","items":{"$ref":"#\/components\/schemas\/ProductUnitLanguageModel"}}}},"ProductUnitLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","description":"The language code for this language","example":"sv"},"name":{"type":"string","maxLength":30,"description":"The name of this unit type","example":"Pieces"},"symbol":{"type":"string","maxLength":5,"description":"The symbol to use when counting this unit. For example \u201dpcs.\u201d","example":"pcs."}},"required":["langCode","name","symbol"]},"ProductVariantPriceModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductVariantPriceModel"}}},"ProductVariantPriceModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product variants","items":{"$ref":"#\/components\/schemas\/ProductVariantPriceModel"}}}},"ProductVariantPriceModel":{"type":"object","properties":{"pricelistId":{"type":"integer","description":"The pricelist this price is for"},"externalId":{"type":"string","description":"The external id of this pricelist price","example":"101","maxLength":40,"default":"","nullable":true},"externalIdType":{"type":"string","description":"The external type of this pricelist price, used to provide  context for the `externalId`","example":"external erp","maxLength":255,"default":"","nullable":true},"priceExVat":{"type":"number","format":"float","minimum":0,"default":0,"description":"The price excluding vat","example":15.2,"nullable":true},"specialPriceExVat":{"type":"number","format":"float","minimum":0,"nullable":true,"example":13.6,"description":"The special price excluding vat (a discounted price)"},"activePriceExVat":{"type":"number","format":"float","minimum":0,"default":0,"description":"This is the price that is currently active for this variant in the given pricelist.","example":13.6,"readOnly":true},"volumePrices":{"type":"array","description":"A collection of volume prices","items":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceModel"},"nullable":true}},"required":["pricelistId"]},"ProductVariantVolumePriceModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceResponseModel"}}},"ProductVariantVolumePriceModelCollection":{"properties":{"data":{"type":"array","description":"A collection of variant volume prices","items":{"$ref":"#\/components\/schemas\/ProductVariantVolumePriceModel"}}}},"ProductVariantVolumePriceModel":{"type":"object","properties":{"externalId":{"type":"string","description":"The external id of this pricelist volume price","example":"101","maxLength":40,"default":"","nullable":true},"externalIdType":{"type":"string","description":"The external type of this pricelist volume price, used to provide  context for the `externalId`","example":"external erp","maxLength":255,"default":"","nullable":true},"priceExVat":{"type":"number","format":"float","minimum":0,"default":0,"description":"The price excluding vat","example":15.2,"nullable":true},"quantity":{"type":"number","format":"int","minimum":2,"description":"The minimum quantity required for the price to apply","example":10,"nullable":true}},"required":["quantity"]},"ProductVariantVolumePriceResponseModel":{"type":"object","properties":{"externalId":{"type":"string","description":"The external id of this pricelist volume price","example":"101","maxLength":40,"default":"","nullable":true},"externalIdType":{"type":"string","description":"The external type of this pricelist volume price, used to provide  context for the `externalId`","example":"external erp","maxLength":255,"default":"","nullable":true},"priceExVat":{"type":"number","format":"float","minimum":0,"default":0,"description":"The price excluding vat","example":15.2,"nullable":true},"quantity":{"type":"number","format":"int","minimum":2,"description":"The minimum quantity required for the price to apply","example":10,"nullable":true},"pricelistId":{"type":"integer","description":"The pricelist this price is for","readOnly":true}}},"ProductManufacturerModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductManufacturerModel"}}},"ProductManufacturerModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product manufacturers","items":{"$ref":"#\/components\/schemas\/ProductManufacturerModel"}}}},"ProductManufacturerModel":{"type":"object","properties":{"name":{"type":"string","maxLength":50,"description":"The name of this manufacturer","example":"Example Ltd."},"manufacturerId":{"type":"integer","readOnly":true,"description":"The id of this manufacturer","example":2},"externalId":{"type":"string","description":"The external id of this manufacturer","example":"101","maxLength":40,"default":""},"externalIdType":{"type":"string","description":"The external type of this manufacturer, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"url":{"type":"string","maxLength":255,"description":"The URL to the manufacturers website","example":"https:\/\/example.net","nullable":true}},"required":["name"]},"ProductMetaDataTypeModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product meta data types","items":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeModel"}}}},"ProductMetaDataTypeModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeModel"}}},"ProductMetaDataTypeModel":{"type":"object","properties":{"metaDataTypeId":{"type":"integer","readOnly":true,"description":"The meta data type id","minimum":1,"format":"int32","example":1},"languages":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeLanguageModelCollection"}}},"ProductMetaDataTypeModelUpdatable":{"type":"object","properties":{"languages":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeLanguageModelCollection"}}},"ProductMetaDataTypeLanguageModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product meta data type languages","items":{"$ref":"#\/components\/schemas\/ProductMetaDataTypeLanguageModel"}}}},"ProductMetaDataTypeLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","description":"The language code for this language","example":"sv"},"name":{"type":"string","maxLength":40,"description":"The name of this meta data type","example":"ISBN"}}},"ProductStockStatusResponseModel":{"type":"object","properties":{"stockStatusId":{"type":"integer","readOnly":true,"description":"The stock status id","example":101},"idCode":{"type":"string","maxLength":20,"readOnly":true,"description":"The idCode of the status. Only standard statuses has idCodes set. It is also not permitted to change names for standard statuses","example":"inStock"},"sortIndex":{"type":"integer","description":"Sort index for this status"},"stockoutNewStatusId":{"type":"integer","nullable":true,"example":null,"description":"This has to be set to another, existing stock status id, or null. If a product has its quantity changed to negative, the product will then change stock status to the one with this id"},"productBuyable":{"type":"boolean","default":true,"example":false,"description":"Is the product buyable when this status is set?"},"inStock":{"type":"boolean","default":false,"example":true,"description":"Should the product be displayed as \"in stock\" when this status is set?"},"languages":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductStockStatusLanguageModel"}}}}}},"ProductStockStatusRequestModel":{"type":"object","properties":{"stockStatusId":{"type":"integer","readOnly":true,"description":"The stock status id","example":101},"idCode":{"type":"string","maxLength":20,"readOnly":true,"description":"The idCode of the status. Only standard statuses has idCodes set. It is also not permitted to change names for standard statuses","example":"inStock"},"sortIndex":{"type":"integer","description":"Sort index for this status"},"stockoutNewStatusId":{"type":"integer","nullable":true,"example":null,"description":"This has to be set to another, existing stock status id, or null. If a product has its quantity changed to negative, the product will then change stock status to the one with this id"},"productBuyable":{"type":"boolean","default":true,"example":false,"description":"Is the product buyable when this status is set?"},"inStock":{"type":"boolean","default":false,"example":true,"description":"Should the product be displayed as \"in stock\" when this status is set?"},"languages":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductStockStatusLanguageModel"}}}},"ProductStockStatusLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","description":"Language Code (ISO 639-1) for this translation. Has to be a valid lang code that the shop supports. ","minLength":2,"maxLength":2,"example":"sv"},"name":{"type":"string","maxLength":40,"description":"The name of this stock status","example":"My stock status"}}},"ProductStockStatusModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductStockStatusResponseModel"}}},"ProductStockStatusModelCollection":{"properties":{"data":{"type":"array","description":"A list of product stock statuses","items":{"$ref":"#\/components\/schemas\/ProductStockStatusResponseModel"}}}},"ShopModel":{"type":"object","properties":{"name":{"type":"string","readOnly":true,"example":"My web shop","description":"The shop name"},"idCode":{"type":"string","readOnly":true,"example":"myShop","description":"A unique id code for this shop"},"status":{"type":"string","readOnly":true,"example":"open","description":"The current status of this shop. Possible values are: open, closed, inactive"},"defaultLangCode":{"type":"string","readOnly":true,"example":"sv","description":"Shops default language code"},"activeLangCodes":{"type":"array","readOnly":true,"description":"Active languages in shop","items":{"type":"string","readOnly":true,"minLength":2,"maxLength":2,"description":"Lang code","example":"sv"}},"baseCurrency":{"type":"string","readOnly":true,"example":"SEK","description":"The shops base currency. All currencies and related data can be fetched using the \/currencies endpoint"},"defaultCustomerCountryCode":{"type":"string","readOnly":true,"example":"SE","description":"The default customer country"},"generalDefaultVatRate":{"type":"number","format":"float","readOnly":true,"minimum":0,"example":25,"description":"The default vat rate for new products"},"shopCompanyName":{"type":"string","readOnly":true,"example":"My Company Ltd.","description":"The company running this web shop"},"shopAddress":{"type":"string","readOnly":true,"example":"My Street 1","description":"The address to the web shop"},"shopPostalCode":{"type":"string","readOnly":true,"example":"100 00","description":"The postal code to the web shop"},"shopCity":{"type":"string","readOnly":true,"example":"My Town","description":"The city to the web shop"},"shopOrgNo":{"type":"string","readOnly":true,"example":"556677-0000","description":"The business id of the company running the web shop"},"shopPhoneNo":{"type":"string","readOnly":true,"example":"040 - 60 20 900","description":"The contact phone number to the web shop"},"shopVatNo":{"type":"string","readOnly":true,"example":"SE556677000001","description":"The EU VAT number of the company running the web shop"},"shopCountryCode":{"type":"string","readOnly":true,"example":"SE","description":"The country the company behind the web shop resides in"}}},"ShopItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ShopModel"}}},"ProductVariantAttributeValueModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModel"}}},"ProductVariantAttributeValueModelCollection":{"properties":{"data":{"type":"array","description":"A collection of attribute values","items":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueModel"}}}},"ProductVariantAttributeValueModelUpdatable":{"type":"object","properties":{"skuSuffix":{"type":"string","description":"The suggested suffix for new Variants using this attribute value","example":"W"},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this attribute value"},"externalIdType":{"type":"string","description":"The external type of this attribute value, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"sortIndex":{"type":"integer","minimum":0,"default":0,"example":9,"description":"The sort order for this attribute value"},"languages":{"type":"array","description":"A collection of attribute value languages","items":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueLanguageModel"}}},"required":["languages"]},"ProductVariantAttributeValueLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","description":"The langCode for this language. Supported language codes are: sv, en, ar, no, da, fi, de, fr, es, et, lv, lt, it, nl, pl, pt, is"},"name":{"type":"string","maxLength":50,"description":"The name of this attribute value"}},"required":["langCode","name"]},"ProductVariantAttributeValueModel":{"type":"object","properties":{"attributeValueId":{"type":"integer","description":"The id for this attribute value"},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this attribute value"},"externalIdType":{"type":"string","description":"The external type of this attribute value, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"skuSuffix":{"type":"string","description":"The suggested suffix for new Variants using this attribute value","example":"W"},"sortIndex":{"type":"integer","minimum":0,"default":0,"example":9,"description":"The sort order for this attribute value"},"languages":{"type":"object","description":"A collection of attribute value languages","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductVariantAttributeValueLanguageModel"}}}}}},"ProductVariantAttributeModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModel"}}},"ProductVariantAttributeModelCollection":{"properties":{"data":{"type":"array","description":"A collection of attribute values","items":{"$ref":"#\/components\/schemas\/ProductVariantAttributeModel"}}}},"ProductVariantAttributeModelUpdatable":{"type":"object","properties":{"attributeId":{"type":"integer","readOnly":true,"example":1},"externalId":{"type":"string","maxLength":40,"default":"","example":"101","description":"The external id of this attribute"},"externalIdType":{"type":"string","description":"The external type of this attribute, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"languages":{"type":"array","description":"A collection of attribute languages","items":{"$ref":"#\/components\/schemas\/ProductVariantAttributeLanguageModel"}}},"required":["languages"]},"ProductVariantAttributeLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","description":"The langCode for this language. Supported language codes are: sv, en, ar, no, da, fi, de, fr, es, et, lv, lt, it, nl, pl, pt, is"},"name":{"type":"string","maxLength":50,"description":"The name of this attribute"}},"required":["langCode","name"]},"ProductVariantAttributeModel":{"type":"object","properties":{"attributeId":{"type":"integer","description":"The id for this attribute"},"externalId":{"type":"string","description":"The external id of this attribute"},"externalIdType":{"type":"string","description":"The external type of this manufacturer, used to provide  context for the `externalId`"},"languages":{"type":"object","description":"A collection of attribute languages","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductVariantAttributeLanguageModel"}}}}}},"ProductVariantLanguageModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductVariantLanguageModel"}}},"ProductVariantLanguageModelCollection":{"properties":{"data":{"type":"array","description":"A list of product variant languages.","items":{"$ref":"#\/components\/schemas\/ProductVariantLanguageModel"}}}},"ProductVariantLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","description":"The language code identifier for this language. Supported language codes are: sv, en, ar, no, da, fi, de, fr, es, et, lv, lt, it, nl, pl, pt, is"},"name":{"type":"string","maxLength":150,"description":"The product name in this language."},"shortDescription":{"type":"string","maxLength":65535,"description":"The short description in this language."},"longDescription":{"type":"string","maxLength":65535,"description":"The long description in this language."}},"required":["langCode"]},"ProductVariantImageModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductVariantImageModel"}}},"ProductVariantImageModelCollection":{"properties":{"data":{"type":"array","description":"A list of product variant image links.","items":{"$ref":"#\/components\/schemas\/ProductVariantImageModel"}}}},"ProductVariantImageModel":{"type":"object","properties":{"variantImageId":{"type":"integer","description":"The variant image link identifier.","example":1},"mediaFileId":{"type":"integer","description":"The media file identifier for the image associated with the variant.","example":123},"sortIndex":{"type":"integer","description":"The sort index for the image link, used to determine the order of images.","example":1}},"required":["mediaFileId"]},"ProductsAttributesModelItem":{"type":"object","properties":{"attributeId":{"type":"integer","description":"The id for this attribute"}}},"VatRateModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/VatRateModel"}}},"VatRateModelCollection":{"properties":{"data":{"type":"array","description":"A collection of country vat rates","items":{"$ref":"#\/components\/schemas\/VatRateModel"}}}},"VatRateModel":{"type":"object","properties":{"countryCode":{"type":"string","minLength":2,"maxLength":2,"description":"The country code this vat rates should be valid for. The country code should be set using ISO 3166-1 alpha-2"},"defaultVatRate":{"type":"number","format":"float","default":0,"minimum":0,"maximum":100,"example":25,"description":"The vat rates to use for this country"},"fixedOrderPaymentVatRate":{"type":"number","format":"float","default":0,"minimum":0,"maximum":100,"example":null,"description":"The vat rates to use for this country for payment methods"},"fixedOrderShippingVatRate":{"type":"number","format":"float","default":0,"minimum":0,"maximum":100,"example":null,"description":"The vat rates to use for this country for shipping methods"},"fixedOrderDiscountVatRate":{"type":"number","format":"float","default":0,"minimum":0,"maximum":100,"example":null,"description":"The vat rates to use for this country for discounts"}}},"WebHookModel":{"type":"object","properties":{"webHookId":{"type":"integer","description":"The id of the web hook","readOnly":true,"example":1},"name":{"type":"string","maxLength":255,"description":"The name of the web hook","example":"Do something important"},"event":{"type":"string","enum":["product-created","product-updated","product-removed","order-created","order-completed","order-updated","order-deleted","order-status-changed","customer-created","customer-updated","customer-deleted","shop-opened","shop-closed","shop-removed"],"description":"The triggering event. Valid values are product-created, product-updated, product-removed, order-created, order-completed, order-updated, order-deleted, order-status-changed, customer-created, customer-updated, customer-deleted, shop-opened, shop-closed, shop-removed","example":"product-created"},"statusId":{"type":"integer","nullable":true,"minimum":1,"description":"The id of an order status. Only used with the order-status-changes event.","example":1},"url":{"type":"string","maxLength":255,"description":"The URL to call when the event triggers","example":"https:\/\/example.com\/do-thing"}}},"WebHookModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/WebHookModel"}}},"WebHookModelCollection":{"properties":{"data":{"type":"array","description":"A list of web hooks","items":{"$ref":"#\/components\/schemas\/WebHookModel"}}}},"BundledProductsModelCollection":{"properties":{"data":{"type":"array","description":"A collection of bundled products","items":{"$ref":"#\/components\/schemas\/BundledProductsModel"}}}},"BundledProductsModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/BundledProductsModel"}}},"BundledProductsModel":{"type":"object","properties":{"singleVariant":{"type":"boolean","description":"Bundled product only valid for a single variant","example":false},"bundledProductId":{"type":"integer","description":"The bundled products id","example":1},"variantSku":{"type":"string","description":"The sku of the variant the product is locked to in the variant","example":null},"quantity":{"type":"integer","nullable":true,"maximum":100000000,"minimum":1,"example":100,"description":"The quantity for this bundled product"},"sortIndex":{"type":"integer","description":"The sort index of this bundled product."},"prices":{"type":"array","description":"A collection of bundled product prices","items":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModel"}}},"required":["bundledProductId"]},"StockLocationModel":{"type":"object","properties":{"stockLocationId":{"type":"integer","description":"The stock location Id","readOnly":true,"example":101},"externalId":{"type":"string","description":"The external id of this stock location","example":"101","maxLength":40,"default":""},"externalIdType":{"type":"string","description":"The external type of this stock location, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"visibility":{"type":"string","enum":["never_show_in_store","always_show_in_store","show_if_in_stock"],"description":"The stock location`s visibility settings.","example":"always_show_in_store"},"sortIndex":{"type":"integer","description":"Sort index. A stock location with a lower value is displayed higher up in lists","example":9},"ecommerceStockLocation":{"type":"boolean","description":"Whether or not the stock location is the main ecommerce stock location There can only be one ecommerce stock location for the shop, so if you set this flag for any of the stock location it will be removed automatically from any other stock location","example":true,"default":false},"languages":{"$ref":"#\/components\/schemas\/StockLocationLanguagesModelCollection"}}},"StockLocationPostRequestModel":{"type":"object","properties":{"externalId":{"type":"string","description":"The external id of this stock location","example":"101","maxLength":40,"default":""},"externalIdType":{"type":"string","description":"The external type of this stock location, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"visibility":{"type":"string","enum":["never_show_in_store","always_show_in_store","show_if_in_stock"],"description":"The stock location`s visibility settings.","example":"always_show_in_store"},"sortIndex":{"type":"integer","description":"Sort index. A stock location with a lower value is displayed higher up in lists","example":9},"ecommerceStockLocation":{"type":"boolean","description":"Whether or not the stock location is the main ecommerce stock location There can only be one ecommerce stock location for the shop, so if you set this flag for any of the stock location it will be removed automatically from any other stock location","example":true,"default":false},"languages":{"type":"array","items":{"$ref":"#\/components\/schemas\/StockLocationLanguagesModel"}}},"required":["visibility","sortIndex","languages"]},"StockLocationPutRequestModel":{"type":"object","properties":{"externalId":{"type":"string","description":"The external id of this stock location","example":"101","maxLength":40,"default":""},"externalIdType":{"type":"string","description":"The external type of this stock location, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"visibility":{"type":"string","enum":["never_show_in_store","always_show_in_store","show_if_in_stock"],"description":"The stock location`s visibility settings.","example":"always_show_in_store"},"sortIndex":{"type":"integer","description":"Sort index. A stock location with a lower value is displayed higher up in lists","example":9},"ecommerceStockLocation":{"type":"boolean","description":"Whether or not the stock location is the main ecommerce stock location There can only be one ecommerce stock location for the shop, so if you set this flag for any of the stock location it will be removed automatically from any other stock location","example":true,"default":false},"languages":{"type":"array","items":{"$ref":"#\/components\/schemas\/StockLocationLanguagesModel"}}},"required":["visibility","sortIndex","languages"]},"StockLocationPatchRequestModel":{"allOf":[{"properties":{"externalId":{"type":"string","description":"The external id of this stock location","example":"101","maxLength":40,"default":""},"externalIdType":{"type":"string","description":"The external type of this stock location, used to provide  context for the `externalId`","example":"external erp","maxLength":20,"default":""},"visibility":{"type":"string","enum":["never_show_in_store","always_show_in_store","show_if_in_stock"],"description":"The stock location`s visibility settings.","example":"always_show_in_store"},"sortIndex":{"type":"integer","description":"Sort index. A stock location with a lower value is displayed higher up in lists","example":9},"ecommerceStockLocation":{"type":"boolean","description":"Whether or not the stock location is the main ecommerce stock location There can only be one ecommerce stock location for the shop, so if you set this flag for any of the stock location it will be removed automatically from any other stock location","example":true,"default":false},"languages":{"type":"array","items":{"$ref":"#\/components\/schemas\/StockLocationLanguagesModel"}}}},{"title":"Property update","anyOf":[{"title":"externalId update","required":["externalId"]},{"title":"externalIdType update","required":["externalIdType"]},{"title":"visibility update","required":["visibility"]},{"title":"sortIndex update","required":["sortIndex"]},{"title":"ecommerceStockLocation update","required":["ecommerceStockLocation"]},{"title":"languages update","required":["languages"]}]}]},"StockLocationLanguagesModel":{"type":"object","properties":{"langCode":{"type":"string","description":"Language Code (ISO 639-1) for this translation. Has to be a valid lang code that the shop supports. (required)","minLength":2,"maxLength":2,"example":"sv"},"name":{"type":"string","maxLength":90,"description":"The name of this stock location (required)","example":"My stock location"}},"required":["langCode","name"]},"StockLocationLanguagesModelCollection":{"properties":{"data":{"type":"array","description":"A collection of category languages","items":{"$ref":"#\/components\/schemas\/StockLocationLanguagesModel"}}}},"StockLocationModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/StockLocationModel"}}},"StockLocationModelCollection":{"properties":{"data":{"type":"array","description":"A list of stock locations","items":{"$ref":"#\/components\/schemas\/StockLocationModel"}}}},"ProductVariantStockModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductVariantStockResponseModel"}}},"ProductVariantStockModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product variant stocks","items":{"$ref":"#\/components\/schemas\/ProductVariantStockResponseModel"}}}},"ProductVariantStockResponseModel":{"properties":{"stockLocationId":{"type":"integer","description":"The stock location id status id. See  [stock locations](#tag\/Stock-Locations)","readOnly":true},"stockStatusId":{"type":"integer","description":"The stock status id. See  [product stock statuses](#tag\/Product-Stock-Statuses)"},"stockQuantity":{"type":"number","format":"float","minimum":-100000000,"maximum":100000000,"description":"stock quantity","example":768},"dateAvailability":{"type":"string","format":"date","nullable":true,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Future date (Y-m-d) when product will be in stock. Set to null to clear the date.","example":"2025-12-31"},"shelfSpace":{"type":"string","maxLength":255,"description":"(Hyllplats or Shelf Space). The actual physical place at the stock location (warehouse)."}}},"ProductVariantStockPutRequestModel":{"properties":{"stockStatusId":{"type":"integer","description":"The stock status id. See  [product stock statuses](#tag\/Product-Stock-Statuses)"},"stockQuantity":{"type":"number","format":"float","minimum":-100000000,"maximum":100000000,"description":"stock quantity","example":768},"dateAvailability":{"type":"string","format":"date","nullable":true,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Future date (Y-m-d) when product will be in stock. Set to null to clear the date.","example":"2025-12-31"},"shelfSpace":{"type":"string","maxLength":255,"description":"(Hyllplats or Shelf Space). The actual physical place at the stock location (warehouse)."}},"required":["stockStatusId","stockQuantity"]},"ProductVariantStockPatchRequestModel":{"properties":{"stockStatusId":{"type":"integer","description":"The stock status id. If you do not provide this value, the stock status will be changed according to the status settings,\n             otherwise the status will be overriden by the new value, no further status actions will be applied. See  [product stock statuses](#tag\/Product-Stock-Statuses)"},"stockQuantity":{"type":"number","format":"float","minimum":-100000000,"maximum":100000000,"description":"stock quantity","example":768},"dateAvailability":{"type":"string","format":"date","nullable":true,"pattern":"^\\d{4}-\\d{2}-\\d{2}$","description":"Future date (Y-m-d) when product will be in stock. Set to null to clear the date.","example":"2025-12-31"},"shelfSpace":{"type":"string","maxLength":255,"description":"(Hyllplats or Shelf Space). The actual physical place at the stock location (warehouse)."}}},"ProductBundleProductPriceModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModel"}}},"ProductBundleProductPriceModelCollection":{"properties":{"data":{"type":"array","description":"A collection of bundled product prices","items":{"$ref":"#\/components\/schemas\/ProductBundleProductPriceModel"}}}},"ProductBundleProductPriceModel":{"type":"object","properties":{"pricelistId":{"type":"integer","description":"The pricelist this price is for"},"specialPriceExVat":{"type":"number","format":"float","minimum":0,"nullable":true,"example":13.6,"description":"The special price excluding vat (a discounted price)"}},"required":["pricelistId"]},"ProductTagModel":{"type":"object","properties":{"tagId":{"type":"integer","description":"The tag Id","readOnly":true,"example":1},"type":{"type":"string","description":"The tag type","readOnly":true,"example":"option","enum":["option","boolean"]},"languages":{"type":"array","items":{"$ref":"#\/components\/schemas\/ProductTagLanguageModel"}}}},"ProductTagLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","description":"Language Code (ISO 639-1) for this translation. Has to be a valid lang code that the shop has setup. ","minLength":2,"maxLength":2,"example":"sv"},"name":{"type":"string","maxLength":255,"description":"The name of this product tag","example":"Washable"}},"required":["langCode","name"]},"ProductTagPostRequestModel":{"type":"object","properties":{"name":{"type":"string","description":"The tag name","example":"Organic"},"type":{"type":"string","description":"The tag type, valid types are `option`, `boolean`","example":"boolean","enum":["option","boolean"]},"languages":{"type":"array","description":"An array of translations consisting of the language code `langCode` and the tag name. You need to define `1` language object at minimum.","minItems":1,"items":{"$ref":"#\/components\/schemas\/ProductTagLanguageModel"}}},"required":["name","type","languages"]},"ProductTagModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductTagModel"}}},"ProductTagModelCollection":{"properties":{"data":{"type":"array","description":"A list of product tags","items":{"$ref":"#\/components\/schemas\/ProductTagModel"}}}},"ProductTagPutRequestModel":{"type":"object","properties":{"name":{"type":"string","description":"The tag name","example":"Organic"},"type":{"type":"string","description":"The tag type, valid types are `option`, `boolean`","example":"boolean","enum":["option","boolean"]},"languages":{"type":"array","description":"An array of translations consisting of the language code `langCode` and the tag name. You need to define `1` language object at minimum.","minItems":1,"items":{"$ref":"#\/components\/schemas\/ProductTagLanguageModel"}}},"required":["name","type","languages"]},"ProductTagPatchRequestModel":{"type":"object","properties":{"name":{"type":"string","description":"The tag name","example":"Organic"},"type":{"type":"string","description":"The tag type, valid types are `option`, `boolean`","example":"boolean","enum":["option","boolean"]},"languages":{"type":"array","description":"An array of translations consisting of the language code `langCode` and the tag name. You need to define `1` language object at minimum.","minItems":1,"items":{"$ref":"#\/components\/schemas\/ProductTagLanguageModel"}}},"required":["name","type","languages"]},"ProductTagLinkModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductTagLinkModel"}}},"ProductTagLinkModelCollection":{"properties":{"data":{"type":"array","description":"A collection of product tag links","items":{"$ref":"#\/components\/schemas\/ProductTagLinkModel"}}}},"ProductTagLinkModel":{"type":"object","properties":{"tagOptionId":{"type":"integer","description":"The tag option id this product should be listed in"},"tagId":{"type":"integer","description":"The tag id where the tag option belongs to"}}},"ProductTagLinkPostRequestModel":{"type":"object","properties":{"tagOptionId":{"type":"integer","nullable":false,"description":"The tag option id this product should be listed in"}},"required":["tagOptionId"]},"ProductTagOptionModel":{"type":"object","properties":{"tagOptionId":{"type":"integer","description":"The option Id","readOnly":true,"example":1},"value":{"type":"string","description":"The option value. If the tag type is not set to `boolean`, the values are stored inside the nested language objects and this value is set to the value of the first language object found.","readOnly":true,"example":null},"sortIndex":{"type":"integer","description":"The sort index of the option","example":3},"languages":{"$ref":"#\/components\/schemas\/ProductTagOptionLanguagesModelCollection"}}},"ProductTagOptionLanguageModel":{"type":"object","properties":{"langCode":{"type":"string","description":"Language Code (ISO 639-1) for this translation. Has to be a valid lang code that the shop has setup. ","minLength":2,"maxLength":2,"example":"sv"},"value":{"type":"string","maxLength":255,"description":"The value of this product tag option","example":"summer"}},"required":["langCode","value"]},"ProductTagOptionPostRequestModel":{"type":"object","properties":{"sortIndex":{"type":"integer","description":"The sort index of the option"},"languages":{"type":"array","minItems":1,"items":{"$ref":"#\/components\/schemas\/ProductTagOptionLanguageModel"}}},"required":["languages"]},"ProductTagOptionModelItem":{"properties":{"data":{"$ref":"#\/components\/schemas\/ProductTagOptionModel"}}},"ProductTagOptionModelCollection":{"properties":{"data":{"type":"array","description":"A list of product tag options","items":{"$ref":"#\/components\/schemas\/ProductTagOptionModel"}}}},"ProductTagOptionLanguagesModelCollection":{"properties":{"data":{"type":"array","description":"A collection of category languages","items":{"$ref":"#\/components\/schemas\/ProductTagOptionLanguageModel"}}}},"ProductTagOptionPutRequestModel":{"type":"object","properties":{"sortIndex":{"type":"integer","description":"The sort index of the option"},"languages":{"type":"array","minItems":1,"items":{"$ref":"#\/components\/schemas\/ProductTagOptionLanguageModel"}}},"required":["languages"]},"ProductTagOptionPatchRequestModel":{"type":"object","properties":{"sortIndex":{"type":"integer","description":"The sort index of the option"},"languages":{"type":"array","minItems":1,"items":{"$ref":"#\/components\/schemas\/ProductTagOptionLanguageModel"}}},"required":["languages"]}},"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth 2.0 using Client Credentials","flows":{"clientCredentials":{"tokenUrl":"https:\/\/leksaker.starweb.se\/api\/v2\/token","scopes":{}}}}},"responses":{"ItemDeleted":{"description":"Entity deleted"},"NotFound":{"description":"Entity not found","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ErrorModel"}}}},"BadRequest":{"description":"Bad request","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ErrorModel"}}}},"MethodNotAllowed":{"description":"Method Not Allowed","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ErrorModel"}}}},"Forbidden":{"description":"Forbidden","content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/ErrorModel"}}}}}},"x-tagGroups":[{"name":"Authentication","tags":["Authentication"]},{"name":"Currency","tags":["Currency"]},{"name":"Customer","tags":["Customers","Customer Addresses","Customer External Services","Customer Tags","Customer Account Balance"]},{"name":"Media file","tags":["Media Files"]},{"name":"Order","tags":["Orders","Order Addresses","Order Comments","Order External Services","Order Items","Order Statuses"]},{"name":"Payment Methods","tags":["Payment Methods"]},{"name":"Pricelists","tags":["Pricelists"]},{"name":"Product","tags":["Products","Product Attributes","Product Bundled Products","Product Bundled Products Pricelist Prices","Product Categories","Product Category Links","Product Languages","Product Manufacturers","Product Media File Links","Product Meta Data","Product Meta Data Types","Product Stock Statuses","Product Units","Product Tags","Product Tags","Product Tag Links","Product Variants","Product Variant Languages","Product Variant Images","Product Variant Attributes","Product Variant Attribute Values","Product Variant Pricelist Prices","Product Variant Pricelist Volume Prices","Product Variant Stocks","Product Vat Rates"]},{"name":"Shipping","tags":["Shipping Methods","Shipping Tracking Types"]},{"name":"Shop","tags":["Shop"]},{"name":"Stock Location","tags":["Stock Locations"]},{"name":"Tags","tags":["Tags"]},{"name":"Vat rates","tags":["Vat Rates"]},{"name":"Web hook","tags":["Web Hooks"]}]}