Actions32
- Analytics Actions
- Batch Actions
- Customer Actions
- Order Actions
- Product Actions
- Purchase Actions
- Raw Request Actions
- System Actions
- Vendor Actions
- WhatsApp Actions
Product → Update Product
AI-generatedSummary
Updates an existing VitePOS product by sending a PATCH request to the bridge endpoint /wp-json/vtab/v1/products/{id}, using either individual fields or a raw JSON body.
Inputs
- Product ID (required) — ID of the product to update; inserted into the request path.
- Input Mode — 'Use Fields' (default) builds the body from Product Fields; 'Advanced JSON' sends the JSON Body as-is.
- Product Fields — Collection of optional fields (fields mode): id, external_id, sku, name, type, status, regular_price, sale_price, stock_quantity, stock_status, manage_stock, barcode, description, short_description. Only added fields are sent. Categories is a comma-separated list, sent as an array with create_categories (default true). Outlet ID plus Outlet Stock Quantity are sent together as outlet_stock; both must be set or neither is sent. Dry Run sends dry_run: true.
- JSON Body — Raw request body used in Advanced JSON mode. Defaults to {"dry_run": true}, so edit it or nothing is changed. Invalid JSON raises an error.
Output shape
One output item per input item. It holds the bridge's JSON response, plus a human-readable response string such as 'Product 123 updated.' (or 'Product update completed.' when no ID is returned).
If the bridge reports status or success as false,
responsecarries its message. If the API response is not an object, it is wrapped underraw. With Continue On Fail enabled, failed items return {error: message}. Credentials (viteposBridgeApi site URL and auth) are required.
Examples
Example 1: Change the sale price and stock of a product
Product ID = 123; Input Mode = Use Fields; Product Fields: Sale Price = 9.99, Stock Quantity = 40.
Example 2: Preview an update without saving it
Product ID = 123; Product Fields: Name = 'New name', Dry Run = true.
Example 3: Send a custom payload
Product ID = 123; Input Mode = Advanced JSON; JSON Body = {"status":"draft","sku":"ABC-1"}.