4WS Suite
Home
API Reference
API Reference
  • Data mangement API
  • Documents API
Home
API Reference
API Reference
  • Data mangement API
  • Documents API
Fourwayshop
  1. Price lists
  • Login
    • login
      POST
  • Product
    • Brand
      • Get All Brands
      • Get A Brand
      • Insert brand
      • Update brand
    • Season
      • Get All Seasons
      • Get A Season
      • Insert season
      • Update season
    • Attribute
      • Get All Attribute Types
      • Get Attribute Type
      • Get Attribute
      • Insert attribute
      • Update attribute
    • Hierarchy
      • Insert hierarchy
      • Update hierarchy
    • Dimension groups
      • Insert dimension group
      • Update dimension group
    • Dimension
      • Insert dimension
      • Update dimension
      • Delete dimension
    • Product
      • Get products
      • Get product
      • Get product grouping
      • Get SKU's barcodes
      • Get product stock
      • Insert product
      • Update product
    • Activate dimensions on products
      • Insert active dimensions
      • Delete active dimensions
    • Barcode
      • Get SKU from barcode
      • Generate missing barcodes
      • Generate missing barcode for SKU
      • Insert barcode
      • Delete barcode
    • Prices
      • Get product prices
    • Price dimension groupings
      • Get Dimension Price Grouping
      • Get All Dimension Price Grouping
      • Insert dimension grouping
      • Update dimension grouping
      • Delete dimension grouping
    • Assortment
      • insert product assortment
      • delete product assortment
    • Image
      • Get images
      • Add image
      • Replace image
      • Delete image
    • Supplier
      • Get Item suppliers
      • Insert item supplier
      • Delete item supplier
      • Update item supplier
    • Custom category
      • Get Custom code
      • Insert Custom code
      • Update Custom code
    • Vat
      • Vat types
        • Get VAT type
        • Get VAT types
      • VATs
        • Get VATs
        • Get VATs by type
        • Get VAT
      • Vat rates
        • Get VAT rates
        • Get single VAT rates
    • Stock
      • Insert stock
      • Get stock
  • Price lists
    • Get All Price Lists
      GET
    • Get Single Price List
      GET
    • Get Prices by Price List Type
      GET
    • Get Prices by Price List Code
      GET
    • Get Entities by Price List Code
      GET
    • Insert Price List
      POST
    • Insert Product Price
      POST
    • Insert Entity On Price Lists
      POST
    • Update price list
      PATCH
    • Delete all product prices
      DELETE
    • Delete single product price
      DELETE
    • Delete entity from a price lists
      DELETE
    • Update Product price
      PATCH
  • Supplier
    • Supplier contacts
    • Supplier addresses
    • Get Suppliers
    • Get A Specific Supplier
    • Insert supplier
    • Update supplier
  • Entities
    • Get entities
    • Get entity
    • Insert entity
    • Update entity
  • Miscellaneous
    • Get requests rate limits
  • Catalog
    • Get Catalogs details
    • Get Catalog details by Code
    • Get products by Catalog Code
  • Export
    • Get bulk CSV Export
  1. Price lists

Update Product price

PATCH
/api/v1/priceLists/{PRICE_LIST_TYPE}/{PRICE_LIST_CODE}/prices/{ITEM_CODE}
Last modified:2026-09-08 15:25:45
Available from release:3.1.2

Update Product Prices#

This API allows updating a product and its price to a specific price list by specifying the PRICE_LIST_TYPE (type of price list), PRICE_LIST_CODE (price list code), and ITEM_CODE (product code). The client need also to provide a start_date and price for the product.
For more detail about product pricing features please refer to Product pricing and Defining Product Pricing.

Actors#

API Client: The system or user initiating the request.
4ws.trade: The backend system that processes the request.

History of product prices#

The suite allows you to manage the history of price changes for a product, each price has a start of validity and end of validity date.
A product considered a given document will have only one price per type (sale, purchase, invoice, etc...).
Valid start date passed#
If you want to update a price for a product, you must specify the start_date you want to change and the system will update the price only if a price has been entered from the entered start_date.
1
Starting
The product MAGLIA1234 has a sales price of €19.99 valid starting from 20/05/2024.
2
Update price to €21.99
The product MAGLIA1234 will be update to €21.99 if the entered start date is 20/05/2024.
3
Document with movement date 05/15/2024
If a NEW document with movement date 20/05/2024 is registered, the price of the product will be €21.99, the product in the other documents with movement date 20/05/2024 will remain €19.99.
Prices by size range#
It is possible to update prices to products managed with price range per size by valuing dimensiong_grupping with the range.
Specify the value BABY in the dimensiong_grupping field and the price in price.
{
    "start_date": "2024-05-06",
    "price": "150",
    "dimension_grouping": "BABY"
}
In this way all sizes in the range will assume that price starting from the start_date.

Preconditions#

The external system must have the necessary permissions and access to the document creation service, please refer to Authentication.
The PRICE_LIST_TYPE and PRICE_LIST_CODE must correspond to an existing price list in the system.
The ITEM_CODE provided must correspond to an existing product in the system.

Main Success Scenario#

1.
The API client sends a PATCH request with the PRICE_LIST_TYPE, PRICE_LIST_CODE, ITEM_CODE, start_date, and price.
2.
If successful, the API returns a response with a success message.

Alternate Flows#

1.
Price List Not Found: If the specified PRICE_LIST_CODE does not exist, the API returns an error message:
{
  "message": "Price list not found"
}
2.
Product Not Found: If the specified item_code does not exist, the API returns an error message:
{
  "message": "Product not found with item_code: {{item_code}}"
}

Sequence Diagram#

Best Practices
Please refer to Best Practices for Error Handling in External System for best practices on implementation.

Code Examples in Node.js#

Example Node.js code for adding a product to a price list:

Request

Path Params

Body Params application/json

Example
{
    "start_date": "{{start_date}}",
    "price": "{{price}}",
    "dimension_grouping": "{{dimension_grouping}}"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request PATCH '/api/v1/priceLists/V/LIST_VEND_EUR/prices/000LODO2' \
--header 'Content-Type: application/json' \
--data '{
    "start_date": "{{start_date}}",
    "price": "{{price}}",
    "dimension_grouping": "{{dimension_grouping}}"
}'

Responses

🟢200Success
application/json
Bodyapplication/json

Examples
{
    "success": true
}
🟠403Operation not allowed
🟠404This dimension grouping doesn't exits
🟠404Price list not exists
Modified at 2026-09-08 15:25:45
Previous
Delete entity from a price lists
Next
Get Suppliers
Built with