metronome-sdk 3.0.0 → 3.2.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 +59 -0
- data/README.md +3 -3
- data/lib/metronome_sdk/internal/transport/pooled_net_requester.rb +1 -1
- data/lib/metronome_sdk/internal/type/base_model.rb +5 -5
- data/lib/metronome_sdk/internal/util.rb +32 -1
- data/lib/metronome_sdk/models/balance_filter.rb +44 -0
- data/lib/metronome_sdk/models/commit_rate.rb +30 -3
- data/lib/metronome_sdk/models/commit_specifier_input.rb +6 -2
- data/lib/metronome_sdk/models/contract.rb +9 -9
- data/lib/metronome_sdk/models/contract_v2.rb +40 -18
- data/lib/metronome_sdk/models/hierarchy_configuration.rb +13 -15
- data/lib/metronome_sdk/models/override.rb +1 -0
- data/lib/metronome_sdk/models/overwrite_rate.rb +23 -1
- data/lib/metronome_sdk/models/payment_gate_config.rb +0 -1
- data/lib/metronome_sdk/models/payment_gate_config_v2.rb +0 -1
- data/lib/metronome_sdk/models/rate.rb +23 -1
- data/lib/metronome_sdk/models/v1/contract_amend_params.rb +24 -2
- data/lib/metronome_sdk/models/v1/contract_create_params.rb +57 -26
- data/lib/metronome_sdk/models/v1/contract_get_net_balance_params.rb +69 -0
- data/lib/metronome_sdk/models/v1/contract_get_net_balance_response.rb +44 -0
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rb +24 -1
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rb +22 -1
- data/lib/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rb +1 -0
- data/lib/metronome_sdk/models/v1/customers/invoice.rb +25 -16
- data/lib/metronome_sdk/models/v1/package_archive_params.rb +24 -0
- data/lib/metronome_sdk/models/v1/package_archive_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/package_create_params.rb +2719 -0
- data/lib/metronome_sdk/models/v1/package_create_response.rb +18 -0
- data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_params.rb +69 -0
- data/lib/metronome_sdk/models/v1/package_list_contracts_on_package_response.rb +42 -0
- data/lib/metronome_sdk/models/v1/package_list_params.rb +52 -0
- data/lib/metronome_sdk/models/v1/package_list_response.rb +2446 -0
- data/lib/metronome_sdk/models/v1/package_retrieve_params.rb +22 -0
- data/lib/metronome_sdk/models/v1/package_retrieve_response.rb +2479 -0
- data/lib/metronome_sdk/models/v1/usage_list_with_groups_params.rb +39 -2
- data/lib/metronome_sdk/models/v1/usage_list_with_groups_response.rb +27 -3
- data/lib/metronome_sdk/models/v2/contract_edit_params.rb +145 -3
- data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +24 -1
- data/lib/metronome_sdk/models.rb +2 -0
- data/lib/metronome_sdk/resources/v1/alerts.rb +5 -0
- data/lib/metronome_sdk/resources/v1/audit_logs.rb +4 -1
- data/lib/metronome_sdk/resources/v1/billable_metrics.rb +5 -1
- data/lib/metronome_sdk/resources/v1/contracts/named_schedules.rb +2 -0
- data/lib/metronome_sdk/resources/v1/contracts/products.rb +4 -2
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rb +2 -0
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rb +1 -0
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards/rates.rb +7 -3
- data/lib/metronome_sdk/resources/v1/contracts/rate_cards.rb +10 -3
- data/lib/metronome_sdk/resources/v1/contracts.rb +88 -5
- data/lib/metronome_sdk/resources/v1/credit_grants.rb +9 -4
- data/lib/metronome_sdk/resources/v1/custom_fields.rb +6 -2
- data/lib/metronome_sdk/resources/v1/customers/alerts.rb +8 -2
- data/lib/metronome_sdk/resources/v1/customers/billing_config.rb +4 -0
- data/lib/metronome_sdk/resources/v1/customers/commits.rb +1 -0
- data/lib/metronome_sdk/resources/v1/customers/credits.rb +1 -0
- data/lib/metronome_sdk/resources/v1/customers/invoices.rb +10 -3
- data/lib/metronome_sdk/resources/v1/customers/named_schedules.rb +2 -0
- data/lib/metronome_sdk/resources/v1/customers/plans.rb +8 -2
- data/lib/metronome_sdk/resources/v1/customers.rb +27 -3
- data/lib/metronome_sdk/resources/v1/dashboards.rb +4 -0
- data/lib/metronome_sdk/resources/v1/invoices.rb +4 -0
- data/lib/metronome_sdk/resources/v1/packages.rb +269 -0
- data/lib/metronome_sdk/resources/v1/plans.rb +10 -3
- data/lib/metronome_sdk/resources/v1/pricing_units.rb +4 -1
- data/lib/metronome_sdk/resources/v1/services.rb +2 -0
- data/lib/metronome_sdk/resources/v1/settings/billing_providers.rb +2 -0
- data/lib/metronome_sdk/resources/v1/settings.rb +4 -0
- data/lib/metronome_sdk/resources/v1/usage.rb +26 -13
- data/lib/metronome_sdk/resources/v1.rb +41 -0
- data/lib/metronome_sdk/resources/v2/contracts.rb +5 -1
- data/lib/metronome_sdk/version.rb +1 -1
- data/lib/metronome_sdk.rb +14 -0
- data/rbi/metronome_sdk/internal/util.rbi +21 -1
- data/rbi/metronome_sdk/models/balance_filter.rbi +106 -0
- data/rbi/metronome_sdk/models/commit_rate.rbi +48 -2
- data/rbi/metronome_sdk/models/commit_specifier_input.rbi +8 -0
- data/rbi/metronome_sdk/models/contract.rbi +11 -11
- data/rbi/metronome_sdk/models/contract_v2.rbi +72 -21
- data/rbi/metronome_sdk/models/hierarchy_configuration.rbi +15 -18
- data/rbi/metronome_sdk/models/override.rbi +5 -0
- data/rbi/metronome_sdk/models/overwrite_rate.rbi +42 -0
- data/rbi/metronome_sdk/models/payment_gate_config.rbi +0 -5
- data/rbi/metronome_sdk/models/payment_gate_config_v2.rbi +0 -5
- data/rbi/metronome_sdk/models/rate.rbi +37 -0
- data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +51 -5
- data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +94 -34
- data/rbi/metronome_sdk/models/v1/contract_get_net_balance_params.rbi +141 -0
- data/rbi/metronome_sdk/models/v1/contract_get_net_balance_response.rbi +89 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbi +51 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbi +51 -0
- data/rbi/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbi +5 -0
- data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +32 -19
- data/rbi/metronome_sdk/models/v1/package_archive_params.rbi +48 -0
- data/rbi/metronome_sdk/models/v1/package_archive_response.rbi +31 -0
- data/rbi/metronome_sdk/models/v1/package_create_params.rbi +6362 -0
- data/rbi/metronome_sdk/models/v1/package_create_response.rbi +31 -0
- data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbi +105 -0
- data/rbi/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbi +70 -0
- data/rbi/metronome_sdk/models/v1/package_list_params.rbi +123 -0
- data/rbi/metronome_sdk/models/v1/package_list_response.rbi +5796 -0
- data/rbi/metronome_sdk/models/v1/package_retrieve_params.rbi +43 -0
- data/rbi/metronome_sdk/models/v1/package_retrieve_response.rbi +5864 -0
- data/rbi/metronome_sdk/models/v1/usage_list_with_groups_params.rbi +52 -0
- data/rbi/metronome_sdk/models/v1/usage_list_with_groups_response.rbi +24 -3
- data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +383 -5
- data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +51 -0
- data/rbi/metronome_sdk/models.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/audit_logs.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/billable_metrics.rbi +3 -0
- data/rbi/metronome_sdk/resources/v1/contracts/named_schedules.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/named_schedules.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/product_orders.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/contracts/rate_cards.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/contracts.rbi +86 -3
- data/rbi/metronome_sdk/resources/v1/credit_grants.rbi +3 -0
- data/rbi/metronome_sdk/resources/v1/custom_fields.rbi +3 -0
- data/rbi/metronome_sdk/resources/v1/customers/alerts.rbi +5 -0
- data/rbi/metronome_sdk/resources/v1/customers/billing_config.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/customers/commits.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/customers/credits.rbi +1 -0
- data/rbi/metronome_sdk/resources/v1/customers/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/customers/named_schedules.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/customers/plans.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/customers.rbi +21 -0
- data/rbi/metronome_sdk/resources/v1/dashboards.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/invoices.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/packages.rbi +268 -0
- data/rbi/metronome_sdk/resources/v1/plans.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/pricing_units.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/services.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/settings/billing_providers.rbi +2 -0
- data/rbi/metronome_sdk/resources/v1/settings.rbi +4 -0
- data/rbi/metronome_sdk/resources/v1/usage.rbi +35 -8
- data/rbi/metronome_sdk/resources/v1.rbi +40 -0
- data/rbi/metronome_sdk/resources/v2/contracts.rbi +10 -0
- data/sig/metronome_sdk/internal/util.rbs +10 -0
- data/sig/metronome_sdk/models/balance_filter.rbs +50 -0
- data/sig/metronome_sdk/models/commit_rate.rbs +27 -1
- data/sig/metronome_sdk/models/contract.rbs +7 -7
- data/sig/metronome_sdk/models/contract_v2.rbs +26 -1
- data/sig/metronome_sdk/models/override.rbs +8 -1
- data/sig/metronome_sdk/models/overwrite_rate.rbs +27 -1
- data/sig/metronome_sdk/models/payment_gate_config.rbs +1 -2
- data/sig/metronome_sdk/models/payment_gate_config_v2.rbs +1 -2
- data/sig/metronome_sdk/models/rate.rbs +27 -1
- data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +27 -3
- data/sig/metronome_sdk/models/v1/contract_create_params.rbs +41 -10
- data/sig/metronome_sdk/models/v1/contract_get_net_balance_params.rbs +64 -0
- data/sig/metronome_sdk/models/v1/contract_get_net_balance_response.rbs +32 -0
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_many_params.rbs +26 -1
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_params.rbs +26 -1
- data/sig/metronome_sdk/models/v1/contracts/rate_cards/rate_add_response.rbs +7 -1
- data/sig/metronome_sdk/models/v1/customers/invoice.rbs +7 -0
- data/sig/metronome_sdk/models/v1/package_archive_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/package_archive_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/package_create_params.rbs +2532 -0
- data/sig/metronome_sdk/models/v1/package_create_response.rbs +15 -0
- data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_params.rbs +63 -0
- data/sig/metronome_sdk/models/v1/package_list_contracts_on_package_response.rbs +46 -0
- data/sig/metronome_sdk/models/v1/package_list_params.rbs +58 -0
- data/sig/metronome_sdk/models/v1/package_list_response.rbs +2441 -0
- data/sig/metronome_sdk/models/v1/package_retrieve_params.rbs +26 -0
- data/sig/metronome_sdk/models/v1/package_retrieve_response.rbs +2467 -0
- data/sig/metronome_sdk/models/v1/usage_list_with_groups_params.rbs +16 -0
- data/sig/metronome_sdk/models/v1/usage_list_with_groups_response.rbs +10 -3
- data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +151 -3
- data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +26 -1
- data/sig/metronome_sdk/models.rbs +2 -0
- data/sig/metronome_sdk/resources/v1/contracts/rate_cards/rates.rbs +1 -0
- data/sig/metronome_sdk/resources/v1/contracts.rbs +10 -1
- data/sig/metronome_sdk/resources/v1/packages.rbs +63 -0
- data/sig/metronome_sdk/resources/v1/usage.rbs +2 -0
- data/sig/metronome_sdk/resources/v1.rbs +2 -0
- data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
- metadata +44 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8b3e0209591ded8e63e83f34ddc60fdb12c212f46729e5f9e386bc58f778d93d
|
|
4
|
+
data.tar.gz: 03f73bb384df88bcfbd99f204f873c82a5b60485ef8d21e4810ced69a5dc54ad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 73be1a42aa2e2b72b750584e217cc98543abe98eee2bf831dc564de9b0f813903ee69eafcd014f444d132be06ba91daea76ee846c522626bef58d36b2e23ac3d
|
|
7
|
+
data.tar.gz: b3171d39686ef1a30a36d5f5f501fc18b4b2652c9eb91130c2255d93a2bec56f3e6efb35ac60e71abe978f6efc297e76283449b1dc1937abd88eb7fb39dd33b5
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,64 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 3.2.0 (2026-03-02)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v3.1.0...v3.2.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v3.1.0...v3.2.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* [ORCH-1333] removes AVALARA enum value from PaymetGateConfig ([ae00dc5](https://github.com/Metronome-Industries/metronome-ruby/commit/ae00dc54be07aa638d65dba0d3ce410ba9ba51f4))
|
|
10
|
+
* [orch-759] add `archiveCustomerRevenueSystemConfigurations` endpoint to API ([947cc3a](https://github.com/Metronome-Industries/metronome-ruby/commit/947cc3a597e726934a13f6493e5cc41c5333dd4b))
|
|
11
|
+
* Add minimum config to percentage and tiered percentage overwrites ([e4f1ac6](https://github.com/Metronome-Industries/metronome-ruby/commit/e4f1ac694574df4b6ff541783a57ec755a39117a))
|
|
12
|
+
* **api:** add minimum_config to rates/commits, specialized override tier types ([53c5cc8](https://github.com/Metronome-Industries/metronome-ruby/commit/53c5cc86ae5654a9a2052a01685f85763d344aaa))
|
|
13
|
+
* **api:** add netsuite billing provider to customers ([612a0b4](https://github.com/Metronome-Industries/metronome-ruby/commit/612a0b415510439e8cab101f449b45560ee5ebcd))
|
|
14
|
+
* **api:** add subscription_id field to invoice line items ([592027f](https://github.com/Metronome-Industries/metronome-ruby/commit/592027fcf304b460c86efdad5b60a62030a5d87f))
|
|
15
|
+
* **api:** support compound group keys in `v1/usage/groups` endpoint ([71d6b72](https://github.com/Metronome-Industries/metronome-ruby/commit/71d6b720f413295fb3cc90611ff8511692ad9ebd))
|
|
16
|
+
* update stainless sdk to include new package endpoints ([8599260](https://github.com/Metronome-Industries/metronome-ruby/commit/8599260388e5aaa5351af677cead0f5367273b5c))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* **client:** loosen json header parsing ([b6a47c9](https://github.com/Metronome-Industries/metronome-ruby/commit/b6a47c9741309acba2d0fc7bcfeff7e8083108c3))
|
|
22
|
+
* **client:** serialize query parameters properly ([b3487d5](https://github.com/Metronome-Industries/metronome-ruby/commit/b3487d50e0477ccc61fb918a607a12eae7b2580d))
|
|
23
|
+
* properly mock time in ruby ci tests ([6469efe](https://github.com/Metronome-Industries/metronome-ruby/commit/6469efe98957025a21c45f8bea123f0862163037))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Chores
|
|
27
|
+
|
|
28
|
+
* **api:** remove priority field from contracts ([8b768ca](https://github.com/Metronome-Industries/metronome-ruby/commit/8b768caf4b279de4f5f8e859a60baa1fae85bdea))
|
|
29
|
+
* configure new SDK language ([d029725](https://github.com/Metronome-Industries/metronome-ruby/commit/d0297256192d340b338cb8928708d15b7daa934a))
|
|
30
|
+
* **docs:** add missing descriptions ([67fc1c1](https://github.com/Metronome-Industries/metronome-ruby/commit/67fc1c199518a6e40923d1f31ddd3302980d451a))
|
|
31
|
+
* update mock server docs ([9a1b8ff](https://github.com/Metronome-Industries/metronome-ruby/commit/9a1b8ffc1423b9b038b02c248cfdabb0899a71ca))
|
|
32
|
+
|
|
33
|
+
## 3.1.0 (2026-02-04)
|
|
34
|
+
|
|
35
|
+
Full Changelog: [v3.0.0...v3.1.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v3.0.0...v3.1.0)
|
|
36
|
+
|
|
37
|
+
### Features
|
|
38
|
+
|
|
39
|
+
* Add `exclude` field to commit and override specifiers shape in the API ([f84b976](https://github.com/Metronome-Industries/metronome-ruby/commit/f84b9764622bc2eabf82eac2d93d3ca8df6deb75))
|
|
40
|
+
* **api:** Add getNetBalance endpoint ([eea5549](https://github.com/Metronome-Industries/metronome-ruby/commit/eea5549ea2e070596e78b4053eb65bc7a4bf5b04))
|
|
41
|
+
* bump schema version and update code to support TieredPercentage rate ([074cabf](https://github.com/Metronome-Industries/metronome-ruby/commit/074cabf0c588f01a35c0d3052ad8f5fae613d7d0))
|
|
42
|
+
* Expose add revenue config in edit contract api ([0d2838f](https://github.com/Metronome-Industries/metronome-ruby/commit/0d2838fd40981b134a5458fd99fc4ebaf8bf85bb))
|
|
43
|
+
* release account hierarchy ([a65ee30](https://github.com/Metronome-Industries/metronome-ruby/commit/a65ee30e99187f89918b22c8b57c16be395ff8cf))
|
|
44
|
+
* update api to allow editing net payment terms ([07aebe1](https://github.com/Metronome-Industries/metronome-ruby/commit/07aebe12f24e87988d0100ed9f288eb12a6e21a2))
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
### Bug Fixes
|
|
48
|
+
|
|
49
|
+
* **client:** always add content-length to post body, even when empty ([58347c8](https://github.com/Metronome-Industries/metronome-ruby/commit/58347c878c115b860e2496fbd10a6a7d3b8db02f))
|
|
50
|
+
* **docs:** fix mcp installation instructions for remote servers ([b1d0986](https://github.com/Metronome-Industries/metronome-ruby/commit/b1d098615709412d777dcbe4f261a14fa708bfe5))
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
### Chores
|
|
54
|
+
|
|
55
|
+
* **docs:** remove www prefix ([5b0a241](https://github.com/Metronome-Industries/metronome-ruby/commit/5b0a241f6a7fb97bf298aa830241efcb71681712))
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
### Documentation
|
|
59
|
+
|
|
60
|
+
* Update package docs for GA ([861c4a2](https://github.com/Metronome-Industries/metronome-ruby/commit/861c4a2ed4bb0521131079ba2e726b3725f6de0c))
|
|
61
|
+
|
|
3
62
|
## 3.0.0 (2026-01-17)
|
|
4
63
|
|
|
5
64
|
Full Changelog: [v2.2.0...v3.0.0](https://github.com/Metronome-Industries/metronome-ruby/compare/v2.2.0...v3.0.0)
|
data/README.md
CHANGED
|
@@ -8,8 +8,8 @@ It is generated with [Stainless](https://www.stainless.com/).
|
|
|
8
8
|
|
|
9
9
|
Use the Metronome MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
|
|
10
10
|
|
|
11
|
-
[](https://cursor.com/en-US/install-mcp?name=%40metronome%2Fmcp&config=
|
|
12
|
-
[](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40metronome%2Fmcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40metronome%2Fmcp%22%5D%7D)
|
|
11
|
+
[](https://cursor.com/en-US/install-mcp?name=%40metronome%2Fmcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBtZXRyb25vbWUvbWNwIl0sImVudiI6eyJNRVRST05PTUVfQkVBUkVSX1RPS0VOIjoiTXkgQmVhcmVyIFRva2VuIiwiTUVUUk9OT01FX1dFQkhPT0tfU0VDUkVUIjoiTXkgV2ViaG9vayBTZWNyZXQifX0)
|
|
12
|
+
[](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40metronome%2Fmcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40metronome%2Fmcp%22%5D%2C%22env%22%3A%7B%22METRONOME_BEARER_TOKEN%22%3A%22My%20Bearer%20Token%22%2C%22METRONOME_WEBHOOK_SECRET%22%3A%22My%20Webhook%20Secret%22%7D%7D)
|
|
13
13
|
|
|
14
14
|
> Note: You may need to set environment variables in your MCP client.
|
|
15
15
|
|
|
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
26
26
|
<!-- x-release-please-start-version -->
|
|
27
27
|
|
|
28
28
|
```ruby
|
|
29
|
-
gem "metronome-sdk", "~> 3.
|
|
29
|
+
gem "metronome-sdk", "~> 3.2.0"
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
<!-- x-release-please-end -->
|
|
@@ -75,7 +75,7 @@ module MetronomeSDK
|
|
|
75
75
|
|
|
76
76
|
case body
|
|
77
77
|
in nil
|
|
78
|
-
|
|
78
|
+
req["content-length"] ||= 0 unless req["transfer-encoding"]
|
|
79
79
|
in String
|
|
80
80
|
req["content-length"] ||= body.bytesize.to_s unless req["transfer-encoding"]
|
|
81
81
|
req.body_stream = MetronomeSDK::Internal::Util::ReadIOAdapter.new(body, &blk)
|
|
@@ -438,11 +438,11 @@ module MetronomeSDK
|
|
|
438
438
|
# @return [Hash{Symbol=>Object}]
|
|
439
439
|
#
|
|
440
440
|
# @example
|
|
441
|
-
# # `
|
|
442
|
-
#
|
|
443
|
-
#
|
|
444
|
-
#
|
|
445
|
-
#
|
|
441
|
+
# # `balance_filter` is a `MetronomeSDK::BalanceFilter`
|
|
442
|
+
# balance_filter => {
|
|
443
|
+
# balance_types: balance_types,
|
|
444
|
+
# custom_fields: custom_fields,
|
|
445
|
+
# ids: ids
|
|
446
446
|
# }
|
|
447
447
|
def deconstruct_keys(keys)
|
|
448
448
|
(keys || self.class.known_fields.keys)
|
|
@@ -485,11 +485,42 @@ module MetronomeSDK
|
|
|
485
485
|
end
|
|
486
486
|
|
|
487
487
|
# @type [Regexp]
|
|
488
|
-
JSON_CONTENT = %r{^application/(?:
|
|
488
|
+
JSON_CONTENT = %r{^application/(?:[a-zA-Z0-9.-]+\+)?json(?!l)}
|
|
489
489
|
# @type [Regexp]
|
|
490
490
|
JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
|
|
491
491
|
|
|
492
492
|
class << self
|
|
493
|
+
# @api private
|
|
494
|
+
#
|
|
495
|
+
# @param query [Hash{Symbol=>Object}]
|
|
496
|
+
#
|
|
497
|
+
# @return [Hash{Symbol=>Object}]
|
|
498
|
+
def encode_query_params(query)
|
|
499
|
+
out = {}
|
|
500
|
+
query.each { write_query_param_element!(out, _1, _2) }
|
|
501
|
+
out
|
|
502
|
+
end
|
|
503
|
+
|
|
504
|
+
# @api private
|
|
505
|
+
#
|
|
506
|
+
# @param collection [Hash{Symbol=>Object}]
|
|
507
|
+
# @param key [String]
|
|
508
|
+
# @param element [Object]
|
|
509
|
+
#
|
|
510
|
+
# @return [nil]
|
|
511
|
+
private def write_query_param_element!(collection, key, element)
|
|
512
|
+
case element
|
|
513
|
+
in Hash
|
|
514
|
+
element.each do |name, value|
|
|
515
|
+
write_query_param_element!(collection, "#{key}[#{name}]", value)
|
|
516
|
+
end
|
|
517
|
+
in Array
|
|
518
|
+
collection[key] = element.map(&:to_s).join(",")
|
|
519
|
+
else
|
|
520
|
+
collection[key] = element.to_s
|
|
521
|
+
end
|
|
522
|
+
end
|
|
523
|
+
|
|
493
524
|
# @api private
|
|
494
525
|
#
|
|
495
526
|
# @param y [Enumerator::Yielder]
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module MetronomeSDK
|
|
4
|
+
module Models
|
|
5
|
+
class BalanceFilter < MetronomeSDK::Internal::Type::BaseModel
|
|
6
|
+
# @!attribute balance_types
|
|
7
|
+
# The balance type to filter by.
|
|
8
|
+
#
|
|
9
|
+
# @return [Array<Symbol, MetronomeSDK::Models::BalanceFilter::BalanceType>, nil]
|
|
10
|
+
optional :balance_types,
|
|
11
|
+
-> { MetronomeSDK::Internal::Type::ArrayOf[enum: MetronomeSDK::BalanceFilter::BalanceType] }
|
|
12
|
+
|
|
13
|
+
# @!attribute custom_fields
|
|
14
|
+
# Custom fields to compute balance across. Must match all custom fields
|
|
15
|
+
#
|
|
16
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
17
|
+
optional :custom_fields, MetronomeSDK::Internal::Type::HashOf[String]
|
|
18
|
+
|
|
19
|
+
# @!attribute ids
|
|
20
|
+
# Specific IDs to compute balance across.
|
|
21
|
+
#
|
|
22
|
+
# @return [Array<String>, nil]
|
|
23
|
+
optional :ids, MetronomeSDK::Internal::Type::ArrayOf[String]
|
|
24
|
+
|
|
25
|
+
# @!method initialize(balance_types: nil, custom_fields: nil, ids: nil)
|
|
26
|
+
# @param balance_types [Array<Symbol, MetronomeSDK::Models::BalanceFilter::BalanceType>] The balance type to filter by.
|
|
27
|
+
#
|
|
28
|
+
# @param custom_fields [Hash{Symbol=>String}] Custom fields to compute balance across. Must match all custom fields
|
|
29
|
+
#
|
|
30
|
+
# @param ids [Array<String>] Specific IDs to compute balance across.
|
|
31
|
+
|
|
32
|
+
module BalanceType
|
|
33
|
+
extend MetronomeSDK::Internal::Type::Enum
|
|
34
|
+
|
|
35
|
+
PREPAID_COMMIT = :PREPAID_COMMIT
|
|
36
|
+
POSTPAID_COMMIT = :POSTPAID_COMMIT
|
|
37
|
+
CREDIT = :CREDIT
|
|
38
|
+
|
|
39
|
+
# @!method self.values
|
|
40
|
+
# @return [Array<Symbol>]
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -8,8 +8,16 @@ module MetronomeSDK
|
|
|
8
8
|
# @return [Symbol, MetronomeSDK::Models::CommitRate::RateType]
|
|
9
9
|
required :rate_type, enum: -> { MetronomeSDK::CommitRate::RateType }
|
|
10
10
|
|
|
11
|
+
# @!attribute minimum_config
|
|
12
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
13
|
+
#
|
|
14
|
+
# @return [MetronomeSDK::Models::CommitRate::MinimumConfig, nil]
|
|
15
|
+
optional :minimum_config, -> { MetronomeSDK::CommitRate::MinimumConfig }
|
|
16
|
+
|
|
11
17
|
# @!attribute price
|
|
12
|
-
# Commit rate price. For FLAT rate_type, this must be >=0.
|
|
18
|
+
# Commit rate price. For FLAT rate_type, this must be >=0. For PERCENTAGE
|
|
19
|
+
# rate_type, this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0
|
|
20
|
+
# and <=1.
|
|
13
21
|
#
|
|
14
22
|
# @return [Float, nil]
|
|
15
23
|
optional :price, Float
|
|
@@ -20,13 +28,18 @@ module MetronomeSDK
|
|
|
20
28
|
# @return [Array<MetronomeSDK::Models::Tier>, nil]
|
|
21
29
|
optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
|
|
22
30
|
|
|
23
|
-
# @!method initialize(rate_type:, price: nil, tiers: nil)
|
|
31
|
+
# @!method initialize(rate_type:, minimum_config: nil, price: nil, tiers: nil)
|
|
32
|
+
# Some parameter documentations has been truncated, see
|
|
33
|
+
# {MetronomeSDK::Models::CommitRate} for more details.
|
|
34
|
+
#
|
|
24
35
|
# A distinct rate on the rate card. You can choose to use this rate rather than
|
|
25
36
|
# list rate when consuming a credit or commit.
|
|
26
37
|
#
|
|
27
38
|
# @param rate_type [Symbol, MetronomeSDK::Models::CommitRate::RateType]
|
|
28
39
|
#
|
|
29
|
-
# @param
|
|
40
|
+
# @param minimum_config [MetronomeSDK::Models::CommitRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
41
|
+
#
|
|
42
|
+
# @param price [Float] Commit rate price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_typ
|
|
30
43
|
#
|
|
31
44
|
# @param tiers [Array<MetronomeSDK::Models::Tier>] Only set for TIERED rate_type.
|
|
32
45
|
|
|
@@ -38,11 +51,25 @@ module MetronomeSDK
|
|
|
38
51
|
PERCENTAGE = :PERCENTAGE
|
|
39
52
|
SUBSCRIPTION = :SUBSCRIPTION
|
|
40
53
|
TIERED = :TIERED
|
|
54
|
+
TIERED_PERCENTAGE = :TIERED_PERCENTAGE
|
|
41
55
|
CUSTOM = :CUSTOM
|
|
42
56
|
|
|
43
57
|
# @!method self.values
|
|
44
58
|
# @return [Array<Symbol>]
|
|
45
59
|
end
|
|
60
|
+
|
|
61
|
+
# @see MetronomeSDK::Models::CommitRate#minimum_config
|
|
62
|
+
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
63
|
+
# @!attribute minimum
|
|
64
|
+
#
|
|
65
|
+
# @return [Float]
|
|
66
|
+
required :minimum, Float
|
|
67
|
+
|
|
68
|
+
# @!method initialize(minimum:)
|
|
69
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
70
|
+
#
|
|
71
|
+
# @param minimum [Float]
|
|
72
|
+
end
|
|
46
73
|
end
|
|
47
74
|
end
|
|
48
75
|
end
|
|
@@ -4,11 +4,15 @@ module MetronomeSDK
|
|
|
4
4
|
module Models
|
|
5
5
|
class CommitSpecifierInput < MetronomeSDK::Internal::Type::BaseModel
|
|
6
6
|
# @!attribute presentation_group_values
|
|
7
|
+
# If provided, the specifier will apply to product usage with these set of
|
|
8
|
+
# presentation group values.
|
|
7
9
|
#
|
|
8
10
|
# @return [Hash{Symbol=>String}, nil]
|
|
9
11
|
optional :presentation_group_values, MetronomeSDK::Internal::Type::HashOf[String]
|
|
10
12
|
|
|
11
13
|
# @!attribute pricing_group_values
|
|
14
|
+
# If provided, the specifier will apply to product usage with these set of pricing
|
|
15
|
+
# group values.
|
|
12
16
|
#
|
|
13
17
|
# @return [Hash{Symbol=>String}, nil]
|
|
14
18
|
optional :pricing_group_values, MetronomeSDK::Internal::Type::HashOf[String]
|
|
@@ -30,9 +34,9 @@ module MetronomeSDK
|
|
|
30
34
|
# Some parameter documentations has been truncated, see
|
|
31
35
|
# {MetronomeSDK::Models::CommitSpecifierInput} for more details.
|
|
32
36
|
#
|
|
33
|
-
# @param presentation_group_values [Hash{Symbol=>String}]
|
|
37
|
+
# @param presentation_group_values [Hash{Symbol=>String}] If provided, the specifier will apply to product usage with these set of present
|
|
34
38
|
#
|
|
35
|
-
# @param pricing_group_values [Hash{Symbol=>String}]
|
|
39
|
+
# @param pricing_group_values [Hash{Symbol=>String}] If provided, the specifier will apply to product usage with these set of pricing
|
|
36
40
|
#
|
|
37
41
|
# @param product_id [String] If provided, the specifier will only apply to the product with the specified ID.
|
|
38
42
|
#
|
|
@@ -48,18 +48,18 @@ module MetronomeSDK
|
|
|
48
48
|
optional :customer_billing_provider_configuration,
|
|
49
49
|
-> { MetronomeSDK::Contract::CustomerBillingProviderConfiguration }
|
|
50
50
|
|
|
51
|
+
# @!attribute package_id
|
|
52
|
+
# ID of the package this contract was created from, if applicable.
|
|
53
|
+
#
|
|
54
|
+
# @return [String, nil]
|
|
55
|
+
optional :package_id, String
|
|
56
|
+
|
|
51
57
|
# @!attribute prepaid_balance_threshold_configuration
|
|
52
58
|
#
|
|
53
59
|
# @return [MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration, nil]
|
|
54
60
|
optional :prepaid_balance_threshold_configuration,
|
|
55
61
|
-> { MetronomeSDK::PrepaidBalanceThresholdConfiguration }
|
|
56
62
|
|
|
57
|
-
# @!attribute priority
|
|
58
|
-
# Priority of the contract.
|
|
59
|
-
#
|
|
60
|
-
# @return [Float, nil]
|
|
61
|
-
optional :priority, Float
|
|
62
|
-
|
|
63
63
|
# @!attribute scheduled_charges_on_usage_invoices
|
|
64
64
|
# Determines which scheduled and commit charges to consolidate onto the Contract's
|
|
65
65
|
# usage invoice. The charge's `timestamp` must match the usage invoice's
|
|
@@ -90,7 +90,7 @@ module MetronomeSDK
|
|
|
90
90
|
# @return [String, nil]
|
|
91
91
|
optional :uniqueness_key, String
|
|
92
92
|
|
|
93
|
-
# @!method initialize(id:, amendments:, current:, customer_id:, initial:, archived_at: nil, custom_fields: nil, customer_billing_provider_configuration: nil,
|
|
93
|
+
# @!method initialize(id:, amendments:, current:, customer_id:, initial:, archived_at: nil, custom_fields: nil, customer_billing_provider_configuration: nil, package_id: nil, prepaid_balance_threshold_configuration: nil, scheduled_charges_on_usage_invoices: nil, spend_threshold_configuration: nil, subscriptions: nil, uniqueness_key: nil)
|
|
94
94
|
# Some parameter documentations has been truncated, see
|
|
95
95
|
# {MetronomeSDK::Models::Contract} for more details.
|
|
96
96
|
#
|
|
@@ -110,9 +110,9 @@ module MetronomeSDK
|
|
|
110
110
|
#
|
|
111
111
|
# @param customer_billing_provider_configuration [MetronomeSDK::Models::Contract::CustomerBillingProviderConfiguration] The billing provider configuration associated with a contract.
|
|
112
112
|
#
|
|
113
|
-
# @param
|
|
113
|
+
# @param package_id [String] ID of the package this contract was created from, if applicable.
|
|
114
114
|
#
|
|
115
|
-
# @param
|
|
115
|
+
# @param prepaid_balance_threshold_configuration [MetronomeSDK::Models::PrepaidBalanceThresholdConfiguration]
|
|
116
116
|
#
|
|
117
117
|
# @param scheduled_charges_on_usage_invoices [Symbol, MetronomeSDK::Models::Contract::ScheduledChargesOnUsageInvoices] Determines which scheduled and commit charges to consolidate onto the Contract's
|
|
118
118
|
#
|
|
@@ -1411,6 +1411,12 @@ module MetronomeSDK
|
|
|
1411
1411
|
# @return [Boolean, nil]
|
|
1412
1412
|
optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
|
|
1413
1413
|
|
|
1414
|
+
# @!attribute minimum_config
|
|
1415
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
1416
|
+
#
|
|
1417
|
+
# @return [MetronomeSDK::Models::ContractV2::Override::OverwriteRate::MinimumConfig, nil]
|
|
1418
|
+
optional :minimum_config, -> { MetronomeSDK::ContractV2::Override::OverwriteRate::MinimumConfig }
|
|
1419
|
+
|
|
1414
1420
|
# @!attribute price
|
|
1415
1421
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
1416
1422
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
@@ -1430,7 +1436,7 @@ module MetronomeSDK
|
|
|
1430
1436
|
# @return [Array<MetronomeSDK::Models::Tier>, nil]
|
|
1431
1437
|
optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
|
|
1432
1438
|
|
|
1433
|
-
# @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
|
|
1439
|
+
# @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, quantity: nil, tiers: nil)
|
|
1434
1440
|
# Some parameter documentations has been truncated, see
|
|
1435
1441
|
# {MetronomeSDK::Models::ContractV2::Override::OverwriteRate} for more details.
|
|
1436
1442
|
#
|
|
@@ -1442,6 +1448,8 @@ module MetronomeSDK
|
|
|
1442
1448
|
#
|
|
1443
1449
|
# @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
1444
1450
|
#
|
|
1451
|
+
# @param minimum_config [MetronomeSDK::Models::ContractV2::Override::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
1452
|
+
#
|
|
1445
1453
|
# @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
|
|
1446
1454
|
#
|
|
1447
1455
|
# @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
|
@@ -1456,11 +1464,25 @@ module MetronomeSDK
|
|
|
1456
1464
|
PERCENTAGE = :PERCENTAGE
|
|
1457
1465
|
SUBSCRIPTION = :SUBSCRIPTION
|
|
1458
1466
|
TIERED = :TIERED
|
|
1467
|
+
TIERED_PERCENTAGE = :TIERED_PERCENTAGE
|
|
1459
1468
|
CUSTOM = :CUSTOM
|
|
1460
1469
|
|
|
1461
1470
|
# @!method self.values
|
|
1462
1471
|
# @return [Array<Symbol>]
|
|
1463
1472
|
end
|
|
1473
|
+
|
|
1474
|
+
# @see MetronomeSDK::Models::ContractV2::Override::OverwriteRate#minimum_config
|
|
1475
|
+
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
1476
|
+
# @!attribute minimum
|
|
1477
|
+
#
|
|
1478
|
+
# @return [Float]
|
|
1479
|
+
required :minimum, Float
|
|
1480
|
+
|
|
1481
|
+
# @!method initialize(minimum:)
|
|
1482
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
1483
|
+
#
|
|
1484
|
+
# @param minimum [Float]
|
|
1485
|
+
end
|
|
1464
1486
|
end
|
|
1465
1487
|
|
|
1466
1488
|
# @see MetronomeSDK::Models::ContractV2::Override#product
|
|
@@ -2290,8 +2312,8 @@ module MetronomeSDK
|
|
|
2290
2312
|
# @see MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration#parent_behavior
|
|
2291
2313
|
class ParentBehavior < MetronomeSDK::Internal::Type::BaseModel
|
|
2292
2314
|
# @!attribute invoice_consolidation_type
|
|
2293
|
-
#
|
|
2294
|
-
#
|
|
2315
|
+
# Indicates the desired behavior of consolidated invoices generated by the parent
|
|
2316
|
+
# in a customer hierarchy
|
|
2295
2317
|
#
|
|
2296
2318
|
# **CONCATENATE**: Statements on the invoices of child customers will be appended
|
|
2297
2319
|
# to the consolidated invoice
|
|
@@ -2307,10 +2329,10 @@ module MetronomeSDK
|
|
|
2307
2329
|
# {MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior}
|
|
2308
2330
|
# for more details.
|
|
2309
2331
|
#
|
|
2310
|
-
# @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType]
|
|
2332
|
+
# @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType] Indicates the desired behavior of consolidated invoices generated by the parent
|
|
2311
2333
|
|
|
2312
|
-
#
|
|
2313
|
-
#
|
|
2334
|
+
# Indicates the desired behavior of consolidated invoices generated by the parent
|
|
2335
|
+
# in a customer hierarchy
|
|
2314
2336
|
#
|
|
2315
2337
|
# **CONCATENATE**: Statements on the invoices of child customers will be appended
|
|
2316
2338
|
# to the consolidated invoice
|
|
@@ -2339,17 +2361,17 @@ module MetronomeSDK
|
|
|
2339
2361
|
-> { MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Parent }
|
|
2340
2362
|
|
|
2341
2363
|
# @!attribute payer
|
|
2342
|
-
#
|
|
2343
|
-
#
|
|
2344
|
-
#
|
|
2364
|
+
# Indicates which customer should pay for the child's invoice charges **SELF**:
|
|
2365
|
+
# The child pays for its own invoice charges **PARENT**: The parent pays for the
|
|
2366
|
+
# child's invoice charges
|
|
2345
2367
|
#
|
|
2346
2368
|
# @return [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer, nil]
|
|
2347
2369
|
optional :payer,
|
|
2348
2370
|
enum: -> { MetronomeSDK::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer }
|
|
2349
2371
|
|
|
2350
2372
|
# @!attribute usage_statement_behavior
|
|
2351
|
-
#
|
|
2352
|
-
#
|
|
2373
|
+
# Indicates the behavior of the child's invoice statements on the parent's
|
|
2374
|
+
# invoices.
|
|
2353
2375
|
#
|
|
2354
2376
|
# **CONSOLIDATE**: Child's invoice statements will be added to parent's
|
|
2355
2377
|
# consolidated invoices
|
|
@@ -2368,9 +2390,9 @@ module MetronomeSDK
|
|
|
2368
2390
|
#
|
|
2369
2391
|
# @param parent [MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Parent] The single parent contract/customer for this child.
|
|
2370
2392
|
#
|
|
2371
|
-
# @param payer [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer]
|
|
2393
|
+
# @param payer [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::Payer] Indicates which customer should pay for the child's invoice charges **SELF**: Th
|
|
2372
2394
|
#
|
|
2373
|
-
# @param usage_statement_behavior [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior]
|
|
2395
|
+
# @param usage_statement_behavior [Symbol, MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2::UsageStatementBehavior] Indicates the behavior of the child's invoice statements on the parent's invoice
|
|
2374
2396
|
|
|
2375
2397
|
# @see MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2#parent
|
|
2376
2398
|
class Parent < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -2391,9 +2413,9 @@ module MetronomeSDK
|
|
|
2391
2413
|
# @param customer_id [String]
|
|
2392
2414
|
end
|
|
2393
2415
|
|
|
2394
|
-
#
|
|
2395
|
-
#
|
|
2396
|
-
#
|
|
2416
|
+
# Indicates which customer should pay for the child's invoice charges **SELF**:
|
|
2417
|
+
# The child pays for its own invoice charges **PARENT**: The parent pays for the
|
|
2418
|
+
# child's invoice charges
|
|
2397
2419
|
#
|
|
2398
2420
|
# @see MetronomeSDK::Models::ContractV2::HierarchyConfiguration::ChildHierarchyConfigurationV2#payer
|
|
2399
2421
|
module Payer
|
|
@@ -2406,8 +2428,8 @@ module MetronomeSDK
|
|
|
2406
2428
|
# @return [Array<Symbol>]
|
|
2407
2429
|
end
|
|
2408
2430
|
|
|
2409
|
-
#
|
|
2410
|
-
#
|
|
2431
|
+
# Indicates the behavior of the child's invoice statements on the parent's
|
|
2432
|
+
# invoices.
|
|
2411
2433
|
#
|
|
2412
2434
|
# **CONSOLIDATE**: Child's invoice statements will be added to parent's
|
|
2413
2435
|
# consolidated invoices
|
|
@@ -49,8 +49,8 @@ module MetronomeSDK
|
|
|
49
49
|
# @see MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration#parent_behavior
|
|
50
50
|
class ParentBehavior < MetronomeSDK::Internal::Type::BaseModel
|
|
51
51
|
# @!attribute invoice_consolidation_type
|
|
52
|
-
#
|
|
53
|
-
#
|
|
52
|
+
# Indicates the desired behavior of consolidated invoices generated by the parent
|
|
53
|
+
# in a customer hierarchy
|
|
54
54
|
#
|
|
55
55
|
# **CONCATENATE**: Statements on the invoices of child customers will be appended
|
|
56
56
|
# to the consolidated invoice
|
|
@@ -66,10 +66,10 @@ module MetronomeSDK
|
|
|
66
66
|
# {MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior}
|
|
67
67
|
# for more details.
|
|
68
68
|
#
|
|
69
|
-
# @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType]
|
|
69
|
+
# @param invoice_consolidation_type [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ParentHierarchyConfiguration::ParentBehavior::InvoiceConsolidationType] Indicates the desired behavior of consolidated invoices generated by the parent
|
|
70
70
|
|
|
71
|
-
#
|
|
72
|
-
#
|
|
71
|
+
# Indicates the desired behavior of consolidated invoices generated by the parent
|
|
72
|
+
# in a customer hierarchy
|
|
73
73
|
#
|
|
74
74
|
# **CONCATENATE**: Statements on the invoices of child customers will be appended
|
|
75
75
|
# to the consolidated invoice
|
|
@@ -97,8 +97,7 @@ module MetronomeSDK
|
|
|
97
97
|
required :parent, -> { MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Parent }
|
|
98
98
|
|
|
99
99
|
# @!attribute payer
|
|
100
|
-
#
|
|
101
|
-
# invoice charges
|
|
100
|
+
# Indicates which customer should pay for the child's invoice charges
|
|
102
101
|
#
|
|
103
102
|
# **SELF**: The child pays for its own invoice charges
|
|
104
103
|
#
|
|
@@ -108,8 +107,8 @@ module MetronomeSDK
|
|
|
108
107
|
optional :payer, enum: -> { MetronomeSDK::HierarchyConfiguration::ChildHierarchyConfiguration::Payer }
|
|
109
108
|
|
|
110
109
|
# @!attribute usage_statement_behavior
|
|
111
|
-
#
|
|
112
|
-
#
|
|
110
|
+
# Indicates the behavior of the child's invoice statements on the parent's
|
|
111
|
+
# invoices.
|
|
113
112
|
#
|
|
114
113
|
# **CONSOLIDATE**: Child's invoice statements will be added to parent's
|
|
115
114
|
# consolidated invoices
|
|
@@ -128,9 +127,9 @@ module MetronomeSDK
|
|
|
128
127
|
#
|
|
129
128
|
# @param parent [MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Parent] The single parent contract/customer for this child.
|
|
130
129
|
#
|
|
131
|
-
# @param payer [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Payer]
|
|
130
|
+
# @param payer [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::Payer] Indicates which customer should pay for the child's invoice charges
|
|
132
131
|
#
|
|
133
|
-
# @param usage_statement_behavior [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior]
|
|
132
|
+
# @param usage_statement_behavior [Symbol, MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration::UsageStatementBehavior] Indicates the behavior of the child's invoice statements on the parent's invoice
|
|
134
133
|
|
|
135
134
|
# @see MetronomeSDK::Models::HierarchyConfiguration::ChildHierarchyConfiguration#parent
|
|
136
135
|
class Parent < MetronomeSDK::Internal::Type::BaseModel
|
|
@@ -151,8 +150,7 @@ module MetronomeSDK
|
|
|
151
150
|
# @param customer_id [String]
|
|
152
151
|
end
|
|
153
152
|
|
|
154
|
-
#
|
|
155
|
-
# invoice charges
|
|
153
|
+
# Indicates which customer should pay for the child's invoice charges
|
|
156
154
|
#
|
|
157
155
|
# **SELF**: The child pays for its own invoice charges
|
|
158
156
|
#
|
|
@@ -169,8 +167,8 @@ module MetronomeSDK
|
|
|
169
167
|
# @return [Array<Symbol>]
|
|
170
168
|
end
|
|
171
169
|
|
|
172
|
-
#
|
|
173
|
-
#
|
|
170
|
+
# Indicates the behavior of the child's invoice statements on the parent's
|
|
171
|
+
# invoices.
|
|
174
172
|
#
|
|
175
173
|
# **CONSOLIDATE**: Child's invoice statements will be added to parent's
|
|
176
174
|
# consolidated invoices
|
|
@@ -27,6 +27,12 @@ module MetronomeSDK
|
|
|
27
27
|
# @return [Boolean, nil]
|
|
28
28
|
optional :is_prorated, MetronomeSDK::Internal::Type::Boolean
|
|
29
29
|
|
|
30
|
+
# @!attribute minimum_config
|
|
31
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
32
|
+
#
|
|
33
|
+
# @return [MetronomeSDK::Models::OverwriteRate::MinimumConfig, nil]
|
|
34
|
+
optional :minimum_config, -> { MetronomeSDK::OverwriteRate::MinimumConfig }
|
|
35
|
+
|
|
30
36
|
# @!attribute price
|
|
31
37
|
# Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
|
|
32
38
|
# this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
|
|
@@ -46,7 +52,7 @@ module MetronomeSDK
|
|
|
46
52
|
# @return [Array<MetronomeSDK::Models::Tier>, nil]
|
|
47
53
|
optional :tiers, -> { MetronomeSDK::Internal::Type::ArrayOf[MetronomeSDK::Tier] }
|
|
48
54
|
|
|
49
|
-
# @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, price: nil, quantity: nil, tiers: nil)
|
|
55
|
+
# @!method initialize(rate_type:, credit_type: nil, custom_rate: nil, is_prorated: nil, minimum_config: nil, price: nil, quantity: nil, tiers: nil)
|
|
50
56
|
# Some parameter documentations has been truncated, see
|
|
51
57
|
# {MetronomeSDK::Models::OverwriteRate} for more details.
|
|
52
58
|
#
|
|
@@ -58,6 +64,8 @@ module MetronomeSDK
|
|
|
58
64
|
#
|
|
59
65
|
# @param is_prorated [Boolean] Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
|
|
60
66
|
#
|
|
67
|
+
# @param minimum_config [MetronomeSDK::Models::OverwriteRate::MinimumConfig] Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
68
|
+
#
|
|
61
69
|
# @param price [Float] Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type, t
|
|
62
70
|
#
|
|
63
71
|
# @param quantity [Float] Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
|
|
@@ -72,11 +80,25 @@ module MetronomeSDK
|
|
|
72
80
|
PERCENTAGE = :PERCENTAGE
|
|
73
81
|
SUBSCRIPTION = :SUBSCRIPTION
|
|
74
82
|
TIERED = :TIERED
|
|
83
|
+
TIERED_PERCENTAGE = :TIERED_PERCENTAGE
|
|
75
84
|
CUSTOM = :CUSTOM
|
|
76
85
|
|
|
77
86
|
# @!method self.values
|
|
78
87
|
# @return [Array<Symbol>]
|
|
79
88
|
end
|
|
89
|
+
|
|
90
|
+
# @see MetronomeSDK::Models::OverwriteRate#minimum_config
|
|
91
|
+
class MinimumConfig < MetronomeSDK::Internal::Type::BaseModel
|
|
92
|
+
# @!attribute minimum
|
|
93
|
+
#
|
|
94
|
+
# @return [Float]
|
|
95
|
+
required :minimum, Float
|
|
96
|
+
|
|
97
|
+
# @!method initialize(minimum:)
|
|
98
|
+
# Only set for TIERED_PERCENTAGE or PERCENTAGE rate_type.
|
|
99
|
+
#
|
|
100
|
+
# @param minimum [Float]
|
|
101
|
+
end
|
|
80
102
|
end
|
|
81
103
|
end
|
|
82
104
|
end
|