metronome-sdk 3.6.0 → 3.8.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 +54 -0
- data/README.md +1 -1
- data/lib/metronome_sdk/internal/transport/base_client.rb +4 -1
- data/lib/metronome_sdk/internal/type/enum.rb +0 -25
- data/lib/metronome_sdk/models/commit.rb +36 -1
- data/lib/metronome_sdk/models/contract.rb +140 -1
- data/lib/metronome_sdk/models/contract_v2.rb +457 -8
- data/lib/metronome_sdk/models/contract_without_amendments.rb +320 -5
- data/lib/metronome_sdk/models/credit.rb +10 -1
- data/lib/metronome_sdk/models/override.rb +7 -1
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration.rb +113 -2
- data/lib/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rb +105 -2
- data/lib/metronome_sdk/models/spend_threshold_configuration.rb +33 -1
- data/lib/metronome_sdk/models/spend_threshold_configuration_v2.rb +33 -1
- data/lib/metronome_sdk/models/subscription.rb +90 -2
- data/lib/metronome_sdk/models/v1/alert_create_params.rb +127 -1
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +46 -5
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +436 -12
- data/lib/metronome_sdk/models/v1/contract_create_response.rb +1308 -3
- data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rb +88 -0
- data/lib/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rb +62 -0
- data/lib/metronome_sdk/models/v1/contract_list_seat_balances_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/customers/alert_retrieve_params.rb +127 -1
- data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +130 -3
- data/lib/metronome_sdk/models/v1/customers/invoice_list_params.rb +10 -1
- data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
- data/lib/metronome_sdk/models/v1/package_create_params.rb +394 -11
- data/lib/metronome_sdk/models/v1/package_list_response.rb +374 -8
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +378 -8
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +817 -13
- data/lib/metronome_sdk/models/v2/contract_edit_response.rb +4310 -3
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +600 -10
- data/lib/metronome_sdk/resources/v1/alerts.rb +3 -1
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +4 -0
- data/lib/metronome_sdk/resources/v1/contracts.rb +71 -2
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +4 -2
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +3 -1
- data/lib/metronome_sdk/resources/v1/dashboards.rb +7 -2
- data/lib/metronome_sdk/resources/v1/packages.rb +6 -5
- data/lib/metronome_sdk/resources/v1.rb +0 -4
- data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +2 -8
- data/rbi/metronome_sdk/models/commit.rbi +61 -0
- data/rbi/metronome_sdk/models/contract.rbi +354 -0
- data/rbi/metronome_sdk/models/contract_v2.rbi +1132 -11
- data/rbi/metronome_sdk/models/contract_without_amendments.rbi +831 -0
- data/rbi/metronome_sdk/models/credit.rbi +13 -0
- data/rbi/metronome_sdk/models/override.rbi +9 -0
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration.rbi +299 -6
- data/rbi/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbi +287 -6
- data/rbi/metronome_sdk/models/spend_threshold_configuration.rbi +78 -3
- data/rbi/metronome_sdk/models/spend_threshold_configuration_v2.rbi +78 -3
- data/rbi/metronome_sdk/models/subscription.rbi +212 -3
- data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +373 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +81 -6
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +1095 -17
- data/rbi/metronome_sdk/models/v1/contract_create_response.rbi +2911 -4
- data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbi +112 -0
- data/rbi/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbi +119 -0
- data/rbi/metronome_sdk/models/v1/contract_list_seat_balances_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/customers/alert_retrieve_params.rbi +360 -0
- data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +379 -2
- data/rbi/metronome_sdk/models/v1/customers/invoice_list_params.rbi +13 -0
- data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +1049 -42
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +1051 -54
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +1051 -54
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +2130 -114
- data/rbi/metronome_sdk/models/v2/contract_edit_response.rbi +9749 -4
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1567 -82
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +8 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +77 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +8 -1
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/dashboards.rbi +7 -2
- data/rbi/metronome_sdk/resources/v1/packages.rbi +8 -4
- data/rbi/metronome_sdk/resources/v1.rbi +0 -3
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
- data/sig/metronome_sdk/models/commit.rbs +26 -0
- data/sig/metronome_sdk/models/contract.rbs +151 -0
- data/sig/metronome_sdk/models/contract_v2.rbs +448 -5
- data/sig/metronome_sdk/models/contract_without_amendments.rbs +320 -2
- data/sig/metronome_sdk/models/credit.rbs +7 -0
- data/sig/metronome_sdk/models/override.rbs +7 -0
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration.rbs +116 -6
- data/sig/metronome_sdk/models/prepaid_balance_threshold_configuration_v2.rbs +116 -6
- data/sig/metronome_sdk/models/spend_threshold_configuration.rbs +31 -3
- data/sig/metronome_sdk/models/spend_threshold_configuration_v2.rbs +31 -3
- data/sig/metronome_sdk/models/subscription.rbs +88 -3
- data/sig/metronome_sdk/models/v1/alert_create_params.rbs +144 -0
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +412 -5
- data/sig/metronome_sdk/models/v1/contract_create_response.rbs +1210 -4
- data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_params.rbs +63 -0
- data/sig/metronome_sdk/models/v1/contract_get_subscription_seats_history_response.rbs +59 -0
- data/sig/metronome_sdk/models/v1/contract_list_seat_balances_params.rbs +7 -0
- data/sig/metronome_sdk/models/v1/customers/alert_retrieve_params.rbs +141 -0
- data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +150 -0
- data/sig/metronome_sdk/models/v1/customers/invoice_list_params.rbs +8 -1
- data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +386 -5
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +380 -5
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +378 -5
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +751 -14
- data/sig/metronome_sdk/models/v2/contract_edit_response.rbs +4215 -4
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +569 -14
- data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +14 -0
- data/sig/metronome_sdk/resources/v1/customers/alerts.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/customers/invoices.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/packages.rbs +1 -0
- data/sig/metronome_sdk/resources/v1.rbs +0 -2
- data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
- metadata +8 -26
- data/lib/metronome_sdk/models/v1/payment.rb +0 -196
- data/lib/metronome_sdk/models/v1/payment_attempt_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_attempt_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_cancel_params.rb +0 -28
- data/lib/metronome_sdk/models/v1/payment_cancel_response.rb +0 -18
- data/lib/metronome_sdk/models/v1/payment_list_params.rb +0 -53
- data/lib/metronome_sdk/models/v1/payment_status.rb +0 -19
- data/lib/metronome_sdk/resources/v1/payments.rb +0 -102
- data/rbi/metronome_sdk/models/v1/payment.rbi +0 -403
- data/rbi/metronome_sdk/models/v1/payment_attempt_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_attempt_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_cancel_params.rbi +0 -48
- data/rbi/metronome_sdk/models/v1/payment_cancel_response.rbi +0 -35
- data/rbi/metronome_sdk/models/v1/payment_list_params.rbi +0 -91
- data/rbi/metronome_sdk/models/v1/payment_status.rbi +0 -33
- data/rbi/metronome_sdk/resources/v1/payments.rbi +0 -72
- data/sig/metronome_sdk/models/v1/payment.rbs +0 -243
- data/sig/metronome_sdk/models/v1/payment_attempt_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_attempt_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_cancel_params.rbs +0 -30
- data/sig/metronome_sdk/models/v1/payment_cancel_response.rbs +0 -15
- data/sig/metronome_sdk/models/v1/payment_list_params.rbs +0 -56
- data/sig/metronome_sdk/models/v1/payment_status.rbs +0 -19
- data/sig/metronome_sdk/resources/v1/payments.rbs +0 -30
|
@@ -60,6 +60,10 @@ module MetronomeSDK
|
|
|
60
60
|
MetronomeSDK::V1::AlertCreateParams::AlertType::OrSymbol,
|
|
61
61
|
name: String,
|
|
62
62
|
threshold: Float,
|
|
63
|
+
alert_specifiers:
|
|
64
|
+
T::Array[
|
|
65
|
+
MetronomeSDK::V1::AlertCreateParams::AlertSpecifier::OrHash
|
|
66
|
+
],
|
|
63
67
|
billable_metric_id: String,
|
|
64
68
|
credit_grant_type_filters: T::Array[String],
|
|
65
69
|
credit_type_id: String,
|
|
@@ -88,6 +92,10 @@ module MetronomeSDK
|
|
|
88
92
|
# type, this number may represent a financial amount, the days remaining, or a
|
|
89
93
|
# percentage reached.
|
|
90
94
|
threshold:,
|
|
95
|
+
# Can be used with only `low_remaining_contract_credit_and_commit_balance_reached`
|
|
96
|
+
# notifications. Defines the balances that are considered when evaluating the
|
|
97
|
+
# alert.
|
|
98
|
+
alert_specifiers: nil,
|
|
91
99
|
# For threshold notifications of type `usage_threshold_reached`, specifies which
|
|
92
100
|
# billable metric to track the usage for.
|
|
93
101
|
billable_metric_id: nil,
|
|
@@ -51,6 +51,10 @@ module MetronomeSDK
|
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
# Add a new rate
|
|
54
|
+
#
|
|
55
|
+
# This endpoint is heavily rate limited. For adding multiple rates, using the
|
|
56
|
+
# [addRates](https://docs.metronome.com/api-reference/rate-cards/add-rates)
|
|
57
|
+
# endpoint is strongly encouraged.
|
|
54
58
|
sig do
|
|
55
59
|
params(
|
|
56
60
|
entitled: T::Boolean,
|
|
@@ -200,6 +200,10 @@ module MetronomeSDK
|
|
|
200
200
|
MetronomeSDK::V1::ContractCreateParams::ScheduledChargesOnUsageInvoices::OrSymbol,
|
|
201
201
|
spend_threshold_configuration:
|
|
202
202
|
MetronomeSDK::SpendThresholdConfiguration::OrHash,
|
|
203
|
+
spend_trackers:
|
|
204
|
+
T::Array[
|
|
205
|
+
MetronomeSDK::V1::ContractCreateParams::SpendTracker::OrHash
|
|
206
|
+
],
|
|
203
207
|
subscriptions:
|
|
204
208
|
T::Array[
|
|
205
209
|
MetronomeSDK::V1::ContractCreateParams::Subscription::OrHash
|
|
@@ -271,6 +275,9 @@ module MetronomeSDK
|
|
|
271
275
|
# on a separate invoice from usage charges.
|
|
272
276
|
scheduled_charges_on_usage_invoices: nil,
|
|
273
277
|
spend_threshold_configuration: nil,
|
|
278
|
+
# Spend trackers to attach to this contract. Aliases must be unique within a
|
|
279
|
+
# contract.
|
|
280
|
+
spend_trackers: nil,
|
|
274
281
|
# Optional list of
|
|
275
282
|
# [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
|
|
276
283
|
# to add to the contract.
|
|
@@ -609,6 +616,72 @@ module MetronomeSDK
|
|
|
609
616
|
)
|
|
610
617
|
end
|
|
611
618
|
|
|
619
|
+
# Get the history of subscription seats schedule over time for a given
|
|
620
|
+
# `subscription_id`. This endpoint provides information about seat assignments and
|
|
621
|
+
# total quantities for different time periods, allowing you to track how seat
|
|
622
|
+
# assignments have changed over time.
|
|
623
|
+
#
|
|
624
|
+
# ### Use this endpoint to:
|
|
625
|
+
#
|
|
626
|
+
# - Track changes to seat assignments over time
|
|
627
|
+
# - Get seat schedule for a specific date using the `covering_date` parameter
|
|
628
|
+
# - Get seat schedule history with optional date range filtering using
|
|
629
|
+
# `starting_at` and `ending_before`
|
|
630
|
+
#
|
|
631
|
+
# ### Key response fields:
|
|
632
|
+
#
|
|
633
|
+
# - data: array of seat schedule entries with time periods, quantity, and
|
|
634
|
+
# assignments
|
|
635
|
+
# - next_page: cursor for pagination to retrieve additional results
|
|
636
|
+
#
|
|
637
|
+
# ### Usage guidelines:
|
|
638
|
+
#
|
|
639
|
+
# - Use `covering_date` to get the active seats for a specific point in time.
|
|
640
|
+
# `covering_date` cannot be used with `starting_at` or `ending_before`.
|
|
641
|
+
# - Use `starting_at` and `ending_before` to filter results by time range.
|
|
642
|
+
# `starting_at` and `ending_before` cannot be used with `covering_date`.
|
|
643
|
+
# - Maximum limit is 10 seat schedule entries per request
|
|
644
|
+
# - Results are ordered by `starting_at` timestamp
|
|
645
|
+
sig do
|
|
646
|
+
params(
|
|
647
|
+
contract_id: String,
|
|
648
|
+
customer_id: String,
|
|
649
|
+
subscription_id: String,
|
|
650
|
+
covering_date: T.nilable(Time),
|
|
651
|
+
cursor: T.nilable(String),
|
|
652
|
+
ending_before: T.nilable(Time),
|
|
653
|
+
limit: T.nilable(Integer),
|
|
654
|
+
starting_at: T.nilable(Time),
|
|
655
|
+
request_options: MetronomeSDK::RequestOptions::OrHash
|
|
656
|
+
).returns(
|
|
657
|
+
MetronomeSDK::Models::V1::ContractGetSubscriptionSeatsHistoryResponse
|
|
658
|
+
)
|
|
659
|
+
end
|
|
660
|
+
def get_subscription_seats_history(
|
|
661
|
+
contract_id:,
|
|
662
|
+
customer_id:,
|
|
663
|
+
subscription_id:,
|
|
664
|
+
# Get the seats history segment for the covering date. Cannot be used with
|
|
665
|
+
# `starting_at` or `ending_before`.
|
|
666
|
+
covering_date: nil,
|
|
667
|
+
# Cursor for pagination. Use the value from the `next_page` field of the previous
|
|
668
|
+
# response to retrieve the next page of results.
|
|
669
|
+
cursor: nil,
|
|
670
|
+
# Include seats history segments that are active at or before this timestamp. Use
|
|
671
|
+
# with `starting_at` to get a specific time range. If not set, there's no upper
|
|
672
|
+
# bound.
|
|
673
|
+
ending_before: nil,
|
|
674
|
+
# Maximum number of seat schedule entries to return. Defaults to 10. Required
|
|
675
|
+
# range: 1 <= x <= 10.
|
|
676
|
+
limit: nil,
|
|
677
|
+
# Include seats history segments that are active at or after this timestamp. Use
|
|
678
|
+
# with `ending_before` to get a specific time range. If not set, there's no lower
|
|
679
|
+
# bound.
|
|
680
|
+
starting_at: nil,
|
|
681
|
+
request_options: {}
|
|
682
|
+
)
|
|
683
|
+
end
|
|
684
|
+
|
|
612
685
|
# Retrieve a comprehensive view of all available balances (commits and credits)
|
|
613
686
|
# for a customer. This endpoint provides real-time visibility into prepaid funds,
|
|
614
687
|
# postpaid commitments, promotional credits, and other balance types that can
|
|
@@ -730,6 +803,7 @@ module MetronomeSDK
|
|
|
730
803
|
include_ledgers: T::Boolean,
|
|
731
804
|
limit: Integer,
|
|
732
805
|
seat_ids: T::Array[String],
|
|
806
|
+
skip_missing_seat_ids: T::Boolean,
|
|
733
807
|
starting_at: Time,
|
|
734
808
|
subscription_ids: T::Array[String],
|
|
735
809
|
request_options: MetronomeSDK::RequestOptions::OrHash
|
|
@@ -763,6 +837,9 @@ module MetronomeSDK
|
|
|
763
837
|
limit: nil,
|
|
764
838
|
# Optional filter to only include specific seats.
|
|
765
839
|
seat_ids: nil,
|
|
840
|
+
# When true, any seat_ids not found in contract subscriptions will be silently
|
|
841
|
+
# omitted from the response instead of returning a 400 error.
|
|
842
|
+
skip_missing_seat_ids: nil,
|
|
766
843
|
# Include only commits or credits with access effective on or after this date
|
|
767
844
|
# (cannot be used with covering_date).
|
|
768
845
|
starting_at: nil,
|
|
@@ -44,11 +44,11 @@ module MetronomeSDK
|
|
|
44
44
|
# - `null` - Notification has been archived
|
|
45
45
|
# - `triggered_by`: Additional context about what caused the notification to
|
|
46
46
|
# trigger (when applicable)
|
|
47
|
+
# - `updated_at`: Timestamp of when the `customer_status` was last updated
|
|
47
48
|
# - alert: Complete threshold notification configuration including:
|
|
48
49
|
# - Notification ID, name, and type
|
|
49
50
|
# - Current threshold values and credit type information
|
|
50
51
|
# - Notification status (enabled, disabled, or archived)
|
|
51
|
-
# - Last update timestamp
|
|
52
52
|
# - Any applied filters (credit grant types, custom fields, group values)
|
|
53
53
|
#
|
|
54
54
|
# ### Usage guidelines:
|
|
@@ -69,6 +69,10 @@ module MetronomeSDK
|
|
|
69
69
|
params(
|
|
70
70
|
alert_id: String,
|
|
71
71
|
customer_id: String,
|
|
72
|
+
alert_specifiers:
|
|
73
|
+
T::Array[
|
|
74
|
+
MetronomeSDK::V1::Customers::AlertRetrieveParams::AlertSpecifier::OrHash
|
|
75
|
+
],
|
|
72
76
|
group_values:
|
|
73
77
|
T::Array[
|
|
74
78
|
MetronomeSDK::V1::Customers::AlertRetrieveParams::GroupValue::OrHash
|
|
@@ -87,6 +91,9 @@ module MetronomeSDK
|
|
|
87
91
|
alert_id:,
|
|
88
92
|
# The Metronome ID of the customer
|
|
89
93
|
customer_id:,
|
|
94
|
+
# Can be used with only `low_remaining_contract_credit_and_commit_balance_reached`
|
|
95
|
+
# notifications. Used to filter the alert by the custom field key-value pair.
|
|
96
|
+
alert_specifiers: nil,
|
|
90
97
|
# Only present for `spend_threshold_reached` notifications. Retrieve the
|
|
91
98
|
# notification for a specific group key-value pair.
|
|
92
99
|
group_values: nil,
|
|
@@ -132,6 +132,7 @@ module MetronomeSDK
|
|
|
132
132
|
status: String,
|
|
133
133
|
type:
|
|
134
134
|
MetronomeSDK::V1::Customers::InvoiceListParams::Type::OrSymbol,
|
|
135
|
+
webhook_notification_id: String,
|
|
135
136
|
request_options: MetronomeSDK::RequestOptions::OrHash
|
|
136
137
|
).returns(
|
|
137
138
|
MetronomeSDK::Internal::CursorPage[
|
|
@@ -166,6 +167,9 @@ module MetronomeSDK
|
|
|
166
167
|
status: nil,
|
|
167
168
|
# Query param: Filter invoices by type. Defaults to returning all invoice types.
|
|
168
169
|
type: nil,
|
|
170
|
+
# Query param: Indicates that this API request was triggered by a webhook
|
|
171
|
+
# notification with the provided ID.
|
|
172
|
+
webhook_notification_id: nil,
|
|
169
173
|
request_options: {}
|
|
170
174
|
)
|
|
171
175
|
end
|
|
@@ -30,8 +30,13 @@ module MetronomeSDK
|
|
|
30
30
|
#
|
|
31
31
|
# - Dashboard types: Choose from `invoices`, `usage`, or `commits_and_credits`
|
|
32
32
|
# - Customization options:
|
|
33
|
-
# - `dashboard_options`: Configure
|
|
34
|
-
#
|
|
33
|
+
# - `dashboard_options`: Configure dashboard behavior. For the invoices
|
|
34
|
+
# dashboard, supported keys include: `show_zero_usage_line_items`
|
|
35
|
+
# ("true"/"false"), `hide_voided_invoices` ("true"/"false"), `contract_id`
|
|
36
|
+
# (UUID, filters invoices by contract), `invoice_type` ("USAGE" or
|
|
37
|
+
# "SCHEDULED", filters by invoice type), `invoice_status_filter` ("VOID",
|
|
38
|
+
# "FINALIZED", "DRAFT", "FINALIZED_AND_DRAFT", or "ALL"), and
|
|
39
|
+
# `billable_status_filter` ("BILLABLE", "UNBILLABLE", or "ALL")
|
|
35
40
|
# - `color_overrides`: Match your brand's color palette
|
|
36
41
|
# - `bm_group_key_overrides`: Customize how dimensions are displayed (for the
|
|
37
42
|
# usage embeddable dashboard)
|
|
@@ -94,6 +94,10 @@ module MetronomeSDK
|
|
|
94
94
|
MetronomeSDK::V1::PackageCreateParams::ScheduledChargesOnUsageInvoices::OrSymbol,
|
|
95
95
|
spend_threshold_configuration:
|
|
96
96
|
MetronomeSDK::SpendThresholdConfiguration::OrHash,
|
|
97
|
+
spend_trackers:
|
|
98
|
+
T::Array[
|
|
99
|
+
MetronomeSDK::V1::PackageCreateParams::SpendTracker::OrHash
|
|
100
|
+
],
|
|
97
101
|
subscriptions:
|
|
98
102
|
T::Array[
|
|
99
103
|
MetronomeSDK::V1::PackageCreateParams::Subscription::OrHash
|
|
@@ -138,6 +142,7 @@ module MetronomeSDK
|
|
|
138
142
|
# on a separate invoice from usage charges.
|
|
139
143
|
scheduled_charges_on_usage_invoices: nil,
|
|
140
144
|
spend_threshold_configuration: nil,
|
|
145
|
+
spend_trackers: nil,
|
|
141
146
|
subscriptions: nil,
|
|
142
147
|
# Prevents the creation of duplicates. If a request to create a record is made
|
|
143
148
|
# with a previously used uniqueness key, a new record will not be created and the
|
|
@@ -216,10 +221,9 @@ module MetronomeSDK
|
|
|
216
221
|
#
|
|
217
222
|
# ### **Usage guidelines:**
|
|
218
223
|
#
|
|
219
|
-
# Use the
|
|
220
|
-
#
|
|
221
|
-
#
|
|
222
|
-
# pass **`covering_date`** equal to the current time.
|
|
224
|
+
# Use the **`starting_at`**, **`covering_date`**, and **`include_archived`**
|
|
225
|
+
# parameters to filter the list of returned contracts. For example, to list only
|
|
226
|
+
# currently active contracts, pass **`covering_date`** equal to the current time.
|
|
223
227
|
sig do
|
|
224
228
|
params(
|
|
225
229
|
package_id: String,
|
|
@@ -80,9 +80,6 @@ module MetronomeSDK
|
|
|
80
80
|
sig { returns(MetronomeSDK::Resources::V1::Packages) }
|
|
81
81
|
attr_reader :packages
|
|
82
82
|
|
|
83
|
-
sig { returns(MetronomeSDK::Resources::V1::Payments) }
|
|
84
|
-
attr_reader :payments
|
|
85
|
-
|
|
86
83
|
# Use these endpoints to configure a billing API key, a webhook secret, or invoice
|
|
87
84
|
# finalization behavior.
|
|
88
85
|
sig { returns(MetronomeSDK::Resources::V1::Settings) }
|
|
@@ -159,6 +159,10 @@ module MetronomeSDK
|
|
|
159
159
|
],
|
|
160
160
|
add_spend_threshold_configuration:
|
|
161
161
|
MetronomeSDK::SpendThresholdConfigurationV2::OrHash,
|
|
162
|
+
add_spend_trackers:
|
|
163
|
+
T::Array[
|
|
164
|
+
MetronomeSDK::V2::ContractEditParams::AddSpendTracker::OrHash
|
|
165
|
+
],
|
|
162
166
|
add_subscriptions:
|
|
163
167
|
T::Array[
|
|
164
168
|
MetronomeSDK::V2::ContractEditParams::AddSubscription::OrHash
|
|
@@ -176,6 +180,7 @@ module MetronomeSDK
|
|
|
176
180
|
T::Array[
|
|
177
181
|
MetronomeSDK::V2::ContractEditParams::ArchiveScheduledCharge::OrHash
|
|
178
182
|
],
|
|
183
|
+
archive_spend_trackers: T::Array[String],
|
|
179
184
|
remove_overrides:
|
|
180
185
|
T::Array[
|
|
181
186
|
MetronomeSDK::V2::ContractEditParams::RemoveOverride::OrHash
|
|
@@ -240,6 +245,9 @@ module MetronomeSDK
|
|
|
240
245
|
add_revenue_system_configuration_update: nil,
|
|
241
246
|
add_scheduled_charges: nil,
|
|
242
247
|
add_spend_threshold_configuration: nil,
|
|
248
|
+
# Spend trackers to add to this contract. Aliases must be unique within a
|
|
249
|
+
# contract.
|
|
250
|
+
add_spend_trackers: nil,
|
|
243
251
|
# Optional list of
|
|
244
252
|
# [subscriptions](https://docs.metronome.com/manage-product-access/create-subscription/)
|
|
245
253
|
# to add to the contract.
|
|
@@ -255,6 +263,8 @@ module MetronomeSDK
|
|
|
255
263
|
archive_credits: nil,
|
|
256
264
|
# IDs of scheduled charges to archive
|
|
257
265
|
archive_scheduled_charges: nil,
|
|
266
|
+
# Aliases of spend trackers to archive.
|
|
267
|
+
archive_spend_trackers: nil,
|
|
258
268
|
# IDs of overrides to remove
|
|
259
269
|
remove_overrides: nil,
|
|
260
270
|
# Optional uniqueness key to prevent duplicate contract edits.
|
|
@@ -14,6 +14,7 @@ module MetronomeSDK
|
|
|
14
14
|
archived_at: Time,
|
|
15
15
|
balance: Float,
|
|
16
16
|
contract: MetronomeSDK::Commit::Contract,
|
|
17
|
+
created_by: String,
|
|
17
18
|
custom_fields: ::Hash[Symbol, String],
|
|
18
19
|
description: String,
|
|
19
20
|
hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
|
|
@@ -29,6 +30,7 @@ module MetronomeSDK
|
|
|
29
30
|
rollover_fraction: Float,
|
|
30
31
|
salesforce_opportunity_id: String,
|
|
31
32
|
specifiers: ::Array[MetronomeSDK::CommitSpecifier],
|
|
33
|
+
spend_tracker_attributes: MetronomeSDK::Commit::SpendTrackerAttributes,
|
|
32
34
|
subscription_config: MetronomeSDK::Commit::SubscriptionConfig,
|
|
33
35
|
uniqueness_key: String
|
|
34
36
|
}
|
|
@@ -78,6 +80,10 @@ module MetronomeSDK
|
|
|
78
80
|
MetronomeSDK::Commit::Contract
|
|
79
81
|
) -> MetronomeSDK::Commit::Contract
|
|
80
82
|
|
|
83
|
+
attr_reader created_by: String?
|
|
84
|
+
|
|
85
|
+
def created_by=: (String) -> String
|
|
86
|
+
|
|
81
87
|
attr_reader custom_fields: ::Hash[Symbol, String]?
|
|
82
88
|
|
|
83
89
|
def custom_fields=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
|
|
@@ -152,6 +158,12 @@ module MetronomeSDK
|
|
|
152
158
|
::Array[MetronomeSDK::CommitSpecifier]
|
|
153
159
|
) -> ::Array[MetronomeSDK::CommitSpecifier]
|
|
154
160
|
|
|
161
|
+
attr_reader spend_tracker_attributes: MetronomeSDK::Commit::SpendTrackerAttributes?
|
|
162
|
+
|
|
163
|
+
def spend_tracker_attributes=: (
|
|
164
|
+
MetronomeSDK::Commit::SpendTrackerAttributes
|
|
165
|
+
) -> MetronomeSDK::Commit::SpendTrackerAttributes
|
|
166
|
+
|
|
155
167
|
attr_reader subscription_config: MetronomeSDK::Commit::SubscriptionConfig?
|
|
156
168
|
|
|
157
169
|
def subscription_config=: (
|
|
@@ -175,6 +187,7 @@ module MetronomeSDK
|
|
|
175
187
|
?archived_at: Time,
|
|
176
188
|
?balance: Float,
|
|
177
189
|
?contract: MetronomeSDK::Commit::Contract,
|
|
190
|
+
?created_by: String,
|
|
178
191
|
?custom_fields: ::Hash[Symbol, String],
|
|
179
192
|
?description: String,
|
|
180
193
|
?hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
|
|
@@ -190,6 +203,7 @@ module MetronomeSDK
|
|
|
190
203
|
?rollover_fraction: Float,
|
|
191
204
|
?salesforce_opportunity_id: String,
|
|
192
205
|
?specifiers: ::Array[MetronomeSDK::CommitSpecifier],
|
|
206
|
+
?spend_tracker_attributes: MetronomeSDK::Commit::SpendTrackerAttributes,
|
|
193
207
|
?subscription_config: MetronomeSDK::Commit::SubscriptionConfig,
|
|
194
208
|
?uniqueness_key: String
|
|
195
209
|
) -> void
|
|
@@ -207,6 +221,7 @@ module MetronomeSDK
|
|
|
207
221
|
archived_at: Time,
|
|
208
222
|
balance: Float,
|
|
209
223
|
contract: MetronomeSDK::Commit::Contract,
|
|
224
|
+
created_by: String,
|
|
210
225
|
custom_fields: ::Hash[Symbol, String],
|
|
211
226
|
description: String,
|
|
212
227
|
hierarchy_configuration: MetronomeSDK::CommitHierarchyConfiguration,
|
|
@@ -222,6 +237,7 @@ module MetronomeSDK
|
|
|
222
237
|
rollover_fraction: Float,
|
|
223
238
|
salesforce_opportunity_id: String,
|
|
224
239
|
specifiers: ::Array[MetronomeSDK::CommitSpecifier],
|
|
240
|
+
spend_tracker_attributes: MetronomeSDK::Commit::SpendTrackerAttributes,
|
|
225
241
|
subscription_config: MetronomeSDK::Commit::SubscriptionConfig,
|
|
226
242
|
uniqueness_key: String
|
|
227
243
|
}
|
|
@@ -957,6 +973,16 @@ module MetronomeSDK
|
|
|
957
973
|
def to_hash: -> { commit_id: String, contract_id: String }
|
|
958
974
|
end
|
|
959
975
|
|
|
976
|
+
type spend_tracker_attributes = { counts_as_discounted: bool }
|
|
977
|
+
|
|
978
|
+
class SpendTrackerAttributes < MetronomeSDK::Internal::Type::BaseModel
|
|
979
|
+
attr_accessor counts_as_discounted: bool
|
|
980
|
+
|
|
981
|
+
def initialize: (counts_as_discounted: bool) -> void
|
|
982
|
+
|
|
983
|
+
def to_hash: -> { counts_as_discounted: bool }
|
|
984
|
+
end
|
|
985
|
+
|
|
960
986
|
type subscription_config =
|
|
961
987
|
{
|
|
962
988
|
allocation: MetronomeSDK::Models::Commit::SubscriptionConfig::allocation,
|
|
@@ -14,6 +14,7 @@ module MetronomeSDK
|
|
|
14
14
|
prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
|
|
15
15
|
scheduled_charges_on_usage_invoices: MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices,
|
|
16
16
|
spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
|
|
17
|
+
spend_trackers: ::Array[MetronomeSDK::Contract::SpendTracker],
|
|
17
18
|
subscriptions: ::Array[MetronomeSDK::Subscription],
|
|
18
19
|
uniqueness_key: String
|
|
19
20
|
}
|
|
@@ -65,6 +66,12 @@ module MetronomeSDK
|
|
|
65
66
|
MetronomeSDK::SpendThresholdConfiguration
|
|
66
67
|
) -> MetronomeSDK::SpendThresholdConfiguration
|
|
67
68
|
|
|
69
|
+
attr_reader spend_trackers: ::Array[MetronomeSDK::Contract::SpendTracker]?
|
|
70
|
+
|
|
71
|
+
def spend_trackers=: (
|
|
72
|
+
::Array[MetronomeSDK::Contract::SpendTracker]
|
|
73
|
+
) -> ::Array[MetronomeSDK::Contract::SpendTracker]
|
|
74
|
+
|
|
68
75
|
attr_reader subscriptions: ::Array[MetronomeSDK::Subscription]?
|
|
69
76
|
|
|
70
77
|
def subscriptions=: (
|
|
@@ -88,6 +95,7 @@ module MetronomeSDK
|
|
|
88
95
|
?prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
|
|
89
96
|
?scheduled_charges_on_usage_invoices: MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices,
|
|
90
97
|
?spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
|
|
98
|
+
?spend_trackers: ::Array[MetronomeSDK::Contract::SpendTracker],
|
|
91
99
|
?subscriptions: ::Array[MetronomeSDK::Subscription],
|
|
92
100
|
?uniqueness_key: String
|
|
93
101
|
) -> void
|
|
@@ -105,6 +113,7 @@ module MetronomeSDK
|
|
|
105
113
|
prepaid_balance_threshold_configuration: MetronomeSDK::PrepaidBalanceThresholdConfiguration,
|
|
106
114
|
scheduled_charges_on_usage_invoices: MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices,
|
|
107
115
|
spend_threshold_configuration: MetronomeSDK::SpendThresholdConfiguration,
|
|
116
|
+
spend_trackers: ::Array[MetronomeSDK::Contract::SpendTracker],
|
|
108
117
|
subscriptions: ::Array[MetronomeSDK::Subscription],
|
|
109
118
|
uniqueness_key: String
|
|
110
119
|
}
|
|
@@ -395,6 +404,148 @@ module MetronomeSDK
|
|
|
395
404
|
|
|
396
405
|
def self?.values: -> ::Array[MetronomeSDK::Models::Contract::scheduled_charges_on_usage_invoices]
|
|
397
406
|
end
|
|
407
|
+
|
|
408
|
+
type spend_tracker =
|
|
409
|
+
{
|
|
410
|
+
alias_: String,
|
|
411
|
+
applicable_spend_specifiers: ::Array[MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier],
|
|
412
|
+
credit_type_id: String,
|
|
413
|
+
reset_frequency: MetronomeSDK::Models::Contract::SpendTracker::reset_frequency,
|
|
414
|
+
accumulated_spend: MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
class SpendTracker < MetronomeSDK::Internal::Type::BaseModel
|
|
418
|
+
attr_accessor alias_: String
|
|
419
|
+
|
|
420
|
+
attr_accessor applicable_spend_specifiers: ::Array[MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier]
|
|
421
|
+
|
|
422
|
+
attr_accessor credit_type_id: String
|
|
423
|
+
|
|
424
|
+
attr_accessor reset_frequency: MetronomeSDK::Models::Contract::SpendTracker::reset_frequency
|
|
425
|
+
|
|
426
|
+
attr_reader accumulated_spend: MetronomeSDK::Contract::SpendTracker::AccumulatedSpend?
|
|
427
|
+
|
|
428
|
+
def accumulated_spend=: (
|
|
429
|
+
MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
|
|
430
|
+
) -> MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
|
|
431
|
+
|
|
432
|
+
def initialize: (
|
|
433
|
+
alias_: String,
|
|
434
|
+
applicable_spend_specifiers: ::Array[MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier],
|
|
435
|
+
credit_type_id: String,
|
|
436
|
+
reset_frequency: MetronomeSDK::Models::Contract::SpendTracker::reset_frequency,
|
|
437
|
+
?accumulated_spend: MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
|
|
438
|
+
) -> void
|
|
439
|
+
|
|
440
|
+
def to_hash: -> {
|
|
441
|
+
alias_: String,
|
|
442
|
+
applicable_spend_specifiers: ::Array[MetronomeSDK::Contract::SpendTracker::ApplicableSpendSpecifier],
|
|
443
|
+
credit_type_id: String,
|
|
444
|
+
reset_frequency: MetronomeSDK::Models::Contract::SpendTracker::reset_frequency,
|
|
445
|
+
accumulated_spend: MetronomeSDK::Contract::SpendTracker::AccumulatedSpend
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
type applicable_spend_specifier =
|
|
449
|
+
{
|
|
450
|
+
sources: ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::source],
|
|
451
|
+
spend_type: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::spend_type,
|
|
452
|
+
discounted: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
class ApplicableSpendSpecifier < MetronomeSDK::Internal::Type::BaseModel
|
|
456
|
+
attr_accessor sources: ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::source]
|
|
457
|
+
|
|
458
|
+
attr_accessor spend_type: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::spend_type
|
|
459
|
+
|
|
460
|
+
attr_reader discounted: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted?
|
|
461
|
+
|
|
462
|
+
def discounted=: (
|
|
463
|
+
MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted
|
|
464
|
+
) -> MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted
|
|
465
|
+
|
|
466
|
+
def initialize: (
|
|
467
|
+
sources: ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::source],
|
|
468
|
+
spend_type: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::spend_type,
|
|
469
|
+
?discounted: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted
|
|
470
|
+
) -> void
|
|
471
|
+
|
|
472
|
+
def to_hash: -> {
|
|
473
|
+
sources: ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::source],
|
|
474
|
+
spend_type: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::spend_type,
|
|
475
|
+
discounted: MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
type source = :THRESHOLD_RECHARGE | :MANUAL
|
|
479
|
+
|
|
480
|
+
module Source
|
|
481
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
482
|
+
|
|
483
|
+
THRESHOLD_RECHARGE: :THRESHOLD_RECHARGE
|
|
484
|
+
MANUAL: :MANUAL
|
|
485
|
+
|
|
486
|
+
def self?.values: -> ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::source]
|
|
487
|
+
end
|
|
488
|
+
|
|
489
|
+
type spend_type = :COMMIT_PURCHASE
|
|
490
|
+
|
|
491
|
+
module SpendType
|
|
492
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
493
|
+
|
|
494
|
+
COMMIT_PURCHASE: :COMMIT_PURCHASE
|
|
495
|
+
|
|
496
|
+
def self?.values: -> ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::spend_type]
|
|
497
|
+
end
|
|
498
|
+
|
|
499
|
+
type discounted = :ANY | :DISCOUNTED_ONLY | :UNDISCOUNTED_ONLY
|
|
500
|
+
|
|
501
|
+
module Discounted
|
|
502
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
503
|
+
|
|
504
|
+
ANY: :ANY
|
|
505
|
+
DISCOUNTED_ONLY: :DISCOUNTED_ONLY
|
|
506
|
+
UNDISCOUNTED_ONLY: :UNDISCOUNTED_ONLY
|
|
507
|
+
|
|
508
|
+
def self?.values: -> ::Array[MetronomeSDK::Models::Contract::SpendTracker::ApplicableSpendSpecifier::discounted]
|
|
509
|
+
end
|
|
510
|
+
end
|
|
511
|
+
|
|
512
|
+
type reset_frequency = :BILLING_PERIOD
|
|
513
|
+
|
|
514
|
+
module ResetFrequency
|
|
515
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
516
|
+
|
|
517
|
+
BILLING_PERIOD: :BILLING_PERIOD
|
|
518
|
+
|
|
519
|
+
def self?.values: -> ::Array[MetronomeSDK::Models::Contract::SpendTracker::reset_frequency]
|
|
520
|
+
end
|
|
521
|
+
|
|
522
|
+
type accumulated_spend =
|
|
523
|
+
{
|
|
524
|
+
amount: Float,
|
|
525
|
+
period_ending_before: Time,
|
|
526
|
+
period_starting_at: Time
|
|
527
|
+
}
|
|
528
|
+
|
|
529
|
+
class AccumulatedSpend < MetronomeSDK::Internal::Type::BaseModel
|
|
530
|
+
attr_accessor amount: Float
|
|
531
|
+
|
|
532
|
+
attr_accessor period_ending_before: Time
|
|
533
|
+
|
|
534
|
+
attr_accessor period_starting_at: Time
|
|
535
|
+
|
|
536
|
+
def initialize: (
|
|
537
|
+
amount: Float,
|
|
538
|
+
period_ending_before: Time,
|
|
539
|
+
period_starting_at: Time
|
|
540
|
+
) -> void
|
|
541
|
+
|
|
542
|
+
def to_hash: -> {
|
|
543
|
+
amount: Float,
|
|
544
|
+
period_ending_before: Time,
|
|
545
|
+
period_starting_at: Time
|
|
546
|
+
}
|
|
547
|
+
end
|
|
548
|
+
end
|
|
398
549
|
end
|
|
399
550
|
end
|
|
400
551
|
end
|