ProductUpdate
July 20, 2026 ยท View on GitHub
Schema to update a product.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
metadata | Dict[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_interval | OptionalNullable[models.TrialInterval] | :heavy_minus_sign: | The interval unit for the trial period. |
trial_interval_count | OptionalNullable[int] | :heavy_minus_sign: | The number of interval units for the trial period. |
name | OptionalNullable[str] | :heavy_minus_sign: | N/A |
description | OptionalNullable[str] | :heavy_minus_sign: | The description of the product. |
recurring_interval | OptionalNullable[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_count | OptionalNullable[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_archived | OptionalNullable[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. |
visibility | OptionalNullable[models.ProductVisibility] | :heavy_minus_sign: | The visibility of the product. |
prices | List[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. |
medias | List[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_fields | List[models.AttachedCustomFieldCreate] | :heavy_minus_sign: | N/A |