diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 3b4c2d4b..bd7f3844 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "4.1.0" + ".": "4.2.0" } \ No newline at end of file diff --git a/.stats.yml b/.stats.yml index 0834bdd5..090c0e18 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 116 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-9d6e0a988df83c0e2baa559ef57ec96981669a7a294de2188adb2cd6bbc0be8a.yml -openapi_spec_hash: 7f5e7221872d7ee799141f546c394f48 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/orb%2Forb-ff68c7ee2669d61716781d01b93f34186fb7a19ff4ad6fc2c0b8f9f4d9c4a588.yml +openapi_spec_hash: 17bdc6b1ca2531dc884c6d156f404f0c config_hash: 3c3524be9607afb24d2139ce26ce5389 diff --git a/CHANGELOG.md b/CHANGELOG.md index fb51197d..73b30741 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 4.2.0 (2025-06-26) + +Full Changelog: [v4.1.0...v4.2.0](https://github.com/orbcorp/orb-python/compare/v4.1.0...v4.2.0) + +### Features + +* **api:** api update ([80e56fb](https://github.com/orbcorp/orb-python/commit/80e56fbdab24c23f26e22cb49b50b4a087522bc9)) + ## 4.1.0 (2025-06-23) Full Changelog: [v4.0.1...v4.1.0](https://github.com/orbcorp/orb-python/compare/v4.0.1...v4.1.0) diff --git a/pyproject.toml b/pyproject.toml index 97098bc6..b74e1acb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "orb-billing" -version = "4.1.0" +version = "4.2.0" description = "The official Python library for the orb API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/orb/_version.py b/src/orb/_version.py index a047a01b..b9d91625 100644 --- a/src/orb/_version.py +++ b/src/orb/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "orb" -__version__ = "4.1.0" # x-release-please-version +__version__ = "4.2.0" # x-release-please-version diff --git a/src/orb/types/shared/monetary_amount_discount_adjustment.py b/src/orb/types/shared/monetary_amount_discount_adjustment.py index 15f8d0b3..58031fcc 100644 --- a/src/orb/types/shared/monetary_amount_discount_adjustment.py +++ b/src/orb/types/shared/monetary_amount_discount_adjustment.py @@ -37,3 +37,10 @@ class MonetaryAmountDiscountAdjustment(BaseModel): reason: Optional[str] = None """The reason for the adjustment.""" + + replaces_adjustment_id: Optional[str] = None + """The adjustment id this adjustment replaces. + + This adjustment will take the place of the replaced adjustment in plan version + migrations. + """ diff --git a/src/orb/types/shared/monetary_maximum_adjustment.py b/src/orb/types/shared/monetary_maximum_adjustment.py index 78d9477b..f2d34c19 100644 --- a/src/orb/types/shared/monetary_maximum_adjustment.py +++ b/src/orb/types/shared/monetary_maximum_adjustment.py @@ -37,3 +37,10 @@ class MonetaryMaximumAdjustment(BaseModel): reason: Optional[str] = None """The reason for the adjustment.""" + + replaces_adjustment_id: Optional[str] = None + """The adjustment id this adjustment replaces. + + This adjustment will take the place of the replaced adjustment in plan version + migrations. + """ diff --git a/src/orb/types/shared/monetary_minimum_adjustment.py b/src/orb/types/shared/monetary_minimum_adjustment.py index 4e9af71b..5f9fceb7 100644 --- a/src/orb/types/shared/monetary_minimum_adjustment.py +++ b/src/orb/types/shared/monetary_minimum_adjustment.py @@ -40,3 +40,10 @@ class MonetaryMinimumAdjustment(BaseModel): reason: Optional[str] = None """The reason for the adjustment.""" + + replaces_adjustment_id: Optional[str] = None + """The adjustment id this adjustment replaces. + + This adjustment will take the place of the replaced adjustment in plan version + migrations. + """ diff --git a/src/orb/types/shared/monetary_percentage_discount_adjustment.py b/src/orb/types/shared/monetary_percentage_discount_adjustment.py index 6cd9525a..5b8ba5fb 100644 --- a/src/orb/types/shared/monetary_percentage_discount_adjustment.py +++ b/src/orb/types/shared/monetary_percentage_discount_adjustment.py @@ -37,3 +37,10 @@ class MonetaryPercentageDiscountAdjustment(BaseModel): reason: Optional[str] = None """The reason for the adjustment.""" + + replaces_adjustment_id: Optional[str] = None + """The adjustment id this adjustment replaces. + + This adjustment will take the place of the replaced adjustment in plan version + migrations. + """ diff --git a/src/orb/types/shared/monetary_usage_discount_adjustment.py b/src/orb/types/shared/monetary_usage_discount_adjustment.py index ce7f1074..135cc4df 100644 --- a/src/orb/types/shared/monetary_usage_discount_adjustment.py +++ b/src/orb/types/shared/monetary_usage_discount_adjustment.py @@ -32,6 +32,13 @@ class MonetaryUsageDiscountAdjustment(BaseModel): reason: Optional[str] = None """The reason for the adjustment.""" + replaces_adjustment_id: Optional[str] = None + """The adjustment id this adjustment replaces. + + This adjustment will take the place of the replaced adjustment in plan version + migrations. + """ + usage_discount: float """ The number of usage units by which to discount the price this adjustment applies diff --git a/src/orb/types/shared/plan_phase_amount_discount_adjustment.py b/src/orb/types/shared/plan_phase_amount_discount_adjustment.py index 8ee541a2..69329d25 100644 --- a/src/orb/types/shared/plan_phase_amount_discount_adjustment.py +++ b/src/orb/types/shared/plan_phase_amount_discount_adjustment.py @@ -37,3 +37,10 @@ class PlanPhaseAmountDiscountAdjustment(BaseModel): reason: Optional[str] = None """The reason for the adjustment.""" + + replaces_adjustment_id: Optional[str] = None + """The adjustment id this adjustment replaces. + + This adjustment will take the place of the replaced adjustment in plan version + migrations. + """ diff --git a/src/orb/types/shared/plan_phase_maximum_adjustment.py b/src/orb/types/shared/plan_phase_maximum_adjustment.py index 4fca488e..b1360895 100644 --- a/src/orb/types/shared/plan_phase_maximum_adjustment.py +++ b/src/orb/types/shared/plan_phase_maximum_adjustment.py @@ -37,3 +37,10 @@ class PlanPhaseMaximumAdjustment(BaseModel): reason: Optional[str] = None """The reason for the adjustment.""" + + replaces_adjustment_id: Optional[str] = None + """The adjustment id this adjustment replaces. + + This adjustment will take the place of the replaced adjustment in plan version + migrations. + """ diff --git a/src/orb/types/shared/plan_phase_minimum_adjustment.py b/src/orb/types/shared/plan_phase_minimum_adjustment.py index f7e56e43..ceadb996 100644 --- a/src/orb/types/shared/plan_phase_minimum_adjustment.py +++ b/src/orb/types/shared/plan_phase_minimum_adjustment.py @@ -40,3 +40,10 @@ class PlanPhaseMinimumAdjustment(BaseModel): reason: Optional[str] = None """The reason for the adjustment.""" + + replaces_adjustment_id: Optional[str] = None + """The adjustment id this adjustment replaces. + + This adjustment will take the place of the replaced adjustment in plan version + migrations. + """ diff --git a/src/orb/types/shared/plan_phase_percentage_discount_adjustment.py b/src/orb/types/shared/plan_phase_percentage_discount_adjustment.py index 6d08d827..0ceec0ff 100644 --- a/src/orb/types/shared/plan_phase_percentage_discount_adjustment.py +++ b/src/orb/types/shared/plan_phase_percentage_discount_adjustment.py @@ -37,3 +37,10 @@ class PlanPhasePercentageDiscountAdjustment(BaseModel): reason: Optional[str] = None """The reason for the adjustment.""" + + replaces_adjustment_id: Optional[str] = None + """The adjustment id this adjustment replaces. + + This adjustment will take the place of the replaced adjustment in plan version + migrations. + """ diff --git a/src/orb/types/shared/plan_phase_usage_discount_adjustment.py b/src/orb/types/shared/plan_phase_usage_discount_adjustment.py index a3bf5ce7..b2bb1fec 100644 --- a/src/orb/types/shared/plan_phase_usage_discount_adjustment.py +++ b/src/orb/types/shared/plan_phase_usage_discount_adjustment.py @@ -32,6 +32,13 @@ class PlanPhaseUsageDiscountAdjustment(BaseModel): reason: Optional[str] = None """The reason for the adjustment.""" + replaces_adjustment_id: Optional[str] = None + """The adjustment id this adjustment replaces. + + This adjustment will take the place of the replaced adjustment in plan version + migrations. + """ + usage_discount: float """ The number of usage units by which to discount the price this adjustment applies diff --git a/src/orb/types/shared/price.py b/src/orb/types/shared/price.py index 5b856733..f776a7a2 100644 --- a/src/orb/types/shared/price.py +++ b/src/orb/types/shared/price.py @@ -147,6 +147,12 @@ class UnitPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + unit_config: UnitConfig dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -213,6 +219,12 @@ class PackagePrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -277,6 +289,12 @@ class MatrixPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -339,6 +357,12 @@ class TieredPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + tiered_config: TieredConfig dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -403,6 +427,12 @@ class TieredBPSPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + tiered_bps_config: TieredBPSConfig dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -469,6 +499,12 @@ class BPSPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -533,6 +569,12 @@ class BulkBPSPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -597,6 +639,12 @@ class BulkPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -659,6 +707,12 @@ class ThresholdTotalAmountPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + threshold_total_amount_config: Dict[str, object] dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -723,6 +777,12 @@ class TieredPackagePrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + tiered_package_config: Dict[str, object] dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -789,6 +849,12 @@ class GroupedTieredPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -851,6 +917,12 @@ class TieredWithMinimumPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + tiered_with_minimum_config: Dict[str, object] dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -915,6 +987,12 @@ class TieredPackageWithMinimumPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + tiered_package_with_minimum_config: Dict[str, object] dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -981,6 +1059,12 @@ class PackageWithAllocationPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1043,6 +1127,12 @@ class UnitWithPercentPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + unit_with_percent_config: Dict[str, object] dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1109,6 +1199,12 @@ class MatrixWithAllocationPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1171,6 +1267,12 @@ class TieredWithProrationPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + tiered_with_proration_config: Dict[str, object] dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1235,6 +1337,12 @@ class UnitWithProrationPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + unit_with_proration_config: Dict[str, object] dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1301,6 +1409,12 @@ class GroupedAllocationPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1365,6 +1479,12 @@ class GroupedWithProratedMinimumPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1429,6 +1549,12 @@ class GroupedWithMeteredMinimumPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1493,6 +1619,12 @@ class MatrixWithDisplayNamePrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1557,6 +1689,12 @@ class BulkWithProrationPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1621,6 +1759,12 @@ class GroupedTieredPackagePrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1685,6 +1829,12 @@ class MaxGroupTieredPackagePrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1747,6 +1897,12 @@ class ScalableMatrixWithUnitPricingPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + scalable_matrix_with_unit_pricing_config: Dict[str, object] dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1811,6 +1967,12 @@ class ScalableMatrixWithTieredPricingPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + scalable_matrix_with_tiered_pricing_config: Dict[str, object] dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None @@ -1877,6 +2039,12 @@ class CumulativeGroupedBulkPrice(BaseModel): price_type: Literal["usage_price", "fixed_price"] + replaces_price_id: Optional[str] = None + """The price id this price replaces. + + This price will take the place of the replaced price in plan version migrations. + """ + dimensional_price_configuration: Optional[DimensionalPriceConfiguration] = None