metronome-sdk 3.2.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/client.rb +7 -0
- data/lib/metronome_sdk/models/commit_rate.rb +1 -22
- data/lib/metronome_sdk/models/contract_v2.rb +1 -22
- data/lib/metronome_sdk/models/overwrite_rate.rb +1 -22
- data/lib/metronome_sdk/models/rate.rb +1 -22
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +10 -24
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +10 -24
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +1 -23
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +1 -21
- data/lib/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rb +32 -0
- data/lib/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rb +38 -0
- data/lib/metronome_sdk/models/v1/package_create_params.rb +1 -23
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +18 -25
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +1 -23
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +1 -3
- data/lib/metronome_sdk/resources/v1/customers.rb +53 -0
- data/lib/metronome_sdk/resources/v1/usage.rb +21 -0
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +2 -0
- data/rbi/metronome_sdk/client.rbi +6 -0
- data/rbi/metronome_sdk/models/commit_rate.rbi +0 -37
- data/rbi/metronome_sdk/models/contract_v2.rbi +0 -46
- data/rbi/metronome_sdk/models/overwrite_rate.rbi +0 -37
- data/rbi/metronome_sdk/models/rate.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +11 -46
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +11 -46
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +0 -46
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +0 -46
- data/rbi/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rbi +56 -0
- data/rbi/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rbi +95 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +0 -46
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +20 -49
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +0 -46
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +0 -4
- data/rbi/metronome_sdk/resources/v1/customers.rbi +48 -0
- data/rbi/metronome_sdk/resources/v1/usage.rbi +21 -0
- data/sig/metronome_sdk/client.rbs +3 -0
- data/sig/metronome_sdk/models/commit_rate.rbs +0 -19
- data/sig/metronome_sdk/models/contract_v2.rbs +0 -19
- data/sig/metronome_sdk/models/overwrite_rate.rbs +0 -19
- data/sig/metronome_sdk/models/rate.rbs +0 -19
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +7 -19
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +7 -19
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +0 -19
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +0 -19
- data/sig/metronome_sdk/models/v1/customer_archive_billing_configurations_params.rbs +33 -0
- data/sig/metronome_sdk/models/v1/customer_archive_billing_configurations_response.rbs +44 -0
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +0 -19
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +15 -22
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +0 -19
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +0 -1
- data/sig/metronome_sdk/resources/v1/customers.rbs +6 -0
- metadata +8 -2
|
@@ -2517,6 +2517,13 @@ module MetronomeSDK
|
|
|
2517
2517
|
end
|
|
2518
2518
|
attr_writer :rate_type
|
|
2519
2519
|
|
|
2520
|
+
# Fraction of unused segments that will be rolled over. Must be between 0 and 1.
|
|
2521
|
+
sig { returns(T.nilable(Float)) }
|
|
2522
|
+
attr_reader :rollover_fraction
|
|
2523
|
+
|
|
2524
|
+
sig { params(rollover_fraction: Float).void }
|
|
2525
|
+
attr_writer :rollover_fraction
|
|
2526
|
+
|
|
2520
2527
|
# List of filters that determine what kind of customer usage draws down a commit
|
|
2521
2528
|
# or credit. A customer's usage needs to meet the condition of at least one of the
|
|
2522
2529
|
# specifiers to contribute to a commit's or credit's drawdown. This field cannot
|
|
@@ -2551,6 +2558,7 @@ module MetronomeSDK
|
|
|
2551
2558
|
priority: Float,
|
|
2552
2559
|
rate_type:
|
|
2553
2560
|
MetronomeSDK::V2::ContractEditParams::AddCredit::RateType::OrSymbol,
|
|
2561
|
+
rollover_fraction: Float,
|
|
2554
2562
|
specifiers: T::Array[MetronomeSDK::CommitSpecifierInput::OrHash]
|
|
2555
2563
|
).returns(T.attached_class)
|
|
2556
2564
|
end
|
|
@@ -2578,6 +2586,8 @@ module MetronomeSDK
|
|
|
2578
2586
|
# first.
|
|
2579
2587
|
priority: nil,
|
|
2580
2588
|
rate_type: nil,
|
|
2589
|
+
# Fraction of unused segments that will be rolled over. Must be between 0 and 1.
|
|
2590
|
+
rollover_fraction: nil,
|
|
2581
2591
|
# List of filters that determine what kind of customer usage draws down a commit
|
|
2582
2592
|
# or credit. A customer's usage needs to meet the condition of at least one of the
|
|
2583
2593
|
# specifiers to contribute to a commit's or credit's drawdown. This field cannot
|
|
@@ -2605,6 +2615,7 @@ module MetronomeSDK
|
|
|
2605
2615
|
priority: Float,
|
|
2606
2616
|
rate_type:
|
|
2607
2617
|
MetronomeSDK::V2::ContractEditParams::AddCredit::RateType::OrSymbol,
|
|
2618
|
+
rollover_fraction: Float,
|
|
2608
2619
|
specifiers: T::Array[MetronomeSDK::CommitSpecifierInput]
|
|
2609
2620
|
}
|
|
2610
2621
|
)
|
|
@@ -3720,24 +3731,6 @@ module MetronomeSDK
|
|
|
3720
3731
|
sig { params(is_prorated: T::Boolean).void }
|
|
3721
3732
|
attr_writer :is_prorated
|
|
3722
3733
|
|
|
3723
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
3724
|
-
sig do
|
|
3725
|
-
returns(
|
|
3726
|
-
T.nilable(
|
|
3727
|
-
MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig
|
|
3728
|
-
)
|
|
3729
|
-
)
|
|
3730
|
-
end
|
|
3731
|
-
attr_reader :minimum_config
|
|
3732
|
-
|
|
3733
|
-
sig do
|
|
3734
|
-
params(
|
|
3735
|
-
minimum_config:
|
|
3736
|
-
MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig::OrHash
|
|
3737
|
-
).void
|
|
3738
|
-
end
|
|
3739
|
-
attr_writer :minimum_config
|
|
3740
|
-
|
|
3741
3734
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
3742
3735
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
3743
3736
|
sig { returns(T.nilable(Float)) }
|
|
@@ -3768,8 +3761,6 @@ module MetronomeSDK
|
|
|
3768
3761
|
credit_type_id: String,
|
|
3769
3762
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
3770
3763
|
is_prorated: T::Boolean,
|
|
3771
|
-
minimum_config:
|
|
3772
|
-
MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig::OrHash,
|
|
3773
3764
|
price: Float,
|
|
3774
3765
|
quantity: Float,
|
|
3775
3766
|
tiers: T::Array[MetronomeSDK::Tier::OrHash]
|
|
@@ -3784,8 +3775,6 @@ module MetronomeSDK
|
|
|
3784
3775
|
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
3785
3776
|
# set to true.
|
|
3786
3777
|
is_prorated: nil,
|
|
3787
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
3788
|
-
minimum_config: nil,
|
|
3789
3778
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
3790
3779
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
3791
3780
|
price: nil,
|
|
@@ -3804,8 +3793,6 @@ module MetronomeSDK
|
|
|
3804
3793
|
credit_type_id: String,
|
|
3805
3794
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
3806
3795
|
is_prorated: T::Boolean,
|
|
3807
|
-
minimum_config:
|
|
3808
|
-
MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig,
|
|
3809
3796
|
price: Float,
|
|
3810
3797
|
quantity: Float,
|
|
3811
3798
|
tiers: T::Array[MetronomeSDK::Tier]
|
|
@@ -3868,28 +3855,6 @@ module MetronomeSDK
|
|
|
3868
3855
|
def self.values
|
|
3869
3856
|
end
|
|
3870
3857
|
end
|
|
3871
|
-
|
|
3872
|
-
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
3873
|
-
OrHash =
|
|
3874
|
-
T.type_alias do
|
|
3875
|
-
T.any(
|
|
3876
|
-
MetronomeSDK::V2::ContractEditParams::AddOverride::OverwriteRate::MinimumConfig,
|
|
3877
|
-
MetronomeSDK::Internal::AnyHash
|
|
3878
|
-
)
|
|
3879
|
-
end
|
|
3880
|
-
|
|
3881
|
-
sig { returns(Float) }
|
|
3882
|
-
attr_accessor :minimum
|
|
3883
|
-
|
|
3884
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
3885
|
-
sig { params(minimum: Float).returns(T.attached_class) }
|
|
3886
|
-
def self.new(minimum:)
|
|
3887
|
-
end
|
|
3888
|
-
|
|
3889
|
-
sig { override.returns({ minimum: Float }) }
|
|
3890
|
-
def to_hash
|
|
3891
|
-
end
|
|
3892
|
-
end
|
|
3893
3858
|
end
|
|
3894
3859
|
|
|
3895
3860
|
# Indicates whether the override applies to commit rates or list rates. Can only
|
|
@@ -8190,6 +8155,9 @@ module MetronomeSDK
|
|
|
8190
8155
|
end
|
|
8191
8156
|
attr_writer :rate_type
|
|
8192
8157
|
|
|
8158
|
+
sig { returns(T.nilable(Float)) }
|
|
8159
|
+
attr_accessor :rollover_fraction
|
|
8160
|
+
|
|
8193
8161
|
sig do
|
|
8194
8162
|
params(
|
|
8195
8163
|
credit_id: String,
|
|
@@ -8205,7 +8173,8 @@ module MetronomeSDK
|
|
|
8205
8173
|
priority: T.nilable(Float),
|
|
8206
8174
|
product_id: String,
|
|
8207
8175
|
rate_type:
|
|
8208
|
-
MetronomeSDK::V2::ContractEditParams::UpdateCredit::RateType::OrSymbol
|
|
8176
|
+
MetronomeSDK::V2::ContractEditParams::UpdateCredit::RateType::OrSymbol,
|
|
8177
|
+
rollover_fraction: T.nilable(Float)
|
|
8209
8178
|
).returns(T.attached_class)
|
|
8210
8179
|
end
|
|
8211
8180
|
def self.new(
|
|
@@ -8229,7 +8198,8 @@ module MetronomeSDK
|
|
|
8229
8198
|
# If provided, updates the credit to use the specified rate type for current and
|
|
8230
8199
|
# future invoices. Previously finalized invoices will need to be voided and
|
|
8231
8200
|
# regenerated to reflect the rate type change.
|
|
8232
|
-
rate_type: nil
|
|
8201
|
+
rate_type: nil,
|
|
8202
|
+
rollover_fraction: nil
|
|
8233
8203
|
)
|
|
8234
8204
|
end
|
|
8235
8205
|
|
|
@@ -8249,7 +8219,8 @@ module MetronomeSDK
|
|
|
8249
8219
|
priority: T.nilable(Float),
|
|
8250
8220
|
product_id: String,
|
|
8251
8221
|
rate_type:
|
|
8252
|
-
MetronomeSDK::V2::ContractEditParams::UpdateCredit::RateType::OrSymbol
|
|
8222
|
+
MetronomeSDK::V2::ContractEditParams::UpdateCredit::RateType::OrSymbol,
|
|
8223
|
+
rollover_fraction: T.nilable(Float)
|
|
8253
8224
|
}
|
|
8254
8225
|
)
|
|
8255
8226
|
end
|
|
@@ -2017,24 +2017,6 @@ module MetronomeSDK
|
|
|
2017
2017
|
sig { params(is_prorated: T::Boolean).void }
|
|
2018
2018
|
attr_writer :is_prorated
|
|
2019
2019
|
|
|
2020
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
2021
|
-
sig do
|
|
2022
|
-
returns(
|
|
2023
|
-
T.nilable(
|
|
2024
|
-
MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig
|
|
2025
|
-
)
|
|
2026
|
-
)
|
|
2027
|
-
end
|
|
2028
|
-
attr_reader :minimum_config
|
|
2029
|
-
|
|
2030
|
-
sig do
|
|
2031
|
-
params(
|
|
2032
|
-
minimum_config:
|
|
2033
|
-
MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig::OrHash
|
|
2034
|
-
).void
|
|
2035
|
-
end
|
|
2036
|
-
attr_writer :minimum_config
|
|
2037
|
-
|
|
2038
2020
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
2039
2021
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
2040
2022
|
sig { returns(T.nilable(Float)) }
|
|
@@ -2064,8 +2046,6 @@ module MetronomeSDK
|
|
|
2064
2046
|
credit_type: MetronomeSDK::CreditTypeData::OrHash,
|
|
2065
2047
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
2066
2048
|
is_prorated: T::Boolean,
|
|
2067
|
-
minimum_config:
|
|
2068
|
-
MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig::OrHash,
|
|
2069
2049
|
price: Float,
|
|
2070
2050
|
quantity: Float,
|
|
2071
2051
|
tiers: T::Array[MetronomeSDK::Tier::OrHash]
|
|
@@ -2080,8 +2060,6 @@ module MetronomeSDK
|
|
|
2080
2060
|
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
2081
2061
|
# set to true.
|
|
2082
2062
|
is_prorated: nil,
|
|
2083
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
2084
|
-
minimum_config: nil,
|
|
2085
2063
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
2086
2064
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
2087
2065
|
price: nil,
|
|
@@ -2100,8 +2078,6 @@ module MetronomeSDK
|
|
|
2100
2078
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
2101
2079
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
2102
2080
|
is_prorated: T::Boolean,
|
|
2103
|
-
minimum_config:
|
|
2104
|
-
MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig,
|
|
2105
2081
|
price: Float,
|
|
2106
2082
|
quantity: Float,
|
|
2107
2083
|
tiers: T::Array[MetronomeSDK::Tier]
|
|
@@ -2164,28 +2140,6 @@ module MetronomeSDK
|
|
|
2164
2140
|
def self.values
|
|
2165
2141
|
end
|
|
2166
2142
|
end
|
|
2167
|
-
|
|
2168
|
-
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
2169
|
-
OrHash =
|
|
2170
|
-
T.type_alias do
|
|
2171
|
-
T.any(
|
|
2172
|
-
MetronomeSDK::Models::V2::ContractGetEditHistoryResponse::Data::AddOverride::OverwriteRate::MinimumConfig,
|
|
2173
|
-
MetronomeSDK::Internal::AnyHash
|
|
2174
|
-
)
|
|
2175
|
-
end
|
|
2176
|
-
|
|
2177
|
-
sig { returns(Float) }
|
|
2178
|
-
attr_accessor :minimum
|
|
2179
|
-
|
|
2180
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
2181
|
-
sig { params(minimum: Float).returns(T.attached_class) }
|
|
2182
|
-
def self.new(minimum:)
|
|
2183
|
-
end
|
|
2184
|
-
|
|
2185
|
-
sig { override.returns({ minimum: Float }) }
|
|
2186
|
-
def to_hash
|
|
2187
|
-
end
|
|
2188
|
-
end
|
|
2189
2143
|
end
|
|
2190
2144
|
|
|
2191
2145
|
class Product < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -66,8 +66,6 @@ module MetronomeSDK
|
|
|
66
66
|
custom_rate: T::Hash[Symbol, T.anything],
|
|
67
67
|
ending_before: Time,
|
|
68
68
|
is_prorated: T::Boolean,
|
|
69
|
-
minimum_config:
|
|
70
|
-
MetronomeSDK::V1::Contracts::RateCards::RateAddParams::MinimumConfig::OrHash,
|
|
71
69
|
price: Float,
|
|
72
70
|
pricing_group_values: T::Hash[Symbol, String],
|
|
73
71
|
quantity: Float,
|
|
@@ -104,8 +102,6 @@ module MetronomeSDK
|
|
|
104
102
|
# Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
105
103
|
# set to true.
|
|
106
104
|
is_prorated: nil,
|
|
107
|
-
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
108
|
-
minimum_config: nil,
|
|
109
105
|
# Default price. For FLAT and SUBSCRIPTION rate_type, this must be >=0. For
|
|
110
106
|
# PERCENTAGE rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this
|
|
111
107
|
# must be >=0 and <=1.
|
|
@@ -192,6 +192,54 @@ module MetronomeSDK
|
|
|
192
192
|
def archive(id:, request_options: {})
|
|
193
193
|
end
|
|
194
194
|
|
|
195
|
+
# Deprecate an existing billing configuration for a customer to handle churn or
|
|
196
|
+
# billing and collection preference changes. Archiving a billing configuration
|
|
197
|
+
# takes effect immediately. If there are active contracts using the configuration,
|
|
198
|
+
# Metronome will archive the configuration on the contract and immediately stop
|
|
199
|
+
# metering to downstream systems.
|
|
200
|
+
#
|
|
201
|
+
# ### Use this endpoint to:
|
|
202
|
+
#
|
|
203
|
+
# - Remove billing provider customer data and configurations when no longer needed
|
|
204
|
+
# - Clean up test or deprecated billing provider configurations
|
|
205
|
+
# - Free up uniqueness keys for reuse with new billing provider configurations
|
|
206
|
+
# - Disable threshold recharge configurations associated with archived billing
|
|
207
|
+
# providers
|
|
208
|
+
#
|
|
209
|
+
# ### Key response fields:
|
|
210
|
+
#
|
|
211
|
+
# A successful response returns:
|
|
212
|
+
#
|
|
213
|
+
# - `success`: Boolean indicating the operation completed successfully
|
|
214
|
+
# - `error`: Null on success, error message on failure
|
|
215
|
+
#
|
|
216
|
+
# ### Usage guidelines:
|
|
217
|
+
#
|
|
218
|
+
# - Archiving a contract configuration during a grace period will result in the
|
|
219
|
+
# invoice not being sent to the customer
|
|
220
|
+
# - Automatically disables both spend-based and credit-based threshold recharge
|
|
221
|
+
# configurations for contracts using the archived billing provider
|
|
222
|
+
# - You can archive multiple configurations for a single customer in a single
|
|
223
|
+
# request, but any validation failures for an individual configuration will
|
|
224
|
+
# prevent the entire operation from succeeding
|
|
225
|
+
sig do
|
|
226
|
+
params(
|
|
227
|
+
customer_billing_provider_configuration_ids: T::Array[String],
|
|
228
|
+
customer_id: String,
|
|
229
|
+
request_options: MetronomeSDK::RequestOptions::OrHash
|
|
230
|
+
).returns(
|
|
231
|
+
MetronomeSDK::Models::V1::CustomerArchiveBillingConfigurationsResponse
|
|
232
|
+
)
|
|
233
|
+
end
|
|
234
|
+
def archive_billing_configurations(
|
|
235
|
+
# Array of billing provider configuration IDs to archive
|
|
236
|
+
customer_billing_provider_configuration_ids:,
|
|
237
|
+
# The customer ID the billing provider configurations belong to
|
|
238
|
+
customer_id:,
|
|
239
|
+
request_options: {}
|
|
240
|
+
)
|
|
241
|
+
end
|
|
242
|
+
|
|
195
243
|
# Get all billable metrics available for a specific customer. Supports pagination
|
|
196
244
|
# and filtering by current plan status or archived metrics. Use this endpoint to
|
|
197
245
|
# see which metrics are being tracked for billing calculations for a given
|
|
@@ -188,6 +188,27 @@ module MetronomeSDK
|
|
|
188
188
|
# - Build detailed usage dashboards with dimensional filtering
|
|
189
189
|
# - Identify high-usage segments for optimization opportunities
|
|
190
190
|
#
|
|
191
|
+
# ### Request parameters
|
|
192
|
+
#
|
|
193
|
+
# Use [`group_key`](#body-group-key) and [`group_filters`](#body-group-filters) to
|
|
194
|
+
# group by one or more dimensions. This is required for compound group keys and
|
|
195
|
+
# recommended for all new integrations:
|
|
196
|
+
#
|
|
197
|
+
# ```json
|
|
198
|
+
# {
|
|
199
|
+
# "group_key": ["region", "team"],
|
|
200
|
+
# "group_filters": {
|
|
201
|
+
# "region": ["US-East", "US-West"]
|
|
202
|
+
# }
|
|
203
|
+
# }
|
|
204
|
+
# ```
|
|
205
|
+
#
|
|
206
|
+
# Important: For compound group keys, you must pass the complete set of keys that
|
|
207
|
+
# make up the compound key. Partial key combinations are not supported. For
|
|
208
|
+
# example, if your billable metric has a compound group key [region, team,
|
|
209
|
+
# environment], you must pass all three keys in group_key—you cannot pass just
|
|
210
|
+
# `[region]` or `[region, team]`.
|
|
211
|
+
#
|
|
191
212
|
# ### Key response fields:
|
|
192
213
|
#
|
|
193
214
|
# An array of `PagedUsageAggregate` objects containing:
|
|
@@ -10,6 +10,8 @@ module MetronomeSDK
|
|
|
10
10
|
|
|
11
11
|
attr_reader bearer_token: String
|
|
12
12
|
|
|
13
|
+
attr_reader webhook_secret: String?
|
|
14
|
+
|
|
13
15
|
attr_reader v2: MetronomeSDK::Resources::V2
|
|
14
16
|
|
|
15
17
|
attr_reader v1: MetronomeSDK::Resources::V1
|
|
@@ -18,6 +20,7 @@ module MetronomeSDK
|
|
|
18
20
|
|
|
19
21
|
def initialize: (
|
|
20
22
|
?bearer_token: String?,
|
|
23
|
+
?webhook_secret: String?,
|
|
21
24
|
?base_url: String?,
|
|
22
25
|
?max_retries: Integer,
|
|
23
26
|
?timeout: Float,
|
|
@@ -3,7 +3,6 @@ module MetronomeSDK
|
|
|
3
3
|
type commit_rate =
|
|
4
4
|
{
|
|
5
5
|
rate_type: MetronomeSDK::Models::CommitRate::rate_type,
|
|
6
|
-
minimum_config: MetronomeSDK::CommitRate::MinimumConfig,
|
|
7
6
|
price: Float,
|
|
8
7
|
tiers: ::Array[MetronomeSDK::Tier]
|
|
9
8
|
}
|
|
@@ -11,12 +10,6 @@ module MetronomeSDK
|
|
|
11
10
|
class CommitRate < MetronomeSDK::Internal::Type::BaseModel
|
|
12
11
|
attr_accessor rate_type: MetronomeSDK::Models::CommitRate::rate_type
|
|
13
12
|
|
|
14
|
-
attr_reader minimum_config: MetronomeSDK::CommitRate::MinimumConfig?
|
|
15
|
-
|
|
16
|
-
def minimum_config=: (
|
|
17
|
-
MetronomeSDK::CommitRate::MinimumConfig
|
|
18
|
-
) -> MetronomeSDK::CommitRate::MinimumConfig
|
|
19
|
-
|
|
20
13
|
attr_reader price: Float?
|
|
21
14
|
|
|
22
15
|
def price=: (Float) -> Float
|
|
@@ -27,14 +20,12 @@ module MetronomeSDK
|
|
|
27
20
|
|
|
28
21
|
def initialize: (
|
|
29
22
|
rate_type: MetronomeSDK::Models::CommitRate::rate_type,
|
|
30
|
-
?minimum_config: MetronomeSDK::CommitRate::MinimumConfig,
|
|
31
23
|
?price: Float,
|
|
32
24
|
?tiers: ::Array[MetronomeSDK::Tier]
|
|
33
25
|
) -> void
|
|
34
26
|
|
|
35
27
|
def to_hash: -> {
|
|
36
28
|
rate_type: MetronomeSDK::Models::CommitRate::rate_type,
|
|
37
|
-
minimum_config: MetronomeSDK::CommitRate::MinimumConfig,
|
|
38
29
|
price: Float,
|
|
39
30
|
tiers: ::Array[MetronomeSDK::Tier]
|
|
40
31
|
}
|
|
@@ -59,16 +50,6 @@ module MetronomeSDK
|
|
|
59
50
|
|
|
60
51
|
def self?.values: -> ::Array[MetronomeSDK::Models::CommitRate::rate_type]
|
|
61
52
|
end
|
|
62
|
-
|
|
63
|
-
type minimum_config = { minimum: Float }
|
|
64
|
-
|
|
65
|
-
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
66
|
-
attr_accessor minimum: Float
|
|
67
|
-
|
|
68
|
-
def initialize: (minimum: Float) -> void
|
|
69
|
-
|
|
70
|
-
def to_hash: -> { minimum: Float }
|
|
71
|
-
end
|
|
72
53
|
end
|
|
73
54
|
end
|
|
74
55
|
end
|
|
@@ -1423,7 +1423,6 @@ module MetronomeSDK
|
|
|
1423
1423
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
1424
1424
|
custom_rate: ::Hash[Symbol, top],
|
|
1425
1425
|
is_prorated: bool,
|
|
1426
|
-
minimum_config: MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig,
|
|
1427
1426
|
price: Float,
|
|
1428
1427
|
quantity: Float,
|
|
1429
1428
|
tiers: ::Array[MetronomeSDK::Tier]
|
|
@@ -1446,12 +1445,6 @@ module MetronomeSDK
|
|
|
1446
1445
|
|
|
1447
1446
|
def is_prorated=: (bool) -> bool
|
|
1448
1447
|
|
|
1449
|
-
attr_reader minimum_config: MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig?
|
|
1450
|
-
|
|
1451
|
-
def minimum_config=: (
|
|
1452
|
-
MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig
|
|
1453
|
-
) -> MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig
|
|
1454
|
-
|
|
1455
1448
|
attr_reader price: Float?
|
|
1456
1449
|
|
|
1457
1450
|
def price=: (Float) -> Float
|
|
@@ -1471,7 +1464,6 @@ module MetronomeSDK
|
|
|
1471
1464
|
?credit_type: MetronomeSDK::CreditTypeData,
|
|
1472
1465
|
?custom_rate: ::Hash[Symbol, top],
|
|
1473
1466
|
?is_prorated: bool,
|
|
1474
|
-
?minimum_config: MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig,
|
|
1475
1467
|
?price: Float,
|
|
1476
1468
|
?quantity: Float,
|
|
1477
1469
|
?tiers: ::Array[MetronomeSDK::Tier]
|
|
@@ -1482,7 +1474,6 @@ module MetronomeSDK
|
|
|
1482
1474
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
1483
1475
|
custom_rate: ::Hash[Symbol, top],
|
|
1484
1476
|
is_prorated: bool,
|
|
1485
|
-
minimum_config: MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig,
|
|
1486
1477
|
price: Float,
|
|
1487
1478
|
quantity: Float,
|
|
1488
1479
|
tiers: ::Array[MetronomeSDK::Tier]
|
|
@@ -1508,16 +1499,6 @@ module MetronomeSDK
|
|
|
1508
1499
|
|
|
1509
1500
|
def self?.values: -> ::Array[MetronomeSDK::Models::ContractV2::Override::OverwriteRate::rate_type]
|
|
1510
1501
|
end
|
|
1511
|
-
|
|
1512
|
-
type minimum_config = { minimum: Float }
|
|
1513
|
-
|
|
1514
|
-
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
1515
|
-
attr_accessor minimum: Float
|
|
1516
|
-
|
|
1517
|
-
def initialize: (minimum: Float) -> void
|
|
1518
|
-
|
|
1519
|
-
def to_hash: -> { minimum: Float }
|
|
1520
|
-
end
|
|
1521
1502
|
end
|
|
1522
1503
|
|
|
1523
1504
|
type product = { id: String, name: String }
|
|
@@ -6,7 +6,6 @@ module MetronomeSDK
|
|
|
6
6
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
7
7
|
custom_rate: ::Hash[Symbol, top],
|
|
8
8
|
is_prorated: bool,
|
|
9
|
-
minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig,
|
|
10
9
|
price: Float,
|
|
11
10
|
quantity: Float,
|
|
12
11
|
tiers: ::Array[MetronomeSDK::Tier]
|
|
@@ -29,12 +28,6 @@ module MetronomeSDK
|
|
|
29
28
|
|
|
30
29
|
def is_prorated=: (bool) -> bool
|
|
31
30
|
|
|
32
|
-
attr_reader minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig?
|
|
33
|
-
|
|
34
|
-
def minimum_config=: (
|
|
35
|
-
MetronomeSDK::OverwriteRate::MinimumConfig
|
|
36
|
-
) -> MetronomeSDK::OverwriteRate::MinimumConfig
|
|
37
|
-
|
|
38
31
|
attr_reader price: Float?
|
|
39
32
|
|
|
40
33
|
def price=: (Float) -> Float
|
|
@@ -52,7 +45,6 @@ module MetronomeSDK
|
|
|
52
45
|
?credit_type: MetronomeSDK::CreditTypeData,
|
|
53
46
|
?custom_rate: ::Hash[Symbol, top],
|
|
54
47
|
?is_prorated: bool,
|
|
55
|
-
?minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig,
|
|
56
48
|
?price: Float,
|
|
57
49
|
?quantity: Float,
|
|
58
50
|
?tiers: ::Array[MetronomeSDK::Tier]
|
|
@@ -63,7 +55,6 @@ module MetronomeSDK
|
|
|
63
55
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
64
56
|
custom_rate: ::Hash[Symbol, top],
|
|
65
57
|
is_prorated: bool,
|
|
66
|
-
minimum_config: MetronomeSDK::OverwriteRate::MinimumConfig,
|
|
67
58
|
price: Float,
|
|
68
59
|
quantity: Float,
|
|
69
60
|
tiers: ::Array[MetronomeSDK::Tier]
|
|
@@ -89,16 +80,6 @@ module MetronomeSDK
|
|
|
89
80
|
|
|
90
81
|
def self?.values: -> ::Array[MetronomeSDK::Models::OverwriteRate::rate_type]
|
|
91
82
|
end
|
|
92
|
-
|
|
93
|
-
type minimum_config = { minimum: Float }
|
|
94
|
-
|
|
95
|
-
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
96
|
-
attr_accessor minimum: Float
|
|
97
|
-
|
|
98
|
-
def initialize: (minimum: Float) -> void
|
|
99
|
-
|
|
100
|
-
def to_hash: -> { minimum: Float }
|
|
101
|
-
end
|
|
102
83
|
end
|
|
103
84
|
end
|
|
104
85
|
end
|
|
@@ -6,7 +6,6 @@ module MetronomeSDK
|
|
|
6
6
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
7
7
|
custom_rate: ::Hash[Symbol, top],
|
|
8
8
|
is_prorated: bool,
|
|
9
|
-
minimum_config: MetronomeSDK::Rate::MinimumConfig,
|
|
10
9
|
price: Float,
|
|
11
10
|
pricing_group_values: ::Hash[Symbol, String],
|
|
12
11
|
quantity: Float,
|
|
@@ -30,12 +29,6 @@ module MetronomeSDK
|
|
|
30
29
|
|
|
31
30
|
def is_prorated=: (bool) -> bool
|
|
32
31
|
|
|
33
|
-
attr_reader minimum_config: MetronomeSDK::Rate::MinimumConfig?
|
|
34
|
-
|
|
35
|
-
def minimum_config=: (
|
|
36
|
-
MetronomeSDK::Rate::MinimumConfig
|
|
37
|
-
) -> MetronomeSDK::Rate::MinimumConfig
|
|
38
|
-
|
|
39
32
|
attr_reader price: Float?
|
|
40
33
|
|
|
41
34
|
def price=: (Float) -> Float
|
|
@@ -59,7 +52,6 @@ module MetronomeSDK
|
|
|
59
52
|
?credit_type: MetronomeSDK::CreditTypeData,
|
|
60
53
|
?custom_rate: ::Hash[Symbol, top],
|
|
61
54
|
?is_prorated: bool,
|
|
62
|
-
?minimum_config: MetronomeSDK::Rate::MinimumConfig,
|
|
63
55
|
?price: Float,
|
|
64
56
|
?pricing_group_values: ::Hash[Symbol, String],
|
|
65
57
|
?quantity: Float,
|
|
@@ -71,7 +63,6 @@ module MetronomeSDK
|
|
|
71
63
|
credit_type: MetronomeSDK::CreditTypeData,
|
|
72
64
|
custom_rate: ::Hash[Symbol, top],
|
|
73
65
|
is_prorated: bool,
|
|
74
|
-
minimum_config: MetronomeSDK::Rate::MinimumConfig,
|
|
75
66
|
price: Float,
|
|
76
67
|
pricing_group_values: ::Hash[Symbol, String],
|
|
77
68
|
quantity: Float,
|
|
@@ -98,16 +89,6 @@ module MetronomeSDK
|
|
|
98
89
|
|
|
99
90
|
def self?.values: -> ::Array[MetronomeSDK::Models::Rate::rate_type]
|
|
100
91
|
end
|
|
101
|
-
|
|
102
|
-
type minimum_config = { minimum: Float }
|
|
103
|
-
|
|
104
|
-
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
105
|
-
attr_accessor minimum: Float
|
|
106
|
-
|
|
107
|
-
def initialize: (minimum: Float) -> void
|
|
108
|
-
|
|
109
|
-
def to_hash: -> { minimum: Float }
|
|
110
|
-
end
|
|
111
92
|
end
|
|
112
93
|
end
|
|
113
94
|
end
|
|
@@ -640,6 +640,7 @@ module MetronomeSDK
|
|
|
640
640
|
netsuite_sales_order_id: String,
|
|
641
641
|
priority: Float,
|
|
642
642
|
rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Credit::rate_type,
|
|
643
|
+
rollover_fraction: Float,
|
|
643
644
|
specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
|
|
644
645
|
}
|
|
645
646
|
|
|
@@ -688,6 +689,10 @@ module MetronomeSDK
|
|
|
688
689
|
MetronomeSDK::Models::V1::ContractAmendParams::Credit::rate_type
|
|
689
690
|
) -> MetronomeSDK::Models::V1::ContractAmendParams::Credit::rate_type
|
|
690
691
|
|
|
692
|
+
attr_reader rollover_fraction: Float?
|
|
693
|
+
|
|
694
|
+
def rollover_fraction=: (Float) -> Float
|
|
695
|
+
|
|
691
696
|
attr_reader specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]?
|
|
692
697
|
|
|
693
698
|
def specifiers=: (
|
|
@@ -706,6 +711,7 @@ module MetronomeSDK
|
|
|
706
711
|
?netsuite_sales_order_id: String,
|
|
707
712
|
?priority: Float,
|
|
708
713
|
?rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Credit::rate_type,
|
|
714
|
+
?rollover_fraction: Float,
|
|
709
715
|
?specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
|
|
710
716
|
) -> void
|
|
711
717
|
|
|
@@ -721,6 +727,7 @@ module MetronomeSDK
|
|
|
721
727
|
netsuite_sales_order_id: String,
|
|
722
728
|
priority: Float,
|
|
723
729
|
rate_type: MetronomeSDK::Models::V1::ContractAmendParams::Credit::rate_type,
|
|
730
|
+
rollover_fraction: Float,
|
|
724
731
|
specifiers: ::Array[MetronomeSDK::CommitSpecifierInput]
|
|
725
732
|
}
|
|
726
733
|
|
|
@@ -1189,7 +1196,6 @@ module MetronomeSDK
|
|
|
1189
1196
|
credit_type_id: String,
|
|
1190
1197
|
custom_rate: ::Hash[Symbol, top],
|
|
1191
1198
|
is_prorated: bool,
|
|
1192
|
-
minimum_config: MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig,
|
|
1193
1199
|
price: Float,
|
|
1194
1200
|
quantity: Float,
|
|
1195
1201
|
tiers: ::Array[MetronomeSDK::Tier]
|
|
@@ -1210,12 +1216,6 @@ module MetronomeSDK
|
|
|
1210
1216
|
|
|
1211
1217
|
def is_prorated=: (bool) -> bool
|
|
1212
1218
|
|
|
1213
|
-
attr_reader minimum_config: MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig?
|
|
1214
|
-
|
|
1215
|
-
def minimum_config=: (
|
|
1216
|
-
MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig
|
|
1217
|
-
) -> MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig
|
|
1218
|
-
|
|
1219
1219
|
attr_reader price: Float?
|
|
1220
1220
|
|
|
1221
1221
|
def price=: (Float) -> Float
|
|
@@ -1235,7 +1235,6 @@ module MetronomeSDK
|
|
|
1235
1235
|
?credit_type_id: String,
|
|
1236
1236
|
?custom_rate: ::Hash[Symbol, top],
|
|
1237
1237
|
?is_prorated: bool,
|
|
1238
|
-
?minimum_config: MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig,
|
|
1239
1238
|
?price: Float,
|
|
1240
1239
|
?quantity: Float,
|
|
1241
1240
|
?tiers: ::Array[MetronomeSDK::Tier]
|
|
@@ -1246,7 +1245,6 @@ module MetronomeSDK
|
|
|
1246
1245
|
credit_type_id: String,
|
|
1247
1246
|
custom_rate: ::Hash[Symbol, top],
|
|
1248
1247
|
is_prorated: bool,
|
|
1249
|
-
minimum_config: MetronomeSDK::V1::ContractAmendParams::Override::OverwriteRate::MinimumConfig,
|
|
1250
1248
|
price: Float,
|
|
1251
1249
|
quantity: Float,
|
|
1252
1250
|
tiers: ::Array[MetronomeSDK::Tier]
|
|
@@ -1272,16 +1270,6 @@ module MetronomeSDK
|
|
|
1272
1270
|
|
|
1273
1271
|
def self?.values: -> ::Array[MetronomeSDK::Models::V1::ContractAmendParams::Override::OverwriteRate::rate_type]
|
|
1274
1272
|
end
|
|
1275
|
-
|
|
1276
|
-
type minimum_config = { minimum: Float }
|
|
1277
|
-
|
|
1278
|
-
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
1279
|
-
attr_accessor minimum: Float
|
|
1280
|
-
|
|
1281
|
-
def initialize: (minimum: Float) -> void
|
|
1282
|
-
|
|
1283
|
-
def to_hash: -> { minimum: Float }
|
|
1284
|
-
end
|
|
1285
1273
|
end
|
|
1286
1274
|
|
|
1287
1275
|
type target = :COMMIT_RATE | :LIST_RATE
|