Skip to content

Commit f86a931

Browse files
Stainless Botmeorphis
authored andcommitted
feat(api): api update (#423)
1 parent 2b5797d commit f86a931

File tree

7 files changed

+709
-3
lines changed

7 files changed

+709
-3
lines changed

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 96
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-5d22d9573f8fe12b31b2433b658b708f7cc379318d124afc74188afdc07e1ccc.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-1345a8e288e34d5477b0e189877225f83939a59078c22fbb5367712e376c5d19.yml

src/orb/resources/prices/prices.py

Lines changed: 194 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2145,6 +2145,98 @@ def create(
21452145
"""
21462146
...
21472147

2148+
@overload
2149+
def create(
2150+
self,
2151+
*,
2152+
cadence: Literal["annual", "semi_annual", "monthly", "quarterly", "one_time", "custom"],
2153+
currency: str,
2154+
grouped_tiered_package_config: Dict[str, object],
2155+
item_id: str,
2156+
model_type: Literal["grouped_tiered_package"],
2157+
name: str,
2158+
billable_metric_id: Optional[str] | NotGiven = NOT_GIVEN,
2159+
billed_in_advance: Optional[bool] | NotGiven = NOT_GIVEN,
2160+
billing_cycle_configuration: Optional[
2161+
price_create_params.NewFloatingGroupedTieredPackagePriceBillingCycleConfiguration
2162+
]
2163+
| NotGiven = NOT_GIVEN,
2164+
conversion_rate: Optional[float] | NotGiven = NOT_GIVEN,
2165+
external_price_id: Optional[str] | NotGiven = NOT_GIVEN,
2166+
fixed_price_quantity: Optional[float] | NotGiven = NOT_GIVEN,
2167+
invoice_grouping_key: Optional[str] | NotGiven = NOT_GIVEN,
2168+
invoicing_cycle_configuration: Optional[
2169+
price_create_params.NewFloatingGroupedTieredPackagePriceInvoicingCycleConfiguration
2170+
]
2171+
| NotGiven = NOT_GIVEN,
2172+
metadata: Optional[Dict[str, Optional[str]]] | NotGiven = NOT_GIVEN,
2173+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
2174+
# The extra values given here take precedence over values defined on the client or passed to this method.
2175+
extra_headers: Headers | None = None,
2176+
extra_query: Query | None = None,
2177+
extra_body: Body | None = None,
2178+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
2179+
idempotency_key: str | None = None,
2180+
) -> Price:
2181+
"""This endpoint is used to create a [price](../reference/price).
2182+
2183+
A price created
2184+
using this endpoint is always an add-on, meaning that it’s not associated with a
2185+
specific plan and can instead be individually added to subscriptions, including
2186+
subscriptions on different plans.
2187+
2188+
An `external_price_id` can be optionally specified as an alias to allow
2189+
ergonomic interaction with prices in the Orb API.
2190+
2191+
See the [Price resource](../reference/price) for the specification of different
2192+
price model configurations possible in this endpoint.
2193+
2194+
Args:
2195+
cadence: The cadence to bill for this price on.
2196+
2197+
currency: An ISO 4217 currency string for which this price is billed in.
2198+
2199+
item_id: The id of the item the plan will be associated with.
2200+
2201+
name: The name of the price.
2202+
2203+
billable_metric_id: The id of the billable metric for the price. Only needed if the price is
2204+
usage-based.
2205+
2206+
billed_in_advance: If the Price represents a fixed cost, the price will be billed in-advance if
2207+
this is true, and in-arrears if this is false.
2208+
2209+
billing_cycle_configuration: For custom cadence: specifies the duration of the billing period in days or
2210+
months.
2211+
2212+
conversion_rate: The per unit conversion rate of the price currency to the invoicing currency.
2213+
2214+
external_price_id: An alias for the price.
2215+
2216+
fixed_price_quantity: If the Price represents a fixed cost, this represents the quantity of units
2217+
applied.
2218+
2219+
invoice_grouping_key: The property used to group this price on an invoice
2220+
2221+
invoicing_cycle_configuration: Within each billing cycle, specifies the cadence at which invoices are produced.
2222+
If unspecified, a single invoice is produced per billing cycle.
2223+
2224+
metadata: User-specified key/value pairs for the resource. Individual keys can be removed
2225+
by setting the value to `null`, and the entire metadata mapping can be cleared
2226+
by setting `metadata` to `null`.
2227+
2228+
extra_headers: Send extra headers
2229+
2230+
extra_query: Add additional query parameters to the request
2231+
2232+
extra_body: Add additional JSON properties to the request
2233+
2234+
timeout: Override the client-level default timeout for this request, in seconds
2235+
2236+
idempotency_key: Specify a custom idempotency key for this request
2237+
"""
2238+
...
2239+
21482240
@required_args(
21492241
["cadence", "currency", "item_id", "model_type", "name", "unit_config"],
21502242
["cadence", "currency", "item_id", "model_type", "name", "package_config"],
@@ -2169,6 +2261,7 @@ def create(
21692261
["cadence", "currency", "grouped_with_metered_minimum_config", "item_id", "model_type", "name"],
21702262
["cadence", "currency", "item_id", "matrix_with_display_name_config", "model_type", "name"],
21712263
["bulk_with_proration_config", "cadence", "currency", "item_id", "model_type", "name"],
2264+
["cadence", "currency", "grouped_tiered_package_config", "item_id", "model_type", "name"],
21722265
)
21732266
def create(
21742267
self,
@@ -2198,7 +2291,8 @@ def create(
21982291
| Literal["grouped_with_prorated_minimum"]
21992292
| Literal["grouped_with_metered_minimum"]
22002293
| Literal["matrix_with_display_name"]
2201-
| Literal["bulk_with_proration"],
2294+
| Literal["bulk_with_proration"]
2295+
| Literal["grouped_tiered_package"],
22022296
name: str,
22032297
unit_config: price_create_params.NewFloatingUnitPriceUnitConfig | NotGiven = NOT_GIVEN,
22042298
billable_metric_id: Optional[str] | NotGiven = NOT_GIVEN,
@@ -2235,6 +2329,7 @@ def create(
22352329
grouped_with_metered_minimum_config: Dict[str, object] | NotGiven = NOT_GIVEN,
22362330
matrix_with_display_name_config: Dict[str, object] | NotGiven = NOT_GIVEN,
22372331
bulk_with_proration_config: Dict[str, object] | NotGiven = NOT_GIVEN,
2332+
grouped_tiered_package_config: Dict[str, object] | NotGiven = NOT_GIVEN,
22382333
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
22392334
# The extra values given here take precedence over values defined on the client or passed to this method.
22402335
extra_headers: Headers | None = None,
@@ -2286,6 +2381,7 @@ def create(
22862381
"grouped_with_metered_minimum_config": grouped_with_metered_minimum_config,
22872382
"matrix_with_display_name_config": matrix_with_display_name_config,
22882383
"bulk_with_proration_config": bulk_with_proration_config,
2384+
"grouped_tiered_package_config": grouped_tiered_package_config,
22892385
},
22902386
price_create_params.PriceCreateParams,
22912387
),
@@ -4641,6 +4737,98 @@ async def create(
46414737
"""
46424738
...
46434739

4740+
@overload
4741+
async def create(
4742+
self,
4743+
*,
4744+
cadence: Literal["annual", "semi_annual", "monthly", "quarterly", "one_time", "custom"],
4745+
currency: str,
4746+
grouped_tiered_package_config: Dict[str, object],
4747+
item_id: str,
4748+
model_type: Literal["grouped_tiered_package"],
4749+
name: str,
4750+
billable_metric_id: Optional[str] | NotGiven = NOT_GIVEN,
4751+
billed_in_advance: Optional[bool] | NotGiven = NOT_GIVEN,
4752+
billing_cycle_configuration: Optional[
4753+
price_create_params.NewFloatingGroupedTieredPackagePriceBillingCycleConfiguration
4754+
]
4755+
| NotGiven = NOT_GIVEN,
4756+
conversion_rate: Optional[float] | NotGiven = NOT_GIVEN,
4757+
external_price_id: Optional[str] | NotGiven = NOT_GIVEN,
4758+
fixed_price_quantity: Optional[float] | NotGiven = NOT_GIVEN,
4759+
invoice_grouping_key: Optional[str] | NotGiven = NOT_GIVEN,
4760+
invoicing_cycle_configuration: Optional[
4761+
price_create_params.NewFloatingGroupedTieredPackagePriceInvoicingCycleConfiguration
4762+
]
4763+
| NotGiven = NOT_GIVEN,
4764+
metadata: Optional[Dict[str, Optional[str]]] | NotGiven = NOT_GIVEN,
4765+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
4766+
# The extra values given here take precedence over values defined on the client or passed to this method.
4767+
extra_headers: Headers | None = None,
4768+
extra_query: Query | None = None,
4769+
extra_body: Body | None = None,
4770+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
4771+
idempotency_key: str | None = None,
4772+
) -> Price:
4773+
"""This endpoint is used to create a [price](../reference/price).
4774+
4775+
A price created
4776+
using this endpoint is always an add-on, meaning that it’s not associated with a
4777+
specific plan and can instead be individually added to subscriptions, including
4778+
subscriptions on different plans.
4779+
4780+
An `external_price_id` can be optionally specified as an alias to allow
4781+
ergonomic interaction with prices in the Orb API.
4782+
4783+
See the [Price resource](../reference/price) for the specification of different
4784+
price model configurations possible in this endpoint.
4785+
4786+
Args:
4787+
cadence: The cadence to bill for this price on.
4788+
4789+
currency: An ISO 4217 currency string for which this price is billed in.
4790+
4791+
item_id: The id of the item the plan will be associated with.
4792+
4793+
name: The name of the price.
4794+
4795+
billable_metric_id: The id of the billable metric for the price. Only needed if the price is
4796+
usage-based.
4797+
4798+
billed_in_advance: If the Price represents a fixed cost, the price will be billed in-advance if
4799+
this is true, and in-arrears if this is false.
4800+
4801+
billing_cycle_configuration: For custom cadence: specifies the duration of the billing period in days or
4802+
months.
4803+
4804+
conversion_rate: The per unit conversion rate of the price currency to the invoicing currency.
4805+
4806+
external_price_id: An alias for the price.
4807+
4808+
fixed_price_quantity: If the Price represents a fixed cost, this represents the quantity of units
4809+
applied.
4810+
4811+
invoice_grouping_key: The property used to group this price on an invoice
4812+
4813+
invoicing_cycle_configuration: Within each billing cycle, specifies the cadence at which invoices are produced.
4814+
If unspecified, a single invoice is produced per billing cycle.
4815+
4816+
metadata: User-specified key/value pairs for the resource. Individual keys can be removed
4817+
by setting the value to `null`, and the entire metadata mapping can be cleared
4818+
by setting `metadata` to `null`.
4819+
4820+
extra_headers: Send extra headers
4821+
4822+
extra_query: Add additional query parameters to the request
4823+
4824+
extra_body: Add additional JSON properties to the request
4825+
4826+
timeout: Override the client-level default timeout for this request, in seconds
4827+
4828+
idempotency_key: Specify a custom idempotency key for this request
4829+
"""
4830+
...
4831+
46444832
@required_args(
46454833
["cadence", "currency", "item_id", "model_type", "name", "unit_config"],
46464834
["cadence", "currency", "item_id", "model_type", "name", "package_config"],
@@ -4665,6 +4853,7 @@ async def create(
46654853
["cadence", "currency", "grouped_with_metered_minimum_config", "item_id", "model_type", "name"],
46664854
["cadence", "currency", "item_id", "matrix_with_display_name_config", "model_type", "name"],
46674855
["bulk_with_proration_config", "cadence", "currency", "item_id", "model_type", "name"],
4856+
["cadence", "currency", "grouped_tiered_package_config", "item_id", "model_type", "name"],
46684857
)
46694858
async def create(
46704859
self,
@@ -4694,7 +4883,8 @@ async def create(
46944883
| Literal["grouped_with_prorated_minimum"]
46954884
| Literal["grouped_with_metered_minimum"]
46964885
| Literal["matrix_with_display_name"]
4697-
| Literal["bulk_with_proration"],
4886+
| Literal["bulk_with_proration"]
4887+
| Literal["grouped_tiered_package"],
46984888
name: str,
46994889
unit_config: price_create_params.NewFloatingUnitPriceUnitConfig | NotGiven = NOT_GIVEN,
47004890
billable_metric_id: Optional[str] | NotGiven = NOT_GIVEN,
@@ -4731,6 +4921,7 @@ async def create(
47314921
grouped_with_metered_minimum_config: Dict[str, object] | NotGiven = NOT_GIVEN,
47324922
matrix_with_display_name_config: Dict[str, object] | NotGiven = NOT_GIVEN,
47334923
bulk_with_proration_config: Dict[str, object] | NotGiven = NOT_GIVEN,
4924+
grouped_tiered_package_config: Dict[str, object] | NotGiven = NOT_GIVEN,
47344925
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
47354926
# The extra values given here take precedence over values defined on the client or passed to this method.
47364927
extra_headers: Headers | None = None,
@@ -4782,6 +4973,7 @@ async def create(
47824973
"grouped_with_metered_minimum_config": grouped_with_metered_minimum_config,
47834974
"matrix_with_display_name_config": matrix_with_display_name_config,
47844975
"bulk_with_proration_config": bulk_with_proration_config,
4976+
"grouped_tiered_package_config": grouped_tiered_package_config,
47854977
},
47864978
price_create_params.PriceCreateParams,
47874979
),

src/orb/types/plan_create_params.py

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@
8181
"PriceNewPlanBulkWithProrationPrice",
8282
"PriceNewPlanBulkWithProrationPriceBillingCycleConfiguration",
8383
"PriceNewPlanBulkWithProrationPriceInvoicingCycleConfiguration",
84+
"PriceNewPlanGroupedTieredPackagePrice",
85+
"PriceNewPlanGroupedTieredPackagePriceBillingCycleConfiguration",
86+
"PriceNewPlanGroupedTieredPackagePriceInvoicingCycleConfiguration",
8487
]
8588

8689

@@ -1905,6 +1908,89 @@ class PriceNewPlanBulkWithProrationPrice(TypedDict, total=False):
19051908
"""
19061909

19071910

1911+
class PriceNewPlanGroupedTieredPackagePriceBillingCycleConfiguration(TypedDict, total=False):
1912+
duration: Required[int]
1913+
"""The duration of the billing period."""
1914+
1915+
duration_unit: Required[Literal["day", "month"]]
1916+
"""The unit of billing period duration."""
1917+
1918+
1919+
class PriceNewPlanGroupedTieredPackagePriceInvoicingCycleConfiguration(TypedDict, total=False):
1920+
duration: Required[int]
1921+
"""The duration of the billing period."""
1922+
1923+
duration_unit: Required[Literal["day", "month"]]
1924+
"""The unit of billing period duration."""
1925+
1926+
1927+
class PriceNewPlanGroupedTieredPackagePrice(TypedDict, total=False):
1928+
cadence: Required[Literal["annual", "semi_annual", "monthly", "quarterly", "one_time", "custom"]]
1929+
"""The cadence to bill for this price on."""
1930+
1931+
grouped_tiered_package_config: Required[Dict[str, object]]
1932+
1933+
item_id: Required[str]
1934+
"""The id of the item the plan will be associated with."""
1935+
1936+
model_type: Required[Literal["grouped_tiered_package"]]
1937+
1938+
name: Required[str]
1939+
"""The name of the price."""
1940+
1941+
billable_metric_id: Optional[str]
1942+
"""The id of the billable metric for the price.
1943+
1944+
Only needed if the price is usage-based.
1945+
"""
1946+
1947+
billed_in_advance: Optional[bool]
1948+
"""
1949+
If the Price represents a fixed cost, the price will be billed in-advance if
1950+
this is true, and in-arrears if this is false.
1951+
"""
1952+
1953+
billing_cycle_configuration: Optional[PriceNewPlanGroupedTieredPackagePriceBillingCycleConfiguration]
1954+
"""
1955+
For custom cadence: specifies the duration of the billing period in days or
1956+
months.
1957+
"""
1958+
1959+
conversion_rate: Optional[float]
1960+
"""The per unit conversion rate of the price currency to the invoicing currency."""
1961+
1962+
currency: Optional[str]
1963+
"""
1964+
An ISO 4217 currency string, or custom pricing unit identifier, in which this
1965+
price is billed.
1966+
"""
1967+
1968+
external_price_id: Optional[str]
1969+
"""An alias for the price."""
1970+
1971+
fixed_price_quantity: Optional[float]
1972+
"""
1973+
If the Price represents a fixed cost, this represents the quantity of units
1974+
applied.
1975+
"""
1976+
1977+
invoice_grouping_key: Optional[str]
1978+
"""The property used to group this price on an invoice"""
1979+
1980+
invoicing_cycle_configuration: Optional[PriceNewPlanGroupedTieredPackagePriceInvoicingCycleConfiguration]
1981+
"""Within each billing cycle, specifies the cadence at which invoices are produced.
1982+
1983+
If unspecified, a single invoice is produced per billing cycle.
1984+
"""
1985+
1986+
metadata: Optional[Dict[str, Optional[str]]]
1987+
"""User-specified key/value pairs for the resource.
1988+
1989+
Individual keys can be removed by setting the value to `null`, and the entire
1990+
metadata mapping can be cleared by setting `metadata` to `null`.
1991+
"""
1992+
1993+
19081994
Price: TypeAlias = Union[
19091995
PriceNewPlanUnitPrice,
19101996
PriceNewPlanPackagePrice,
@@ -1926,4 +2012,5 @@ class PriceNewPlanBulkWithProrationPrice(TypedDict, total=False):
19262012
PriceNewPlanGroupedWithMeteredMinimumPrice,
19272013
PriceNewPlanMatrixWithDisplayNamePrice,
19282014
PriceNewPlanBulkWithProrationPrice,
2015+
PriceNewPlanGroupedTieredPackagePrice,
19292016
]

0 commit comments

Comments
 (0)