orb-billing 1.0.1 → 1.1.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 (127) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +1 -1
  4. data/lib/orb/errors.rb +22 -0
  5. data/lib/orb/internal/type/array_of.rb +6 -1
  6. data/lib/orb/internal/type/base_model.rb +79 -25
  7. data/lib/orb/internal/type/boolean.rb +7 -1
  8. data/lib/orb/internal/type/converter.rb +42 -34
  9. data/lib/orb/internal/type/enum.rb +10 -2
  10. data/lib/orb/internal/type/file_input.rb +6 -1
  11. data/lib/orb/internal/type/hash_of.rb +6 -1
  12. data/lib/orb/internal/type/union.rb +12 -7
  13. data/lib/orb/internal/type/unknown.rb +7 -1
  14. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +4 -4
  15. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +4 -4
  16. data/lib/orb/models/invoice.rb +4 -1
  17. data/lib/orb/models/invoice_fetch_upcoming_response.rb +4 -1
  18. data/lib/orb/models/invoice_line_item_create_response.rb +4 -1
  19. data/lib/orb/models/new_plan_bps_price.rb +10 -1
  20. data/lib/orb/models/new_plan_bulk_bps_price.rb +10 -1
  21. data/lib/orb/models/new_plan_bulk_price.rb +10 -1
  22. data/lib/orb/models/new_plan_bulk_with_proration_price.rb +10 -1
  23. data/lib/orb/models/new_plan_cumulative_grouped_bulk_price.rb +10 -1
  24. data/lib/orb/models/new_plan_grouped_allocation_price.rb +10 -1
  25. data/lib/orb/models/new_plan_grouped_tiered_package_price.rb +10 -1
  26. data/lib/orb/models/new_plan_grouped_tiered_price.rb +10 -1
  27. data/lib/orb/models/new_plan_grouped_with_metered_minimum_price.rb +10 -1
  28. data/lib/orb/models/new_plan_grouped_with_prorated_minimum_price.rb +10 -1
  29. data/lib/orb/models/new_plan_matrix_price.rb +10 -1
  30. data/lib/orb/models/new_plan_matrix_with_allocation_price.rb +10 -1
  31. data/lib/orb/models/new_plan_matrix_with_display_name_price.rb +10 -1
  32. data/lib/orb/models/new_plan_max_group_tiered_package_price.rb +10 -1
  33. data/lib/orb/models/new_plan_package_price.rb +10 -1
  34. data/lib/orb/models/new_plan_package_with_allocation_price.rb +10 -1
  35. data/lib/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rb +10 -1
  36. data/lib/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rb +10 -1
  37. data/lib/orb/models/new_plan_threshold_total_amount_price.rb +10 -1
  38. data/lib/orb/models/new_plan_tier_with_proration_price.rb +10 -1
  39. data/lib/orb/models/new_plan_tiered_bps_price.rb +10 -1
  40. data/lib/orb/models/new_plan_tiered_package_price.rb +10 -1
  41. data/lib/orb/models/new_plan_tiered_package_with_minimum_price.rb +10 -1
  42. data/lib/orb/models/new_plan_tiered_price.rb +10 -1
  43. data/lib/orb/models/new_plan_tiered_with_minimum_price.rb +10 -1
  44. data/lib/orb/models/new_plan_unit_price.rb +10 -1
  45. data/lib/orb/models/new_plan_unit_with_percent_price.rb +10 -1
  46. data/lib/orb/models/new_plan_unit_with_proration_price.rb +10 -1
  47. data/lib/orb/models/plan_create_params.rb +185 -37
  48. data/lib/orb/resources/customers/credits/ledger.rb +6 -6
  49. data/lib/orb/resources/plans.rb +6 -2
  50. data/lib/orb/version.rb +1 -1
  51. data/rbi/orb/errors.rbi +16 -0
  52. data/rbi/orb/internal/type/boolean.rbi +2 -0
  53. data/rbi/orb/internal/type/converter.rbi +15 -15
  54. data/rbi/orb/internal/type/union.rbi +5 -0
  55. data/rbi/orb/internal/type/unknown.rbi +2 -0
  56. data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +3 -3
  57. data/rbi/orb/models/customers/credits/ledger_create_entry_params.rbi +3 -3
  58. data/rbi/orb/models/invoice.rbi +2 -0
  59. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +2 -0
  60. data/rbi/orb/models/invoice_line_item_create_response.rbi +2 -0
  61. data/rbi/orb/models/new_plan_bps_price.rbi +13 -3
  62. data/rbi/orb/models/new_plan_bulk_bps_price.rbi +13 -3
  63. data/rbi/orb/models/new_plan_bulk_price.rbi +13 -3
  64. data/rbi/orb/models/new_plan_bulk_with_proration_price.rbi +13 -3
  65. data/rbi/orb/models/new_plan_cumulative_grouped_bulk_price.rbi +13 -3
  66. data/rbi/orb/models/new_plan_grouped_allocation_price.rbi +13 -3
  67. data/rbi/orb/models/new_plan_grouped_tiered_package_price.rbi +13 -3
  68. data/rbi/orb/models/new_plan_grouped_tiered_price.rbi +13 -3
  69. data/rbi/orb/models/new_plan_grouped_with_metered_minimum_price.rbi +13 -3
  70. data/rbi/orb/models/new_plan_grouped_with_prorated_minimum_price.rbi +13 -3
  71. data/rbi/orb/models/new_plan_matrix_price.rbi +13 -3
  72. data/rbi/orb/models/new_plan_matrix_with_allocation_price.rbi +13 -3
  73. data/rbi/orb/models/new_plan_matrix_with_display_name_price.rbi +13 -3
  74. data/rbi/orb/models/new_plan_max_group_tiered_package_price.rbi +13 -3
  75. data/rbi/orb/models/new_plan_package_price.rbi +13 -3
  76. data/rbi/orb/models/new_plan_package_with_allocation_price.rbi +13 -3
  77. data/rbi/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rbi +13 -3
  78. data/rbi/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rbi +13 -3
  79. data/rbi/orb/models/new_plan_threshold_total_amount_price.rbi +13 -3
  80. data/rbi/orb/models/new_plan_tier_with_proration_price.rbi +13 -3
  81. data/rbi/orb/models/new_plan_tiered_bps_price.rbi +13 -3
  82. data/rbi/orb/models/new_plan_tiered_package_price.rbi +13 -3
  83. data/rbi/orb/models/new_plan_tiered_package_with_minimum_price.rbi +13 -3
  84. data/rbi/orb/models/new_plan_tiered_price.rbi +13 -3
  85. data/rbi/orb/models/new_plan_tiered_with_minimum_price.rbi +13 -3
  86. data/rbi/orb/models/new_plan_unit_price.rbi +13 -3
  87. data/rbi/orb/models/new_plan_unit_with_percent_price.rbi +13 -3
  88. data/rbi/orb/models/new_plan_unit_with_proration_price.rbi +13 -3
  89. data/rbi/orb/models/plan_create_params.rbi +415 -135
  90. data/rbi/orb/resources/customers/credits/ledger.rbi +6 -6
  91. data/rbi/orb/resources/plans.rbi +11 -33
  92. data/sig/orb/errors.rbs +9 -0
  93. data/sig/orb/internal/type/converter.rbs +7 -1
  94. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbs +1 -1
  95. data/sig/orb/models/customers/credits/ledger_create_entry_params.rbs +1 -1
  96. data/sig/orb/models/new_plan_bps_price.rbs +8 -3
  97. data/sig/orb/models/new_plan_bulk_bps_price.rbs +8 -3
  98. data/sig/orb/models/new_plan_bulk_price.rbs +8 -3
  99. data/sig/orb/models/new_plan_bulk_with_proration_price.rbs +8 -3
  100. data/sig/orb/models/new_plan_cumulative_grouped_bulk_price.rbs +8 -3
  101. data/sig/orb/models/new_plan_grouped_allocation_price.rbs +8 -3
  102. data/sig/orb/models/new_plan_grouped_tiered_package_price.rbs +8 -3
  103. data/sig/orb/models/new_plan_grouped_tiered_price.rbs +8 -3
  104. data/sig/orb/models/new_plan_grouped_with_metered_minimum_price.rbs +8 -3
  105. data/sig/orb/models/new_plan_grouped_with_prorated_minimum_price.rbs +8 -3
  106. data/sig/orb/models/new_plan_matrix_price.rbs +8 -3
  107. data/sig/orb/models/new_plan_matrix_with_allocation_price.rbs +8 -3
  108. data/sig/orb/models/new_plan_matrix_with_display_name_price.rbs +8 -3
  109. data/sig/orb/models/new_plan_max_group_tiered_package_price.rbs +8 -3
  110. data/sig/orb/models/new_plan_package_price.rbs +8 -3
  111. data/sig/orb/models/new_plan_package_with_allocation_price.rbs +8 -3
  112. data/sig/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rbs +8 -3
  113. data/sig/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rbs +8 -3
  114. data/sig/orb/models/new_plan_threshold_total_amount_price.rbs +8 -3
  115. data/sig/orb/models/new_plan_tier_with_proration_price.rbs +8 -3
  116. data/sig/orb/models/new_plan_tiered_bps_price.rbs +8 -3
  117. data/sig/orb/models/new_plan_tiered_package_price.rbs +8 -3
  118. data/sig/orb/models/new_plan_tiered_package_with_minimum_price.rbs +8 -3
  119. data/sig/orb/models/new_plan_tiered_price.rbs +8 -3
  120. data/sig/orb/models/new_plan_tiered_with_minimum_price.rbs +8 -3
  121. data/sig/orb/models/new_plan_unit_price.rbs +8 -3
  122. data/sig/orb/models/new_plan_unit_with_percent_price.rbs +8 -3
  123. data/sig/orb/models/new_plan_unit_with_proration_price.rbs +8 -3
  124. data/sig/orb/models/plan_create_params.rbs +156 -37
  125. data/sig/orb/resources/customers/credits/ledger.rbs +2 -2
  126. data/sig/orb/resources/plans.rbs +3 -1
  127. metadata +2 -2
@@ -15,12 +15,14 @@ module Orb
15
15
  CoerceState =
16
16
  T.type_alias do
17
17
  {
18
- strictness: T.any(T::Boolean, Symbol),
18
+ translate_names: T::Boolean,
19
+ strictness: T::Boolean,
19
20
  exactness: {
20
21
  yes: Integer,
21
22
  no: Integer,
22
23
  maybe: Integer
23
24
  },
25
+ error: T::Class[StandardError],
24
26
  branched: Integer
25
27
  }
26
28
  end
@@ -84,6 +86,15 @@ module Orb
84
86
  def self.type_info(spec)
85
87
  end
86
88
 
89
+ # @api private
90
+ sig do
91
+ params(translate_names: T::Boolean).returns(
92
+ Orb::Internal::Type::Converter::CoerceState
93
+ )
94
+ end
95
+ def self.new_coerce_state(translate_names: true)
96
+ end
97
+
87
98
  # @api private
88
99
  #
89
100
  # Based on `target`, transform `value` into `target`, to the extent possible:
@@ -105,14 +116,11 @@ module Orb
105
116
  def self.coerce(
106
117
  target,
107
118
  value,
108
- # The `strictness` is one of `true`, `false`, or `:strong`. This informs the
109
- # coercion strategy when we have to decide between multiple possible conversion
110
- # targets:
119
+ # The `strictness` is one of `true`, `false`. This informs the coercion strategy
120
+ # when we have to decide between multiple possible conversion targets:
111
121
  #
112
122
  # - `true`: the conversion must be exact, with minimum coercion.
113
123
  # - `false`: the conversion can be approximate, with some coercion.
114
- # - `:strong`: the conversion must be exact, with no coercion, and raise an error
115
- # if not possible.
116
124
  #
117
125
  # The `exactness` is `Hash` with keys being one of `yes`, `no`, or `maybe`. For
118
126
  # any given conversion attempt, the exactness will be updated based on how closely
@@ -124,15 +132,7 @@ module Orb
124
132
  # - `no`: the value cannot be converted to the target type.
125
133
  #
126
134
  # See implementation below for more details.
127
- state: {
128
- strictness: true,
129
- exactness: {
130
- yes: 0,
131
- no: 0,
132
- maybe: 0
133
- },
134
- branched: 0
135
- }
135
+ state: Orb::Internal::Type::Converter.new_coerce_state
136
136
  )
137
137
  end
138
138
 
@@ -78,6 +78,11 @@ module Orb
78
78
  end
79
79
 
80
80
  # @api private
81
+ #
82
+ # Tries to efficiently coerce the given value to one of the known variants.
83
+ #
84
+ # If the value cannot match any of the known variants, the coercion is considered
85
+ # non-viable and returns the original value.
81
86
  sig do
82
87
  override
83
88
  .params(
@@ -22,6 +22,8 @@ module Orb
22
22
 
23
23
  class << self
24
24
  # @api private
25
+ #
26
+ # No coercion needed for Unknown type.
25
27
  sig do
26
28
  override
27
29
  .params(
@@ -107,12 +107,12 @@ module Orb
107
107
  amount: Float,
108
108
  entry_type:
109
109
  Orb::Customers::Credits::LedgerCreateEntryByExternalIDParams::EntryType::OrSymbol,
110
- expiry_date: T.nilable(Time),
111
110
  target_expiry_date: Date,
112
111
  block_id: String,
113
112
  currency: T.nilable(String),
114
113
  description: T.nilable(String),
115
114
  effective_date: T.nilable(Time),
115
+ expiry_date: T.nilable(Time),
116
116
  invoice_settings:
117
117
  T.nilable(
118
118
  Orb::Customers::Credits::LedgerCreateEntryByExternalIDParams::InvoiceSettings::OrHash
@@ -131,8 +131,6 @@ module Orb
131
131
  # decrement or void operations.
132
132
  amount:,
133
133
  entry_type:,
134
- # An ISO 8601 format date that identifies the origination credit block to expire
135
- expiry_date:,
136
134
  # A future date (specified in YYYY-MM-DD format) used for expiration change,
137
135
  # denoting when credits transferred (as part of a partial block expiration) should
138
136
  # expire.
@@ -149,6 +147,8 @@ module Orb
149
147
  # An ISO 8601 format date that denotes when this credit balance should become
150
148
  # available for use.
151
149
  effective_date: nil,
150
+ # An ISO 8601 format date that identifies the origination credit block to expire
151
+ expiry_date: nil,
152
152
  # Passing `invoice_settings` automatically generates an invoice for the newly
153
153
  # added credits. If `invoice_settings` is passed, you must specify
154
154
  # per_unit_cost_basis, as the calculation of the invoice total is done on that
@@ -107,12 +107,12 @@ module Orb
107
107
  amount: Float,
108
108
  entry_type:
109
109
  Orb::Customers::Credits::LedgerCreateEntryParams::EntryType::OrSymbol,
110
- expiry_date: T.nilable(Time),
111
110
  target_expiry_date: Date,
112
111
  block_id: String,
113
112
  currency: T.nilable(String),
114
113
  description: T.nilable(String),
115
114
  effective_date: T.nilable(Time),
115
+ expiry_date: T.nilable(Time),
116
116
  invoice_settings:
117
117
  T.nilable(
118
118
  Orb::Customers::Credits::LedgerCreateEntryParams::InvoiceSettings::OrHash
@@ -131,8 +131,6 @@ module Orb
131
131
  # decrement or void operations.
132
132
  amount:,
133
133
  entry_type:,
134
- # An ISO 8601 format date that identifies the origination credit block to expire
135
- expiry_date:,
136
134
  # A future date (specified in YYYY-MM-DD format) used for expiration change,
137
135
  # denoting when credits transferred (as part of a partial block expiration) should
138
136
  # expire.
@@ -149,6 +147,8 @@ module Orb
149
147
  # An ISO 8601 format date that denotes when this credit balance should become
150
148
  # available for use.
151
149
  effective_date: nil,
150
+ # An ISO 8601 format date that identifies the origination credit block to expire
151
+ expiry_date: nil,
152
152
  # Passing `invoice_settings` automatically generates an invoice for the newly
153
153
  # added credits. If `invoice_settings` is passed, you must specify
154
154
  # per_unit_cost_basis, as the calculation of the invoice total is done on that
@@ -1020,6 +1020,7 @@ module Orb
1020
1020
  sig { returns(String) }
1021
1021
  attr_accessor :credits_applied
1022
1022
 
1023
+ # This field is deprecated in favor of `adjustments`
1023
1024
  sig { returns(T.nilable(Orb::Discount::Variants)) }
1024
1025
  attr_accessor :discount
1025
1026
 
@@ -1201,6 +1202,7 @@ module Orb
1201
1202
  amount:,
1202
1203
  # The number of prepaid credits applied.
1203
1204
  credits_applied:,
1205
+ # This field is deprecated in favor of `adjustments`
1204
1206
  discount:,
1205
1207
  # The end date of the range of time applied for this line item's price.
1206
1208
  end_date:,
@@ -1117,6 +1117,7 @@ module Orb
1117
1117
  sig { returns(String) }
1118
1118
  attr_accessor :credits_applied
1119
1119
 
1120
+ # This field is deprecated in favor of `adjustments`
1120
1121
  sig { returns(T.nilable(Orb::Discount::Variants)) }
1121
1122
  attr_accessor :discount
1122
1123
 
@@ -1304,6 +1305,7 @@ module Orb
1304
1305
  amount:,
1305
1306
  # The number of prepaid credits applied.
1306
1307
  credits_applied:,
1308
+ # This field is deprecated in favor of `adjustments`
1307
1309
  discount:,
1308
1310
  # The end date of the range of time applied for this line item's price.
1309
1311
  end_date:,
@@ -41,6 +41,7 @@ module Orb
41
41
  sig { returns(String) }
42
42
  attr_accessor :credits_applied
43
43
 
44
+ # This field is deprecated in favor of `adjustments`
44
45
  sig { returns(T.nilable(Orb::Discount::Variants)) }
45
46
  attr_accessor :discount
46
47
 
@@ -228,6 +229,7 @@ module Orb
228
229
  amount:,
229
230
  # The number of prepaid credits applied.
230
231
  credits_applied:,
232
+ # This field is deprecated in favor of `adjustments`
231
233
  discount:,
232
234
  # The end date of the range of time applied for this line item's price.
233
235
  end_date:,
@@ -116,6 +116,11 @@ module Orb
116
116
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
117
117
  attr_accessor :metadata
118
118
 
119
+ # A transient ID that can be used to reference this price when adding adjustments
120
+ # in the same API call.
121
+ sig { returns(T.nilable(String)) }
122
+ attr_accessor :reference_id
123
+
119
124
  sig do
120
125
  params(
121
126
  bps_config: Orb::BPSConfig::OrHash,
@@ -143,7 +148,8 @@ module Orb
143
148
  invoice_grouping_key: T.nilable(String),
144
149
  invoicing_cycle_configuration:
145
150
  T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
146
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
151
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
152
+ reference_id: T.nilable(String)
147
153
  ).returns(T.attached_class)
148
154
  end
149
155
  def self.new(
@@ -186,7 +192,10 @@ module Orb
186
192
  # User-specified key/value pairs for the resource. Individual keys can be removed
187
193
  # by setting the value to `null`, and the entire metadata mapping can be cleared
188
194
  # by setting `metadata` to `null`.
189
- metadata: nil
195
+ metadata: nil,
196
+ # A transient ID that can be used to reference this price when adding adjustments
197
+ # in the same API call.
198
+ reference_id: nil
190
199
  )
191
200
  end
192
201
 
@@ -218,7 +227,8 @@ module Orb
218
227
  invoice_grouping_key: T.nilable(String),
219
228
  invoicing_cycle_configuration:
220
229
  T.nilable(Orb::NewBillingCycleConfiguration),
221
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
230
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
231
+ reference_id: T.nilable(String)
222
232
  }
223
233
  )
224
234
  end
@@ -116,6 +116,11 @@ module Orb
116
116
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
117
117
  attr_accessor :metadata
118
118
 
119
+ # A transient ID that can be used to reference this price when adding adjustments
120
+ # in the same API call.
121
+ sig { returns(T.nilable(String)) }
122
+ attr_accessor :reference_id
123
+
119
124
  sig do
120
125
  params(
121
126
  bulk_bps_config: Orb::BulkBPSConfig::OrHash,
@@ -143,7 +148,8 @@ module Orb
143
148
  invoice_grouping_key: T.nilable(String),
144
149
  invoicing_cycle_configuration:
145
150
  T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
146
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
151
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
152
+ reference_id: T.nilable(String)
147
153
  ).returns(T.attached_class)
148
154
  end
149
155
  def self.new(
@@ -186,7 +192,10 @@ module Orb
186
192
  # User-specified key/value pairs for the resource. Individual keys can be removed
187
193
  # by setting the value to `null`, and the entire metadata mapping can be cleared
188
194
  # by setting `metadata` to `null`.
189
- metadata: nil
195
+ metadata: nil,
196
+ # A transient ID that can be used to reference this price when adding adjustments
197
+ # in the same API call.
198
+ reference_id: nil
190
199
  )
191
200
  end
192
201
 
@@ -218,7 +227,8 @@ module Orb
218
227
  invoice_grouping_key: T.nilable(String),
219
228
  invoicing_cycle_configuration:
220
229
  T.nilable(Orb::NewBillingCycleConfiguration),
221
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
230
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
231
+ reference_id: T.nilable(String)
222
232
  }
223
233
  )
224
234
  end
@@ -116,6 +116,11 @@ module Orb
116
116
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
117
117
  attr_accessor :metadata
118
118
 
119
+ # A transient ID that can be used to reference this price when adding adjustments
120
+ # in the same API call.
121
+ sig { returns(T.nilable(String)) }
122
+ attr_accessor :reference_id
123
+
119
124
  sig do
120
125
  params(
121
126
  bulk_config: Orb::BulkConfig::OrHash,
@@ -143,7 +148,8 @@ module Orb
143
148
  invoice_grouping_key: T.nilable(String),
144
149
  invoicing_cycle_configuration:
145
150
  T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
146
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
151
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
152
+ reference_id: T.nilable(String)
147
153
  ).returns(T.attached_class)
148
154
  end
149
155
  def self.new(
@@ -186,7 +192,10 @@ module Orb
186
192
  # User-specified key/value pairs for the resource. Individual keys can be removed
187
193
  # by setting the value to `null`, and the entire metadata mapping can be cleared
188
194
  # by setting `metadata` to `null`.
189
- metadata: nil
195
+ metadata: nil,
196
+ # A transient ID that can be used to reference this price when adding adjustments
197
+ # in the same API call.
198
+ reference_id: nil
190
199
  )
191
200
  end
192
201
 
@@ -218,7 +227,8 @@ module Orb
218
227
  invoice_grouping_key: T.nilable(String),
219
228
  invoicing_cycle_configuration:
220
229
  T.nilable(Orb::NewBillingCycleConfiguration),
221
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
230
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
231
+ reference_id: T.nilable(String)
222
232
  }
223
233
  )
224
234
  end
@@ -115,6 +115,11 @@ module Orb
115
115
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
116
116
  attr_accessor :metadata
117
117
 
118
+ # A transient ID that can be used to reference this price when adding adjustments
119
+ # in the same API call.
120
+ sig { returns(T.nilable(String)) }
121
+ attr_accessor :reference_id
122
+
118
123
  sig do
119
124
  params(
120
125
  bulk_with_proration_config: T::Hash[Symbol, T.anything],
@@ -142,7 +147,8 @@ module Orb
142
147
  invoice_grouping_key: T.nilable(String),
143
148
  invoicing_cycle_configuration:
144
149
  T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
145
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
150
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
151
+ reference_id: T.nilable(String)
146
152
  ).returns(T.attached_class)
147
153
  end
148
154
  def self.new(
@@ -185,7 +191,10 @@ module Orb
185
191
  # User-specified key/value pairs for the resource. Individual keys can be removed
186
192
  # by setting the value to `null`, and the entire metadata mapping can be cleared
187
193
  # by setting `metadata` to `null`.
188
- metadata: nil
194
+ metadata: nil,
195
+ # A transient ID that can be used to reference this price when adding adjustments
196
+ # in the same API call.
197
+ reference_id: nil
189
198
  )
190
199
  end
191
200
 
@@ -217,7 +226,8 @@ module Orb
217
226
  invoice_grouping_key: T.nilable(String),
218
227
  invoicing_cycle_configuration:
219
228
  T.nilable(Orb::NewBillingCycleConfiguration),
220
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
229
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
230
+ reference_id: T.nilable(String)
221
231
  }
222
232
  )
223
233
  end
@@ -117,6 +117,11 @@ module Orb
117
117
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
118
118
  attr_accessor :metadata
119
119
 
120
+ # A transient ID that can be used to reference this price when adding adjustments
121
+ # in the same API call.
122
+ sig { returns(T.nilable(String)) }
123
+ attr_accessor :reference_id
124
+
120
125
  sig do
121
126
  params(
122
127
  cadence: Orb::NewPlanCumulativeGroupedBulkPrice::Cadence::OrSymbol,
@@ -145,7 +150,8 @@ module Orb
145
150
  invoice_grouping_key: T.nilable(String),
146
151
  invoicing_cycle_configuration:
147
152
  T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
148
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
153
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
154
+ reference_id: T.nilable(String)
149
155
  ).returns(T.attached_class)
150
156
  end
151
157
  def self.new(
@@ -188,7 +194,10 @@ module Orb
188
194
  # User-specified key/value pairs for the resource. Individual keys can be removed
189
195
  # by setting the value to `null`, and the entire metadata mapping can be cleared
190
196
  # by setting `metadata` to `null`.
191
- metadata: nil
197
+ metadata: nil,
198
+ # A transient ID that can be used to reference this price when adding adjustments
199
+ # in the same API call.
200
+ reference_id: nil
192
201
  )
193
202
  end
194
203
 
@@ -221,7 +230,8 @@ module Orb
221
230
  invoice_grouping_key: T.nilable(String),
222
231
  invoicing_cycle_configuration:
223
232
  T.nilable(Orb::NewBillingCycleConfiguration),
224
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
233
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
234
+ reference_id: T.nilable(String)
225
235
  }
226
236
  )
227
237
  end
@@ -115,6 +115,11 @@ module Orb
115
115
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
116
116
  attr_accessor :metadata
117
117
 
118
+ # A transient ID that can be used to reference this price when adding adjustments
119
+ # in the same API call.
120
+ sig { returns(T.nilable(String)) }
121
+ attr_accessor :reference_id
122
+
118
123
  sig do
119
124
  params(
120
125
  cadence: Orb::NewPlanGroupedAllocationPrice::Cadence::OrSymbol,
@@ -142,7 +147,8 @@ module Orb
142
147
  invoice_grouping_key: T.nilable(String),
143
148
  invoicing_cycle_configuration:
144
149
  T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
145
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
150
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
151
+ reference_id: T.nilable(String)
146
152
  ).returns(T.attached_class)
147
153
  end
148
154
  def self.new(
@@ -185,7 +191,10 @@ module Orb
185
191
  # User-specified key/value pairs for the resource. Individual keys can be removed
186
192
  # by setting the value to `null`, and the entire metadata mapping can be cleared
187
193
  # by setting `metadata` to `null`.
188
- metadata: nil
194
+ metadata: nil,
195
+ # A transient ID that can be used to reference this price when adding adjustments
196
+ # in the same API call.
197
+ reference_id: nil
189
198
  )
190
199
  end
191
200
 
@@ -217,7 +226,8 @@ module Orb
217
226
  invoice_grouping_key: T.nilable(String),
218
227
  invoicing_cycle_configuration:
219
228
  T.nilable(Orb::NewBillingCycleConfiguration),
220
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
229
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
230
+ reference_id: T.nilable(String)
221
231
  }
222
232
  )
223
233
  end
@@ -117,6 +117,11 @@ module Orb
117
117
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
118
118
  attr_accessor :metadata
119
119
 
120
+ # A transient ID that can be used to reference this price when adding adjustments
121
+ # in the same API call.
122
+ sig { returns(T.nilable(String)) }
123
+ attr_accessor :reference_id
124
+
120
125
  sig do
121
126
  params(
122
127
  cadence: Orb::NewPlanGroupedTieredPackagePrice::Cadence::OrSymbol,
@@ -145,7 +150,8 @@ module Orb
145
150
  invoice_grouping_key: T.nilable(String),
146
151
  invoicing_cycle_configuration:
147
152
  T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
148
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
153
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
154
+ reference_id: T.nilable(String)
149
155
  ).returns(T.attached_class)
150
156
  end
151
157
  def self.new(
@@ -188,7 +194,10 @@ module Orb
188
194
  # User-specified key/value pairs for the resource. Individual keys can be removed
189
195
  # by setting the value to `null`, and the entire metadata mapping can be cleared
190
196
  # by setting `metadata` to `null`.
191
- metadata: nil
197
+ metadata: nil,
198
+ # A transient ID that can be used to reference this price when adding adjustments
199
+ # in the same API call.
200
+ reference_id: nil
192
201
  )
193
202
  end
194
203
 
@@ -221,7 +230,8 @@ module Orb
221
230
  invoice_grouping_key: T.nilable(String),
222
231
  invoicing_cycle_configuration:
223
232
  T.nilable(Orb::NewBillingCycleConfiguration),
224
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
233
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
234
+ reference_id: T.nilable(String)
225
235
  }
226
236
  )
227
237
  end
@@ -115,6 +115,11 @@ module Orb
115
115
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
116
116
  attr_accessor :metadata
117
117
 
118
+ # A transient ID that can be used to reference this price when adding adjustments
119
+ # in the same API call.
120
+ sig { returns(T.nilable(String)) }
121
+ attr_accessor :reference_id
122
+
118
123
  sig do
119
124
  params(
120
125
  cadence: Orb::NewPlanGroupedTieredPrice::Cadence::OrSymbol,
@@ -142,7 +147,8 @@ module Orb
142
147
  invoice_grouping_key: T.nilable(String),
143
148
  invoicing_cycle_configuration:
144
149
  T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
145
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
150
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
151
+ reference_id: T.nilable(String)
146
152
  ).returns(T.attached_class)
147
153
  end
148
154
  def self.new(
@@ -185,7 +191,10 @@ module Orb
185
191
  # User-specified key/value pairs for the resource. Individual keys can be removed
186
192
  # by setting the value to `null`, and the entire metadata mapping can be cleared
187
193
  # by setting `metadata` to `null`.
188
- metadata: nil
194
+ metadata: nil,
195
+ # A transient ID that can be used to reference this price when adding adjustments
196
+ # in the same API call.
197
+ reference_id: nil
189
198
  )
190
199
  end
191
200
 
@@ -217,7 +226,8 @@ module Orb
217
226
  invoice_grouping_key: T.nilable(String),
218
227
  invoicing_cycle_configuration:
219
228
  T.nilable(Orb::NewBillingCycleConfiguration),
220
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
229
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
230
+ reference_id: T.nilable(String)
221
231
  }
222
232
  )
223
233
  end
@@ -122,6 +122,11 @@ module Orb
122
122
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
123
123
  attr_accessor :metadata
124
124
 
125
+ # A transient ID that can be used to reference this price when adding adjustments
126
+ # in the same API call.
127
+ sig { returns(T.nilable(String)) }
128
+ attr_accessor :reference_id
129
+
125
130
  sig do
126
131
  params(
127
132
  cadence:
@@ -151,7 +156,8 @@ module Orb
151
156
  invoice_grouping_key: T.nilable(String),
152
157
  invoicing_cycle_configuration:
153
158
  T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
154
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
159
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
160
+ reference_id: T.nilable(String)
155
161
  ).returns(T.attached_class)
156
162
  end
157
163
  def self.new(
@@ -194,7 +200,10 @@ module Orb
194
200
  # User-specified key/value pairs for the resource. Individual keys can be removed
195
201
  # by setting the value to `null`, and the entire metadata mapping can be cleared
196
202
  # by setting `metadata` to `null`.
197
- metadata: nil
203
+ metadata: nil,
204
+ # A transient ID that can be used to reference this price when adding adjustments
205
+ # in the same API call.
206
+ reference_id: nil
198
207
  )
199
208
  end
200
209
 
@@ -228,7 +237,8 @@ module Orb
228
237
  invoice_grouping_key: T.nilable(String),
229
238
  invoicing_cycle_configuration:
230
239
  T.nilable(Orb::NewBillingCycleConfiguration),
231
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
240
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
241
+ reference_id: T.nilable(String)
232
242
  }
233
243
  )
234
244
  end
@@ -124,6 +124,11 @@ module Orb
124
124
  sig { returns(T.nilable(T::Hash[Symbol, T.nilable(String)])) }
125
125
  attr_accessor :metadata
126
126
 
127
+ # A transient ID that can be used to reference this price when adding adjustments
128
+ # in the same API call.
129
+ sig { returns(T.nilable(String)) }
130
+ attr_accessor :reference_id
131
+
127
132
  sig do
128
133
  params(
129
134
  cadence:
@@ -153,7 +158,8 @@ module Orb
153
158
  invoice_grouping_key: T.nilable(String),
154
159
  invoicing_cycle_configuration:
155
160
  T.nilable(Orb::NewBillingCycleConfiguration::OrHash),
156
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
161
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
162
+ reference_id: T.nilable(String)
157
163
  ).returns(T.attached_class)
158
164
  end
159
165
  def self.new(
@@ -196,7 +202,10 @@ module Orb
196
202
  # User-specified key/value pairs for the resource. Individual keys can be removed
197
203
  # by setting the value to `null`, and the entire metadata mapping can be cleared
198
204
  # by setting `metadata` to `null`.
199
- metadata: nil
205
+ metadata: nil,
206
+ # A transient ID that can be used to reference this price when adding adjustments
207
+ # in the same API call.
208
+ reference_id: nil
200
209
  )
201
210
  end
202
211
 
@@ -230,7 +239,8 @@ module Orb
230
239
  invoice_grouping_key: T.nilable(String),
231
240
  invoicing_cycle_configuration:
232
241
  T.nilable(Orb::NewBillingCycleConfiguration),
233
- metadata: T.nilable(T::Hash[Symbol, T.nilable(String)])
242
+ metadata: T.nilable(T::Hash[Symbol, T.nilable(String)]),
243
+ reference_id: T.nilable(String)
234
244
  }
235
245
  )
236
246
  end