ProductUpdate

July 20, 2026 ยท View on GitHub

Schema to update a product.

Fields

FieldTypeRequiredDescription
metadataDict[str, models.ProductUpdateMetadata]:heavy_minus_sign:Key-value object allowing you to store additional information.

The key must be a string with a maximum length of 40 characters.
The value must be either:

* A string with a maximum length of 500 characters
* An integer
* A floating-point number
* A boolean

You can store up to 50 key-value pairs.
trial_intervalOptionalNullable[models.TrialInterval]:heavy_minus_sign:The interval unit for the trial period.
trial_interval_countOptionalNullable[int]:heavy_minus_sign:The number of interval units for the trial period.
nameOptionalNullable[str]:heavy_minus_sign:N/A
descriptionOptionalNullable[str]:heavy_minus_sign:The description of the product.
recurring_intervalOptionalNullable[models.RecurringInterval]:heavy_minus_sign:The recurring interval of the product. If None, the product is a one-time purchase. Can only be set on legacy recurring products. Once set, it can't be changed.
recurring_interval_countOptionalNullable[int]:heavy_minus_sign:Number of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. Once set, it can't be changed.**
is_archivedOptionalNullable[bool]:heavy_minus_sign:Whether the product is archived. If true, the product won't be available for purchase anymore. Existing customers will still have access to their benefits, and subscriptions will continue normally.
visibilityOptionalNullable[models.ProductVisibility]:heavy_minus_sign:The visibility of the product.
pricesList[models.ProductUpdatePrices]:heavy_minus_sign:List of available prices for this product. If you want to keep existing prices, include them in the list as an ExistingProductPrice object.
mediasList[str]:heavy_minus_sign:List of file IDs. Each one must be on the same organization as the product, of type product_media and correctly uploaded.
attached_custom_fieldsList[models.AttachedCustomFieldCreate]:heavy_minus_sign:N/A