Skip to content

Commit dc573e4

Browse files
stainless-app[bot]stainless-bot
authored andcommitted
feat(api): OpenAPI spec update via Stainless API (#349)
1 parent 94e57ee commit dc573e4

File tree

7 files changed

+566
-3
lines changed

7 files changed

+566
-3
lines changed

.stats.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
configured_endpoints: 91
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-303379b9db577b964d46fe908e8226e95c60435b11ddd8685bf2fa99c57f4320.yml
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-8cdbf902afe6295b1eee73576b55f8461c36179fd59e5f12cfeb6a3372c08904.yml

src/orb/resources/prices/prices.py

+166-2
Original file line numberDiff line numberDiff line change
@@ -1452,6 +1452,84 @@ def create(
14521452
"""
14531453
...
14541454

1455+
@overload
1456+
def create(
1457+
self,
1458+
*,
1459+
cadence: Literal["annual", "semi_annual", "monthly", "quarterly", "one_time", "custom"],
1460+
currency: str,
1461+
grouped_allocation_config: Dict[str, object],
1462+
item_id: str,
1463+
model_type: Literal["grouped_allocation"],
1464+
name: str,
1465+
billable_metric_id: Optional[str] | NotGiven = NOT_GIVEN,
1466+
billed_in_advance: Optional[bool] | NotGiven = NOT_GIVEN,
1467+
conversion_rate: Optional[float] | NotGiven = NOT_GIVEN,
1468+
external_price_id: Optional[str] | NotGiven = NOT_GIVEN,
1469+
fixed_price_quantity: Optional[float] | NotGiven = NOT_GIVEN,
1470+
invoice_grouping_key: Optional[str] | NotGiven = NOT_GIVEN,
1471+
metadata: Optional[Dict[str, Optional[str]]] | NotGiven = NOT_GIVEN,
1472+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
1473+
# The extra values given here take precedence over values defined on the client or passed to this method.
1474+
extra_headers: Headers | None = None,
1475+
extra_query: Query | None = None,
1476+
extra_body: Body | None = None,
1477+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
1478+
idempotency_key: str | None = None,
1479+
) -> Price:
1480+
"""This endpoint is used to create a [price](../reference/price).
1481+
1482+
A price created
1483+
using this endpoint is always an add-on, meaning that it’s not associated with a
1484+
specific plan and can instead be individually added to subscriptions, including
1485+
subscriptions on different plans.
1486+
1487+
An `external_price_id` can be optionally specified as an alias to allow
1488+
ergonomic interaction with prices in the Orb API.
1489+
1490+
See the [Price resource](../reference/price) for the specification of different
1491+
price model configurations possible in this endpoint.
1492+
1493+
Args:
1494+
cadence: The cadence to bill for this price on.
1495+
1496+
currency: An ISO 4217 currency string for which this price is billed in.
1497+
1498+
item_id: The id of the item the plan will be associated with.
1499+
1500+
name: The name of the price.
1501+
1502+
billable_metric_id: The id of the billable metric for the price. Only needed if the price is
1503+
usage-based.
1504+
1505+
billed_in_advance: If the Price represents a fixed cost, the price will be billed in-advance if
1506+
this is true, and in-arrears if this is false.
1507+
1508+
conversion_rate: The per unit conversion rate of the price currency to the invoicing currency.
1509+
1510+
external_price_id: An alias for the price.
1511+
1512+
fixed_price_quantity: If the Price represents a fixed cost, this represents the quantity of units
1513+
applied.
1514+
1515+
invoice_grouping_key: The property used to group this price on an invoice
1516+
1517+
metadata: User-specified key/value pairs for the resource. Individual keys can be removed
1518+
by setting the value to `null`, and the entire metadata mapping can be cleared
1519+
by setting `metadata` to `null`.
1520+
1521+
extra_headers: Send extra headers
1522+
1523+
extra_query: Add additional query parameters to the request
1524+
1525+
extra_body: Add additional JSON properties to the request
1526+
1527+
timeout: Override the client-level default timeout for this request, in seconds
1528+
1529+
idempotency_key: Specify a custom idempotency key for this request
1530+
"""
1531+
...
1532+
14551533
@required_args(
14561534
["cadence", "currency", "item_id", "model_type", "name", "unit_config"],
14571535
["cadence", "currency", "item_id", "model_type", "name", "package_config"],
@@ -1471,6 +1549,7 @@ def create(
14711549
["cadence", "currency", "item_id", "model_type", "name", "unit_with_percent_config"],
14721550
["cadence", "currency", "item_id", "model_type", "name", "tiered_with_proration_config"],
14731551
["cadence", "currency", "item_id", "model_type", "name", "unit_with_proration_config"],
1552+
["cadence", "currency", "grouped_allocation_config", "item_id", "model_type", "name"],
14741553
)
14751554
def create(
14761555
self,
@@ -1495,7 +1574,8 @@ def create(
14951574
| Literal["tiered_package_with_minimum"]
14961575
| Literal["unit_with_percent"]
14971576
| Literal["tiered_with_proration"]
1498-
| Literal["unit_with_proration"],
1577+
| Literal["unit_with_proration"]
1578+
| Literal["grouped_allocation"],
14991579
name: str,
15001580
unit_config: price_create_params.NewFloatingUnitPriceUnitConfig | NotGiven = NOT_GIVEN,
15011581
billable_metric_id: Optional[str] | NotGiven = NOT_GIVEN,
@@ -1523,6 +1603,7 @@ def create(
15231603
unit_with_percent_config: Dict[str, object] | NotGiven = NOT_GIVEN,
15241604
tiered_with_proration_config: Dict[str, object] | NotGiven = NOT_GIVEN,
15251605
unit_with_proration_config: Dict[str, object] | NotGiven = NOT_GIVEN,
1606+
grouped_allocation_config: Dict[str, object] | NotGiven = NOT_GIVEN,
15261607
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
15271608
# The extra values given here take precedence over values defined on the client or passed to this method.
15281609
extra_headers: Headers | None = None,
@@ -1567,6 +1648,7 @@ def create(
15671648
"unit_with_percent_config": unit_with_percent_config,
15681649
"tiered_with_proration_config": tiered_with_proration_config,
15691650
"unit_with_proration_config": unit_with_proration_config,
1651+
"grouped_allocation_config": grouped_allocation_config,
15701652
},
15711653
price_create_params.PriceCreateParams,
15721654
),
@@ -3229,6 +3311,84 @@ async def create(
32293311
"""
32303312
...
32313313

3314+
@overload
3315+
async def create(
3316+
self,
3317+
*,
3318+
cadence: Literal["annual", "semi_annual", "monthly", "quarterly", "one_time", "custom"],
3319+
currency: str,
3320+
grouped_allocation_config: Dict[str, object],
3321+
item_id: str,
3322+
model_type: Literal["grouped_allocation"],
3323+
name: str,
3324+
billable_metric_id: Optional[str] | NotGiven = NOT_GIVEN,
3325+
billed_in_advance: Optional[bool] | NotGiven = NOT_GIVEN,
3326+
conversion_rate: Optional[float] | NotGiven = NOT_GIVEN,
3327+
external_price_id: Optional[str] | NotGiven = NOT_GIVEN,
3328+
fixed_price_quantity: Optional[float] | NotGiven = NOT_GIVEN,
3329+
invoice_grouping_key: Optional[str] | NotGiven = NOT_GIVEN,
3330+
metadata: Optional[Dict[str, Optional[str]]] | NotGiven = NOT_GIVEN,
3331+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
3332+
# The extra values given here take precedence over values defined on the client or passed to this method.
3333+
extra_headers: Headers | None = None,
3334+
extra_query: Query | None = None,
3335+
extra_body: Body | None = None,
3336+
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
3337+
idempotency_key: str | None = None,
3338+
) -> Price:
3339+
"""This endpoint is used to create a [price](../reference/price).
3340+
3341+
A price created
3342+
using this endpoint is always an add-on, meaning that it’s not associated with a
3343+
specific plan and can instead be individually added to subscriptions, including
3344+
subscriptions on different plans.
3345+
3346+
An `external_price_id` can be optionally specified as an alias to allow
3347+
ergonomic interaction with prices in the Orb API.
3348+
3349+
See the [Price resource](../reference/price) for the specification of different
3350+
price model configurations possible in this endpoint.
3351+
3352+
Args:
3353+
cadence: The cadence to bill for this price on.
3354+
3355+
currency: An ISO 4217 currency string for which this price is billed in.
3356+
3357+
item_id: The id of the item the plan will be associated with.
3358+
3359+
name: The name of the price.
3360+
3361+
billable_metric_id: The id of the billable metric for the price. Only needed if the price is
3362+
usage-based.
3363+
3364+
billed_in_advance: If the Price represents a fixed cost, the price will be billed in-advance if
3365+
this is true, and in-arrears if this is false.
3366+
3367+
conversion_rate: The per unit conversion rate of the price currency to the invoicing currency.
3368+
3369+
external_price_id: An alias for the price.
3370+
3371+
fixed_price_quantity: If the Price represents a fixed cost, this represents the quantity of units
3372+
applied.
3373+
3374+
invoice_grouping_key: The property used to group this price on an invoice
3375+
3376+
metadata: User-specified key/value pairs for the resource. Individual keys can be removed
3377+
by setting the value to `null`, and the entire metadata mapping can be cleared
3378+
by setting `metadata` to `null`.
3379+
3380+
extra_headers: Send extra headers
3381+
3382+
extra_query: Add additional query parameters to the request
3383+
3384+
extra_body: Add additional JSON properties to the request
3385+
3386+
timeout: Override the client-level default timeout for this request, in seconds
3387+
3388+
idempotency_key: Specify a custom idempotency key for this request
3389+
"""
3390+
...
3391+
32323392
@required_args(
32333393
["cadence", "currency", "item_id", "model_type", "name", "unit_config"],
32343394
["cadence", "currency", "item_id", "model_type", "name", "package_config"],
@@ -3248,6 +3408,7 @@ async def create(
32483408
["cadence", "currency", "item_id", "model_type", "name", "unit_with_percent_config"],
32493409
["cadence", "currency", "item_id", "model_type", "name", "tiered_with_proration_config"],
32503410
["cadence", "currency", "item_id", "model_type", "name", "unit_with_proration_config"],
3411+
["cadence", "currency", "grouped_allocation_config", "item_id", "model_type", "name"],
32513412
)
32523413
async def create(
32533414
self,
@@ -3272,7 +3433,8 @@ async def create(
32723433
| Literal["tiered_package_with_minimum"]
32733434
| Literal["unit_with_percent"]
32743435
| Literal["tiered_with_proration"]
3275-
| Literal["unit_with_proration"],
3436+
| Literal["unit_with_proration"]
3437+
| Literal["grouped_allocation"],
32763438
name: str,
32773439
unit_config: price_create_params.NewFloatingUnitPriceUnitConfig | NotGiven = NOT_GIVEN,
32783440
billable_metric_id: Optional[str] | NotGiven = NOT_GIVEN,
@@ -3300,6 +3462,7 @@ async def create(
33003462
unit_with_percent_config: Dict[str, object] | NotGiven = NOT_GIVEN,
33013463
tiered_with_proration_config: Dict[str, object] | NotGiven = NOT_GIVEN,
33023464
unit_with_proration_config: Dict[str, object] | NotGiven = NOT_GIVEN,
3465+
grouped_allocation_config: Dict[str, object] | NotGiven = NOT_GIVEN,
33033466
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
33043467
# The extra values given here take precedence over values defined on the client or passed to this method.
33053468
extra_headers: Headers | None = None,
@@ -3344,6 +3507,7 @@ async def create(
33443507
"unit_with_percent_config": unit_with_percent_config,
33453508
"tiered_with_proration_config": tiered_with_proration_config,
33463509
"unit_with_proration_config": unit_with_proration_config,
3510+
"grouped_allocation_config": grouped_allocation_config,
33473511
},
33483512
price_create_params.PriceCreateParams,
33493513
),

src/orb/types/plan_create_params.py

+57
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
"PriceNewPlanPackageWithAllocationPrice",
3737
"PriceNewPlanTierWithProrationPrice",
3838
"PriceNewPlanUnitWithProrationPrice",
39+
"PriceNewPlanGroupedAllocationPrice",
3940
]
4041

4142

@@ -1025,6 +1026,61 @@ class PriceNewPlanUnitWithProrationPrice(TypedDict, total=False):
10251026
"""
10261027

10271028

1029+
class PriceNewPlanGroupedAllocationPrice(TypedDict, total=False):
1030+
cadence: Required[Literal["annual", "semi_annual", "monthly", "quarterly", "one_time", "custom"]]
1031+
"""The cadence to bill for this price on."""
1032+
1033+
grouped_allocation_config: Required[Dict[str, object]]
1034+
1035+
item_id: Required[str]
1036+
"""The id of the item the plan will be associated with."""
1037+
1038+
model_type: Required[Literal["grouped_allocation"]]
1039+
1040+
name: Required[str]
1041+
"""The name of the price."""
1042+
1043+
billable_metric_id: Optional[str]
1044+
"""The id of the billable metric for the price.
1045+
1046+
Only needed if the price is usage-based.
1047+
"""
1048+
1049+
billed_in_advance: Optional[bool]
1050+
"""
1051+
If the Price represents a fixed cost, the price will be billed in-advance if
1052+
this is true, and in-arrears if this is false.
1053+
"""
1054+
1055+
conversion_rate: Optional[float]
1056+
"""The per unit conversion rate of the price currency to the invoicing currency."""
1057+
1058+
currency: Optional[str]
1059+
"""
1060+
An ISO 4217 currency string, or custom pricing unit identifier, in which this
1061+
price is billed.
1062+
"""
1063+
1064+
external_price_id: Optional[str]
1065+
"""An alias for the price."""
1066+
1067+
fixed_price_quantity: Optional[float]
1068+
"""
1069+
If the Price represents a fixed cost, this represents the quantity of units
1070+
applied.
1071+
"""
1072+
1073+
invoice_grouping_key: Optional[str]
1074+
"""The property used to group this price on an invoice"""
1075+
1076+
metadata: Optional[Dict[str, Optional[str]]]
1077+
"""User-specified key/value pairs for the resource.
1078+
1079+
Individual keys can be removed by setting the value to `null`, and the entire
1080+
metadata mapping can be cleared by setting `metadata` to `null`.
1081+
"""
1082+
1083+
10281084
Price: TypeAlias = Union[
10291085
PriceNewPlanUnitPrice,
10301086
PriceNewPlanPackagePrice,
@@ -1041,4 +1097,5 @@ class PriceNewPlanUnitWithProrationPrice(TypedDict, total=False):
10411097
PriceNewPlanPackageWithAllocationPrice,
10421098
PriceNewPlanTierWithProrationPrice,
10431099
PriceNewPlanUnitWithProrationPrice,
1100+
PriceNewPlanGroupedAllocationPrice,
10441101
]

0 commit comments

Comments
 (0)