Skip to main content
PUT
Update a product

Overview

Update an existing product’s details and variants. Use this endpoint to modify product information, update pricing, add new variants, or change variant status.

Common Use Cases

  • Price Updates: Adjust subscription pricing based on market conditions
  • Add Variants: Add new configurations (colors, specs, grades)
  • Product Refresh: Update descriptions, images, or categories
  • Discontinue Variants: Mark old variants as inactive
  • Grade Adjustments: Reclassify product condition after inspection

Partial Updates

This endpoint supports partial updates. You only need to include fields you want to change:

Updating Variants

To update variants, include the variants array with the variants you want to modify or add:

Variant Update Behavior

Variants are matched by sku. If you include a variant with a new SKU, it will be created. To modify an existing variant, you must use its exact current SKU.

Updating Pricing

Update pricing for specific contract lengths:
Pricing changes only affect new orders. Existing subscriptions retain their original pricing.

Updating Acquisition Cost

When asset costs change (e.g., new supplier pricing):
This affects cost recovery calculations for new subscriptions.

Discontinuing a Product

To discontinue a product (hide from catalog but preserve history):
Discontinued products cannot be used in new orders but remain visible for existing subscriptions and historical reporting.

Example: Adding New Color Variant

Example: Bulk Price Reduction

Authorizations

Authorization
string
header
required

API key obtained from FlexPortal dashboard

Headers

Tenant-ID
string
required

Your tenant identifier

Path Parameters

productId
string
required

The product ID

Body

application/json
productSku
string
required
Minimum string length: 1
name
string
required
Minimum string length: 1
specification
string
required
Minimum string length: 1
category
string
required
Minimum string length: 1
brand
string
required
Minimum string length: 1
variants
object[]
required
Minimum array length: 1
description
string
images
string<uri>[]

Response

Product updated

success
enum<boolean>
required
Available options:
true
message
string
required
productId
string
required
productSku
string
required
operation
enum<string>
required
Available options:
created,
updated
variantResults
object[]
required