33from __future__ import annotations
44
55from typing import Dict , Iterable , Optional
6+ from typing_extensions import Literal
67
78import httpx
89
@@ -98,6 +99,7 @@ def create(
9899 license_key_duration : Optional [LicenseKeyDurationParam ] | Omit = omit ,
99100 license_key_enabled : Optional [bool ] | Omit = omit ,
100101 metadata : Dict [str , str ] | Omit = omit ,
102+ pricing_mode : Optional [Literal ["by_currency" , "by_country" ]] | Omit = omit ,
101103 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
102104 # The extra values given here take precedence over values defined on the client or passed to this method.
103105 extra_headers : Headers | None = None ,
@@ -117,15 +119,15 @@ def create(
117119
118120 brand_id: Brand id for the product, if not provided will default to primary brand
119121
120- credit_entitlements: Optional credit entitlements to attach (max 3 )
122+ credit_entitlements: Optional credit entitlements to attach (max 5 )
121123
122124 description: Optional description of the product
123125
124126 digital_product_delivery: Choose how you would like you digital product delivered
125127
126128 deprecated: use entitlements instead
127129
128- entitlements: Optional entitlements to attach to this product (max 20 )
130+ entitlements: Optional entitlements to attach to this product (max 50 )
129131
130132 license_key_activation_message: Optional message displayed during license key activation
131133
@@ -152,6 +154,10 @@ def create(
152154
153155 metadata: Additional metadata for the product
154156
157+ pricing_mode: Pricing mode for localized pricing. When set, rules from
158+ /products/{id}/localized-prices apply at checkout. NULL means base-only
159+ (existing behavior).
160+
155161 extra_headers: Send extra headers
156162
157163 extra_query: Add additional query parameters to the request
@@ -178,6 +184,7 @@ def create(
178184 "license_key_duration" : license_key_duration ,
179185 "license_key_enabled" : license_key_enabled ,
180186 "metadata" : metadata ,
187+ "pricing_mode" : pricing_mode ,
181188 },
182189 product_create_params .ProductCreateParams ,
183190 ),
@@ -236,6 +243,7 @@ def update(
236243 metadata : Optional [Dict [str , str ]] | Omit = omit ,
237244 name : Optional [str ] | Omit = omit ,
238245 price : Optional [PriceParam ] | Omit = omit ,
246+ pricing_mode : Optional [Literal ["by_currency" , "by_country" ]] | Omit = omit ,
239247 tax_category : Optional [TaxCategory ] | Omit = omit ,
240248 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
241249 # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -296,6 +304,10 @@ def update(
296304
297305 price: Price details of the product.
298306
307+ pricing_mode: Update the pricing mode. Omit to leave unchanged; set to null to clear (which
308+ archives all active localized rules for this product). Changing to a different
309+ non-null mode also archives any rules whose mode doesn't match the new mode.
310+
299311 tax_category: Tax category of the product.
300312
301313 extra_headers: Send extra headers
@@ -327,6 +339,7 @@ def update(
327339 "metadata" : metadata ,
328340 "name" : name ,
329341 "price" : price ,
342+ "pricing_mode" : pricing_mode ,
330343 "tax_category" : tax_category ,
331344 },
332345 product_update_params .ProductUpdateParams ,
@@ -542,6 +555,7 @@ async def create(
542555 license_key_duration : Optional [LicenseKeyDurationParam ] | Omit = omit ,
543556 license_key_enabled : Optional [bool ] | Omit = omit ,
544557 metadata : Dict [str , str ] | Omit = omit ,
558+ pricing_mode : Optional [Literal ["by_currency" , "by_country" ]] | Omit = omit ,
545559 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
546560 # The extra values given here take precedence over values defined on the client or passed to this method.
547561 extra_headers : Headers | None = None ,
@@ -561,15 +575,15 @@ async def create(
561575
562576 brand_id: Brand id for the product, if not provided will default to primary brand
563577
564- credit_entitlements: Optional credit entitlements to attach (max 3 )
578+ credit_entitlements: Optional credit entitlements to attach (max 5 )
565579
566580 description: Optional description of the product
567581
568582 digital_product_delivery: Choose how you would like you digital product delivered
569583
570584 deprecated: use entitlements instead
571585
572- entitlements: Optional entitlements to attach to this product (max 20 )
586+ entitlements: Optional entitlements to attach to this product (max 50 )
573587
574588 license_key_activation_message: Optional message displayed during license key activation
575589
@@ -596,6 +610,10 @@ async def create(
596610
597611 metadata: Additional metadata for the product
598612
613+ pricing_mode: Pricing mode for localized pricing. When set, rules from
614+ /products/{id}/localized-prices apply at checkout. NULL means base-only
615+ (existing behavior).
616+
599617 extra_headers: Send extra headers
600618
601619 extra_query: Add additional query parameters to the request
@@ -622,6 +640,7 @@ async def create(
622640 "license_key_duration" : license_key_duration ,
623641 "license_key_enabled" : license_key_enabled ,
624642 "metadata" : metadata ,
643+ "pricing_mode" : pricing_mode ,
625644 },
626645 product_create_params .ProductCreateParams ,
627646 ),
@@ -680,6 +699,7 @@ async def update(
680699 metadata : Optional [Dict [str , str ]] | Omit = omit ,
681700 name : Optional [str ] | Omit = omit ,
682701 price : Optional [PriceParam ] | Omit = omit ,
702+ pricing_mode : Optional [Literal ["by_currency" , "by_country" ]] | Omit = omit ,
683703 tax_category : Optional [TaxCategory ] | Omit = omit ,
684704 # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
685705 # The extra values given here take precedence over values defined on the client or passed to this method.
@@ -740,6 +760,10 @@ async def update(
740760
741761 price: Price details of the product.
742762
763+ pricing_mode: Update the pricing mode. Omit to leave unchanged; set to null to clear (which
764+ archives all active localized rules for this product). Changing to a different
765+ non-null mode also archives any rules whose mode doesn't match the new mode.
766+
743767 tax_category: Tax category of the product.
744768
745769 extra_headers: Send extra headers
@@ -771,6 +795,7 @@ async def update(
771795 "metadata" : metadata ,
772796 "name" : name ,
773797 "price" : price ,
798+ "pricing_mode" : pricing_mode ,
774799 "tax_category" : tax_category ,
775800 },
776801 product_update_params .ProductUpdateParams ,
0 commit comments