metronome-sdk 0.1.0 → 0.3.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.
Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/README.md +1 -1
  4. data/lib/metronome_sdk/internal/transport/base_client.rb +1 -1
  5. data/lib/metronome_sdk/internal/type/array_of.rb +1 -0
  6. data/lib/metronome_sdk/internal/type/base_model.rb +3 -1
  7. data/lib/metronome_sdk/internal/type/converter.rb +27 -0
  8. data/lib/metronome_sdk/internal/type/hash_of.rb +1 -0
  9. data/lib/metronome_sdk/internal/type/union.rb +9 -7
  10. data/lib/metronome_sdk/models/commit.rb +35 -5
  11. data/lib/metronome_sdk/models/contract_without_amendments.rb +128 -2
  12. data/lib/metronome_sdk/models/credit.rb +21 -3
  13. data/lib/metronome_sdk/models/schedule_point_in_time.rb +14 -1
  14. data/lib/metronome_sdk/models/v1/alert_create_params.rb +9 -11
  15. data/lib/metronome_sdk/models/v1/contract_amend_params.rb +54 -5
  16. data/lib/metronome_sdk/models/v1/contract_create_params.rb +219 -23
  17. data/lib/metronome_sdk/models/v1/contracts/product_create_params.rb +8 -1
  18. data/lib/metronome_sdk/models/v1/customers/commit_create_params.rb +10 -1
  19. data/lib/metronome_sdk/models/v1/customers/customer_alert.rb +29 -1
  20. data/lib/metronome_sdk/models/v1/customers/invoice.rb +13 -1
  21. data/lib/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rb +2 -0
  22. data/lib/metronome_sdk/models/v2/contract_edit_commit_params.rb +12 -1
  23. data/lib/metronome_sdk/models/v2/contract_edit_credit_params.rb +12 -1
  24. data/lib/metronome_sdk/models/v2/contract_edit_params.rb +259 -37
  25. data/lib/metronome_sdk/models/v2/contract_get_edit_history_response.rb +602 -15
  26. data/lib/metronome_sdk/models/v2/contract_list_response.rb +194 -17
  27. data/lib/metronome_sdk/models/v2/contract_retrieve_response.rb +194 -17
  28. data/lib/metronome_sdk/resources/v1/alerts.rb +2 -2
  29. data/lib/metronome_sdk/resources/v1/contracts/products.rb +3 -1
  30. data/lib/metronome_sdk/resources/v2/contracts.rb +6 -2
  31. data/lib/metronome_sdk/version.rb +1 -1
  32. data/rbi/metronome_sdk/internal/transport/base_client.rbi +1 -1
  33. data/rbi/metronome_sdk/internal/type/converter.rbi +58 -0
  34. data/rbi/metronome_sdk/internal/type/union.rbi +9 -2
  35. data/rbi/metronome_sdk/models/commit.rbi +89 -15
  36. data/rbi/metronome_sdk/models/contract_without_amendments.rbi +304 -6
  37. data/rbi/metronome_sdk/models/credit.rbi +54 -9
  38. data/rbi/metronome_sdk/models/schedule_point_in_time.rbi +17 -1
  39. data/rbi/metronome_sdk/models/v1/alert_create_params.rbi +16 -18
  40. data/rbi/metronome_sdk/models/v1/contract_amend_params.rbi +76 -3
  41. data/rbi/metronome_sdk/models/v1/contract_create_params.rbi +433 -26
  42. data/rbi/metronome_sdk/models/v1/contracts/product_create_params.rbi +9 -0
  43. data/rbi/metronome_sdk/models/v1/customers/commit_create_params.rbi +13 -0
  44. data/rbi/metronome_sdk/models/v1/customers/customer_alert.rbi +60 -0
  45. data/rbi/metronome_sdk/models/v1/customers/invoice.rbi +16 -0
  46. data/rbi/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbi +10 -0
  47. data/rbi/metronome_sdk/models/v2/contract_edit_commit_params.rbi +14 -0
  48. data/rbi/metronome_sdk/models/v2/contract_edit_credit_params.rbi +14 -0
  49. data/rbi/metronome_sdk/models/v2/contract_edit_params.rbi +481 -38
  50. data/rbi/metronome_sdk/models/v2/contract_get_edit_history_response.rbi +1565 -42
  51. data/rbi/metronome_sdk/models/v2/contract_list_response.rbi +431 -37
  52. data/rbi/metronome_sdk/models/v2/contract_retrieve_response.rbi +431 -37
  53. data/rbi/metronome_sdk/resources/v1/alerts.rbi +5 -5
  54. data/rbi/metronome_sdk/resources/v1/contracts/products.rbi +2 -0
  55. data/rbi/metronome_sdk/resources/v2/contracts.rbi +12 -0
  56. data/sig/metronome_sdk/internal/transport/base_client.rbs +1 -1
  57. data/sig/metronome_sdk/internal/type/converter.rbs +17 -0
  58. data/sig/metronome_sdk/internal/type/union.rbs +2 -2
  59. data/sig/metronome_sdk/models/commit.rbs +50 -15
  60. data/sig/metronome_sdk/models/contract_without_amendments.rbs +120 -6
  61. data/sig/metronome_sdk/models/credit.rbs +30 -9
  62. data/sig/metronome_sdk/models/schedule_point_in_time.rbs +7 -0
  63. data/sig/metronome_sdk/models/v1/alert_create_params.rbs +9 -9
  64. data/sig/metronome_sdk/models/v1/contract_amend_params.rbs +38 -3
  65. data/sig/metronome_sdk/models/v1/contract_create_params.rbs +168 -6
  66. data/sig/metronome_sdk/models/v1/contracts/product_create_params.rbs +7 -0
  67. data/sig/metronome_sdk/models/v1/customers/commit_create_params.rbs +7 -0
  68. data/sig/metronome_sdk/models/v1/customers/customer_alert.rbs +21 -0
  69. data/sig/metronome_sdk/models/v1/customers/invoice.rbs +5 -0
  70. data/sig/metronome_sdk/models/v1/dashboard_get_embeddable_url_params.rbs +4 -0
  71. data/sig/metronome_sdk/models/v2/contract_edit_commit_params.rbs +5 -0
  72. data/sig/metronome_sdk/models/v2/contract_edit_credit_params.rbs +5 -0
  73. data/sig/metronome_sdk/models/v2/contract_edit_params.rbs +178 -6
  74. data/sig/metronome_sdk/models/v2/contract_get_edit_history_response.rbs +629 -6
  75. data/sig/metronome_sdk/models/v2/contract_list_response.rbs +205 -30
  76. data/sig/metronome_sdk/models/v2/contract_retrieve_response.rbs +205 -30
  77. data/sig/metronome_sdk/resources/v1/alerts.rbs +1 -1
  78. data/sig/metronome_sdk/resources/v1/contracts/products.rbs +1 -0
  79. data/sig/metronome_sdk/resources/v2/contracts.rbs +2 -0
  80. metadata +2 -2
@@ -740,6 +740,12 @@ module MetronomeSDK
740
740
  end
741
741
  attr_accessor :type
742
742
 
743
+ sig { returns(T.nilable(String)) }
744
+ attr_reader :contract_id
745
+
746
+ sig { params(contract_id: String).void }
747
+ attr_writer :contract_id
748
+
743
749
  sig do
744
750
  params(
745
751
  amount: Float,
@@ -747,10 +753,18 @@ module MetronomeSDK
747
753
  segment_id: String,
748
754
  timestamp: Time,
749
755
  type:
750
- MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol
756
+ MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::OrSymbol,
757
+ contract_id: String
751
758
  ).returns(T.attached_class)
752
759
  end
753
- def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
760
+ def self.new(
761
+ amount:,
762
+ invoice_id:,
763
+ segment_id:,
764
+ timestamp:,
765
+ type:,
766
+ contract_id: nil
767
+ )
754
768
  end
755
769
 
756
770
  sig do
@@ -761,7 +775,8 @@ module MetronomeSDK
761
775
  segment_id: String,
762
776
  timestamp: Time,
763
777
  type:
764
- MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol
778
+ MetronomeSDK::Credit::Ledger::CreditAutomatedInvoiceDeductionLedgerEntry::Type::TaggedSymbol,
779
+ contract_id: String
765
780
  }
766
781
  )
767
782
  end
@@ -907,6 +922,12 @@ module MetronomeSDK
907
922
  end
908
923
  attr_accessor :type
909
924
 
925
+ sig { returns(T.nilable(String)) }
926
+ attr_reader :contract_id
927
+
928
+ sig { params(contract_id: String).void }
929
+ attr_writer :contract_id
930
+
910
931
  sig do
911
932
  params(
912
933
  amount: Float,
@@ -914,10 +935,18 @@ module MetronomeSDK
914
935
  segment_id: String,
915
936
  timestamp: Time,
916
937
  type:
917
- MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::Type::OrSymbol
938
+ MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::Type::OrSymbol,
939
+ contract_id: String
918
940
  ).returns(T.attached_class)
919
941
  end
920
- def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
942
+ def self.new(
943
+ amount:,
944
+ invoice_id:,
945
+ segment_id:,
946
+ timestamp:,
947
+ type:,
948
+ contract_id: nil
949
+ )
921
950
  end
922
951
 
923
952
  sig do
@@ -928,7 +957,8 @@ module MetronomeSDK
928
957
  segment_id: String,
929
958
  timestamp: Time,
930
959
  type:
931
- MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol
960
+ MetronomeSDK::Credit::Ledger::CreditCanceledLedgerEntry::Type::TaggedSymbol,
961
+ contract_id: String
932
962
  }
933
963
  )
934
964
  end
@@ -993,6 +1023,12 @@ module MetronomeSDK
993
1023
  end
994
1024
  attr_accessor :type
995
1025
 
1026
+ sig { returns(T.nilable(String)) }
1027
+ attr_reader :contract_id
1028
+
1029
+ sig { params(contract_id: String).void }
1030
+ attr_writer :contract_id
1031
+
996
1032
  sig do
997
1033
  params(
998
1034
  amount: Float,
@@ -1000,10 +1036,18 @@ module MetronomeSDK
1000
1036
  segment_id: String,
1001
1037
  timestamp: Time,
1002
1038
  type:
1003
- MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::Type::OrSymbol
1039
+ MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::Type::OrSymbol,
1040
+ contract_id: String
1004
1041
  ).returns(T.attached_class)
1005
1042
  end
1006
- def self.new(amount:, invoice_id:, segment_id:, timestamp:, type:)
1043
+ def self.new(
1044
+ amount:,
1045
+ invoice_id:,
1046
+ segment_id:,
1047
+ timestamp:,
1048
+ type:,
1049
+ contract_id: nil
1050
+ )
1007
1051
  end
1008
1052
 
1009
1053
  sig do
@@ -1014,7 +1058,8 @@ module MetronomeSDK
1014
1058
  segment_id: String,
1015
1059
  timestamp: Time,
1016
1060
  type:
1017
- MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol
1061
+ MetronomeSDK::Credit::Ledger::CreditCreditedLedgerEntry::Type::TaggedSymbol,
1062
+ contract_id: String
1018
1063
  }
1019
1064
  )
1020
1065
  end
@@ -17,6 +17,14 @@ module MetronomeSDK
17
17
  sig { params(credit_type: MetronomeSDK::CreditTypeData::OrHash).void }
18
18
  attr_writer :credit_type
19
19
 
20
+ # This field is only applicable to commit invoice schedules. If true, this
21
+ # schedule will not generate an invoice.
22
+ sig { returns(T.nilable(T::Boolean)) }
23
+ attr_reader :do_not_invoice
24
+
25
+ sig { params(do_not_invoice: T::Boolean).void }
26
+ attr_writer :do_not_invoice
27
+
20
28
  sig do
21
29
  returns(
22
30
  T.nilable(T::Array[MetronomeSDK::SchedulePointInTime::ScheduleItem])
@@ -35,17 +43,25 @@ module MetronomeSDK
35
43
  sig do
36
44
  params(
37
45
  credit_type: MetronomeSDK::CreditTypeData::OrHash,
46
+ do_not_invoice: T::Boolean,
38
47
  schedule_items:
39
48
  T::Array[MetronomeSDK::SchedulePointInTime::ScheduleItem::OrHash]
40
49
  ).returns(T.attached_class)
41
50
  end
42
- def self.new(credit_type: nil, schedule_items: nil)
51
+ def self.new(
52
+ credit_type: nil,
53
+ # This field is only applicable to commit invoice schedules. If true, this
54
+ # schedule will not generate an invoice.
55
+ do_not_invoice: nil,
56
+ schedule_items: nil
57
+ )
43
58
  end
44
59
 
45
60
  sig do
46
61
  override.returns(
47
62
  {
48
63
  credit_type: MetronomeSDK::CreditTypeData,
64
+ do_not_invoice: T::Boolean,
49
65
  schedule_items:
50
66
  T::Array[MetronomeSDK::SchedulePointInTime::ScheduleItem]
51
67
  }
@@ -94,22 +94,22 @@ module MetronomeSDK
94
94
  sig { params(evaluate_on_create: T::Boolean).void }
95
95
  attr_writer :evaluate_on_create
96
96
 
97
- # Scopes alert evaluation to a specific presentation group key on individual line
98
- # items. Only present for spend alerts.
97
+ # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
98
+ # group key on individual line items.
99
99
  sig do
100
100
  returns(
101
- T.nilable(MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter)
101
+ T.nilable(T::Array[MetronomeSDK::V1::AlertCreateParams::GroupValue])
102
102
  )
103
103
  end
104
- attr_reader :group_key_filter
104
+ attr_reader :group_values
105
105
 
106
106
  sig do
107
107
  params(
108
- group_key_filter:
109
- MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter::OrHash
108
+ group_values:
109
+ T::Array[MetronomeSDK::V1::AlertCreateParams::GroupValue::OrHash]
110
110
  ).void
111
111
  end
112
- attr_writer :group_key_filter
112
+ attr_writer :group_values
113
113
 
114
114
  # Only supported for invoice_total_reached alerts. A list of invoice types to
115
115
  # evaluate.
@@ -151,8 +151,8 @@ module MetronomeSDK
151
151
  ],
152
152
  customer_id: String,
153
153
  evaluate_on_create: T::Boolean,
154
- group_key_filter:
155
- MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter::OrHash,
154
+ group_values:
155
+ T::Array[MetronomeSDK::V1::AlertCreateParams::GroupValue::OrHash],
156
156
  invoice_types_filter: T::Array[String],
157
157
  plan_id: String,
158
158
  uniqueness_key: String,
@@ -188,9 +188,9 @@ module MetronomeSDK
188
188
  # alert threshold. If false, it will only evaluate on future customers that
189
189
  # trigger the alert threshold. Defaults to true.
190
190
  evaluate_on_create: nil,
191
- # Scopes alert evaluation to a specific presentation group key on individual line
192
- # items. Only present for spend alerts.
193
- group_key_filter: nil,
191
+ # Only present for `spend_threshold_reached` alerts. Scope alert to a specific
192
+ # group key on individual line items.
193
+ group_values: nil,
194
194
  # Only supported for invoice_total_reached alerts. A list of invoice types to
195
195
  # evaluate.
196
196
  invoice_types_filter: nil,
@@ -221,8 +221,8 @@ module MetronomeSDK
221
221
  ],
222
222
  customer_id: String,
223
223
  evaluate_on_create: T::Boolean,
224
- group_key_filter:
225
- MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter,
224
+ group_values:
225
+ T::Array[MetronomeSDK::V1::AlertCreateParams::GroupValue],
226
226
  invoice_types_filter: T::Array[String],
227
227
  plan_id: String,
228
228
  uniqueness_key: String,
@@ -411,11 +411,11 @@ module MetronomeSDK
411
411
  end
412
412
  end
413
413
 
414
- class GroupKeyFilter < MetronomeSDK::Internal::Type::BaseModel
414
+ class GroupValue < MetronomeSDK::Internal::Type::BaseModel
415
415
  OrHash =
416
416
  T.type_alias do
417
417
  T.any(
418
- MetronomeSDK::V1::AlertCreateParams::GroupKeyFilter,
418
+ MetronomeSDK::V1::AlertCreateParams::GroupValue,
419
419
  MetronomeSDK::Internal::AnyHash
420
420
  )
421
421
  end
@@ -426,8 +426,6 @@ module MetronomeSDK
426
426
  sig { returns(String) }
427
427
  attr_accessor :value
428
428
 
429
- # Scopes alert evaluation to a specific presentation group key on individual line
430
- # items. Only present for spend alerts.
431
429
  sig { params(key: String, value: String).returns(T.attached_class) }
432
430
  def self.new(key:, value:)
433
431
  end
@@ -1031,6 +1031,14 @@ module MetronomeSDK
1031
1031
  sig { params(credit_type_id: String).void }
1032
1032
  attr_writer :credit_type_id
1033
1033
 
1034
+ # This field is only applicable to commit invoice schedules. If true, this
1035
+ # schedule will not generate an invoice.
1036
+ sig { returns(T.nilable(T::Boolean)) }
1037
+ attr_reader :do_not_invoice
1038
+
1039
+ sig { params(do_not_invoice: T::Boolean).void }
1040
+ attr_writer :do_not_invoice
1041
+
1034
1042
  # Enter the unit price and quantity for the charge or instead only send the
1035
1043
  # amount. If amount is sent, the unit price is assumed to be the amount and
1036
1044
  # quantity is inferred to be 1.
@@ -1080,6 +1088,7 @@ module MetronomeSDK
1080
1088
  sig do
1081
1089
  params(
1082
1090
  credit_type_id: String,
1091
+ do_not_invoice: T::Boolean,
1083
1092
  recurring_schedule:
1084
1093
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule::OrHash,
1085
1094
  schedule_items:
@@ -1091,6 +1100,9 @@ module MetronomeSDK
1091
1100
  def self.new(
1092
1101
  # Defaults to USD (cents) if not passed.
1093
1102
  credit_type_id: nil,
1103
+ # This field is only applicable to commit invoice schedules. If true, this
1104
+ # schedule will not generate an invoice.
1105
+ do_not_invoice: nil,
1094
1106
  # Enter the unit price and quantity for the charge or instead only send the
1095
1107
  # amount. If amount is sent, the unit price is assumed to be the amount and
1096
1108
  # quantity is inferred to be 1.
@@ -1104,6 +1116,7 @@ module MetronomeSDK
1104
1116
  override.returns(
1105
1117
  {
1106
1118
  credit_type_id: String,
1119
+ do_not_invoice: T::Boolean,
1107
1120
  recurring_schedule:
1108
1121
  MetronomeSDK::V1::ContractAmendParams::Commit::InvoiceSchedule::RecurringSchedule,
1109
1122
  schedule_items:
@@ -1629,12 +1642,27 @@ module MetronomeSDK
1629
1642
  sig { params(invoice_metadata: T::Hash[Symbol, String]).void }
1630
1643
  attr_writer :invoice_metadata
1631
1644
 
1645
+ # If true, the payment will be made assuming the customer is present (i.e. on
1646
+ # session).
1647
+ #
1648
+ # If false, the payment will be made assuming the customer is not present (i.e.
1649
+ # off session). For cardholders from a country with an e-mandate requirement (e.g.
1650
+ # India), the payment may be declined.
1651
+ #
1652
+ # If left blank, will default to false.
1653
+ sig { returns(T.nilable(T::Boolean)) }
1654
+ attr_reader :on_session_payment
1655
+
1656
+ sig { params(on_session_payment: T::Boolean).void }
1657
+ attr_writer :on_session_payment
1658
+
1632
1659
  # Only applicable if using STRIPE as your payment gate type.
1633
1660
  sig do
1634
1661
  params(
1635
1662
  payment_type:
1636
1663
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1637
- invoice_metadata: T::Hash[Symbol, String]
1664
+ invoice_metadata: T::Hash[Symbol, String],
1665
+ on_session_payment: T::Boolean
1638
1666
  ).returns(T.attached_class)
1639
1667
  end
1640
1668
  def self.new(
@@ -1642,7 +1670,16 @@ module MetronomeSDK
1642
1670
  payment_type:,
1643
1671
  # Metadata to be added to the Stripe invoice. Only applicable if using INVOICE as
1644
1672
  # your payment type.
1645
- invoice_metadata: nil
1673
+ invoice_metadata: nil,
1674
+ # If true, the payment will be made assuming the customer is present (i.e. on
1675
+ # session).
1676
+ #
1677
+ # If false, the payment will be made assuming the customer is not present (i.e.
1678
+ # off session). For cardholders from a country with an e-mandate requirement (e.g.
1679
+ # India), the payment may be declined.
1680
+ #
1681
+ # If left blank, will default to false.
1682
+ on_session_payment: nil
1646
1683
  )
1647
1684
  end
1648
1685
 
@@ -1651,7 +1688,8 @@ module MetronomeSDK
1651
1688
  {
1652
1689
  payment_type:
1653
1690
  MetronomeSDK::V1::ContractAmendParams::Commit::PaymentGateConfig::StripeConfig::PaymentType::OrSymbol,
1654
- invoice_metadata: T::Hash[Symbol, String]
1691
+ invoice_metadata: T::Hash[Symbol, String],
1692
+ on_session_payment: T::Boolean
1655
1693
  }
1656
1694
  )
1657
1695
  end
@@ -2650,6 +2688,14 @@ module MetronomeSDK
2650
2688
  sig { params(credit_type_id: String).void }
2651
2689
  attr_writer :credit_type_id
2652
2690
 
2691
+ # This field is only applicable to commit invoice schedules. If true, this
2692
+ # schedule will not generate an invoice.
2693
+ sig { returns(T.nilable(T::Boolean)) }
2694
+ attr_reader :do_not_invoice
2695
+
2696
+ sig { params(do_not_invoice: T::Boolean).void }
2697
+ attr_writer :do_not_invoice
2698
+
2653
2699
  # Enter the unit price and quantity for the charge or instead only send the
2654
2700
  # amount. If amount is sent, the unit price is assumed to be the amount and
2655
2701
  # quantity is inferred to be 1.
@@ -2696,6 +2742,7 @@ module MetronomeSDK
2696
2742
  sig do
2697
2743
  params(
2698
2744
  credit_type_id: String,
2745
+ do_not_invoice: T::Boolean,
2699
2746
  recurring_schedule:
2700
2747
  MetronomeSDK::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule::OrHash,
2701
2748
  schedule_items:
@@ -2707,6 +2754,9 @@ module MetronomeSDK
2707
2754
  def self.new(
2708
2755
  # Defaults to USD (cents) if not passed.
2709
2756
  credit_type_id: nil,
2757
+ # This field is only applicable to commit invoice schedules. If true, this
2758
+ # schedule will not generate an invoice.
2759
+ do_not_invoice: nil,
2710
2760
  # Enter the unit price and quantity for the charge or instead only send the
2711
2761
  # amount. If amount is sent, the unit price is assumed to be the amount and
2712
2762
  # quantity is inferred to be 1.
@@ -2720,6 +2770,7 @@ module MetronomeSDK
2720
2770
  override.returns(
2721
2771
  {
2722
2772
  credit_type_id: String,
2773
+ do_not_invoice: T::Boolean,
2723
2774
  recurring_schedule:
2724
2775
  MetronomeSDK::V1::ContractAmendParams::Discount::Schedule::RecurringSchedule,
2725
2776
  schedule_items:
@@ -4140,6 +4191,12 @@ module MetronomeSDK
4140
4191
  end
4141
4192
  attr_writer :schedule
4142
4193
 
4194
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
4195
+ attr_reader :custom_fields
4196
+
4197
+ sig { params(custom_fields: T::Hash[Symbol, String]).void }
4198
+ attr_writer :custom_fields
4199
+
4143
4200
  # displayed on invoices
4144
4201
  sig { returns(T.nilable(String)) }
4145
4202
  attr_reader :name
@@ -4159,6 +4216,7 @@ module MetronomeSDK
4159
4216
  product_id: String,
4160
4217
  schedule:
4161
4218
  MetronomeSDK::V1::ContractAmendParams::ScheduledCharge::Schedule::OrHash,
4219
+ custom_fields: T::Hash[Symbol, String],
4162
4220
  name: String,
4163
4221
  netsuite_sales_order_id: String
4164
4222
  ).returns(T.attached_class)
@@ -4167,6 +4225,7 @@ module MetronomeSDK
4167
4225
  product_id:,
4168
4226
  # Must provide either schedule_items or recurring_schedule.
4169
4227
  schedule:,
4228
+ custom_fields: nil,
4170
4229
  # displayed on invoices
4171
4230
  name: nil,
4172
4231
  # This field's availability is dependent on your client's configuration.
@@ -4180,6 +4239,7 @@ module MetronomeSDK
4180
4239
  product_id: String,
4181
4240
  schedule:
4182
4241
  MetronomeSDK::V1::ContractAmendParams::ScheduledCharge::Schedule,
4242
+ custom_fields: T::Hash[Symbol, String],
4183
4243
  name: String,
4184
4244
  netsuite_sales_order_id: String
4185
4245
  }
@@ -4204,6 +4264,14 @@ module MetronomeSDK
4204
4264
  sig { params(credit_type_id: String).void }
4205
4265
  attr_writer :credit_type_id
4206
4266
 
4267
+ # This field is only applicable to commit invoice schedules. If true, this
4268
+ # schedule will not generate an invoice.
4269
+ sig { returns(T.nilable(T::Boolean)) }
4270
+ attr_reader :do_not_invoice
4271
+
4272
+ sig { params(do_not_invoice: T::Boolean).void }
4273
+ attr_writer :do_not_invoice
4274
+
4207
4275
  # Enter the unit price and quantity for the charge or instead only send the
4208
4276
  # amount. If amount is sent, the unit price is assumed to be the amount and
4209
4277
  # quantity is inferred to be 1.
@@ -4250,6 +4318,7 @@ module MetronomeSDK
4250
4318
  sig do
4251
4319
  params(
4252
4320
  credit_type_id: String,
4321
+ do_not_invoice: T::Boolean,
4253
4322
  recurring_schedule:
4254
4323
  MetronomeSDK::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule::OrHash,
4255
4324
  schedule_items:
@@ -4261,6 +4330,9 @@ module MetronomeSDK
4261
4330
  def self.new(
4262
4331
  # Defaults to USD (cents) if not passed.
4263
4332
  credit_type_id: nil,
4333
+ # This field is only applicable to commit invoice schedules. If true, this
4334
+ # schedule will not generate an invoice.
4335
+ do_not_invoice: nil,
4264
4336
  # Enter the unit price and quantity for the charge or instead only send the
4265
4337
  # amount. If amount is sent, the unit price is assumed to be the amount and
4266
4338
  # quantity is inferred to be 1.
@@ -4274,6 +4346,7 @@ module MetronomeSDK
4274
4346
  override.returns(
4275
4347
  {
4276
4348
  credit_type_id: String,
4349
+ do_not_invoice: T::Boolean,
4277
4350
  recurring_schedule:
4278
4351
  MetronomeSDK::V1::ContractAmendParams::ScheduledCharge::Schedule::RecurringSchedule,
4279
4352
  schedule_items: