orb-billing 1.13.0 → 1.15.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 (624) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/README.md +1 -1
  4. data/lib/orb/client.rb +21 -0
  5. data/lib/orb/internal/transport/base_client.rb +5 -0
  6. data/lib/orb/internal/type/union.rb +13 -27
  7. data/lib/orb/internal/util.rb +22 -7
  8. data/lib/orb/models/accounting_provider_config.rb +14 -3
  9. data/lib/orb/models/adjustment_interval.rb +185 -3
  10. data/lib/orb/models/alert.rb +114 -1
  11. data/lib/orb/models/alert_create_for_customer_params.rb +8 -1
  12. data/lib/orb/models/alert_create_for_external_customer_params.rb +8 -1
  13. data/lib/orb/models/alert_create_for_subscription_params.rb +142 -1
  14. data/lib/orb/models/alert_disable_params.rb +8 -1
  15. data/lib/orb/models/alert_enable_params.rb +8 -1
  16. data/lib/orb/models/alert_retrieve_params.rb +7 -1
  17. data/lib/orb/models/alert_update_params.rb +120 -1
  18. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +3296 -631
  19. data/lib/orb/models/beta/external_plan_id_fetch_plan_version_params.rb +7 -1
  20. data/lib/orb/models/beta/external_plan_id_set_default_plan_version_params.rb +8 -1
  21. data/lib/orb/models/beta_create_plan_version_params.rb +3263 -622
  22. data/lib/orb/models/beta_fetch_plan_version_params.rb +7 -1
  23. data/lib/orb/models/beta_set_default_plan_version_params.rb +8 -1
  24. data/lib/orb/models/changed_subscription_resources.rb +200 -10
  25. data/lib/orb/models/conversion_rate_config.rb +18 -0
  26. data/lib/orb/models/coupon_archive_params.rb +7 -1
  27. data/lib/orb/models/coupon_fetch_params.rb +7 -1
  28. data/lib/orb/models/coupons/subscription_list_params.rb +8 -1
  29. data/lib/orb/models/credit_block_delete_params.rb +7 -1
  30. data/lib/orb/models/credit_block_list_invoices_params.rb +7 -1
  31. data/lib/orb/models/credit_block_list_invoices_response.rb +155 -1
  32. data/lib/orb/models/credit_block_retrieve_params.rb +7 -1
  33. data/lib/orb/models/credit_block_retrieve_response.rb +150 -1
  34. data/lib/orb/models/credit_note_fetch_params.rb +7 -1
  35. data/lib/orb/models/customer.rb +122 -3
  36. data/lib/orb/models/customer_create_params.rb +17 -1
  37. data/lib/orb/models/customer_delete_params.rb +7 -1
  38. data/lib/orb/models/customer_fetch_by_external_id_params.rb +7 -1
  39. data/lib/orb/models/customer_fetch_params.rb +7 -1
  40. data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +7 -1
  41. data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +7 -1
  42. data/lib/orb/models/customer_tax_id.rb +15 -1
  43. data/lib/orb/models/customer_update_by_external_id_params.rb +39 -5
  44. data/lib/orb/models/customer_update_params.rb +39 -5
  45. data/lib/orb/models/customers/balance_transaction_create_params.rb +8 -1
  46. data/lib/orb/models/customers/balance_transaction_list_params.rb +8 -1
  47. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +8 -1
  48. data/lib/orb/models/customers/cost_list_params.rb +8 -1
  49. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +8 -1
  50. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +155 -1
  51. data/lib/orb/models/customers/credit_list_params.rb +8 -1
  52. data/lib/orb/models/customers/credit_list_response.rb +152 -1
  53. data/lib/orb/models/customers/credits/decrement_ledger_entry.rb +5 -1
  54. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +582 -315
  55. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +580 -313
  56. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +8 -1
  57. data/lib/orb/models/customers/credits/ledger_list_params.rb +8 -1
  58. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +8 -1
  59. data/lib/orb/models/customers/credits/top_up_create_params.rb +8 -1
  60. data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +7 -1
  61. data/lib/orb/models/customers/credits/top_up_delete_params.rb +7 -1
  62. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +8 -1
  63. data/lib/orb/models/customers/credits/top_up_list_params.rb +8 -1
  64. data/lib/orb/models/dimensional_price_group.rb +1 -1
  65. data/lib/orb/models/dimensional_price_group_retrieve_params.rb +7 -1
  66. data/lib/orb/models/dimensional_price_group_update_params.rb +8 -1
  67. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +7 -1
  68. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_update_params.rb +8 -1
  69. data/lib/orb/models/discount.rb +145 -1
  70. data/lib/orb/models/event_deprecate_params.rb +7 -1
  71. data/lib/orb/models/event_ingest_params.rb +5 -2
  72. data/lib/orb/models/event_update_params.rb +8 -1
  73. data/lib/orb/models/events/backfill_close_params.rb +7 -1
  74. data/lib/orb/models/events/backfill_fetch_params.rb +7 -1
  75. data/lib/orb/models/events/backfill_revert_params.rb +7 -1
  76. data/lib/orb/models/invoice.rb +198 -10
  77. data/lib/orb/models/invoice_create_params.rb +6 -5
  78. data/lib/orb/models/invoice_delete_line_item_params.rb +7 -1
  79. data/lib/orb/models/invoice_fetch_params.rb +7 -1
  80. data/lib/orb/models/invoice_fetch_upcoming_response.rb +200 -10
  81. data/lib/orb/models/invoice_issue_params.rb +8 -1
  82. data/lib/orb/models/invoice_issue_summary_params.rb +8 -1
  83. data/lib/orb/models/invoice_issue_summary_response.rb +9 -3
  84. data/lib/orb/models/invoice_level_discount.rb +145 -1
  85. data/lib/orb/models/invoice_line_item_create_response.rb +189 -5
  86. data/lib/orb/models/invoice_list_summary_response.rb +9 -3
  87. data/lib/orb/models/invoice_mark_paid_params.rb +8 -1
  88. data/lib/orb/models/invoice_pay_params.rb +16 -1
  89. data/lib/orb/models/invoice_update_params.rb +8 -1
  90. data/lib/orb/models/invoice_void_params.rb +7 -1
  91. data/lib/orb/models/item_archive_params.rb +7 -1
  92. data/lib/orb/models/item_fetch_params.rb +7 -1
  93. data/lib/orb/models/item_update_params.rb +8 -1
  94. data/lib/orb/models/license_deactivate_params.rb +8 -1
  95. data/lib/orb/models/license_retrieve_by_external_id_params.rb +8 -1
  96. data/lib/orb/models/license_retrieve_params.rb +7 -1
  97. data/lib/orb/models/license_type_retrieve_params.rb +7 -1
  98. data/lib/orb/models/licenses/external_license_get_usage_params.rb +11 -4
  99. data/lib/orb/models/licenses/usage_get_all_usage_params.rb +3 -3
  100. data/lib/orb/models/licenses/usage_get_usage_params.rb +11 -4
  101. data/lib/orb/models/metric_fetch_params.rb +7 -1
  102. data/lib/orb/models/metric_update_params.rb +8 -1
  103. data/lib/orb/models/mutated_subscription.rb +169 -4
  104. data/lib/orb/models/new_allocation_price.rb +11 -1
  105. data/lib/orb/models/new_floating_bulk_price.rb +1 -3
  106. data/lib/orb/models/new_floating_bulk_with_proration_price.rb +1 -3
  107. data/lib/orb/models/new_floating_cumulative_grouped_bulk_price.rb +1 -3
  108. data/lib/orb/models/new_floating_grouped_allocation_price.rb +1 -3
  109. data/lib/orb/models/new_floating_grouped_tiered_package_price.rb +1 -3
  110. data/lib/orb/models/new_floating_grouped_tiered_price.rb +1 -3
  111. data/lib/orb/models/new_floating_grouped_with_metered_minimum_price.rb +1 -3
  112. data/lib/orb/models/new_floating_grouped_with_prorated_minimum_price.rb +1 -3
  113. data/lib/orb/models/new_floating_matrix_price.rb +1 -3
  114. data/lib/orb/models/new_floating_matrix_with_allocation_price.rb +1 -3
  115. data/lib/orb/models/new_floating_matrix_with_display_name_price.rb +1 -3
  116. data/lib/orb/models/new_floating_max_group_tiered_package_price.rb +1 -3
  117. data/lib/orb/models/new_floating_minimum_composite_price.rb +1 -3
  118. data/lib/orb/models/new_floating_package_price.rb +1 -3
  119. data/lib/orb/models/new_floating_package_with_allocation_price.rb +1 -3
  120. data/lib/orb/models/new_floating_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  121. data/lib/orb/models/new_floating_scalable_matrix_with_unit_pricing_price.rb +1 -3
  122. data/lib/orb/models/new_floating_threshold_total_amount_price.rb +1 -3
  123. data/lib/orb/models/new_floating_tiered_package_price.rb +1 -3
  124. data/lib/orb/models/new_floating_tiered_package_with_minimum_price.rb +1 -3
  125. data/lib/orb/models/new_floating_tiered_price.rb +1 -3
  126. data/lib/orb/models/new_floating_tiered_with_minimum_price.rb +1 -3
  127. data/lib/orb/models/new_floating_tiered_with_proration_price.rb +1 -3
  128. data/lib/orb/models/new_floating_unit_price.rb +1 -3
  129. data/lib/orb/models/new_floating_unit_with_percent_price.rb +1 -3
  130. data/lib/orb/models/new_floating_unit_with_proration_price.rb +1 -3
  131. data/lib/orb/models/new_plan_bulk_price.rb +1 -1
  132. data/lib/orb/models/new_plan_bulk_with_proration_price.rb +1 -3
  133. data/lib/orb/models/new_plan_cumulative_grouped_bulk_price.rb +1 -3
  134. data/lib/orb/models/new_plan_grouped_allocation_price.rb +1 -3
  135. data/lib/orb/models/new_plan_grouped_tiered_package_price.rb +1 -3
  136. data/lib/orb/models/new_plan_grouped_tiered_price.rb +1 -3
  137. data/lib/orb/models/new_plan_grouped_with_metered_minimum_price.rb +1 -3
  138. data/lib/orb/models/new_plan_grouped_with_prorated_minimum_price.rb +1 -3
  139. data/lib/orb/models/new_plan_matrix_price.rb +1 -5
  140. data/lib/orb/models/new_plan_matrix_with_allocation_price.rb +1 -3
  141. data/lib/orb/models/new_plan_matrix_with_display_name_price.rb +1 -3
  142. data/lib/orb/models/new_plan_max_group_tiered_package_price.rb +1 -3
  143. data/lib/orb/models/new_plan_minimum_composite_price.rb +1 -3
  144. data/lib/orb/models/new_plan_package_price.rb +1 -5
  145. data/lib/orb/models/new_plan_package_with_allocation_price.rb +1 -3
  146. data/lib/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  147. data/lib/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rb +1 -3
  148. data/lib/orb/models/new_plan_threshold_total_amount_price.rb +1 -3
  149. data/lib/orb/models/new_plan_tiered_package_price.rb +1 -3
  150. data/lib/orb/models/new_plan_tiered_package_with_minimum_price.rb +1 -3
  151. data/lib/orb/models/new_plan_tiered_price.rb +1 -5
  152. data/lib/orb/models/new_plan_tiered_with_minimum_price.rb +1 -3
  153. data/lib/orb/models/new_plan_unit_price.rb +1 -1
  154. data/lib/orb/models/new_plan_unit_with_percent_price.rb +1 -3
  155. data/lib/orb/models/new_plan_unit_with_proration_price.rb +1 -3
  156. data/lib/orb/models/new_subscription_bulk_price.rb +1 -3
  157. data/lib/orb/models/new_subscription_bulk_with_proration_price.rb +1 -3
  158. data/lib/orb/models/new_subscription_cumulative_grouped_bulk_price.rb +1 -3
  159. data/lib/orb/models/new_subscription_grouped_allocation_price.rb +1 -3
  160. data/lib/orb/models/new_subscription_grouped_tiered_package_price.rb +1 -3
  161. data/lib/orb/models/new_subscription_grouped_tiered_price.rb +1 -3
  162. data/lib/orb/models/new_subscription_grouped_with_metered_minimum_price.rb +1 -3
  163. data/lib/orb/models/new_subscription_grouped_with_prorated_minimum_price.rb +1 -3
  164. data/lib/orb/models/new_subscription_matrix_price.rb +1 -3
  165. data/lib/orb/models/new_subscription_matrix_with_allocation_price.rb +1 -3
  166. data/lib/orb/models/new_subscription_matrix_with_display_name_price.rb +1 -3
  167. data/lib/orb/models/new_subscription_max_group_tiered_package_price.rb +1 -3
  168. data/lib/orb/models/new_subscription_minimum_composite_price.rb +1 -3
  169. data/lib/orb/models/new_subscription_package_price.rb +1 -3
  170. data/lib/orb/models/new_subscription_package_with_allocation_price.rb +1 -3
  171. data/lib/orb/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  172. data/lib/orb/models/new_subscription_scalable_matrix_with_unit_pricing_price.rb +1 -3
  173. data/lib/orb/models/new_subscription_threshold_total_amount_price.rb +1 -3
  174. data/lib/orb/models/new_subscription_tiered_package_price.rb +1 -3
  175. data/lib/orb/models/new_subscription_tiered_package_with_minimum_price.rb +1 -3
  176. data/lib/orb/models/new_subscription_tiered_price.rb +1 -3
  177. data/lib/orb/models/new_subscription_tiered_with_minimum_price.rb +1 -3
  178. data/lib/orb/models/new_subscription_unit_price.rb +1 -3
  179. data/lib/orb/models/new_subscription_unit_with_percent_price.rb +1 -3
  180. data/lib/orb/models/new_subscription_unit_with_proration_price.rb +1 -3
  181. data/lib/orb/models/per_price_cost.rb +2 -2
  182. data/lib/orb/models/plan.rb +189 -9
  183. data/lib/orb/models/plan_create_params.rb +1478 -158
  184. data/lib/orb/models/plan_fetch_params.rb +7 -1
  185. data/lib/orb/models/plan_update_params.rb +16 -1
  186. data/lib/orb/models/plan_version.rb +186 -5
  187. data/lib/orb/models/plans/external_plan_id_fetch_params.rb +7 -1
  188. data/lib/orb/models/plans/external_plan_id_update_params.rb +16 -1
  189. data/lib/orb/models/plans/migration_cancel_params.rb +7 -1
  190. data/lib/orb/models/plans/migration_cancel_response.rb +22 -4
  191. data/lib/orb/models/plans/migration_list_params.rb +8 -1
  192. data/lib/orb/models/plans/migration_list_response.rb +22 -4
  193. data/lib/orb/models/plans/migration_retrieve_params.rb +7 -1
  194. data/lib/orb/models/plans/migration_retrieve_response.rb +22 -4
  195. data/lib/orb/models/price.rb +2807 -1244
  196. data/lib/orb/models/price_create_params.rb +1800 -1355
  197. data/lib/orb/models/price_evaluate_multiple_params.rb +889 -54
  198. data/lib/orb/models/price_evaluate_params.rb +8 -1
  199. data/lib/orb/models/price_evaluate_preview_events_params.rb +881 -46
  200. data/lib/orb/models/price_fetch_params.rb +7 -1
  201. data/lib/orb/models/price_interval.rb +2 -2
  202. data/lib/orb/models/price_update_params.rb +8 -1
  203. data/lib/orb/models/prices/external_price_id_fetch_params.rb +7 -1
  204. data/lib/orb/models/prices/external_price_id_update_params.rb +8 -1
  205. data/lib/orb/models/subscription.rb +168 -4
  206. data/lib/orb/models/subscription_cancel_params.rb +8 -1
  207. data/lib/orb/models/subscription_change_apply_params.rb +8 -1
  208. data/lib/orb/models/subscription_change_cancel_params.rb +7 -1
  209. data/lib/orb/models/subscription_change_retrieve_params.rb +7 -1
  210. data/lib/orb/models/subscription_create_params.rb +2818 -674
  211. data/lib/orb/models/subscription_fetch_costs_params.rb +8 -1
  212. data/lib/orb/models/subscription_fetch_params.rb +7 -1
  213. data/lib/orb/models/subscription_fetch_schedule_params.rb +8 -1
  214. data/lib/orb/models/subscription_fetch_usage_params.rb +8 -1
  215. data/lib/orb/models/subscription_price_intervals_params.rb +1103 -55
  216. data/lib/orb/models/subscription_redeem_coupon_params.rb +8 -1
  217. data/lib/orb/models/subscription_schedule_plan_change_params.rb +2839 -685
  218. data/lib/orb/models/subscription_trigger_phase_params.rb +8 -1
  219. data/lib/orb/models/subscription_unschedule_cancellation_params.rb +7 -1
  220. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +8 -1
  221. data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +7 -1
  222. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +8 -1
  223. data/lib/orb/models/subscription_update_params.rb +19 -1
  224. data/lib/orb/models/subscription_update_trial_params.rb +8 -1
  225. data/lib/orb/models.rb +2 -0
  226. data/lib/orb/resources/alerts.rb +20 -2
  227. data/lib/orb/resources/coupons.rb +1 -2
  228. data/lib/orb/resources/credit_blocks.rb +11 -8
  229. data/lib/orb/resources/customers/credits/ledger.rb +40 -81
  230. data/lib/orb/resources/customers.rb +12 -7
  231. data/lib/orb/resources/events/backfills.rb +3 -4
  232. data/lib/orb/resources/events.rb +7 -34
  233. data/lib/orb/resources/invoices.rb +18 -7
  234. data/lib/orb/resources/licenses/external_licenses.rb +1 -1
  235. data/lib/orb/resources/licenses/usage.rb +2 -2
  236. data/lib/orb/resources/metrics.rb +5 -5
  237. data/lib/orb/resources/plans/external_plan_id.rb +5 -3
  238. data/lib/orb/resources/plans.rb +9 -5
  239. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  240. data/lib/orb/resources/prices.rb +13 -104
  241. data/lib/orb/resources/subscriptions.rb +24 -7
  242. data/lib/orb/version.rb +1 -1
  243. data/lib/orb.rb +1 -0
  244. data/rbi/orb/client.rbi +6 -0
  245. data/rbi/orb/internal/util.rbi +8 -0
  246. data/rbi/orb/models/accounting_provider_config.rbi +38 -5
  247. data/rbi/orb/models/adjustment_interval.rbi +336 -0
  248. data/rbi/orb/models/alert.rbi +182 -3
  249. data/rbi/orb/models/alert_create_for_customer_params.rbi +6 -0
  250. data/rbi/orb/models/alert_create_for_external_customer_params.rbi +6 -0
  251. data/rbi/orb/models/alert_create_for_subscription_params.rbi +285 -0
  252. data/rbi/orb/models/alert_disable_params.rbi +6 -0
  253. data/rbi/orb/models/alert_enable_params.rbi +6 -0
  254. data/rbi/orb/models/alert_retrieve_params.rbi +13 -5
  255. data/rbi/orb/models/alert_update_params.rbi +214 -0
  256. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +5873 -1161
  257. data/rbi/orb/models/beta/external_plan_id_fetch_plan_version_params.rbi +10 -2
  258. data/rbi/orb/models/beta/external_plan_id_set_default_plan_version_params.rbi +10 -1
  259. data/rbi/orb/models/beta_create_plan_version_params.rbi +5877 -1165
  260. data/rbi/orb/models/beta_fetch_plan_version_params.rbi +10 -2
  261. data/rbi/orb/models/beta_set_default_plan_version_params.rbi +10 -1
  262. data/rbi/orb/models/changed_subscription_resources.rbi +360 -5
  263. data/rbi/orb/models/conversion_rate_config.rbi +18 -0
  264. data/rbi/orb/models/coupon_archive_params.rbi +13 -5
  265. data/rbi/orb/models/coupon_fetch_params.rbi +13 -5
  266. data/rbi/orb/models/coupons/subscription_list_params.rbi +6 -0
  267. data/rbi/orb/models/credit_block_delete_params.rbi +13 -5
  268. data/rbi/orb/models/credit_block_list_invoices_params.rbi +13 -5
  269. data/rbi/orb/models/credit_block_list_invoices_response.rbi +346 -3
  270. data/rbi/orb/models/credit_block_retrieve_params.rbi +13 -5
  271. data/rbi/orb/models/credit_block_retrieve_response.rbi +344 -3
  272. data/rbi/orb/models/credit_note_fetch_params.rbi +13 -5
  273. data/rbi/orb/models/customer.rbi +202 -0
  274. data/rbi/orb/models/customer_create_params.rbi +27 -0
  275. data/rbi/orb/models/customer_delete_params.rbi +13 -5
  276. data/rbi/orb/models/customer_fetch_by_external_id_params.rbi +13 -5
  277. data/rbi/orb/models/customer_fetch_params.rbi +13 -5
  278. data/rbi/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbi +13 -5
  279. data/rbi/orb/models/customer_sync_payment_methods_from_gateway_params.rbi +13 -5
  280. data/rbi/orb/models/customer_tax_id.rbi +15 -1
  281. data/rbi/orb/models/customer_update_by_external_id_params.rbi +51 -4
  282. data/rbi/orb/models/customer_update_params.rbi +51 -4
  283. data/rbi/orb/models/customers/balance_transaction_create_params.rbi +6 -0
  284. data/rbi/orb/models/customers/balance_transaction_list_params.rbi +6 -0
  285. data/rbi/orb/models/customers/cost_list_by_external_id_params.rbi +6 -0
  286. data/rbi/orb/models/customers/cost_list_params.rbi +6 -0
  287. data/rbi/orb/models/customers/credit_list_by_external_id_params.rbi +6 -0
  288. data/rbi/orb/models/customers/credit_list_by_external_id_response.rbi +346 -3
  289. data/rbi/orb/models/customers/credit_list_params.rbi +6 -0
  290. data/rbi/orb/models/customers/credit_list_response.rbi +347 -3
  291. data/rbi/orb/models/customers/credits/decrement_ledger_entry.rbi +4 -0
  292. data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +861 -478
  293. data/rbi/orb/models/customers/credits/ledger_create_entry_params.rbi +861 -478
  294. data/rbi/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +6 -0
  295. data/rbi/orb/models/customers/credits/ledger_list_params.rbi +6 -0
  296. data/rbi/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +6 -0
  297. data/rbi/orb/models/customers/credits/top_up_create_params.rbi +6 -0
  298. data/rbi/orb/models/customers/credits/top_up_delete_by_external_id_params.rbi +6 -1
  299. data/rbi/orb/models/customers/credits/top_up_delete_params.rbi +10 -2
  300. data/rbi/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +6 -0
  301. data/rbi/orb/models/customers/credits/top_up_list_params.rbi +6 -0
  302. data/rbi/orb/models/dimensional_price_group.rbi +1 -1
  303. data/rbi/orb/models/dimensional_price_group_retrieve_params.rbi +16 -5
  304. data/rbi/orb/models/dimensional_price_group_update_params.rbi +6 -0
  305. data/rbi/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbi +16 -5
  306. data/rbi/orb/models/dimensional_price_groups/external_dimensional_price_group_id_update_params.rbi +6 -0
  307. data/rbi/orb/models/discount.rbi +269 -1
  308. data/rbi/orb/models/event_deprecate_params.rbi +13 -5
  309. data/rbi/orb/models/event_ingest_params.rbi +4 -2
  310. data/rbi/orb/models/event_update_params.rbi +6 -0
  311. data/rbi/orb/models/events/backfill_close_params.rbi +13 -5
  312. data/rbi/orb/models/events/backfill_fetch_params.rbi +13 -5
  313. data/rbi/orb/models/events/backfill_revert_params.rbi +13 -5
  314. data/rbi/orb/models/invoice.rbi +360 -5
  315. data/rbi/orb/models/invoice_create_params.rbi +12 -7
  316. data/rbi/orb/models/invoice_delete_line_item_params.rbi +10 -2
  317. data/rbi/orb/models/invoice_fetch_params.rbi +13 -5
  318. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +360 -5
  319. data/rbi/orb/models/invoice_issue_params.rbi +10 -1
  320. data/rbi/orb/models/invoice_issue_summary_params.rbi +10 -1
  321. data/rbi/orb/models/invoice_issue_summary_response.rbi +19 -4
  322. data/rbi/orb/models/invoice_level_discount.rbi +298 -1
  323. data/rbi/orb/models/invoice_line_item_create_response.rbi +339 -0
  324. data/rbi/orb/models/invoice_list_summary_response.rbi +19 -4
  325. data/rbi/orb/models/invoice_mark_paid_params.rbi +6 -0
  326. data/rbi/orb/models/invoice_pay_params.rbi +27 -5
  327. data/rbi/orb/models/invoice_update_params.rbi +6 -0
  328. data/rbi/orb/models/invoice_void_params.rbi +13 -5
  329. data/rbi/orb/models/item_archive_params.rbi +13 -5
  330. data/rbi/orb/models/item_fetch_params.rbi +13 -5
  331. data/rbi/orb/models/item_update_params.rbi +6 -0
  332. data/rbi/orb/models/license_deactivate_params.rbi +10 -1
  333. data/rbi/orb/models/license_retrieve_by_external_id_params.rbi +6 -0
  334. data/rbi/orb/models/license_retrieve_params.rbi +13 -5
  335. data/rbi/orb/models/license_type_retrieve_params.rbi +13 -5
  336. data/rbi/orb/models/licenses/external_license_get_usage_params.rbi +9 -3
  337. data/rbi/orb/models/licenses/usage_get_all_usage_params.rbi +3 -3
  338. data/rbi/orb/models/licenses/usage_get_usage_params.rbi +9 -3
  339. data/rbi/orb/models/metric_fetch_params.rbi +13 -5
  340. data/rbi/orb/models/metric_update_params.rbi +6 -0
  341. data/rbi/orb/models/mutated_subscription.rbi +324 -2
  342. data/rbi/orb/models/new_allocation_price.rbi +12 -0
  343. data/rbi/orb/models/per_price_cost.rbi +3 -0
  344. data/rbi/orb/models/plan.rbi +339 -2
  345. data/rbi/orb/models/plan_create_params.rbi +2566 -209
  346. data/rbi/orb/models/plan_fetch_params.rbi +13 -5
  347. data/rbi/orb/models/plan_update_params.rbi +14 -0
  348. data/rbi/orb/models/plan_version.rbi +339 -0
  349. data/rbi/orb/models/plans/external_plan_id_fetch_params.rbi +13 -5
  350. data/rbi/orb/models/plans/external_plan_id_update_params.rbi +14 -0
  351. data/rbi/orb/models/plans/migration_cancel_params.rbi +10 -2
  352. data/rbi/orb/models/plans/migration_cancel_response.rbi +22 -1
  353. data/rbi/orb/models/plans/migration_list_params.rbi +6 -0
  354. data/rbi/orb/models/plans/migration_list_response.rbi +22 -1
  355. data/rbi/orb/models/plans/migration_retrieve_params.rbi +10 -2
  356. data/rbi/orb/models/plans/migration_retrieve_response.rbi +22 -1
  357. data/rbi/orb/models/price.rbi +4733 -2280
  358. data/rbi/orb/models/price_create_params.rbi +3022 -2408
  359. data/rbi/orb/models/price_evaluate_multiple_params.rbi +1540 -114
  360. data/rbi/orb/models/price_evaluate_params.rbi +6 -0
  361. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +1540 -114
  362. data/rbi/orb/models/price_fetch_params.rbi +13 -5
  363. data/rbi/orb/models/price_interval.rbi +3 -0
  364. data/rbi/orb/models/price_update_params.rbi +6 -0
  365. data/rbi/orb/models/prices/external_price_id_fetch_params.rbi +13 -5
  366. data/rbi/orb/models/prices/external_price_id_update_params.rbi +6 -0
  367. data/rbi/orb/models/subscription.rbi +324 -2
  368. data/rbi/orb/models/subscription_cancel_params.rbi +6 -0
  369. data/rbi/orb/models/subscription_change_apply_params.rbi +6 -0
  370. data/rbi/orb/models/subscription_change_cancel_params.rbi +16 -5
  371. data/rbi/orb/models/subscription_change_retrieve_params.rbi +16 -5
  372. data/rbi/orb/models/subscription_create_params.rbi +4998 -1186
  373. data/rbi/orb/models/subscription_fetch_costs_params.rbi +6 -0
  374. data/rbi/orb/models/subscription_fetch_params.rbi +13 -5
  375. data/rbi/orb/models/subscription_fetch_schedule_params.rbi +6 -0
  376. data/rbi/orb/models/subscription_fetch_usage_params.rbi +6 -0
  377. data/rbi/orb/models/subscription_price_intervals_params.rbi +2133 -264
  378. data/rbi/orb/models/subscription_redeem_coupon_params.rbi +6 -0
  379. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +5001 -1183
  380. data/rbi/orb/models/subscription_trigger_phase_params.rbi +6 -0
  381. data/rbi/orb/models/subscription_unschedule_cancellation_params.rbi +13 -5
  382. data/rbi/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +10 -1
  383. data/rbi/orb/models/subscription_unschedule_pending_plan_changes_params.rbi +13 -5
  384. data/rbi/orb/models/subscription_update_fixed_fee_quantity_params.rbi +6 -0
  385. data/rbi/orb/models/subscription_update_params.rbi +20 -0
  386. data/rbi/orb/models/subscription_update_trial_params.rbi +6 -0
  387. data/rbi/orb/models.rbi +2 -0
  388. data/rbi/orb/resources/alerts.rbi +43 -0
  389. data/rbi/orb/resources/coupons.rbi +1 -2
  390. data/rbi/orb/resources/credit_blocks.rbi +10 -7
  391. data/rbi/orb/resources/customers/credits/ledger.rbi +50 -146
  392. data/rbi/orb/resources/customers.rbi +35 -7
  393. data/rbi/orb/resources/events/backfills.rbi +3 -4
  394. data/rbi/orb/resources/events.rbi +8 -35
  395. data/rbi/orb/resources/invoices.rbi +20 -6
  396. data/rbi/orb/resources/licenses/external_licenses.rbi +1 -1
  397. data/rbi/orb/resources/licenses/usage.rbi +2 -2
  398. data/rbi/orb/resources/metrics.rbi +5 -5
  399. data/rbi/orb/resources/plans/external_plan_id.rbi +5 -2
  400. data/rbi/orb/resources/plans.rbi +9 -3
  401. data/rbi/orb/resources/prices.rbi +38 -184
  402. data/rbi/orb/resources/subscriptions.rbi +33 -4
  403. data/sig/orb/client.rbs +3 -0
  404. data/sig/orb/internal/util.rbs +4 -0
  405. data/sig/orb/models/accounting_provider_config.rbs +21 -4
  406. data/sig/orb/models/adjustment_interval.rbs +134 -0
  407. data/sig/orb/models/alert.rbs +90 -3
  408. data/sig/orb/models/alert_create_for_customer_params.rbs +5 -0
  409. data/sig/orb/models/alert_create_for_external_customer_params.rbs +5 -0
  410. data/sig/orb/models/alert_create_for_subscription_params.rbs +98 -1
  411. data/sig/orb/models/alert_disable_params.rbs +6 -1
  412. data/sig/orb/models/alert_enable_params.rbs +6 -1
  413. data/sig/orb/models/alert_retrieve_params.rbs +9 -3
  414. data/sig/orb/models/alert_update_params.rbs +90 -1
  415. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +2318 -397
  416. data/sig/orb/models/beta/external_plan_id_fetch_plan_version_params.rbs +6 -1
  417. data/sig/orb/models/beta/external_plan_id_set_default_plan_version_params.rbs +6 -1
  418. data/sig/orb/models/beta_create_plan_version_params.rbs +2300 -389
  419. data/sig/orb/models/beta_fetch_plan_version_params.rbs +10 -2
  420. data/sig/orb/models/beta_set_default_plan_version_params.rbs +10 -2
  421. data/sig/orb/models/changed_subscription_resources.rbs +140 -1
  422. data/sig/orb/models/conversion_rate_config.rbs +12 -0
  423. data/sig/orb/models/coupon_archive_params.rbs +12 -3
  424. data/sig/orb/models/coupon_fetch_params.rbs +12 -3
  425. data/sig/orb/models/coupons/subscription_list_params.rbs +5 -1
  426. data/sig/orb/models/credit_block_delete_params.rbs +8 -3
  427. data/sig/orb/models/credit_block_list_invoices_params.rbs +8 -3
  428. data/sig/orb/models/credit_block_list_invoices_response.rbs +124 -3
  429. data/sig/orb/models/credit_block_retrieve_params.rbs +8 -3
  430. data/sig/orb/models/credit_block_retrieve_response.rbs +124 -3
  431. data/sig/orb/models/credit_note_fetch_params.rbs +11 -3
  432. data/sig/orb/models/customer.rbs +79 -1
  433. data/sig/orb/models/customer_create_params.rbs +12 -1
  434. data/sig/orb/models/customer_delete_params.rbs +12 -3
  435. data/sig/orb/models/customer_fetch_by_external_id_params.rbs +11 -3
  436. data/sig/orb/models/customer_fetch_params.rbs +12 -3
  437. data/sig/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbs +11 -3
  438. data/sig/orb/models/customer_sync_payment_methods_from_gateway_params.rbs +11 -3
  439. data/sig/orb/models/customer_tax_id.rbs +20 -2
  440. data/sig/orb/models/customer_update_by_external_id_params.rbs +22 -1
  441. data/sig/orb/models/customer_update_params.rbs +22 -1
  442. data/sig/orb/models/customers/balance_transaction_create_params.rbs +5 -0
  443. data/sig/orb/models/customers/balance_transaction_list_params.rbs +5 -0
  444. data/sig/orb/models/customers/cost_list_by_external_id_params.rbs +5 -0
  445. data/sig/orb/models/customers/cost_list_params.rbs +5 -0
  446. data/sig/orb/models/customers/credit_list_by_external_id_params.rbs +5 -0
  447. data/sig/orb/models/customers/credit_list_by_external_id_response.rbs +124 -3
  448. data/sig/orb/models/customers/credit_list_params.rbs +5 -0
  449. data/sig/orb/models/customers/credit_list_response.rbs +124 -3
  450. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbs +345 -157
  451. data/sig/orb/models/customers/credits/ledger_create_entry_params.rbs +345 -157
  452. data/sig/orb/models/customers/credits/ledger_list_by_external_id_params.rbs +5 -0
  453. data/sig/orb/models/customers/credits/ledger_list_params.rbs +5 -0
  454. data/sig/orb/models/customers/credits/top_up_create_by_external_id_params.rbs +5 -0
  455. data/sig/orb/models/customers/credits/top_up_create_params.rbs +5 -0
  456. data/sig/orb/models/customers/credits/top_up_delete_by_external_id_params.rbs +5 -1
  457. data/sig/orb/models/customers/credits/top_up_delete_params.rbs +6 -1
  458. data/sig/orb/models/customers/credits/top_up_list_by_external_id_params.rbs +5 -1
  459. data/sig/orb/models/customers/credits/top_up_list_params.rbs +5 -1
  460. data/sig/orb/models/dimensional_price_group_retrieve_params.rbs +12 -3
  461. data/sig/orb/models/dimensional_price_group_update_params.rbs +5 -0
  462. data/sig/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbs +12 -3
  463. data/sig/orb/models/dimensional_price_groups/external_dimensional_price_group_id_update_params.rbs +5 -0
  464. data/sig/orb/models/discount.rbs +114 -0
  465. data/sig/orb/models/event_deprecate_params.rbs +9 -3
  466. data/sig/orb/models/event_update_params.rbs +5 -0
  467. data/sig/orb/models/events/backfill_close_params.rbs +11 -3
  468. data/sig/orb/models/events/backfill_fetch_params.rbs +11 -3
  469. data/sig/orb/models/events/backfill_revert_params.rbs +11 -3
  470. data/sig/orb/models/invoice.rbs +140 -1
  471. data/sig/orb/models/invoice_delete_line_item_params.rbs +6 -1
  472. data/sig/orb/models/invoice_fetch_params.rbs +12 -3
  473. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +140 -1
  474. data/sig/orb/models/invoice_issue_params.rbs +6 -1
  475. data/sig/orb/models/invoice_issue_summary_params.rbs +6 -1
  476. data/sig/orb/models/invoice_issue_summary_response.rbs +2 -1
  477. data/sig/orb/models/invoice_level_discount.rbs +117 -1
  478. data/sig/orb/models/invoice_line_item_create_response.rbs +134 -0
  479. data/sig/orb/models/invoice_list_summary_response.rbs +2 -1
  480. data/sig/orb/models/invoice_mark_paid_params.rbs +10 -1
  481. data/sig/orb/models/invoice_pay_params.rbs +17 -3
  482. data/sig/orb/models/invoice_update_params.rbs +5 -0
  483. data/sig/orb/models/invoice_void_params.rbs +12 -3
  484. data/sig/orb/models/item_archive_params.rbs +9 -3
  485. data/sig/orb/models/item_fetch_params.rbs +9 -3
  486. data/sig/orb/models/item_update_params.rbs +5 -0
  487. data/sig/orb/models/license_deactivate_params.rbs +10 -2
  488. data/sig/orb/models/license_retrieve_by_external_id_params.rbs +9 -1
  489. data/sig/orb/models/license_retrieve_params.rbs +11 -3
  490. data/sig/orb/models/license_type_retrieve_params.rbs +11 -3
  491. data/sig/orb/models/licenses/external_license_get_usage_params.rbs +9 -4
  492. data/sig/orb/models/licenses/usage_get_all_usage_params.rbs +4 -4
  493. data/sig/orb/models/licenses/usage_get_usage_params.rbs +9 -4
  494. data/sig/orb/models/metric_fetch_params.rbs +12 -3
  495. data/sig/orb/models/metric_update_params.rbs +5 -1
  496. data/sig/orb/models/mutated_subscription.rbs +124 -0
  497. data/sig/orb/models/new_allocation_price.rbs +5 -0
  498. data/sig/orb/models/new_floating_bulk_price.rbs +4 -4
  499. data/sig/orb/models/new_floating_bulk_with_proration_price.rbs +4 -4
  500. data/sig/orb/models/new_floating_cumulative_grouped_bulk_price.rbs +4 -4
  501. data/sig/orb/models/new_floating_grouped_allocation_price.rbs +4 -4
  502. data/sig/orb/models/new_floating_grouped_tiered_package_price.rbs +4 -4
  503. data/sig/orb/models/new_floating_grouped_tiered_price.rbs +4 -4
  504. data/sig/orb/models/new_floating_grouped_with_metered_minimum_price.rbs +4 -4
  505. data/sig/orb/models/new_floating_grouped_with_prorated_minimum_price.rbs +4 -4
  506. data/sig/orb/models/new_floating_matrix_price.rbs +4 -4
  507. data/sig/orb/models/new_floating_matrix_with_allocation_price.rbs +4 -4
  508. data/sig/orb/models/new_floating_matrix_with_display_name_price.rbs +4 -4
  509. data/sig/orb/models/new_floating_max_group_tiered_package_price.rbs +4 -4
  510. data/sig/orb/models/new_floating_minimum_composite_price.rbs +4 -4
  511. data/sig/orb/models/new_floating_package_price.rbs +4 -4
  512. data/sig/orb/models/new_floating_package_with_allocation_price.rbs +4 -4
  513. data/sig/orb/models/new_floating_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  514. data/sig/orb/models/new_floating_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  515. data/sig/orb/models/new_floating_threshold_total_amount_price.rbs +4 -4
  516. data/sig/orb/models/new_floating_tiered_package_price.rbs +4 -4
  517. data/sig/orb/models/new_floating_tiered_package_with_minimum_price.rbs +4 -4
  518. data/sig/orb/models/new_floating_tiered_price.rbs +4 -4
  519. data/sig/orb/models/new_floating_tiered_with_minimum_price.rbs +4 -4
  520. data/sig/orb/models/new_floating_tiered_with_proration_price.rbs +4 -4
  521. data/sig/orb/models/new_floating_unit_price.rbs +4 -4
  522. data/sig/orb/models/new_floating_unit_with_percent_price.rbs +4 -4
  523. data/sig/orb/models/new_floating_unit_with_proration_price.rbs +4 -4
  524. data/sig/orb/models/new_plan_bulk_price.rbs +4 -4
  525. data/sig/orb/models/new_plan_bulk_with_proration_price.rbs +4 -4
  526. data/sig/orb/models/new_plan_cumulative_grouped_bulk_price.rbs +4 -4
  527. data/sig/orb/models/new_plan_grouped_allocation_price.rbs +4 -4
  528. data/sig/orb/models/new_plan_grouped_tiered_package_price.rbs +4 -4
  529. data/sig/orb/models/new_plan_grouped_tiered_price.rbs +4 -4
  530. data/sig/orb/models/new_plan_grouped_with_metered_minimum_price.rbs +4 -4
  531. data/sig/orb/models/new_plan_grouped_with_prorated_minimum_price.rbs +4 -4
  532. data/sig/orb/models/new_plan_matrix_price.rbs +4 -4
  533. data/sig/orb/models/new_plan_matrix_with_allocation_price.rbs +4 -4
  534. data/sig/orb/models/new_plan_matrix_with_display_name_price.rbs +4 -4
  535. data/sig/orb/models/new_plan_max_group_tiered_package_price.rbs +4 -4
  536. data/sig/orb/models/new_plan_minimum_composite_price.rbs +4 -4
  537. data/sig/orb/models/new_plan_package_price.rbs +4 -4
  538. data/sig/orb/models/new_plan_package_with_allocation_price.rbs +4 -4
  539. data/sig/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  540. data/sig/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  541. data/sig/orb/models/new_plan_threshold_total_amount_price.rbs +4 -4
  542. data/sig/orb/models/new_plan_tiered_package_price.rbs +4 -4
  543. data/sig/orb/models/new_plan_tiered_package_with_minimum_price.rbs +4 -4
  544. data/sig/orb/models/new_plan_tiered_price.rbs +4 -4
  545. data/sig/orb/models/new_plan_tiered_with_minimum_price.rbs +4 -4
  546. data/sig/orb/models/new_plan_unit_price.rbs +4 -4
  547. data/sig/orb/models/new_plan_unit_with_percent_price.rbs +4 -4
  548. data/sig/orb/models/new_plan_unit_with_proration_price.rbs +4 -4
  549. data/sig/orb/models/new_subscription_bulk_price.rbs +4 -4
  550. data/sig/orb/models/new_subscription_bulk_with_proration_price.rbs +4 -4
  551. data/sig/orb/models/new_subscription_cumulative_grouped_bulk_price.rbs +4 -4
  552. data/sig/orb/models/new_subscription_grouped_allocation_price.rbs +4 -4
  553. data/sig/orb/models/new_subscription_grouped_tiered_package_price.rbs +4 -4
  554. data/sig/orb/models/new_subscription_grouped_tiered_price.rbs +4 -4
  555. data/sig/orb/models/new_subscription_grouped_with_metered_minimum_price.rbs +4 -4
  556. data/sig/orb/models/new_subscription_grouped_with_prorated_minimum_price.rbs +4 -4
  557. data/sig/orb/models/new_subscription_matrix_price.rbs +4 -4
  558. data/sig/orb/models/new_subscription_matrix_with_allocation_price.rbs +4 -4
  559. data/sig/orb/models/new_subscription_matrix_with_display_name_price.rbs +4 -4
  560. data/sig/orb/models/new_subscription_max_group_tiered_package_price.rbs +4 -4
  561. data/sig/orb/models/new_subscription_minimum_composite_price.rbs +4 -4
  562. data/sig/orb/models/new_subscription_package_price.rbs +4 -4
  563. data/sig/orb/models/new_subscription_package_with_allocation_price.rbs +4 -4
  564. data/sig/orb/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  565. data/sig/orb/models/new_subscription_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  566. data/sig/orb/models/new_subscription_threshold_total_amount_price.rbs +4 -4
  567. data/sig/orb/models/new_subscription_tiered_package_price.rbs +4 -4
  568. data/sig/orb/models/new_subscription_tiered_package_with_minimum_price.rbs +4 -4
  569. data/sig/orb/models/new_subscription_tiered_price.rbs +4 -4
  570. data/sig/orb/models/new_subscription_tiered_with_minimum_price.rbs +4 -4
  571. data/sig/orb/models/new_subscription_unit_price.rbs +4 -4
  572. data/sig/orb/models/new_subscription_unit_with_percent_price.rbs +4 -4
  573. data/sig/orb/models/new_subscription_unit_with_proration_price.rbs +4 -4
  574. data/sig/orb/models/plan.rbs +134 -0
  575. data/sig/orb/models/plan_create_params.rbs +1030 -72
  576. data/sig/orb/models/plan_fetch_params.rbs +9 -3
  577. data/sig/orb/models/plan_update_params.rbs +14 -1
  578. data/sig/orb/models/plan_version.rbs +134 -0
  579. data/sig/orb/models/plans/external_plan_id_fetch_params.rbs +11 -3
  580. data/sig/orb/models/plans/external_plan_id_update_params.rbs +14 -1
  581. data/sig/orb/models/plans/migration_cancel_params.rbs +6 -1
  582. data/sig/orb/models/plans/migration_list_params.rbs +5 -1
  583. data/sig/orb/models/plans/migration_retrieve_params.rbs +6 -1
  584. data/sig/orb/models/price.rbs +2361 -1156
  585. data/sig/orb/models/price_create_params.rbs +1124 -931
  586. data/sig/orb/models/price_evaluate_multiple_params.rbs +626 -23
  587. data/sig/orb/models/price_evaluate_params.rbs +5 -0
  588. data/sig/orb/models/price_evaluate_preview_events_params.rbs +626 -23
  589. data/sig/orb/models/price_fetch_params.rbs +9 -3
  590. data/sig/orb/models/price_update_params.rbs +5 -1
  591. data/sig/orb/models/prices/external_price_id_fetch_params.rbs +11 -3
  592. data/sig/orb/models/prices/external_price_id_update_params.rbs +5 -1
  593. data/sig/orb/models/subscription.rbs +124 -0
  594. data/sig/orb/models/subscription_cancel_params.rbs +5 -0
  595. data/sig/orb/models/subscription_change_apply_params.rbs +5 -0
  596. data/sig/orb/models/subscription_change_cancel_params.rbs +12 -3
  597. data/sig/orb/models/subscription_change_retrieve_params.rbs +12 -3
  598. data/sig/orb/models/subscription_create_params.rbs +2009 -430
  599. data/sig/orb/models/subscription_fetch_costs_params.rbs +5 -0
  600. data/sig/orb/models/subscription_fetch_params.rbs +11 -3
  601. data/sig/orb/models/subscription_fetch_schedule_params.rbs +5 -0
  602. data/sig/orb/models/subscription_fetch_usage_params.rbs +5 -0
  603. data/sig/orb/models/subscription_price_intervals_params.rbs +800 -23
  604. data/sig/orb/models/subscription_redeem_coupon_params.rbs +5 -0
  605. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +2014 -430
  606. data/sig/orb/models/subscription_trigger_phase_params.rbs +9 -1
  607. data/sig/orb/models/subscription_unschedule_cancellation_params.rbs +11 -3
  608. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbs +10 -2
  609. data/sig/orb/models/subscription_unschedule_pending_plan_changes_params.rbs +11 -3
  610. data/sig/orb/models/subscription_update_fixed_fee_quantity_params.rbs +5 -0
  611. data/sig/orb/models/subscription_update_params.rbs +10 -0
  612. data/sig/orb/models/subscription_update_trial_params.rbs +5 -0
  613. data/sig/orb/models.rbs +2 -0
  614. data/sig/orb/resources/alerts.rbs +6 -0
  615. data/sig/orb/resources/customers/credits/ledger.rbs +2 -26
  616. data/sig/orb/resources/customers.rbs +2 -0
  617. data/sig/orb/resources/invoices.rbs +1 -0
  618. data/sig/orb/resources/licenses/external_licenses.rbs +1 -1
  619. data/sig/orb/resources/licenses/usage.rbs +2 -2
  620. data/sig/orb/resources/plans/external_plan_id.rbs +1 -0
  621. data/sig/orb/resources/plans.rbs +2 -0
  622. data/sig/orb/resources/prices.rbs +1 -48
  623. data/sig/orb/resources/subscriptions.rbs +3 -0
  624. metadata +6 -7
@@ -38,6 +38,15 @@ module Orb
38
38
  # @return [Boolean, nil]
39
39
  optional :auto_collection, Orb::Internal::Type::Boolean, nil?: true
40
40
 
41
+ # @!attribute auto_issuance
42
+ # Used to determine if invoices for this subscription will be automatically
43
+ # issued. If true, invoices will be automatically issued. If false, invoices will
44
+ # require manual approval. If `null` is specified, this defaults to the behavior
45
+ # configured for this customer.
46
+ #
47
+ # @return [Boolean, nil]
48
+ optional :auto_issuance, Orb::Internal::Type::Boolean, nil?: true
49
+
41
50
  # @!attribute aws_region
42
51
  # @deprecated
43
52
  #
@@ -248,7 +257,7 @@ module Orb
248
257
  # @return [Array<String>, nil]
249
258
  optional :usage_customer_ids, Orb::Internal::Type::ArrayOf[String], nil?: true
250
259
 
251
- # @!method initialize(add_adjustments: nil, add_prices: nil, align_billing_with_subscription_start_date: nil, auto_collection: nil, aws_region: nil, billing_cycle_anchor_configuration: nil, coupon_redemption_code: nil, credits_overage_rate: nil, currency: nil, customer_id: nil, default_invoice_memo: nil, end_date: nil, external_customer_id: nil, external_marketplace: nil, external_marketplace_reporting_id: nil, external_plan_id: nil, filter: nil, initial_phase_order: nil, invoicing_threshold: nil, metadata: nil, name: nil, net_terms: nil, per_credit_overage_amount: nil, plan_id: nil, plan_version_number: nil, price_overrides: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, start_date: nil, trial_duration_days: nil, usage_customer_ids: nil, request_options: {})
260
+ # @!method initialize(add_adjustments: nil, add_prices: nil, align_billing_with_subscription_start_date: nil, auto_collection: nil, auto_issuance: nil, aws_region: nil, billing_cycle_anchor_configuration: nil, coupon_redemption_code: nil, credits_overage_rate: nil, currency: nil, customer_id: nil, default_invoice_memo: nil, end_date: nil, external_customer_id: nil, external_marketplace: nil, external_marketplace_reporting_id: nil, external_plan_id: nil, filter: nil, initial_phase_order: nil, invoicing_threshold: nil, metadata: nil, name: nil, net_terms: nil, per_credit_overage_amount: nil, plan_id: nil, plan_version_number: nil, price_overrides: nil, remove_adjustments: nil, remove_prices: nil, replace_adjustments: nil, replace_prices: nil, start_date: nil, trial_duration_days: nil, usage_customer_ids: nil, request_options: {})
252
261
  # Some parameter documentations has been truncated, see
253
262
  # {Orb::Models::SubscriptionCreateParams} for more details.
254
263
  #
@@ -260,6 +269,8 @@ module Orb
260
269
  #
261
270
  # @param auto_collection [Boolean, nil] Determines whether issued invoices for this subscription will automatically be c
262
271
  #
272
+ # @param auto_issuance [Boolean, nil] Used to determine if invoices for this subscription will be automatically issued
273
+ #
263
274
  # @param aws_region [String, nil]
264
275
  #
265
276
  # @param billing_cycle_anchor_configuration [Orb::Models::BillingCycleAnchorConfiguration, nil]
@@ -324,7 +335,7 @@ module Orb
324
335
  # @!attribute adjustment
325
336
  # The definition of a new adjustment to create and add to the subscription.
326
337
  #
327
- # @return [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum]
338
+ # @return [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount]
328
339
  required :adjustment, union: -> { Orb::SubscriptionCreateParams::AddAdjustment::Adjustment }
329
340
 
330
341
  # @!attribute end_date
@@ -352,7 +363,7 @@ module Orb
352
363
  # Some parameter documentations has been truncated, see
353
364
  # {Orb::Models::SubscriptionCreateParams::AddAdjustment} for more details.
354
365
  #
355
- # @param adjustment [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum] The definition of a new adjustment to create and add to the subscription.
366
+ # @param adjustment [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount] The definition of a new adjustment to create and add to the subscription.
356
367
  #
357
368
  # @param end_date [Time, nil] The end date of the adjustment interval. This is the date that the adjustment wi
358
369
  #
@@ -378,8 +389,215 @@ module Orb
378
389
 
379
390
  variant :maximum, -> { Orb::NewMaximum }
380
391
 
392
+ variant :tiered_percentage_discount,
393
+ -> { Orb::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount }
394
+
395
+ class TieredPercentageDiscount < Orb::Internal::Type::BaseModel
396
+ # @!attribute adjustment_type
397
+ #
398
+ # @return [Symbol, :tiered_percentage_discount]
399
+ required :adjustment_type, const: :tiered_percentage_discount
400
+
401
+ # @!attribute tiers
402
+ #
403
+ # @return [Array<Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Tier>]
404
+ required :tiers,
405
+ -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Tier] }
406
+
407
+ # @!attribute applies_to_all
408
+ # If set, the adjustment will apply to every price on the subscription.
409
+ #
410
+ # @return [Boolean, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::AppliesToAll, nil]
411
+ optional :applies_to_all,
412
+ enum: -> {
413
+ Orb::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::AppliesToAll
414
+ },
415
+ nil?: true
416
+
417
+ # @!attribute applies_to_item_ids
418
+ # The set of item IDs to which this adjustment applies.
419
+ #
420
+ # @return [Array<String>, nil]
421
+ optional :applies_to_item_ids, Orb::Internal::Type::ArrayOf[String], nil?: true
422
+
423
+ # @!attribute applies_to_price_ids
424
+ # The set of price IDs to which this adjustment applies.
425
+ #
426
+ # @return [Array<String>, nil]
427
+ optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true
428
+
429
+ # @!attribute currency
430
+ # If set, only prices in the specified currency will have the adjustment applied.
431
+ #
432
+ # @return [String, nil]
433
+ optional :currency, String, nil?: true
434
+
435
+ # @!attribute filters
436
+ # A list of filters that determine which prices this adjustment will apply to.
437
+ #
438
+ # @return [Array<Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter>, nil]
439
+ optional :filters,
440
+ -> {
441
+ Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter]
442
+ },
443
+ nil?: true
444
+
445
+ # @!attribute is_invoice_level
446
+ # When false, this adjustment will be applied to a single price. Otherwise, it
447
+ # will be applied at the invoice level, possibly to multiple prices.
448
+ #
449
+ # @return [Boolean, nil]
450
+ optional :is_invoice_level, Orb::Internal::Type::Boolean
451
+
452
+ # @!attribute price_type
453
+ # If set, only prices of the specified type will have the adjustment applied.
454
+ #
455
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::PriceType, nil]
456
+ optional :price_type,
457
+ enum: -> {
458
+ Orb::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::PriceType
459
+ },
460
+ nil?: true
461
+
462
+ # @!method initialize(tiers:, applies_to_all: nil, applies_to_item_ids: nil, applies_to_price_ids: nil, currency: nil, filters: nil, is_invoice_level: nil, price_type: nil, adjustment_type: :tiered_percentage_discount)
463
+ # Some parameter documentations has been truncated, see
464
+ # {Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount}
465
+ # for more details.
466
+ #
467
+ # @param tiers [Array<Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Tier>]
468
+ #
469
+ # @param applies_to_all [Boolean, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::AppliesToAll, nil] If set, the adjustment will apply to every price on the subscription.
470
+ #
471
+ # @param applies_to_item_ids [Array<String>, nil] The set of item IDs to which this adjustment applies.
472
+ #
473
+ # @param applies_to_price_ids [Array<String>, nil] The set of price IDs to which this adjustment applies.
474
+ #
475
+ # @param currency [String, nil] If set, only prices in the specified currency will have the adjustment applied.
476
+ #
477
+ # @param filters [Array<Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter>, nil] A list of filters that determine which prices this adjustment will apply to.
478
+ #
479
+ # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil
480
+ #
481
+ # @param price_type [Symbol, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::PriceType, nil] If set, only prices of the specified type will have the adjustment applied.
482
+ #
483
+ # @param adjustment_type [Symbol, :tiered_percentage_discount]
484
+
485
+ class Tier < Orb::Internal::Type::BaseModel
486
+ # @!attribute lower_bound
487
+ # Exclusive lower bound of cumulative spend for this tier.
488
+ #
489
+ # @return [Float]
490
+ required :lower_bound, Float
491
+
492
+ # @!attribute percentage
493
+ # The percentage (0-1) discounted from spend in this tier.
494
+ #
495
+ # @return [Float]
496
+ required :percentage, Float
497
+
498
+ # @!attribute upper_bound
499
+ # Inclusive upper bound of cumulative spend; null for the final open-ended tier.
500
+ #
501
+ # @return [Float, nil]
502
+ optional :upper_bound, Float, nil?: true
503
+
504
+ # @!method initialize(lower_bound:, percentage:, upper_bound: nil)
505
+ # @param lower_bound [Float] Exclusive lower bound of cumulative spend for this tier.
506
+ #
507
+ # @param percentage [Float] The percentage (0-1) discounted from spend in this tier.
508
+ #
509
+ # @param upper_bound [Float, nil] Inclusive upper bound of cumulative spend; null for the final open-ended tier.
510
+ end
511
+
512
+ # If set, the adjustment will apply to every price on the subscription.
513
+ #
514
+ # @see Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount#applies_to_all
515
+ module AppliesToAll
516
+ extend Orb::Internal::Type::Enum
517
+
518
+ TRUE = true
519
+
520
+ # @!method self.values
521
+ # @return [Array<Boolean>]
522
+ end
523
+
524
+ class Filter < Orb::Internal::Type::BaseModel
525
+ # @!attribute field
526
+ # The property of the price to filter on.
527
+ #
528
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Field]
529
+ required :field,
530
+ enum: -> { Orb::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Field }
531
+
532
+ # @!attribute operator
533
+ # Should prices that match the filter be included or excluded.
534
+ #
535
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Operator]
536
+ required :operator,
537
+ enum: -> { Orb::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Operator }
538
+
539
+ # @!attribute values
540
+ # The IDs or values that match this filter.
541
+ #
542
+ # @return [Array<String>]
543
+ required :values, Orb::Internal::Type::ArrayOf[String]
544
+
545
+ # @!method initialize(field:, operator:, values:)
546
+ # @param field [Symbol, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Field] The property of the price to filter on.
547
+ #
548
+ # @param operator [Symbol, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
549
+ #
550
+ # @param values [Array<String>] The IDs or values that match this filter.
551
+
552
+ # The property of the price to filter on.
553
+ #
554
+ # @see Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter#field
555
+ module Field
556
+ extend Orb::Internal::Type::Enum
557
+
558
+ PRICE_ID = :price_id
559
+ ITEM_ID = :item_id
560
+ PRICE_TYPE = :price_type
561
+ CURRENCY = :currency
562
+ PRICING_UNIT_ID = :pricing_unit_id
563
+
564
+ # @!method self.values
565
+ # @return [Array<Symbol>]
566
+ end
567
+
568
+ # Should prices that match the filter be included or excluded.
569
+ #
570
+ # @see Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter#operator
571
+ module Operator
572
+ extend Orb::Internal::Type::Enum
573
+
574
+ INCLUDES = :includes
575
+ EXCLUDES = :excludes
576
+
577
+ # @!method self.values
578
+ # @return [Array<Symbol>]
579
+ end
580
+ end
581
+
582
+ # If set, only prices of the specified type will have the adjustment applied.
583
+ #
584
+ # @see Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount#price_type
585
+ module PriceType
586
+ extend Orb::Internal::Type::Enum
587
+
588
+ USAGE = :usage
589
+ FIXED_IN_ADVANCE = :fixed_in_advance
590
+ FIXED_IN_ARREARS = :fixed_in_arrears
591
+ FIXED = :fixed
592
+ IN_ARREARS = :in_arrears
593
+
594
+ # @!method self.values
595
+ # @return [Array<Symbol>]
596
+ end
597
+ end
598
+
381
599
  # @!method self.variants
382
- # @return [Array(Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum)]
600
+ # @return [Array(Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, Orb::Models::SubscriptionCreateParams::AddAdjustment::Adjustment::TieredPercentageDiscount)]
383
601
  end
384
602
  end
385
603
 
@@ -449,7 +667,7 @@ module Orb
449
667
  # @!attribute price
450
668
  # New subscription price request body params.
451
669
  #
452
- # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, nil]
670
+ # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, nil]
453
671
  optional :price, union: -> { Orb::SubscriptionCreateParams::AddPrice::Price }, nil?: true
454
672
 
455
673
  # @!attribute price_id
@@ -486,7 +704,7 @@ module Orb
486
704
  #
487
705
  # @param plan_phase_order [Integer, nil] The phase to add this price to.
488
706
  #
489
- # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, nil] New subscription price request body params.
707
+ # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput, nil] New subscription price request body params.
490
708
  #
491
709
  # @param price_id [String, nil] The id of the price to add to the subscription.
492
710
  #
@@ -528,6 +746,9 @@ module Orb
528
746
 
529
747
  variant :matrix_with_allocation, -> { Orb::NewSubscriptionMatrixWithAllocationPrice }
530
748
 
749
+ variant :matrix_with_threshold_discounts,
750
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts }
751
+
531
752
  variant :tiered_with_proration, -> { Orb::SubscriptionCreateParams::AddPrice::Price::TieredWithProration }
532
753
 
533
754
  variant :unit_with_proration, -> { Orb::NewSubscriptionUnitWithProrationPrice }
@@ -559,6 +780,11 @@ module Orb
559
780
  variant :cumulative_grouped_allocation,
560
781
  -> { Orb::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation }
561
782
 
783
+ variant :daily_credit_allowance,
784
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance }
785
+
786
+ variant :metered_allowance, -> { Orb::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance }
787
+
562
788
  variant :minimum_composite, -> { Orb::NewSubscriptionMinimumCompositePrice }
563
789
 
564
790
  variant :percent, -> { Orb::SubscriptionCreateParams::AddPrice::Price::Percent }
@@ -628,11 +854,7 @@ module Orb
628
854
  # The configuration for the rate of the price currency to the invoicing currency.
629
855
  #
630
856
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
631
- optional :conversion_rate_config,
632
- union: -> {
633
- Orb::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters::ConversionRateConfig
634
- },
635
- nil?: true
857
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
636
858
 
637
859
  # @!attribute currency
638
860
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -825,13 +1047,13 @@ module Orb
825
1047
  end
826
1048
  end
827
1049
 
828
- class TieredWithProration < Orb::Internal::Type::BaseModel
1050
+ class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
829
1051
  # @!attribute cadence
830
1052
  # The cadence to bill for this price on.
831
1053
  #
832
- # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::Cadence]
1054
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::Cadence]
833
1055
  required :cadence,
834
- enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::Cadence }
1056
+ enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::Cadence }
835
1057
 
836
1058
  # @!attribute item_id
837
1059
  # The id of the item the price will be associated with.
@@ -839,11 +1061,18 @@ module Orb
839
1061
  # @return [String]
840
1062
  required :item_id, String
841
1063
 
1064
+ # @!attribute matrix_with_threshold_discounts_config
1065
+ # Configuration for matrix_with_threshold_discounts pricing
1066
+ #
1067
+ # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig]
1068
+ required :matrix_with_threshold_discounts_config,
1069
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig }
1070
+
842
1071
  # @!attribute model_type
843
1072
  # The pricing model type
844
1073
  #
845
- # @return [Symbol, :tiered_with_proration]
846
- required :model_type, const: :tiered_with_proration
1074
+ # @return [Symbol, :matrix_with_threshold_discounts]
1075
+ required :model_type, const: :matrix_with_threshold_discounts
847
1076
 
848
1077
  # @!attribute name
849
1078
  # The name of the price.
@@ -851,13 +1080,6 @@ module Orb
851
1080
  # @return [String]
852
1081
  required :name, String
853
1082
 
854
- # @!attribute tiered_with_proration_config
855
- # Configuration for tiered_with_proration pricing
856
- #
857
- # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig]
858
- required :tiered_with_proration_config,
859
- -> { Orb::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig }
860
-
861
1083
  # @!attribute billable_metric_id
862
1084
  # The id of the billable metric for the price. Only needed if the price is
863
1085
  # usage-based.
@@ -889,11 +1111,7 @@ module Orb
889
1111
  # The configuration for the rate of the price currency to the invoicing currency.
890
1112
  #
891
1113
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
892
- optional :conversion_rate_config,
893
- union: -> {
894
- Orb::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::ConversionRateConfig
895
- },
896
- nil?: true
1114
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
897
1115
 
898
1116
  # @!attribute currency
899
1117
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -959,18 +1177,18 @@ module Orb
959
1177
  # @return [String, nil]
960
1178
  optional :reference_id, String, nil?: true
961
1179
 
962
- # @!method initialize(cadence:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :tiered_with_proration)
1180
+ # @!method initialize(cadence:, item_id:, matrix_with_threshold_discounts_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :matrix_with_threshold_discounts)
963
1181
  # Some parameter documentations has been truncated, see
964
- # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration}
1182
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts}
965
1183
  # for more details.
966
1184
  #
967
- # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on.
1185
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::Cadence] The cadence to bill for this price on.
968
1186
  #
969
1187
  # @param item_id [String] The id of the item the price will be associated with.
970
1188
  #
971
- # @param name [String] The name of the price.
1189
+ # @param matrix_with_threshold_discounts_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig] Configuration for matrix_with_threshold_discounts pricing
972
1190
  #
973
- # @param tiered_with_proration_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig] Configuration for tiered_with_proration pricing
1191
+ # @param name [String] The name of the price.
974
1192
  #
975
1193
  # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
976
1194
  #
@@ -1000,11 +1218,11 @@ module Orb
1000
1218
  #
1001
1219
  # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1002
1220
  #
1003
- # @param model_type [Symbol, :tiered_with_proration] The pricing model type
1221
+ # @param model_type [Symbol, :matrix_with_threshold_discounts] The pricing model type
1004
1222
 
1005
1223
  # The cadence to bill for this price on.
1006
1224
  #
1007
- # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration#cadence
1225
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts#cadence
1008
1226
  module Cadence
1009
1227
  extend Orb::Internal::Type::Enum
1010
1228
 
@@ -1019,62 +1237,139 @@ module Orb
1019
1237
  # @return [Array<Symbol>]
1020
1238
  end
1021
1239
 
1022
- # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration#tiered_with_proration_config
1023
- class TieredWithProrationConfig < Orb::Internal::Type::BaseModel
1024
- # @!attribute tiers
1025
- # Tiers for rating based on total usage quantities into the specified tier with
1026
- # proration
1240
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts#matrix_with_threshold_discounts_config
1241
+ class MatrixWithThresholdDiscountsConfig < Orb::Internal::Type::BaseModel
1242
+ # @!attribute default_unit_amount
1243
+ # Unit price used for usage that does not match any defined matrix cell.
1027
1244
  #
1028
- # @return [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig::Tier>]
1029
- required :tiers,
1030
- -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig::Tier] }
1245
+ # @return [String]
1246
+ required :default_unit_amount, String
1031
1247
 
1032
- # @!method initialize(tiers:)
1033
- # Some parameter documentations has been truncated, see
1034
- # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig}
1035
- # for more details.
1248
+ # @!attribute first_dimension
1249
+ # First matrix dimension key.
1036
1250
  #
1037
- # Configuration for tiered_with_proration pricing
1251
+ # @return [String]
1252
+ required :first_dimension, String
1253
+
1254
+ # @!attribute matrix_values
1255
+ # Per-cell unit prices.
1038
1256
  #
1039
- # @param tiers [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig::Tier>] Tiers for rating based on total usage quantities into the specified tier with pr
1257
+ # @return [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue>]
1258
+ required :matrix_values,
1259
+ -> do
1260
+ Orb::Internal::Type::ArrayOf[
1261
+ Orb::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue
1262
+ ]
1263
+ end
1264
+
1265
+ # @!attribute second_dimension
1266
+ # Optional second matrix dimension key.
1267
+ #
1268
+ # @return [String, nil]
1269
+ optional :second_dimension, String, nil?: true
1040
1270
 
1041
- class Tier < Orb::Internal::Type::BaseModel
1042
- # @!attribute tier_lower_bound
1043
- # Inclusive tier starting value
1271
+ # @!attribute threshold_discount_groups
1272
+ #
1273
+ # @return [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup>, nil]
1274
+ optional :threshold_discount_groups,
1275
+ -> do
1276
+ Orb::Internal::Type::ArrayOf[
1277
+ Orb::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup
1278
+ ]
1279
+ end
1280
+
1281
+ # @!method initialize(default_unit_amount:, first_dimension:, matrix_values:, second_dimension: nil, threshold_discount_groups: nil)
1282
+ # Configuration for matrix_with_threshold_discounts pricing
1283
+ #
1284
+ # @param default_unit_amount [String] Unit price used for usage that does not match any defined matrix cell.
1285
+ #
1286
+ # @param first_dimension [String] First matrix dimension key.
1287
+ #
1288
+ # @param matrix_values [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue>] Per-cell unit prices.
1289
+ #
1290
+ # @param second_dimension [String, nil] Optional second matrix dimension key.
1291
+ #
1292
+ # @param threshold_discount_groups [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup>]
1293
+
1294
+ class MatrixValue < Orb::Internal::Type::BaseModel
1295
+ # @!attribute first_dimension_value
1044
1296
  #
1045
1297
  # @return [String]
1046
- required :tier_lower_bound, String
1298
+ required :first_dimension_value, String
1047
1299
 
1048
1300
  # @!attribute unit_amount
1049
- # Amount per unit
1050
1301
  #
1051
1302
  # @return [String]
1052
1303
  required :unit_amount, String
1053
1304
 
1054
- # @!method initialize(tier_lower_bound:, unit_amount:)
1055
- # Configuration for a single tiered with proration tier
1305
+ # @!attribute second_dimension_value
1056
1306
  #
1057
- # @param tier_lower_bound [String] Inclusive tier starting value
1307
+ # @return [String, nil]
1308
+ optional :second_dimension_value, String, nil?: true
1309
+
1310
+ # @!method initialize(first_dimension_value:, unit_amount:, second_dimension_value: nil)
1311
+ # @param first_dimension_value [String]
1312
+ # @param unit_amount [String]
1313
+ # @param second_dimension_value [String, nil]
1314
+ end
1315
+
1316
+ class ThresholdDiscountGroup < Orb::Internal::Type::BaseModel
1317
+ # @!attribute above_threshold_discount_percentage
1318
+ # Discount rate applied to spend above the threshold.
1058
1319
  #
1059
- # @param unit_amount [String] Amount per unit
1320
+ # @return [String]
1321
+ required :above_threshold_discount_percentage, String
1322
+
1323
+ # @!attribute below_threshold_discount_percentage
1324
+ # Discount rate applied to spend at or below the threshold. Set to 0 for no
1325
+ # baseline discount.
1326
+ #
1327
+ # @return [String]
1328
+ required :below_threshold_discount_percentage, String
1329
+
1330
+ # @!attribute cell_coordinates
1331
+ # Semicolon-separated list of matrix cell coordinates targeted by this group. Each
1332
+ # coordinate is `first,second` when the matrix has two dimensions, or just `first`
1333
+ # for a single-dimension matrix. Example: `blue,circle;green,triangle`.
1334
+ #
1335
+ # @return [String]
1336
+ required :cell_coordinates, String
1337
+
1338
+ # @!attribute threshold_amount
1339
+ #
1340
+ # @return [String]
1341
+ required :threshold_amount, String
1342
+
1343
+ # @!attribute description
1344
+ #
1345
+ # @return [String, nil]
1346
+ optional :description, String, nil?: true
1347
+
1348
+ # @!method initialize(above_threshold_discount_percentage:, below_threshold_discount_percentage:, cell_coordinates:, threshold_amount:, description: nil)
1349
+ # Some parameter documentations has been truncated, see
1350
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup}
1351
+ # for more details.
1352
+ #
1353
+ # @param above_threshold_discount_percentage [String] Discount rate applied to spend above the threshold.
1354
+ #
1355
+ # @param below_threshold_discount_percentage [String] Discount rate applied to spend at or below the threshold. Set to 0 for no baseli
1356
+ #
1357
+ # @param cell_coordinates [String] Semicolon-separated list of matrix cell coordinates targeted by this group. Each
1358
+ #
1359
+ # @param threshold_amount [String]
1360
+ #
1361
+ # @param description [String, nil]
1060
1362
  end
1061
1363
  end
1062
1364
  end
1063
1365
 
1064
- class GroupedWithMinMaxThresholds < Orb::Internal::Type::BaseModel
1366
+ class TieredWithProration < Orb::Internal::Type::BaseModel
1065
1367
  # @!attribute cadence
1066
1368
  # The cadence to bill for this price on.
1067
1369
  #
1068
- # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::Cadence]
1370
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::Cadence]
1069
1371
  required :cadence,
1070
- enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::Cadence }
1071
-
1072
- # @!attribute grouped_with_min_max_thresholds_config
1073
- # Configuration for grouped_with_min_max_thresholds pricing
1074
- #
1075
- # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig]
1076
- required :grouped_with_min_max_thresholds_config,
1077
- -> { Orb::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig }
1372
+ enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::Cadence }
1078
1373
 
1079
1374
  # @!attribute item_id
1080
1375
  # The id of the item the price will be associated with.
@@ -1085,8 +1380,8 @@ module Orb
1085
1380
  # @!attribute model_type
1086
1381
  # The pricing model type
1087
1382
  #
1088
- # @return [Symbol, :grouped_with_min_max_thresholds]
1089
- required :model_type, const: :grouped_with_min_max_thresholds
1383
+ # @return [Symbol, :tiered_with_proration]
1384
+ required :model_type, const: :tiered_with_proration
1090
1385
 
1091
1386
  # @!attribute name
1092
1387
  # The name of the price.
@@ -1094,6 +1389,13 @@ module Orb
1094
1389
  # @return [String]
1095
1390
  required :name, String
1096
1391
 
1392
+ # @!attribute tiered_with_proration_config
1393
+ # Configuration for tiered_with_proration pricing
1394
+ #
1395
+ # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig]
1396
+ required :tiered_with_proration_config,
1397
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig }
1398
+
1097
1399
  # @!attribute billable_metric_id
1098
1400
  # The id of the billable metric for the price. Only needed if the price is
1099
1401
  # usage-based.
@@ -1125,11 +1427,7 @@ module Orb
1125
1427
  # The configuration for the rate of the price currency to the invoicing currency.
1126
1428
  #
1127
1429
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1128
- optional :conversion_rate_config,
1129
- union: -> {
1130
- Orb::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::ConversionRateConfig
1131
- },
1132
- nil?: true
1430
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1133
1431
 
1134
1432
  # @!attribute currency
1135
1433
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -1195,19 +1493,19 @@ module Orb
1195
1493
  # @return [String, nil]
1196
1494
  optional :reference_id, String, nil?: true
1197
1495
 
1198
- # @!method initialize(cadence:, grouped_with_min_max_thresholds_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :grouped_with_min_max_thresholds)
1496
+ # @!method initialize(cadence:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :tiered_with_proration)
1199
1497
  # Some parameter documentations has been truncated, see
1200
- # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds}
1498
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration}
1201
1499
  # for more details.
1202
1500
  #
1203
- # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::Cadence] The cadence to bill for this price on.
1204
- #
1205
- # @param grouped_with_min_max_thresholds_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig] Configuration for grouped_with_min_max_thresholds pricing
1501
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on.
1206
1502
  #
1207
1503
  # @param item_id [String] The id of the item the price will be associated with.
1208
1504
  #
1209
1505
  # @param name [String] The name of the price.
1210
1506
  #
1507
+ # @param tiered_with_proration_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig] Configuration for tiered_with_proration pricing
1508
+ #
1211
1509
  # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1212
1510
  #
1213
1511
  # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
@@ -1236,11 +1534,11 @@ module Orb
1236
1534
  #
1237
1535
  # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1238
1536
  #
1239
- # @param model_type [Symbol, :grouped_with_min_max_thresholds] The pricing model type
1537
+ # @param model_type [Symbol, :tiered_with_proration] The pricing model type
1240
1538
 
1241
1539
  # The cadence to bill for this price on.
1242
1540
  #
1243
- # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds#cadence
1541
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration#cadence
1244
1542
  module Cadence
1245
1543
  extend Orb::Internal::Type::Enum
1246
1544
 
@@ -1255,59 +1553,62 @@ module Orb
1255
1553
  # @return [Array<Symbol>]
1256
1554
  end
1257
1555
 
1258
- # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds#grouped_with_min_max_thresholds_config
1259
- class GroupedWithMinMaxThresholdsConfig < Orb::Internal::Type::BaseModel
1260
- # @!attribute grouping_key
1261
- # The event property used to group before applying thresholds
1262
- #
1263
- # @return [String]
1264
- required :grouping_key, String
1265
-
1266
- # @!attribute maximum_charge
1267
- # The maximum amount to charge each group
1556
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration#tiered_with_proration_config
1557
+ class TieredWithProrationConfig < Orb::Internal::Type::BaseModel
1558
+ # @!attribute tiers
1559
+ # Tiers for rating based on total usage quantities into the specified tier with
1560
+ # proration
1268
1561
  #
1269
- # @return [String]
1270
- required :maximum_charge, String
1562
+ # @return [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig::Tier>]
1563
+ required :tiers,
1564
+ -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig::Tier] }
1271
1565
 
1272
- # @!attribute minimum_charge
1273
- # The minimum amount to charge each group, regardless of usage
1566
+ # @!method initialize(tiers:)
1567
+ # Some parameter documentations has been truncated, see
1568
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig}
1569
+ # for more details.
1274
1570
  #
1275
- # @return [String]
1276
- required :minimum_charge, String
1277
-
1278
- # @!attribute per_unit_rate
1279
- # The base price charged per group
1571
+ # Configuration for tiered_with_proration pricing
1280
1572
  #
1281
- # @return [String]
1282
- required :per_unit_rate, String
1573
+ # @param tiers [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration::TieredWithProrationConfig::Tier>] Tiers for rating based on total usage quantities into the specified tier with pr
1283
1574
 
1284
- # @!method initialize(grouping_key:, maximum_charge:, minimum_charge:, per_unit_rate:)
1285
- # Configuration for grouped_with_min_max_thresholds pricing
1286
- #
1287
- # @param grouping_key [String] The event property used to group before applying thresholds
1288
- #
1289
- # @param maximum_charge [String] The maximum amount to charge each group
1290
- #
1291
- # @param minimum_charge [String] The minimum amount to charge each group, regardless of usage
1292
- #
1293
- # @param per_unit_rate [String] The base price charged per group
1575
+ class Tier < Orb::Internal::Type::BaseModel
1576
+ # @!attribute tier_lower_bound
1577
+ # Inclusive tier starting value
1578
+ #
1579
+ # @return [String]
1580
+ required :tier_lower_bound, String
1581
+
1582
+ # @!attribute unit_amount
1583
+ # Amount per unit
1584
+ #
1585
+ # @return [String]
1586
+ required :unit_amount, String
1587
+
1588
+ # @!method initialize(tier_lower_bound:, unit_amount:)
1589
+ # Configuration for a single tiered with proration tier
1590
+ #
1591
+ # @param tier_lower_bound [String] Inclusive tier starting value
1592
+ #
1593
+ # @param unit_amount [String] Amount per unit
1594
+ end
1294
1595
  end
1295
1596
  end
1296
1597
 
1297
- class CumulativeGroupedAllocation < Orb::Internal::Type::BaseModel
1598
+ class GroupedWithMinMaxThresholds < Orb::Internal::Type::BaseModel
1298
1599
  # @!attribute cadence
1299
1600
  # The cadence to bill for this price on.
1300
1601
  #
1301
- # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::Cadence]
1602
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::Cadence]
1302
1603
  required :cadence,
1303
- enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::Cadence }
1604
+ enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::Cadence }
1304
1605
 
1305
- # @!attribute cumulative_grouped_allocation_config
1306
- # Configuration for cumulative_grouped_allocation pricing
1606
+ # @!attribute grouped_with_min_max_thresholds_config
1607
+ # Configuration for grouped_with_min_max_thresholds pricing
1307
1608
  #
1308
- # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig]
1309
- required :cumulative_grouped_allocation_config,
1310
- -> { Orb::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig }
1609
+ # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig]
1610
+ required :grouped_with_min_max_thresholds_config,
1611
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig }
1311
1612
 
1312
1613
  # @!attribute item_id
1313
1614
  # The id of the item the price will be associated with.
@@ -1318,8 +1619,8 @@ module Orb
1318
1619
  # @!attribute model_type
1319
1620
  # The pricing model type
1320
1621
  #
1321
- # @return [Symbol, :cumulative_grouped_allocation]
1322
- required :model_type, const: :cumulative_grouped_allocation
1622
+ # @return [Symbol, :grouped_with_min_max_thresholds]
1623
+ required :model_type, const: :grouped_with_min_max_thresholds
1323
1624
 
1324
1625
  # @!attribute name
1325
1626
  # The name of the price.
@@ -1358,11 +1659,7 @@ module Orb
1358
1659
  # The configuration for the rate of the price currency to the invoicing currency.
1359
1660
  #
1360
1661
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1361
- optional :conversion_rate_config,
1362
- union: -> {
1363
- Orb::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::ConversionRateConfig
1364
- },
1365
- nil?: true
1662
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1366
1663
 
1367
1664
  # @!attribute currency
1368
1665
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -1428,14 +1725,14 @@ module Orb
1428
1725
  # @return [String, nil]
1429
1726
  optional :reference_id, String, nil?: true
1430
1727
 
1431
- # @!method initialize(cadence:, cumulative_grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :cumulative_grouped_allocation)
1728
+ # @!method initialize(cadence:, grouped_with_min_max_thresholds_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :grouped_with_min_max_thresholds)
1432
1729
  # Some parameter documentations has been truncated, see
1433
- # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation}
1730
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds}
1434
1731
  # for more details.
1435
1732
  #
1436
- # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::Cadence] The cadence to bill for this price on.
1733
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::Cadence] The cadence to bill for this price on.
1437
1734
  #
1438
- # @param cumulative_grouped_allocation_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig] Configuration for cumulative_grouped_allocation pricing
1735
+ # @param grouped_with_min_max_thresholds_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig] Configuration for grouped_with_min_max_thresholds pricing
1439
1736
  #
1440
1737
  # @param item_id [String] The id of the item the price will be associated with.
1441
1738
  #
@@ -1469,11 +1766,11 @@ module Orb
1469
1766
  #
1470
1767
  # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1471
1768
  #
1472
- # @param model_type [Symbol, :cumulative_grouped_allocation] The pricing model type
1769
+ # @param model_type [Symbol, :grouped_with_min_max_thresholds] The pricing model type
1473
1770
 
1474
1771
  # The cadence to bill for this price on.
1475
1772
  #
1476
- # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation#cadence
1773
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds#cadence
1477
1774
  module Cadence
1478
1775
  extend Orb::Internal::Type::Enum
1479
1776
 
@@ -1488,51 +1785,59 @@ module Orb
1488
1785
  # @return [Array<Symbol>]
1489
1786
  end
1490
1787
 
1491
- # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation#cumulative_grouped_allocation_config
1492
- class CumulativeGroupedAllocationConfig < Orb::Internal::Type::BaseModel
1493
- # @!attribute cumulative_allocation
1494
- # The overall allocation across all groups
1788
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds#grouped_with_min_max_thresholds_config
1789
+ class GroupedWithMinMaxThresholdsConfig < Orb::Internal::Type::BaseModel
1790
+ # @!attribute grouping_key
1791
+ # The event property used to group before applying thresholds
1495
1792
  #
1496
1793
  # @return [String]
1497
- required :cumulative_allocation, String
1794
+ required :grouping_key, String
1498
1795
 
1499
- # @!attribute group_allocation
1500
- # The allocation per individual group
1796
+ # @!attribute maximum_charge
1797
+ # The maximum amount to charge each group
1501
1798
  #
1502
1799
  # @return [String]
1503
- required :group_allocation, String
1800
+ required :maximum_charge, String
1504
1801
 
1505
- # @!attribute grouping_key
1506
- # The event property used to group usage before applying allocations
1802
+ # @!attribute minimum_charge
1803
+ # The minimum amount to charge each group, regardless of usage
1507
1804
  #
1508
1805
  # @return [String]
1509
- required :grouping_key, String
1806
+ required :minimum_charge, String
1510
1807
 
1511
- # @!attribute unit_amount
1512
- # The amount to charge for each unit outside of the allocation
1808
+ # @!attribute per_unit_rate
1809
+ # The base price charged per group
1513
1810
  #
1514
1811
  # @return [String]
1515
- required :unit_amount, String
1812
+ required :per_unit_rate, String
1516
1813
 
1517
- # @!method initialize(cumulative_allocation:, group_allocation:, grouping_key:, unit_amount:)
1518
- # Configuration for cumulative_grouped_allocation pricing
1814
+ # @!method initialize(grouping_key:, maximum_charge:, minimum_charge:, per_unit_rate:)
1815
+ # Configuration for grouped_with_min_max_thresholds pricing
1519
1816
  #
1520
- # @param cumulative_allocation [String] The overall allocation across all groups
1817
+ # @param grouping_key [String] The event property used to group before applying thresholds
1521
1818
  #
1522
- # @param group_allocation [String] The allocation per individual group
1819
+ # @param maximum_charge [String] The maximum amount to charge each group
1523
1820
  #
1524
- # @param grouping_key [String] The event property used to group usage before applying allocations
1821
+ # @param minimum_charge [String] The minimum amount to charge each group, regardless of usage
1525
1822
  #
1526
- # @param unit_amount [String] The amount to charge for each unit outside of the allocation
1823
+ # @param per_unit_rate [String] The base price charged per group
1527
1824
  end
1528
1825
  end
1529
1826
 
1530
- class Percent < Orb::Internal::Type::BaseModel
1827
+ class CumulativeGroupedAllocation < Orb::Internal::Type::BaseModel
1531
1828
  # @!attribute cadence
1532
1829
  # The cadence to bill for this price on.
1533
1830
  #
1534
- # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent::Cadence]
1535
- required :cadence, enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::Percent::Cadence }
1831
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::Cadence]
1832
+ required :cadence,
1833
+ enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::Cadence }
1834
+
1835
+ # @!attribute cumulative_grouped_allocation_config
1836
+ # Configuration for cumulative_grouped_allocation pricing
1837
+ #
1838
+ # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig]
1839
+ required :cumulative_grouped_allocation_config,
1840
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig }
1536
1841
 
1537
1842
  # @!attribute item_id
1538
1843
  # The id of the item the price will be associated with.
@@ -1543,8 +1848,8 @@ module Orb
1543
1848
  # @!attribute model_type
1544
1849
  # The pricing model type
1545
1850
  #
1546
- # @return [Symbol, :percent]
1547
- required :model_type, const: :percent
1851
+ # @return [Symbol, :cumulative_grouped_allocation]
1852
+ required :model_type, const: :cumulative_grouped_allocation
1548
1853
 
1549
1854
  # @!attribute name
1550
1855
  # The name of the price.
@@ -1552,12 +1857,6 @@ module Orb
1552
1857
  # @return [String]
1553
1858
  required :name, String
1554
1859
 
1555
- # @!attribute percent_config
1556
- # Configuration for percent pricing
1557
- #
1558
- # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent::PercentConfig]
1559
- required :percent_config, -> { Orb::SubscriptionCreateParams::AddPrice::Price::Percent::PercentConfig }
1560
-
1561
1860
  # @!attribute billable_metric_id
1562
1861
  # The id of the billable metric for the price. Only needed if the price is
1563
1862
  # usage-based.
@@ -1589,11 +1888,7 @@ module Orb
1589
1888
  # The configuration for the rate of the price currency to the invoicing currency.
1590
1889
  #
1591
1890
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1592
- optional :conversion_rate_config,
1593
- union: -> {
1594
- Orb::SubscriptionCreateParams::AddPrice::Price::Percent::ConversionRateConfig
1595
- },
1596
- nil?: true
1891
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1597
1892
 
1598
1893
  # @!attribute currency
1599
1894
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -1659,19 +1954,19 @@ module Orb
1659
1954
  # @return [String, nil]
1660
1955
  optional :reference_id, String, nil?: true
1661
1956
 
1662
- # @!method initialize(cadence:, item_id:, name:, percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :percent)
1957
+ # @!method initialize(cadence:, cumulative_grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :cumulative_grouped_allocation)
1663
1958
  # Some parameter documentations has been truncated, see
1664
- # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent} for more
1665
- # details.
1959
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation}
1960
+ # for more details.
1666
1961
  #
1667
- # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent::Cadence] The cadence to bill for this price on.
1962
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::Cadence] The cadence to bill for this price on.
1963
+ #
1964
+ # @param cumulative_grouped_allocation_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig] Configuration for cumulative_grouped_allocation pricing
1668
1965
  #
1669
1966
  # @param item_id [String] The id of the item the price will be associated with.
1670
1967
  #
1671
1968
  # @param name [String] The name of the price.
1672
1969
  #
1673
- # @param percent_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent::PercentConfig] Configuration for percent pricing
1674
- #
1675
1970
  # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1676
1971
  #
1677
1972
  # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
@@ -1700,11 +1995,11 @@ module Orb
1700
1995
  #
1701
1996
  # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1702
1997
  #
1703
- # @param model_type [Symbol, :percent] The pricing model type
1998
+ # @param model_type [Symbol, :cumulative_grouped_allocation] The pricing model type
1704
1999
 
1705
2000
  # The cadence to bill for this price on.
1706
2001
  #
1707
- # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent#cadence
2002
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation#cadence
1708
2003
  module Cadence
1709
2004
  extend Orb::Internal::Type::Enum
1710
2005
 
@@ -1719,34 +2014,59 @@ module Orb
1719
2014
  # @return [Array<Symbol>]
1720
2015
  end
1721
2016
 
1722
- # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent#percent_config
1723
- class PercentConfig < Orb::Internal::Type::BaseModel
1724
- # @!attribute percent
1725
- # What percent of the component subtotals to charge
2017
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation#cumulative_grouped_allocation_config
2018
+ class CumulativeGroupedAllocationConfig < Orb::Internal::Type::BaseModel
2019
+ # @!attribute cumulative_allocation
2020
+ # The overall allocation across all groups
1726
2021
  #
1727
- # @return [Float]
1728
- required :percent, Float
2022
+ # @return [String]
2023
+ required :cumulative_allocation, String
1729
2024
 
1730
- # @!method initialize(percent:)
1731
- # Configuration for percent pricing
2025
+ # @!attribute group_allocation
2026
+ # The allocation per individual group
2027
+ #
2028
+ # @return [String]
2029
+ required :group_allocation, String
2030
+
2031
+ # @!attribute grouping_key
2032
+ # The event property used to group usage before applying allocations
2033
+ #
2034
+ # @return [String]
2035
+ required :grouping_key, String
2036
+
2037
+ # @!attribute unit_amount
2038
+ # The amount to charge for each unit outside of the allocation
2039
+ #
2040
+ # @return [String]
2041
+ required :unit_amount, String
2042
+
2043
+ # @!method initialize(cumulative_allocation:, group_allocation:, grouping_key:, unit_amount:)
2044
+ # Configuration for cumulative_grouped_allocation pricing
1732
2045
  #
1733
- # @param percent [Float] What percent of the component subtotals to charge
2046
+ # @param cumulative_allocation [String] The overall allocation across all groups
2047
+ #
2048
+ # @param group_allocation [String] The allocation per individual group
2049
+ #
2050
+ # @param grouping_key [String] The event property used to group usage before applying allocations
2051
+ #
2052
+ # @param unit_amount [String] The amount to charge for each unit outside of the allocation
1734
2053
  end
1735
2054
  end
1736
2055
 
1737
- class EventOutput < Orb::Internal::Type::BaseModel
2056
+ class DailyCreditAllowance < Orb::Internal::Type::BaseModel
1738
2057
  # @!attribute cadence
1739
2058
  # The cadence to bill for this price on.
1740
2059
  #
1741
- # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput::Cadence]
1742
- required :cadence, enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::EventOutput::Cadence }
2060
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::Cadence]
2061
+ required :cadence,
2062
+ enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::Cadence }
1743
2063
 
1744
- # @!attribute event_output_config
1745
- # Configuration for event_output pricing
2064
+ # @!attribute daily_credit_allowance_config
2065
+ # Configuration for daily_credit_allowance pricing
1746
2066
  #
1747
- # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput::EventOutputConfig]
1748
- required :event_output_config,
1749
- -> { Orb::SubscriptionCreateParams::AddPrice::Price::EventOutput::EventOutputConfig }
2067
+ # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig]
2068
+ required :daily_credit_allowance_config,
2069
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig }
1750
2070
 
1751
2071
  # @!attribute item_id
1752
2072
  # The id of the item the price will be associated with.
@@ -1757,8 +2077,8 @@ module Orb
1757
2077
  # @!attribute model_type
1758
2078
  # The pricing model type
1759
2079
  #
1760
- # @return [Symbol, :event_output]
1761
- required :model_type, const: :event_output
2080
+ # @return [Symbol, :daily_credit_allowance]
2081
+ required :model_type, const: :daily_credit_allowance
1762
2082
 
1763
2083
  # @!attribute name
1764
2084
  # The name of the price.
@@ -1797,11 +2117,7 @@ module Orb
1797
2117
  # The configuration for the rate of the price currency to the invoicing currency.
1798
2118
  #
1799
2119
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1800
- optional :conversion_rate_config,
1801
- union: -> {
1802
- Orb::SubscriptionCreateParams::AddPrice::Price::EventOutput::ConversionRateConfig
1803
- },
1804
- nil?: true
2120
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1805
2121
 
1806
2122
  # @!attribute currency
1807
2123
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -1867,14 +2183,14 @@ module Orb
1867
2183
  # @return [String, nil]
1868
2184
  optional :reference_id, String, nil?: true
1869
2185
 
1870
- # @!method initialize(cadence:, event_output_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :event_output)
2186
+ # @!method initialize(cadence:, daily_credit_allowance_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :daily_credit_allowance)
1871
2187
  # Some parameter documentations has been truncated, see
1872
- # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput} for more
1873
- # details.
2188
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance}
2189
+ # for more details.
1874
2190
  #
1875
- # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput::Cadence] The cadence to bill for this price on.
2191
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::Cadence] The cadence to bill for this price on.
1876
2192
  #
1877
- # @param event_output_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput::EventOutputConfig] Configuration for event_output pricing
2193
+ # @param daily_credit_allowance_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig] Configuration for daily_credit_allowance pricing
1878
2194
  #
1879
2195
  # @param item_id [String] The id of the item the price will be associated with.
1880
2196
  #
@@ -1908,11 +2224,11 @@ module Orb
1908
2224
  #
1909
2225
  # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
1910
2226
  #
1911
- # @param model_type [Symbol, :event_output] The pricing model type
2227
+ # @param model_type [Symbol, :daily_credit_allowance] The pricing model type
1912
2228
 
1913
2229
  # The cadence to bill for this price on.
1914
2230
  #
1915
- # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput#cadence
2231
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance#cadence
1916
2232
  module Cadence
1917
2233
  extend Orb::Internal::Type::Enum
1918
2234
 
@@ -1927,317 +2243,2098 @@ module Orb
1927
2243
  # @return [Array<Symbol>]
1928
2244
  end
1929
2245
 
1930
- # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput#event_output_config
1931
- class EventOutputConfig < Orb::Internal::Type::BaseModel
1932
- # @!attribute unit_rating_key
1933
- # The key in the event data to extract the unit rate from.
2246
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance#daily_credit_allowance_config
2247
+ class DailyCreditAllowanceConfig < Orb::Internal::Type::BaseModel
2248
+ # @!attribute daily_allowance
2249
+ # Credits granted per day. Lose-it-or-use-it; does not roll over.
1934
2250
  #
1935
2251
  # @return [String]
1936
- required :unit_rating_key, String
2252
+ required :daily_allowance, String
1937
2253
 
1938
- # @!attribute default_unit_rate
1939
- # If provided, this amount will be used as the unit rate when an event does not
1940
- # have a value for the `unit_rating_key`. If not provided, events missing a unit
1941
- # rate will be ignored.
2254
+ # @!attribute default_unit_amount
2255
+ # Default per-unit credit rate for any usage not bucketed into a specified
2256
+ # matrix_value
1942
2257
  #
1943
- # @return [String, nil]
1944
- optional :default_unit_rate, String, nil?: true
2258
+ # @return [String]
2259
+ required :default_unit_amount, String
1945
2260
 
1946
- # @!attribute grouping_key
1947
- # An optional key in the event data to group by (e.g., event ID). All events will
1948
- # also be grouped by their unit rate.
2261
+ # @!attribute dimensions
2262
+ # One or two event property values to evaluate matrix groups by
1949
2263
  #
1950
- # @return [String, nil]
1951
- optional :grouping_key, String, nil?: true
2264
+ # @return [Array<String, nil>]
2265
+ required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true]
1952
2266
 
1953
- # @!method initialize(unit_rating_key:, default_unit_rate: nil, grouping_key: nil)
2267
+ # @!attribute event_day_property
2268
+ # Event property whose value identifies the day bucket the event belongs to (e.g.
2269
+ # 'event_day' set to an ISO date string in the customer's timezone). The allowance
2270
+ # resets per distinct value of this property.
2271
+ #
2272
+ # @return [String]
2273
+ required :event_day_property, String
2274
+
2275
+ # @!attribute matrix_values
2276
+ # Per-dimension credit rates
2277
+ #
2278
+ # @return [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue>]
2279
+ required :matrix_values,
2280
+ -> do
2281
+ Orb::Internal::Type::ArrayOf[
2282
+ Orb::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue
2283
+ ]
2284
+ end
2285
+
2286
+ # @!method initialize(daily_allowance:, default_unit_amount:, dimensions:, event_day_property:, matrix_values:)
1954
2287
  # Some parameter documentations has been truncated, see
1955
- # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput::EventOutputConfig}
2288
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig}
1956
2289
  # for more details.
1957
2290
  #
1958
- # Configuration for event_output pricing
2291
+ # Configuration for daily_credit_allowance pricing
1959
2292
  #
1960
- # @param unit_rating_key [String] The key in the event data to extract the unit rate from.
2293
+ # @param daily_allowance [String] Credits granted per day. Lose-it-or-use-it; does not roll over.
1961
2294
  #
1962
- # @param default_unit_rate [String, nil] If provided, this amount will be used as the unit rate when an event does not ha
2295
+ # @param default_unit_amount [String] Default per-unit credit rate for any usage not bucketed into a specified
2296
+ # matrix\_
1963
2297
  #
1964
- # @param grouping_key [String, nil] An optional key in the event data to group by (e.g., event ID). All events will
1965
- end
1966
- end
2298
+ # @param dimensions [Array<String, nil>] One or two event property values to evaluate matrix groups by
2299
+ #
2300
+ # @param event_day_property [String] Event property whose value identifies the day bucket the event belongs to (e.g.
2301
+ #
2302
+ # @param matrix_values [Array<Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue>] Per-dimension credit rates
1967
2303
 
1968
- # @!method self.variants
1969
- # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput)]
1970
- end
1971
- end
2304
+ class MatrixValue < Orb::Internal::Type::BaseModel
2305
+ # @!attribute dimension_values
2306
+ # One or two matrix keys to filter usage to this value by. For example, ["model"]
2307
+ # could be used to apply a different credit rate to each AI model.
2308
+ #
2309
+ # @return [Array<String, nil>]
2310
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true]
1972
2311
 
1973
- # @deprecated
1974
- module ExternalMarketplace
1975
- extend Orb::Internal::Type::Enum
2312
+ # @!attribute unit_amount
2313
+ # Credits charged per unit of usage matching the specified dimension_values
2314
+ #
2315
+ # @return [String]
2316
+ required :unit_amount, String
1976
2317
 
1977
- GOOGLE = :google
1978
- AWS = :aws
1979
- AZURE = :azure
2318
+ # @!method initialize(dimension_values:, unit_amount:)
2319
+ # Some parameter documentations has been truncated, see
2320
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue}
2321
+ # for more details.
2322
+ #
2323
+ # Per-dimension credit price for the daily credit allowance model.
2324
+ #
2325
+ # @param dimension_values [Array<String, nil>] One or two matrix keys to filter usage to this value by. For example, ["model"]
2326
+ #
2327
+ # @param unit_amount [String] Credits charged per unit of usage matching the specified dimension_values
2328
+ end
2329
+ end
2330
+ end
1980
2331
 
1981
- # @!method self.values
2332
+ class MeteredAllowance < Orb::Internal::Type::BaseModel
2333
+ # @!attribute cadence
2334
+ # The cadence to bill for this price on.
2335
+ #
2336
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance::Cadence]
2337
+ required :cadence, enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance::Cadence }
2338
+
2339
+ # @!attribute item_id
2340
+ # The id of the item the price will be associated with.
2341
+ #
2342
+ # @return [String]
2343
+ required :item_id, String
2344
+
2345
+ # @!attribute metered_allowance_config
2346
+ # Configuration for metered_allowance pricing
2347
+ #
2348
+ # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance::MeteredAllowanceConfig]
2349
+ required :metered_allowance_config,
2350
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance::MeteredAllowanceConfig }
2351
+
2352
+ # @!attribute model_type
2353
+ # The pricing model type
2354
+ #
2355
+ # @return [Symbol, :metered_allowance]
2356
+ required :model_type, const: :metered_allowance
2357
+
2358
+ # @!attribute name
2359
+ # The name of the price.
2360
+ #
2361
+ # @return [String]
2362
+ required :name, String
2363
+
2364
+ # @!attribute billable_metric_id
2365
+ # The id of the billable metric for the price. Only needed if the price is
2366
+ # usage-based.
2367
+ #
2368
+ # @return [String, nil]
2369
+ optional :billable_metric_id, String, nil?: true
2370
+
2371
+ # @!attribute billed_in_advance
2372
+ # If the Price represents a fixed cost, the price will be billed in-advance if
2373
+ # this is true, and in-arrears if this is false.
2374
+ #
2375
+ # @return [Boolean, nil]
2376
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
2377
+
2378
+ # @!attribute billing_cycle_configuration
2379
+ # For custom cadence: specifies the duration of the billing period in days or
2380
+ # months.
2381
+ #
2382
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2383
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2384
+
2385
+ # @!attribute conversion_rate
2386
+ # The per unit conversion rate of the price currency to the invoicing currency.
2387
+ #
2388
+ # @return [Float, nil]
2389
+ optional :conversion_rate, Float, nil?: true
2390
+
2391
+ # @!attribute conversion_rate_config
2392
+ # The configuration for the rate of the price currency to the invoicing currency.
2393
+ #
2394
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
2395
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
2396
+
2397
+ # @!attribute currency
2398
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
2399
+ # price is billed.
2400
+ #
2401
+ # @return [String, nil]
2402
+ optional :currency, String, nil?: true
2403
+
2404
+ # @!attribute dimensional_price_configuration
2405
+ # For dimensional price: specifies a price group and dimension values
2406
+ #
2407
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
2408
+ optional :dimensional_price_configuration,
2409
+ -> {
2410
+ Orb::NewDimensionalPriceConfiguration
2411
+ },
2412
+ nil?: true
2413
+
2414
+ # @!attribute external_price_id
2415
+ # An alias for the price.
2416
+ #
2417
+ # @return [String, nil]
2418
+ optional :external_price_id, String, nil?: true
2419
+
2420
+ # @!attribute fixed_price_quantity
2421
+ # If the Price represents a fixed cost, this represents the quantity of units
2422
+ # applied.
2423
+ #
2424
+ # @return [Float, nil]
2425
+ optional :fixed_price_quantity, Float, nil?: true
2426
+
2427
+ # @!attribute invoice_grouping_key
2428
+ # The property used to group this price on an invoice
2429
+ #
2430
+ # @return [String, nil]
2431
+ optional :invoice_grouping_key, String, nil?: true
2432
+
2433
+ # @!attribute invoicing_cycle_configuration
2434
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
2435
+ # If unspecified, a single invoice is produced per billing cycle.
2436
+ #
2437
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2438
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2439
+
2440
+ # @!attribute license_type_id
2441
+ # The ID of the license type to associate with this price.
2442
+ #
2443
+ # @return [String, nil]
2444
+ optional :license_type_id, String, nil?: true
2445
+
2446
+ # @!attribute metadata
2447
+ # User-specified key/value pairs for the resource. Individual keys can be removed
2448
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
2449
+ # by setting `metadata` to `null`.
2450
+ #
2451
+ # @return [Hash{Symbol=>String, nil}, nil]
2452
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
2453
+
2454
+ # @!attribute reference_id
2455
+ # A transient ID that can be used to reference this price when adding adjustments
2456
+ # in the same API call.
2457
+ #
2458
+ # @return [String, nil]
2459
+ optional :reference_id, String, nil?: true
2460
+
2461
+ # @!method initialize(cadence:, item_id:, metered_allowance_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :metered_allowance)
2462
+ # Some parameter documentations has been truncated, see
2463
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance} for
2464
+ # more details.
2465
+ #
2466
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance::Cadence] The cadence to bill for this price on.
2467
+ #
2468
+ # @param item_id [String] The id of the item the price will be associated with.
2469
+ #
2470
+ # @param metered_allowance_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance::MeteredAllowanceConfig] Configuration for metered_allowance pricing
2471
+ #
2472
+ # @param name [String] The name of the price.
2473
+ #
2474
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
2475
+ #
2476
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
2477
+ #
2478
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
2479
+ #
2480
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
2481
+ #
2482
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
2483
+ #
2484
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
2485
+ #
2486
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
2487
+ #
2488
+ # @param external_price_id [String, nil] An alias for the price.
2489
+ #
2490
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
2491
+ #
2492
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
2493
+ #
2494
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
2495
+ #
2496
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
2497
+ #
2498
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
2499
+ #
2500
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
2501
+ #
2502
+ # @param model_type [Symbol, :metered_allowance] The pricing model type
2503
+
2504
+ # The cadence to bill for this price on.
2505
+ #
2506
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance#cadence
2507
+ module Cadence
2508
+ extend Orb::Internal::Type::Enum
2509
+
2510
+ ANNUAL = :annual
2511
+ SEMI_ANNUAL = :semi_annual
2512
+ MONTHLY = :monthly
2513
+ QUARTERLY = :quarterly
2514
+ ONE_TIME = :one_time
2515
+ CUSTOM = :custom
2516
+
2517
+ # @!method self.values
2518
+ # @return [Array<Symbol>]
2519
+ end
2520
+
2521
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance#metered_allowance_config
2522
+ class MeteredAllowanceConfig < Orb::Internal::Type::BaseModel
2523
+ # @!attribute allowance_grouping_value
2524
+ # The grouping_key value whose summed quantity represents the allowance for this
2525
+ # period (e.g. 'storage_snapshot' emitting 3 × avg storage). Capped at consumption
2526
+ # — credit can never exceed actual usage.
2527
+ #
2528
+ # @return [String]
2529
+ required :allowance_grouping_value, String
2530
+
2531
+ # @!attribute consumption_grouping_value
2532
+ # The grouping_key value whose summed quantity represents consumption (e.g.
2533
+ # 'download'). Charged at unit_amount.
2534
+ #
2535
+ # @return [String]
2536
+ required :consumption_grouping_value, String
2537
+
2538
+ # @!attribute grouping_key
2539
+ # Event property used to partition the metric into consumption and allowance
2540
+ # quantities (e.g. 'event_name'). The metric is queried with this key and the two
2541
+ # values below select which partition is which.
2542
+ #
2543
+ # @return [String]
2544
+ required :grouping_key, String
2545
+
2546
+ # @!attribute unit_amount
2547
+ # Per-unit price applied to gross consumption and to the allowance credit.
2548
+ #
2549
+ # @return [String]
2550
+ required :unit_amount, String
2551
+
2552
+ # @!attribute allowance_display_name
2553
+ # Sub-line label for the credit row (e.g. 'Up to 3x free egress').
2554
+ #
2555
+ # @return [String, nil]
2556
+ optional :allowance_display_name, String
2557
+
2558
+ # @!attribute consumption_display_name
2559
+ # Sub-line label for the gross consumption row (e.g. 'bytes gotten').
2560
+ #
2561
+ # @return [String, nil]
2562
+ optional :consumption_display_name, String
2563
+
2564
+ # @!method initialize(allowance_grouping_value:, consumption_grouping_value:, grouping_key:, unit_amount:, allowance_display_name: nil, consumption_display_name: nil)
2565
+ # Some parameter documentations has been truncated, see
2566
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance::MeteredAllowanceConfig}
2567
+ # for more details.
2568
+ #
2569
+ # Configuration for metered_allowance pricing
2570
+ #
2571
+ # @param allowance_grouping_value [String] The grouping_key value whose summed quantity represents the allowance for this p
2572
+ #
2573
+ # @param consumption_grouping_value [String] The grouping_key value whose summed quantity represents consumption (e.g. 'downl
2574
+ #
2575
+ # @param grouping_key [String] Event property used to partition the metric into consumption and allowance quant
2576
+ #
2577
+ # @param unit_amount [String] Per-unit price applied to gross consumption and to the allowance credit.
2578
+ #
2579
+ # @param allowance_display_name [String] Sub-line label for the credit row (e.g. 'Up to 3x free egress').
2580
+ #
2581
+ # @param consumption_display_name [String] Sub-line label for the gross consumption row (e.g. 'bytes gotten').
2582
+ end
2583
+ end
2584
+
2585
+ class Percent < Orb::Internal::Type::BaseModel
2586
+ # @!attribute cadence
2587
+ # The cadence to bill for this price on.
2588
+ #
2589
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent::Cadence]
2590
+ required :cadence, enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::Percent::Cadence }
2591
+
2592
+ # @!attribute item_id
2593
+ # The id of the item the price will be associated with.
2594
+ #
2595
+ # @return [String]
2596
+ required :item_id, String
2597
+
2598
+ # @!attribute model_type
2599
+ # The pricing model type
2600
+ #
2601
+ # @return [Symbol, :percent]
2602
+ required :model_type, const: :percent
2603
+
2604
+ # @!attribute name
2605
+ # The name of the price.
2606
+ #
2607
+ # @return [String]
2608
+ required :name, String
2609
+
2610
+ # @!attribute percent_config
2611
+ # Configuration for percent pricing
2612
+ #
2613
+ # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent::PercentConfig]
2614
+ required :percent_config, -> { Orb::SubscriptionCreateParams::AddPrice::Price::Percent::PercentConfig }
2615
+
2616
+ # @!attribute billable_metric_id
2617
+ # The id of the billable metric for the price. Only needed if the price is
2618
+ # usage-based.
2619
+ #
2620
+ # @return [String, nil]
2621
+ optional :billable_metric_id, String, nil?: true
2622
+
2623
+ # @!attribute billed_in_advance
2624
+ # If the Price represents a fixed cost, the price will be billed in-advance if
2625
+ # this is true, and in-arrears if this is false.
2626
+ #
2627
+ # @return [Boolean, nil]
2628
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
2629
+
2630
+ # @!attribute billing_cycle_configuration
2631
+ # For custom cadence: specifies the duration of the billing period in days or
2632
+ # months.
2633
+ #
2634
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2635
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2636
+
2637
+ # @!attribute conversion_rate
2638
+ # The per unit conversion rate of the price currency to the invoicing currency.
2639
+ #
2640
+ # @return [Float, nil]
2641
+ optional :conversion_rate, Float, nil?: true
2642
+
2643
+ # @!attribute conversion_rate_config
2644
+ # The configuration for the rate of the price currency to the invoicing currency.
2645
+ #
2646
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
2647
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
2648
+
2649
+ # @!attribute currency
2650
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
2651
+ # price is billed.
2652
+ #
2653
+ # @return [String, nil]
2654
+ optional :currency, String, nil?: true
2655
+
2656
+ # @!attribute dimensional_price_configuration
2657
+ # For dimensional price: specifies a price group and dimension values
2658
+ #
2659
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
2660
+ optional :dimensional_price_configuration,
2661
+ -> {
2662
+ Orb::NewDimensionalPriceConfiguration
2663
+ },
2664
+ nil?: true
2665
+
2666
+ # @!attribute external_price_id
2667
+ # An alias for the price.
2668
+ #
2669
+ # @return [String, nil]
2670
+ optional :external_price_id, String, nil?: true
2671
+
2672
+ # @!attribute fixed_price_quantity
2673
+ # If the Price represents a fixed cost, this represents the quantity of units
2674
+ # applied.
2675
+ #
2676
+ # @return [Float, nil]
2677
+ optional :fixed_price_quantity, Float, nil?: true
2678
+
2679
+ # @!attribute invoice_grouping_key
2680
+ # The property used to group this price on an invoice
2681
+ #
2682
+ # @return [String, nil]
2683
+ optional :invoice_grouping_key, String, nil?: true
2684
+
2685
+ # @!attribute invoicing_cycle_configuration
2686
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
2687
+ # If unspecified, a single invoice is produced per billing cycle.
2688
+ #
2689
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2690
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2691
+
2692
+ # @!attribute license_type_id
2693
+ # The ID of the license type to associate with this price.
2694
+ #
2695
+ # @return [String, nil]
2696
+ optional :license_type_id, String, nil?: true
2697
+
2698
+ # @!attribute metadata
2699
+ # User-specified key/value pairs for the resource. Individual keys can be removed
2700
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
2701
+ # by setting `metadata` to `null`.
2702
+ #
2703
+ # @return [Hash{Symbol=>String, nil}, nil]
2704
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
2705
+
2706
+ # @!attribute reference_id
2707
+ # A transient ID that can be used to reference this price when adding adjustments
2708
+ # in the same API call.
2709
+ #
2710
+ # @return [String, nil]
2711
+ optional :reference_id, String, nil?: true
2712
+
2713
+ # @!method initialize(cadence:, item_id:, name:, percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :percent)
2714
+ # Some parameter documentations has been truncated, see
2715
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent} for more
2716
+ # details.
2717
+ #
2718
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent::Cadence] The cadence to bill for this price on.
2719
+ #
2720
+ # @param item_id [String] The id of the item the price will be associated with.
2721
+ #
2722
+ # @param name [String] The name of the price.
2723
+ #
2724
+ # @param percent_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent::PercentConfig] Configuration for percent pricing
2725
+ #
2726
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
2727
+ #
2728
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
2729
+ #
2730
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
2731
+ #
2732
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
2733
+ #
2734
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
2735
+ #
2736
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
2737
+ #
2738
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
2739
+ #
2740
+ # @param external_price_id [String, nil] An alias for the price.
2741
+ #
2742
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
2743
+ #
2744
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
2745
+ #
2746
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
2747
+ #
2748
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
2749
+ #
2750
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
2751
+ #
2752
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
2753
+ #
2754
+ # @param model_type [Symbol, :percent] The pricing model type
2755
+
2756
+ # The cadence to bill for this price on.
2757
+ #
2758
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent#cadence
2759
+ module Cadence
2760
+ extend Orb::Internal::Type::Enum
2761
+
2762
+ ANNUAL = :annual
2763
+ SEMI_ANNUAL = :semi_annual
2764
+ MONTHLY = :monthly
2765
+ QUARTERLY = :quarterly
2766
+ ONE_TIME = :one_time
2767
+ CUSTOM = :custom
2768
+
2769
+ # @!method self.values
2770
+ # @return [Array<Symbol>]
2771
+ end
2772
+
2773
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent#percent_config
2774
+ class PercentConfig < Orb::Internal::Type::BaseModel
2775
+ # @!attribute percent
2776
+ # Fraction of the component subtotals to charge (0 < percent <= 1).
2777
+ #
2778
+ # @return [Float]
2779
+ required :percent, Float
2780
+
2781
+ # @!attribute maximum_amount
2782
+ # Maximum amount to charge. If unset, the fee has no upper bound.
2783
+ #
2784
+ # @return [String, nil]
2785
+ optional :maximum_amount, String, nil?: true
2786
+
2787
+ # @!attribute minimum_amount
2788
+ # Minimum amount to charge. If unset, the fee is bounded below by 0.
2789
+ #
2790
+ # @return [String, nil]
2791
+ optional :minimum_amount, String, nil?: true
2792
+
2793
+ # @!attribute prorated
2794
+ # If true, the minimum_amount is prorated based on the service period. The
2795
+ # maximum_amount is an absolute cap (never prorated), and the percent applied to
2796
+ # upstream subtotals is never prorated either.
2797
+ #
2798
+ # @return [Boolean, nil]
2799
+ optional :prorated, Orb::Internal::Type::Boolean
2800
+
2801
+ # @!method initialize(percent:, maximum_amount: nil, minimum_amount: nil, prorated: nil)
2802
+ # Some parameter documentations has been truncated, see
2803
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent::PercentConfig}
2804
+ # for more details.
2805
+ #
2806
+ # Configuration for percent pricing
2807
+ #
2808
+ # @param percent [Float] Fraction of the component subtotals to charge (0 < percent <= 1).
2809
+ #
2810
+ # @param maximum_amount [String, nil] Maximum amount to charge. If unset, the fee has no upper bound.
2811
+ #
2812
+ # @param minimum_amount [String, nil] Minimum amount to charge. If unset, the fee is bounded below by 0.
2813
+ #
2814
+ # @param prorated [Boolean] If true, the minimum_amount is prorated based on the service period. The maximum
2815
+ end
2816
+ end
2817
+
2818
+ class EventOutput < Orb::Internal::Type::BaseModel
2819
+ # @!attribute cadence
2820
+ # The cadence to bill for this price on.
2821
+ #
2822
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput::Cadence]
2823
+ required :cadence, enum: -> { Orb::SubscriptionCreateParams::AddPrice::Price::EventOutput::Cadence }
2824
+
2825
+ # @!attribute event_output_config
2826
+ # Configuration for event_output pricing
2827
+ #
2828
+ # @return [Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput::EventOutputConfig]
2829
+ required :event_output_config,
2830
+ -> { Orb::SubscriptionCreateParams::AddPrice::Price::EventOutput::EventOutputConfig }
2831
+
2832
+ # @!attribute item_id
2833
+ # The id of the item the price will be associated with.
2834
+ #
2835
+ # @return [String]
2836
+ required :item_id, String
2837
+
2838
+ # @!attribute model_type
2839
+ # The pricing model type
2840
+ #
2841
+ # @return [Symbol, :event_output]
2842
+ required :model_type, const: :event_output
2843
+
2844
+ # @!attribute name
2845
+ # The name of the price.
2846
+ #
2847
+ # @return [String]
2848
+ required :name, String
2849
+
2850
+ # @!attribute billable_metric_id
2851
+ # The id of the billable metric for the price. Only needed if the price is
2852
+ # usage-based.
2853
+ #
2854
+ # @return [String, nil]
2855
+ optional :billable_metric_id, String, nil?: true
2856
+
2857
+ # @!attribute billed_in_advance
2858
+ # If the Price represents a fixed cost, the price will be billed in-advance if
2859
+ # this is true, and in-arrears if this is false.
2860
+ #
2861
+ # @return [Boolean, nil]
2862
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
2863
+
2864
+ # @!attribute billing_cycle_configuration
2865
+ # For custom cadence: specifies the duration of the billing period in days or
2866
+ # months.
2867
+ #
2868
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2869
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2870
+
2871
+ # @!attribute conversion_rate
2872
+ # The per unit conversion rate of the price currency to the invoicing currency.
2873
+ #
2874
+ # @return [Float, nil]
2875
+ optional :conversion_rate, Float, nil?: true
2876
+
2877
+ # @!attribute conversion_rate_config
2878
+ # The configuration for the rate of the price currency to the invoicing currency.
2879
+ #
2880
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
2881
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
2882
+
2883
+ # @!attribute currency
2884
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
2885
+ # price is billed.
2886
+ #
2887
+ # @return [String, nil]
2888
+ optional :currency, String, nil?: true
2889
+
2890
+ # @!attribute dimensional_price_configuration
2891
+ # For dimensional price: specifies a price group and dimension values
2892
+ #
2893
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
2894
+ optional :dimensional_price_configuration,
2895
+ -> {
2896
+ Orb::NewDimensionalPriceConfiguration
2897
+ },
2898
+ nil?: true
2899
+
2900
+ # @!attribute external_price_id
2901
+ # An alias for the price.
2902
+ #
2903
+ # @return [String, nil]
2904
+ optional :external_price_id, String, nil?: true
2905
+
2906
+ # @!attribute fixed_price_quantity
2907
+ # If the Price represents a fixed cost, this represents the quantity of units
2908
+ # applied.
2909
+ #
2910
+ # @return [Float, nil]
2911
+ optional :fixed_price_quantity, Float, nil?: true
2912
+
2913
+ # @!attribute invoice_grouping_key
2914
+ # The property used to group this price on an invoice
2915
+ #
2916
+ # @return [String, nil]
2917
+ optional :invoice_grouping_key, String, nil?: true
2918
+
2919
+ # @!attribute invoicing_cycle_configuration
2920
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
2921
+ # If unspecified, a single invoice is produced per billing cycle.
2922
+ #
2923
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2924
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2925
+
2926
+ # @!attribute license_type_id
2927
+ # The ID of the license type to associate with this price.
2928
+ #
2929
+ # @return [String, nil]
2930
+ optional :license_type_id, String, nil?: true
2931
+
2932
+ # @!attribute metadata
2933
+ # User-specified key/value pairs for the resource. Individual keys can be removed
2934
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
2935
+ # by setting `metadata` to `null`.
2936
+ #
2937
+ # @return [Hash{Symbol=>String, nil}, nil]
2938
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
2939
+
2940
+ # @!attribute reference_id
2941
+ # A transient ID that can be used to reference this price when adding adjustments
2942
+ # in the same API call.
2943
+ #
2944
+ # @return [String, nil]
2945
+ optional :reference_id, String, nil?: true
2946
+
2947
+ # @!method initialize(cadence:, event_output_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :event_output)
2948
+ # Some parameter documentations has been truncated, see
2949
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput} for more
2950
+ # details.
2951
+ #
2952
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput::Cadence] The cadence to bill for this price on.
2953
+ #
2954
+ # @param event_output_config [Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput::EventOutputConfig] Configuration for event_output pricing
2955
+ #
2956
+ # @param item_id [String] The id of the item the price will be associated with.
2957
+ #
2958
+ # @param name [String] The name of the price.
2959
+ #
2960
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
2961
+ #
2962
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
2963
+ #
2964
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
2965
+ #
2966
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
2967
+ #
2968
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
2969
+ #
2970
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
2971
+ #
2972
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
2973
+ #
2974
+ # @param external_price_id [String, nil] An alias for the price.
2975
+ #
2976
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
2977
+ #
2978
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
2979
+ #
2980
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
2981
+ #
2982
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
2983
+ #
2984
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
2985
+ #
2986
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
2987
+ #
2988
+ # @param model_type [Symbol, :event_output] The pricing model type
2989
+
2990
+ # The cadence to bill for this price on.
2991
+ #
2992
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput#cadence
2993
+ module Cadence
2994
+ extend Orb::Internal::Type::Enum
2995
+
2996
+ ANNUAL = :annual
2997
+ SEMI_ANNUAL = :semi_annual
2998
+ MONTHLY = :monthly
2999
+ QUARTERLY = :quarterly
3000
+ ONE_TIME = :one_time
3001
+ CUSTOM = :custom
3002
+
3003
+ # @!method self.values
3004
+ # @return [Array<Symbol>]
3005
+ end
3006
+
3007
+ # @see Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput#event_output_config
3008
+ class EventOutputConfig < Orb::Internal::Type::BaseModel
3009
+ # @!attribute unit_rating_key
3010
+ # The key in the event data to extract the unit rate from.
3011
+ #
3012
+ # @return [String]
3013
+ required :unit_rating_key, String
3014
+
3015
+ # @!attribute default_unit_rate
3016
+ # If provided, this amount will be used as the unit rate when an event does not
3017
+ # have a value for the `unit_rating_key`. If not provided, events missing a unit
3018
+ # rate will be ignored.
3019
+ #
3020
+ # @return [String, nil]
3021
+ optional :default_unit_rate, String, nil?: true
3022
+
3023
+ # @!attribute grouping_key
3024
+ # An optional key in the event data to group by (e.g., event ID). All events will
3025
+ # also be grouped by their unit rate.
3026
+ #
3027
+ # @return [String, nil]
3028
+ optional :grouping_key, String, nil?: true
3029
+
3030
+ # @!method initialize(unit_rating_key:, default_unit_rate: nil, grouping_key: nil)
3031
+ # Some parameter documentations has been truncated, see
3032
+ # {Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput::EventOutputConfig}
3033
+ # for more details.
3034
+ #
3035
+ # Configuration for event_output pricing
3036
+ #
3037
+ # @param unit_rating_key [String] The key in the event data to extract the unit rate from.
3038
+ #
3039
+ # @param default_unit_rate [String, nil] If provided, this amount will be used as the unit rate when an event does not ha
3040
+ #
3041
+ # @param grouping_key [String, nil] An optional key in the event data to group by (e.g., event ID). All events will
3042
+ end
3043
+ end
3044
+
3045
+ # @!method self.variants
3046
+ # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::AddPrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::AddPrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::AddPrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::AddPrice::Price::Percent, Orb::Models::SubscriptionCreateParams::AddPrice::Price::EventOutput)]
3047
+ end
3048
+ end
3049
+
3050
+ # @deprecated
3051
+ module ExternalMarketplace
3052
+ extend Orb::Internal::Type::Enum
3053
+
3054
+ GOOGLE = :google
3055
+ AWS = :aws
3056
+ AZURE = :azure
3057
+
3058
+ # @!method self.values
1982
3059
  # @return [Array<Symbol>]
1983
3060
  end
1984
3061
 
1985
- class RemoveAdjustment < Orb::Internal::Type::BaseModel
1986
- # @!attribute adjustment_id
1987
- # The id of the adjustment to remove on the subscription.
1988
- #
1989
- # @return [String]
1990
- required :adjustment_id, String
3062
+ class RemoveAdjustment < Orb::Internal::Type::BaseModel
3063
+ # @!attribute adjustment_id
3064
+ # The id of the adjustment to remove on the subscription.
3065
+ #
3066
+ # @return [String]
3067
+ required :adjustment_id, String
3068
+
3069
+ # @!method initialize(adjustment_id:)
3070
+ # @param adjustment_id [String] The id of the adjustment to remove on the subscription.
3071
+ end
3072
+
3073
+ class RemovePrice < Orb::Internal::Type::BaseModel
3074
+ # @!attribute external_price_id
3075
+ # The external price id of the price to remove on the subscription.
3076
+ #
3077
+ # @return [String, nil]
3078
+ optional :external_price_id, String, nil?: true
3079
+
3080
+ # @!attribute price_id
3081
+ # The id of the price to remove on the subscription.
3082
+ #
3083
+ # @return [String, nil]
3084
+ optional :price_id, String, nil?: true
3085
+
3086
+ # @!method initialize(external_price_id: nil, price_id: nil)
3087
+ # @param external_price_id [String, nil] The external price id of the price to remove on the subscription.
3088
+ #
3089
+ # @param price_id [String, nil] The id of the price to remove on the subscription.
3090
+ end
3091
+
3092
+ class ReplaceAdjustment < Orb::Internal::Type::BaseModel
3093
+ # @!attribute adjustment
3094
+ # The definition of a new adjustment to create and add to the subscription.
3095
+ #
3096
+ # @return [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount]
3097
+ required :adjustment, union: -> { Orb::SubscriptionCreateParams::ReplaceAdjustment::Adjustment }
3098
+
3099
+ # @!attribute replaces_adjustment_id
3100
+ # The id of the adjustment on the plan to replace in the subscription.
3101
+ #
3102
+ # @return [String]
3103
+ required :replaces_adjustment_id, String
3104
+
3105
+ # @!method initialize(adjustment:, replaces_adjustment_id:)
3106
+ # @param adjustment [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount] The definition of a new adjustment to create and add to the subscription.
3107
+ #
3108
+ # @param replaces_adjustment_id [String] The id of the adjustment on the plan to replace in the subscription.
3109
+
3110
+ # The definition of a new adjustment to create and add to the subscription.
3111
+ #
3112
+ # @see Orb::Models::SubscriptionCreateParams::ReplaceAdjustment#adjustment
3113
+ module Adjustment
3114
+ extend Orb::Internal::Type::Union
3115
+
3116
+ discriminator :adjustment_type
3117
+
3118
+ variant :percentage_discount, -> { Orb::NewPercentageDiscount }
3119
+
3120
+ variant :usage_discount, -> { Orb::NewUsageDiscount }
3121
+
3122
+ variant :amount_discount, -> { Orb::NewAmountDiscount }
3123
+
3124
+ variant :minimum, -> { Orb::NewMinimum }
3125
+
3126
+ variant :maximum, -> { Orb::NewMaximum }
3127
+
3128
+ variant :tiered_percentage_discount,
3129
+ -> { Orb::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount }
3130
+
3131
+ class TieredPercentageDiscount < Orb::Internal::Type::BaseModel
3132
+ # @!attribute adjustment_type
3133
+ #
3134
+ # @return [Symbol, :tiered_percentage_discount]
3135
+ required :adjustment_type, const: :tiered_percentage_discount
3136
+
3137
+ # @!attribute tiers
3138
+ #
3139
+ # @return [Array<Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Tier>]
3140
+ required :tiers,
3141
+ -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Tier] }
3142
+
3143
+ # @!attribute applies_to_all
3144
+ # If set, the adjustment will apply to every price on the subscription.
3145
+ #
3146
+ # @return [Boolean, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::AppliesToAll, nil]
3147
+ optional :applies_to_all,
3148
+ enum: -> {
3149
+ Orb::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::AppliesToAll
3150
+ },
3151
+ nil?: true
3152
+
3153
+ # @!attribute applies_to_item_ids
3154
+ # The set of item IDs to which this adjustment applies.
3155
+ #
3156
+ # @return [Array<String>, nil]
3157
+ optional :applies_to_item_ids, Orb::Internal::Type::ArrayOf[String], nil?: true
3158
+
3159
+ # @!attribute applies_to_price_ids
3160
+ # The set of price IDs to which this adjustment applies.
3161
+ #
3162
+ # @return [Array<String>, nil]
3163
+ optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true
3164
+
3165
+ # @!attribute currency
3166
+ # If set, only prices in the specified currency will have the adjustment applied.
3167
+ #
3168
+ # @return [String, nil]
3169
+ optional :currency, String, nil?: true
3170
+
3171
+ # @!attribute filters
3172
+ # A list of filters that determine which prices this adjustment will apply to.
3173
+ #
3174
+ # @return [Array<Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter>, nil]
3175
+ optional :filters,
3176
+ -> {
3177
+ Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter]
3178
+ },
3179
+ nil?: true
3180
+
3181
+ # @!attribute is_invoice_level
3182
+ # When false, this adjustment will be applied to a single price. Otherwise, it
3183
+ # will be applied at the invoice level, possibly to multiple prices.
3184
+ #
3185
+ # @return [Boolean, nil]
3186
+ optional :is_invoice_level, Orb::Internal::Type::Boolean
3187
+
3188
+ # @!attribute price_type
3189
+ # If set, only prices of the specified type will have the adjustment applied.
3190
+ #
3191
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::PriceType, nil]
3192
+ optional :price_type,
3193
+ enum: -> {
3194
+ Orb::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::PriceType
3195
+ },
3196
+ nil?: true
3197
+
3198
+ # @!method initialize(tiers:, applies_to_all: nil, applies_to_item_ids: nil, applies_to_price_ids: nil, currency: nil, filters: nil, is_invoice_level: nil, price_type: nil, adjustment_type: :tiered_percentage_discount)
3199
+ # Some parameter documentations has been truncated, see
3200
+ # {Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount}
3201
+ # for more details.
3202
+ #
3203
+ # @param tiers [Array<Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Tier>]
3204
+ #
3205
+ # @param applies_to_all [Boolean, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::AppliesToAll, nil] If set, the adjustment will apply to every price on the subscription.
3206
+ #
3207
+ # @param applies_to_item_ids [Array<String>, nil] The set of item IDs to which this adjustment applies.
3208
+ #
3209
+ # @param applies_to_price_ids [Array<String>, nil] The set of price IDs to which this adjustment applies.
3210
+ #
3211
+ # @param currency [String, nil] If set, only prices in the specified currency will have the adjustment applied.
3212
+ #
3213
+ # @param filters [Array<Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter>, nil] A list of filters that determine which prices this adjustment will apply to.
3214
+ #
3215
+ # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil
3216
+ #
3217
+ # @param price_type [Symbol, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::PriceType, nil] If set, only prices of the specified type will have the adjustment applied.
3218
+ #
3219
+ # @param adjustment_type [Symbol, :tiered_percentage_discount]
3220
+
3221
+ class Tier < Orb::Internal::Type::BaseModel
3222
+ # @!attribute lower_bound
3223
+ # Exclusive lower bound of cumulative spend for this tier.
3224
+ #
3225
+ # @return [Float]
3226
+ required :lower_bound, Float
3227
+
3228
+ # @!attribute percentage
3229
+ # The percentage (0-1) discounted from spend in this tier.
3230
+ #
3231
+ # @return [Float]
3232
+ required :percentage, Float
3233
+
3234
+ # @!attribute upper_bound
3235
+ # Inclusive upper bound of cumulative spend; null for the final open-ended tier.
3236
+ #
3237
+ # @return [Float, nil]
3238
+ optional :upper_bound, Float, nil?: true
3239
+
3240
+ # @!method initialize(lower_bound:, percentage:, upper_bound: nil)
3241
+ # @param lower_bound [Float] Exclusive lower bound of cumulative spend for this tier.
3242
+ #
3243
+ # @param percentage [Float] The percentage (0-1) discounted from spend in this tier.
3244
+ #
3245
+ # @param upper_bound [Float, nil] Inclusive upper bound of cumulative spend; null for the final open-ended tier.
3246
+ end
3247
+
3248
+ # If set, the adjustment will apply to every price on the subscription.
3249
+ #
3250
+ # @see Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount#applies_to_all
3251
+ module AppliesToAll
3252
+ extend Orb::Internal::Type::Enum
3253
+
3254
+ TRUE = true
3255
+
3256
+ # @!method self.values
3257
+ # @return [Array<Boolean>]
3258
+ end
3259
+
3260
+ class Filter < Orb::Internal::Type::BaseModel
3261
+ # @!attribute field
3262
+ # The property of the price to filter on.
3263
+ #
3264
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter::Field]
3265
+ required :field,
3266
+ enum: -> { Orb::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter::Field }
3267
+
3268
+ # @!attribute operator
3269
+ # Should prices that match the filter be included or excluded.
3270
+ #
3271
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter::Operator]
3272
+ required :operator,
3273
+ enum: -> { Orb::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter::Operator }
3274
+
3275
+ # @!attribute values
3276
+ # The IDs or values that match this filter.
3277
+ #
3278
+ # @return [Array<String>]
3279
+ required :values, Orb::Internal::Type::ArrayOf[String]
3280
+
3281
+ # @!method initialize(field:, operator:, values:)
3282
+ # @param field [Symbol, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter::Field] The property of the price to filter on.
3283
+ #
3284
+ # @param operator [Symbol, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
3285
+ #
3286
+ # @param values [Array<String>] The IDs or values that match this filter.
3287
+
3288
+ # The property of the price to filter on.
3289
+ #
3290
+ # @see Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter#field
3291
+ module Field
3292
+ extend Orb::Internal::Type::Enum
3293
+
3294
+ PRICE_ID = :price_id
3295
+ ITEM_ID = :item_id
3296
+ PRICE_TYPE = :price_type
3297
+ CURRENCY = :currency
3298
+ PRICING_UNIT_ID = :pricing_unit_id
3299
+
3300
+ # @!method self.values
3301
+ # @return [Array<Symbol>]
3302
+ end
3303
+
3304
+ # Should prices that match the filter be included or excluded.
3305
+ #
3306
+ # @see Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount::Filter#operator
3307
+ module Operator
3308
+ extend Orb::Internal::Type::Enum
3309
+
3310
+ INCLUDES = :includes
3311
+ EXCLUDES = :excludes
3312
+
3313
+ # @!method self.values
3314
+ # @return [Array<Symbol>]
3315
+ end
3316
+ end
3317
+
3318
+ # If set, only prices of the specified type will have the adjustment applied.
3319
+ #
3320
+ # @see Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount#price_type
3321
+ module PriceType
3322
+ extend Orb::Internal::Type::Enum
3323
+
3324
+ USAGE = :usage
3325
+ FIXED_IN_ADVANCE = :fixed_in_advance
3326
+ FIXED_IN_ARREARS = :fixed_in_arrears
3327
+ FIXED = :fixed
3328
+ IN_ARREARS = :in_arrears
3329
+
3330
+ # @!method self.values
3331
+ # @return [Array<Symbol>]
3332
+ end
3333
+ end
3334
+
3335
+ # @!method self.variants
3336
+ # @return [Array(Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, Orb::Models::SubscriptionCreateParams::ReplaceAdjustment::Adjustment::TieredPercentageDiscount)]
3337
+ end
3338
+ end
3339
+
3340
+ class ReplacePrice < Orb::Internal::Type::BaseModel
3341
+ # @!attribute replaces_price_id
3342
+ # The id of the price on the plan to replace in the subscription.
3343
+ #
3344
+ # @return [String]
3345
+ required :replaces_price_id, String
3346
+
3347
+ # @!attribute allocation_price
3348
+ # The definition of a new allocation price to create and add to the subscription.
3349
+ #
3350
+ # @return [Orb::Models::NewAllocationPrice, nil]
3351
+ optional :allocation_price, -> { Orb::NewAllocationPrice }, nil?: true
3352
+
3353
+ # @!attribute discounts
3354
+ # @deprecated
3355
+ #
3356
+ # [DEPRECATED] Use add_adjustments instead. The subscription's discounts for the
3357
+ # replacement price.
3358
+ #
3359
+ # @return [Array<Orb::Models::DiscountOverride>, nil]
3360
+ optional :discounts, -> { Orb::Internal::Type::ArrayOf[Orb::DiscountOverride] }, nil?: true
3361
+
3362
+ # @!attribute external_price_id
3363
+ # The external price id of the price to add to the subscription.
3364
+ #
3365
+ # @return [String, nil]
3366
+ optional :external_price_id, String, nil?: true
3367
+
3368
+ # @!attribute fixed_price_quantity
3369
+ # The new quantity of the price, if the price is a fixed price.
3370
+ #
3371
+ # @return [Float, nil]
3372
+ optional :fixed_price_quantity, Float, nil?: true
3373
+
3374
+ # @!attribute maximum_amount
3375
+ # @deprecated
3376
+ #
3377
+ # [DEPRECATED] Use add_adjustments instead. The subscription's maximum amount for
3378
+ # the replacement price.
3379
+ #
3380
+ # @return [String, nil]
3381
+ optional :maximum_amount, String, nil?: true
3382
+
3383
+ # @!attribute metric_parameter_overrides
3384
+ # Override values for parameterized billable metric variables. Keys are parameter
3385
+ # names, values are the override values.
3386
+ #
3387
+ # @return [Hash{Symbol=>Object}, nil]
3388
+ optional :metric_parameter_overrides,
3389
+ Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown],
3390
+ nil?: true
3391
+
3392
+ # @!attribute minimum_amount
3393
+ # @deprecated
3394
+ #
3395
+ # [DEPRECATED] Use add_adjustments instead. The subscription's minimum amount for
3396
+ # the replacement price.
3397
+ #
3398
+ # @return [String, nil]
3399
+ optional :minimum_amount, String, nil?: true
3400
+
3401
+ # @!attribute price
3402
+ # New subscription price request body params.
3403
+ #
3404
+ # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, nil]
3405
+ optional :price, union: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price }, nil?: true
3406
+
3407
+ # @!attribute price_id
3408
+ # The id of the price to add to the subscription.
3409
+ #
3410
+ # @return [String, nil]
3411
+ optional :price_id, String, nil?: true
3412
+
3413
+ # @!method initialize(replaces_price_id:, allocation_price: nil, discounts: nil, external_price_id: nil, fixed_price_quantity: nil, maximum_amount: nil, metric_parameter_overrides: nil, minimum_amount: nil, price: nil, price_id: nil)
3414
+ # Some parameter documentations has been truncated, see
3415
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice} for more details.
3416
+ #
3417
+ # @param replaces_price_id [String] The id of the price on the plan to replace in the subscription.
3418
+ #
3419
+ # @param allocation_price [Orb::Models::NewAllocationPrice, nil] The definition of a new allocation price to create and add to the subscription.
3420
+ #
3421
+ # @param discounts [Array<Orb::Models::DiscountOverride>, nil] [DEPRECATED] Use add_adjustments instead. The subscription's discounts for the r
3422
+ #
3423
+ # @param external_price_id [String, nil] The external price id of the price to add to the subscription.
3424
+ #
3425
+ # @param fixed_price_quantity [Float, nil] The new quantity of the price, if the price is a fixed price.
3426
+ #
3427
+ # @param maximum_amount [String, nil] [DEPRECATED] Use add_adjustments instead. The subscription's maximum amount for
3428
+ #
3429
+ # @param metric_parameter_overrides [Hash{Symbol=>Object}, nil] Override values for parameterized billable metric variables. Keys are parameter
3430
+ #
3431
+ # @param minimum_amount [String, nil] [DEPRECATED] Use add_adjustments instead. The subscription's minimum amount for
3432
+ #
3433
+ # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, nil] New subscription price request body params.
3434
+ #
3435
+ # @param price_id [String, nil] The id of the price to add to the subscription.
3436
+
3437
+ # New subscription price request body params.
3438
+ #
3439
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice#price
3440
+ module Price
3441
+ extend Orb::Internal::Type::Union
3442
+
3443
+ discriminator :model_type
3444
+
3445
+ variant :unit, -> { Orb::NewSubscriptionUnitPrice }
3446
+
3447
+ variant :tiered, -> { Orb::NewSubscriptionTieredPrice }
3448
+
3449
+ variant :bulk, -> { Orb::NewSubscriptionBulkPrice }
3450
+
3451
+ variant :bulk_with_filters, -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters }
3452
+
3453
+ variant :package, -> { Orb::NewSubscriptionPackagePrice }
3454
+
3455
+ variant :matrix, -> { Orb::NewSubscriptionMatrixPrice }
3456
+
3457
+ variant :threshold_total_amount, -> { Orb::NewSubscriptionThresholdTotalAmountPrice }
3458
+
3459
+ variant :tiered_package, -> { Orb::NewSubscriptionTieredPackagePrice }
3460
+
3461
+ variant :tiered_with_minimum, -> { Orb::NewSubscriptionTieredWithMinimumPrice }
3462
+
3463
+ variant :grouped_tiered, -> { Orb::NewSubscriptionGroupedTieredPrice }
3464
+
3465
+ variant :tiered_package_with_minimum, -> { Orb::NewSubscriptionTieredPackageWithMinimumPrice }
3466
+
3467
+ variant :package_with_allocation, -> { Orb::NewSubscriptionPackageWithAllocationPrice }
3468
+
3469
+ variant :unit_with_percent, -> { Orb::NewSubscriptionUnitWithPercentPrice }
3470
+
3471
+ variant :matrix_with_allocation, -> { Orb::NewSubscriptionMatrixWithAllocationPrice }
3472
+
3473
+ variant :matrix_with_threshold_discounts,
3474
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts }
3475
+
3476
+ variant :tiered_with_proration,
3477
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration }
3478
+
3479
+ variant :unit_with_proration, -> { Orb::NewSubscriptionUnitWithProrationPrice }
3480
+
3481
+ variant :grouped_allocation, -> { Orb::NewSubscriptionGroupedAllocationPrice }
3482
+
3483
+ variant :bulk_with_proration, -> { Orb::NewSubscriptionBulkWithProrationPrice }
3484
+
3485
+ variant :grouped_with_prorated_minimum, -> { Orb::NewSubscriptionGroupedWithProratedMinimumPrice }
3486
+
3487
+ variant :grouped_with_metered_minimum, -> { Orb::NewSubscriptionGroupedWithMeteredMinimumPrice }
3488
+
3489
+ variant :grouped_with_min_max_thresholds,
3490
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds }
3491
+
3492
+ variant :matrix_with_display_name, -> { Orb::NewSubscriptionMatrixWithDisplayNamePrice }
3493
+
3494
+ variant :grouped_tiered_package, -> { Orb::NewSubscriptionGroupedTieredPackagePrice }
3495
+
3496
+ variant :max_group_tiered_package, -> { Orb::NewSubscriptionMaxGroupTieredPackagePrice }
3497
+
3498
+ variant :scalable_matrix_with_unit_pricing, -> { Orb::NewSubscriptionScalableMatrixWithUnitPricingPrice }
3499
+
3500
+ variant :scalable_matrix_with_tiered_pricing,
3501
+ -> { Orb::NewSubscriptionScalableMatrixWithTieredPricingPrice }
3502
+
3503
+ variant :cumulative_grouped_bulk, -> { Orb::NewSubscriptionCumulativeGroupedBulkPrice }
3504
+
3505
+ variant :cumulative_grouped_allocation,
3506
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation }
3507
+
3508
+ variant :daily_credit_allowance,
3509
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance }
3510
+
3511
+ variant :metered_allowance, -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance }
3512
+
3513
+ variant :minimum_composite, -> { Orb::NewSubscriptionMinimumCompositePrice }
3514
+
3515
+ variant :percent, -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::Percent }
3516
+
3517
+ variant :event_output, -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::EventOutput }
3518
+
3519
+ class BulkWithFilters < Orb::Internal::Type::BaseModel
3520
+ # @!attribute bulk_with_filters_config
3521
+ # Configuration for bulk_with_filters pricing
3522
+ #
3523
+ # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig]
3524
+ required :bulk_with_filters_config,
3525
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig }
3526
+
3527
+ # @!attribute cadence
3528
+ # The cadence to bill for this price on.
3529
+ #
3530
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::Cadence]
3531
+ required :cadence,
3532
+ enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::Cadence }
3533
+
3534
+ # @!attribute item_id
3535
+ # The id of the item the price will be associated with.
3536
+ #
3537
+ # @return [String]
3538
+ required :item_id, String
3539
+
3540
+ # @!attribute model_type
3541
+ # The pricing model type
3542
+ #
3543
+ # @return [Symbol, :bulk_with_filters]
3544
+ required :model_type, const: :bulk_with_filters
3545
+
3546
+ # @!attribute name
3547
+ # The name of the price.
3548
+ #
3549
+ # @return [String]
3550
+ required :name, String
3551
+
3552
+ # @!attribute billable_metric_id
3553
+ # The id of the billable metric for the price. Only needed if the price is
3554
+ # usage-based.
3555
+ #
3556
+ # @return [String, nil]
3557
+ optional :billable_metric_id, String, nil?: true
3558
+
3559
+ # @!attribute billed_in_advance
3560
+ # If the Price represents a fixed cost, the price will be billed in-advance if
3561
+ # this is true, and in-arrears if this is false.
3562
+ #
3563
+ # @return [Boolean, nil]
3564
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
3565
+
3566
+ # @!attribute billing_cycle_configuration
3567
+ # For custom cadence: specifies the duration of the billing period in days or
3568
+ # months.
3569
+ #
3570
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
3571
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
3572
+
3573
+ # @!attribute conversion_rate
3574
+ # The per unit conversion rate of the price currency to the invoicing currency.
3575
+ #
3576
+ # @return [Float, nil]
3577
+ optional :conversion_rate, Float, nil?: true
3578
+
3579
+ # @!attribute conversion_rate_config
3580
+ # The configuration for the rate of the price currency to the invoicing currency.
3581
+ #
3582
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
3583
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
3584
+
3585
+ # @!attribute currency
3586
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
3587
+ # price is billed.
3588
+ #
3589
+ # @return [String, nil]
3590
+ optional :currency, String, nil?: true
3591
+
3592
+ # @!attribute dimensional_price_configuration
3593
+ # For dimensional price: specifies a price group and dimension values
3594
+ #
3595
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
3596
+ optional :dimensional_price_configuration,
3597
+ -> {
3598
+ Orb::NewDimensionalPriceConfiguration
3599
+ },
3600
+ nil?: true
3601
+
3602
+ # @!attribute external_price_id
3603
+ # An alias for the price.
3604
+ #
3605
+ # @return [String, nil]
3606
+ optional :external_price_id, String, nil?: true
3607
+
3608
+ # @!attribute fixed_price_quantity
3609
+ # If the Price represents a fixed cost, this represents the quantity of units
3610
+ # applied.
3611
+ #
3612
+ # @return [Float, nil]
3613
+ optional :fixed_price_quantity, Float, nil?: true
3614
+
3615
+ # @!attribute invoice_grouping_key
3616
+ # The property used to group this price on an invoice
3617
+ #
3618
+ # @return [String, nil]
3619
+ optional :invoice_grouping_key, String, nil?: true
3620
+
3621
+ # @!attribute invoicing_cycle_configuration
3622
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
3623
+ # If unspecified, a single invoice is produced per billing cycle.
3624
+ #
3625
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
3626
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
3627
+
3628
+ # @!attribute license_type_id
3629
+ # The ID of the license type to associate with this price.
3630
+ #
3631
+ # @return [String, nil]
3632
+ optional :license_type_id, String, nil?: true
3633
+
3634
+ # @!attribute metadata
3635
+ # User-specified key/value pairs for the resource. Individual keys can be removed
3636
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
3637
+ # by setting `metadata` to `null`.
3638
+ #
3639
+ # @return [Hash{Symbol=>String, nil}, nil]
3640
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
3641
+
3642
+ # @!attribute reference_id
3643
+ # A transient ID that can be used to reference this price when adding adjustments
3644
+ # in the same API call.
3645
+ #
3646
+ # @return [String, nil]
3647
+ optional :reference_id, String, nil?: true
3648
+
3649
+ # @!method initialize(bulk_with_filters_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :bulk_with_filters)
3650
+ # Some parameter documentations has been truncated, see
3651
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters}
3652
+ # for more details.
3653
+ #
3654
+ # @param bulk_with_filters_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig] Configuration for bulk_with_filters pricing
3655
+ #
3656
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::Cadence] The cadence to bill for this price on.
3657
+ #
3658
+ # @param item_id [String] The id of the item the price will be associated with.
3659
+ #
3660
+ # @param name [String] The name of the price.
3661
+ #
3662
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
3663
+ #
3664
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
3665
+ #
3666
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
3667
+ #
3668
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
3669
+ #
3670
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
3671
+ #
3672
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
3673
+ #
3674
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
3675
+ #
3676
+ # @param external_price_id [String, nil] An alias for the price.
3677
+ #
3678
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
3679
+ #
3680
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
3681
+ #
3682
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
3683
+ #
3684
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
3685
+ #
3686
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
3687
+ #
3688
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
3689
+ #
3690
+ # @param model_type [Symbol, :bulk_with_filters] The pricing model type
3691
+
3692
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters#bulk_with_filters_config
3693
+ class BulkWithFiltersConfig < Orb::Internal::Type::BaseModel
3694
+ # @!attribute filters
3695
+ # Property filters to apply (all must match)
3696
+ #
3697
+ # @return [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Filter>]
3698
+ required :filters,
3699
+ -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Filter] }
3700
+
3701
+ # @!attribute tiers
3702
+ # Bulk tiers for rating based on total usage volume
3703
+ #
3704
+ # @return [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Tier>]
3705
+ required :tiers,
3706
+ -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Tier] }
3707
+
3708
+ # @!method initialize(filters:, tiers:)
3709
+ # Configuration for bulk_with_filters pricing
3710
+ #
3711
+ # @param filters [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Filter>] Property filters to apply (all must match)
3712
+ #
3713
+ # @param tiers [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Tier>] Bulk tiers for rating based on total usage volume
3714
+
3715
+ class Filter < Orb::Internal::Type::BaseModel
3716
+ # @!attribute property_key
3717
+ # Event property key to filter on
3718
+ #
3719
+ # @return [String]
3720
+ required :property_key, String
1991
3721
 
1992
- # @!method initialize(adjustment_id:)
1993
- # @param adjustment_id [String] The id of the adjustment to remove on the subscription.
1994
- end
3722
+ # @!attribute property_value
3723
+ # Event property value to match
3724
+ #
3725
+ # @return [String]
3726
+ required :property_value, String
1995
3727
 
1996
- class RemovePrice < Orb::Internal::Type::BaseModel
1997
- # @!attribute external_price_id
1998
- # The external price id of the price to remove on the subscription.
1999
- #
2000
- # @return [String, nil]
2001
- optional :external_price_id, String, nil?: true
3728
+ # @!method initialize(property_key:, property_value:)
3729
+ # Configuration for a single property filter
3730
+ #
3731
+ # @param property_key [String] Event property key to filter on
3732
+ #
3733
+ # @param property_value [String] Event property value to match
3734
+ end
2002
3735
 
2003
- # @!attribute price_id
2004
- # The id of the price to remove on the subscription.
2005
- #
2006
- # @return [String, nil]
2007
- optional :price_id, String, nil?: true
3736
+ class Tier < Orb::Internal::Type::BaseModel
3737
+ # @!attribute unit_amount
3738
+ # Amount per unit
3739
+ #
3740
+ # @return [String]
3741
+ required :unit_amount, String
2008
3742
 
2009
- # @!method initialize(external_price_id: nil, price_id: nil)
2010
- # @param external_price_id [String, nil] The external price id of the price to remove on the subscription.
2011
- #
2012
- # @param price_id [String, nil] The id of the price to remove on the subscription.
2013
- end
3743
+ # @!attribute tier_lower_bound
3744
+ # The lower bound for this tier
3745
+ #
3746
+ # @return [String, nil]
3747
+ optional :tier_lower_bound, String, nil?: true
2014
3748
 
2015
- class ReplaceAdjustment < Orb::Internal::Type::BaseModel
2016
- # @!attribute adjustment
2017
- # The definition of a new adjustment to create and add to the subscription.
2018
- #
2019
- # @return [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum]
2020
- required :adjustment, union: -> { Orb::SubscriptionCreateParams::ReplaceAdjustment::Adjustment }
3749
+ # @!method initialize(unit_amount:, tier_lower_bound: nil)
3750
+ # Configuration for a single bulk pricing tier
3751
+ #
3752
+ # @param unit_amount [String] Amount per unit
3753
+ #
3754
+ # @param tier_lower_bound [String, nil] The lower bound for this tier
3755
+ end
3756
+ end
2021
3757
 
2022
- # @!attribute replaces_adjustment_id
2023
- # The id of the adjustment on the plan to replace in the subscription.
2024
- #
2025
- # @return [String]
2026
- required :replaces_adjustment_id, String
3758
+ # The cadence to bill for this price on.
3759
+ #
3760
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters#cadence
3761
+ module Cadence
3762
+ extend Orb::Internal::Type::Enum
2027
3763
 
2028
- # @!method initialize(adjustment:, replaces_adjustment_id:)
2029
- # @param adjustment [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum] The definition of a new adjustment to create and add to the subscription.
2030
- #
2031
- # @param replaces_adjustment_id [String] The id of the adjustment on the plan to replace in the subscription.
3764
+ ANNUAL = :annual
3765
+ SEMI_ANNUAL = :semi_annual
3766
+ MONTHLY = :monthly
3767
+ QUARTERLY = :quarterly
3768
+ ONE_TIME = :one_time
3769
+ CUSTOM = :custom
2032
3770
 
2033
- # The definition of a new adjustment to create and add to the subscription.
2034
- #
2035
- # @see Orb::Models::SubscriptionCreateParams::ReplaceAdjustment#adjustment
2036
- module Adjustment
2037
- extend Orb::Internal::Type::Union
3771
+ # @!method self.values
3772
+ # @return [Array<Symbol>]
3773
+ end
3774
+ end
2038
3775
 
2039
- discriminator :adjustment_type
3776
+ class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
3777
+ # @!attribute cadence
3778
+ # The cadence to bill for this price on.
3779
+ #
3780
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::Cadence]
3781
+ required :cadence,
3782
+ enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::Cadence }
2040
3783
 
2041
- variant :percentage_discount, -> { Orb::NewPercentageDiscount }
3784
+ # @!attribute item_id
3785
+ # The id of the item the price will be associated with.
3786
+ #
3787
+ # @return [String]
3788
+ required :item_id, String
2042
3789
 
2043
- variant :usage_discount, -> { Orb::NewUsageDiscount }
3790
+ # @!attribute matrix_with_threshold_discounts_config
3791
+ # Configuration for matrix_with_threshold_discounts pricing
3792
+ #
3793
+ # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig]
3794
+ required :matrix_with_threshold_discounts_config,
3795
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig }
2044
3796
 
2045
- variant :amount_discount, -> { Orb::NewAmountDiscount }
3797
+ # @!attribute model_type
3798
+ # The pricing model type
3799
+ #
3800
+ # @return [Symbol, :matrix_with_threshold_discounts]
3801
+ required :model_type, const: :matrix_with_threshold_discounts
2046
3802
 
2047
- variant :minimum, -> { Orb::NewMinimum }
3803
+ # @!attribute name
3804
+ # The name of the price.
3805
+ #
3806
+ # @return [String]
3807
+ required :name, String
2048
3808
 
2049
- variant :maximum, -> { Orb::NewMaximum }
3809
+ # @!attribute billable_metric_id
3810
+ # The id of the billable metric for the price. Only needed if the price is
3811
+ # usage-based.
3812
+ #
3813
+ # @return [String, nil]
3814
+ optional :billable_metric_id, String, nil?: true
2050
3815
 
2051
- # @!method self.variants
2052
- # @return [Array(Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum)]
2053
- end
2054
- end
3816
+ # @!attribute billed_in_advance
3817
+ # If the Price represents a fixed cost, the price will be billed in-advance if
3818
+ # this is true, and in-arrears if this is false.
3819
+ #
3820
+ # @return [Boolean, nil]
3821
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
3822
+
3823
+ # @!attribute billing_cycle_configuration
3824
+ # For custom cadence: specifies the duration of the billing period in days or
3825
+ # months.
3826
+ #
3827
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
3828
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
3829
+
3830
+ # @!attribute conversion_rate
3831
+ # The per unit conversion rate of the price currency to the invoicing currency.
3832
+ #
3833
+ # @return [Float, nil]
3834
+ optional :conversion_rate, Float, nil?: true
3835
+
3836
+ # @!attribute conversion_rate_config
3837
+ # The configuration for the rate of the price currency to the invoicing currency.
3838
+ #
3839
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
3840
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
3841
+
3842
+ # @!attribute currency
3843
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
3844
+ # price is billed.
3845
+ #
3846
+ # @return [String, nil]
3847
+ optional :currency, String, nil?: true
3848
+
3849
+ # @!attribute dimensional_price_configuration
3850
+ # For dimensional price: specifies a price group and dimension values
3851
+ #
3852
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
3853
+ optional :dimensional_price_configuration,
3854
+ -> {
3855
+ Orb::NewDimensionalPriceConfiguration
3856
+ },
3857
+ nil?: true
3858
+
3859
+ # @!attribute external_price_id
3860
+ # An alias for the price.
3861
+ #
3862
+ # @return [String, nil]
3863
+ optional :external_price_id, String, nil?: true
3864
+
3865
+ # @!attribute fixed_price_quantity
3866
+ # If the Price represents a fixed cost, this represents the quantity of units
3867
+ # applied.
3868
+ #
3869
+ # @return [Float, nil]
3870
+ optional :fixed_price_quantity, Float, nil?: true
3871
+
3872
+ # @!attribute invoice_grouping_key
3873
+ # The property used to group this price on an invoice
3874
+ #
3875
+ # @return [String, nil]
3876
+ optional :invoice_grouping_key, String, nil?: true
3877
+
3878
+ # @!attribute invoicing_cycle_configuration
3879
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
3880
+ # If unspecified, a single invoice is produced per billing cycle.
3881
+ #
3882
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
3883
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
3884
+
3885
+ # @!attribute license_type_id
3886
+ # The ID of the license type to associate with this price.
3887
+ #
3888
+ # @return [String, nil]
3889
+ optional :license_type_id, String, nil?: true
3890
+
3891
+ # @!attribute metadata
3892
+ # User-specified key/value pairs for the resource. Individual keys can be removed
3893
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
3894
+ # by setting `metadata` to `null`.
3895
+ #
3896
+ # @return [Hash{Symbol=>String, nil}, nil]
3897
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
3898
+
3899
+ # @!attribute reference_id
3900
+ # A transient ID that can be used to reference this price when adding adjustments
3901
+ # in the same API call.
3902
+ #
3903
+ # @return [String, nil]
3904
+ optional :reference_id, String, nil?: true
3905
+
3906
+ # @!method initialize(cadence:, item_id:, matrix_with_threshold_discounts_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :matrix_with_threshold_discounts)
3907
+ # Some parameter documentations has been truncated, see
3908
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts}
3909
+ # for more details.
3910
+ #
3911
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::Cadence] The cadence to bill for this price on.
3912
+ #
3913
+ # @param item_id [String] The id of the item the price will be associated with.
3914
+ #
3915
+ # @param matrix_with_threshold_discounts_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig] Configuration for matrix_with_threshold_discounts pricing
3916
+ #
3917
+ # @param name [String] The name of the price.
3918
+ #
3919
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
3920
+ #
3921
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
3922
+ #
3923
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
3924
+ #
3925
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
3926
+ #
3927
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
3928
+ #
3929
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
3930
+ #
3931
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
3932
+ #
3933
+ # @param external_price_id [String, nil] An alias for the price.
3934
+ #
3935
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
3936
+ #
3937
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
3938
+ #
3939
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
3940
+ #
3941
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
3942
+ #
3943
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
3944
+ #
3945
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
3946
+ #
3947
+ # @param model_type [Symbol, :matrix_with_threshold_discounts] The pricing model type
2055
3948
 
2056
- class ReplacePrice < Orb::Internal::Type::BaseModel
2057
- # @!attribute replaces_price_id
2058
- # The id of the price on the plan to replace in the subscription.
2059
- #
2060
- # @return [String]
2061
- required :replaces_price_id, String
3949
+ # The cadence to bill for this price on.
3950
+ #
3951
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts#cadence
3952
+ module Cadence
3953
+ extend Orb::Internal::Type::Enum
2062
3954
 
2063
- # @!attribute allocation_price
2064
- # The definition of a new allocation price to create and add to the subscription.
2065
- #
2066
- # @return [Orb::Models::NewAllocationPrice, nil]
2067
- optional :allocation_price, -> { Orb::NewAllocationPrice }, nil?: true
3955
+ ANNUAL = :annual
3956
+ SEMI_ANNUAL = :semi_annual
3957
+ MONTHLY = :monthly
3958
+ QUARTERLY = :quarterly
3959
+ ONE_TIME = :one_time
3960
+ CUSTOM = :custom
2068
3961
 
2069
- # @!attribute discounts
2070
- # @deprecated
2071
- #
2072
- # [DEPRECATED] Use add_adjustments instead. The subscription's discounts for the
2073
- # replacement price.
2074
- #
2075
- # @return [Array<Orb::Models::DiscountOverride>, nil]
2076
- optional :discounts, -> { Orb::Internal::Type::ArrayOf[Orb::DiscountOverride] }, nil?: true
3962
+ # @!method self.values
3963
+ # @return [Array<Symbol>]
3964
+ end
2077
3965
 
2078
- # @!attribute external_price_id
2079
- # The external price id of the price to add to the subscription.
2080
- #
2081
- # @return [String, nil]
2082
- optional :external_price_id, String, nil?: true
3966
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts#matrix_with_threshold_discounts_config
3967
+ class MatrixWithThresholdDiscountsConfig < Orb::Internal::Type::BaseModel
3968
+ # @!attribute default_unit_amount
3969
+ # Unit price used for usage that does not match any defined matrix cell.
3970
+ #
3971
+ # @return [String]
3972
+ required :default_unit_amount, String
2083
3973
 
2084
- # @!attribute fixed_price_quantity
2085
- # The new quantity of the price, if the price is a fixed price.
2086
- #
2087
- # @return [Float, nil]
2088
- optional :fixed_price_quantity, Float, nil?: true
3974
+ # @!attribute first_dimension
3975
+ # First matrix dimension key.
3976
+ #
3977
+ # @return [String]
3978
+ required :first_dimension, String
2089
3979
 
2090
- # @!attribute maximum_amount
2091
- # @deprecated
2092
- #
2093
- # [DEPRECATED] Use add_adjustments instead. The subscription's maximum amount for
2094
- # the replacement price.
2095
- #
2096
- # @return [String, nil]
2097
- optional :maximum_amount, String, nil?: true
3980
+ # @!attribute matrix_values
3981
+ # Per-cell unit prices.
3982
+ #
3983
+ # @return [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue>]
3984
+ required :matrix_values,
3985
+ -> do
3986
+ Orb::Internal::Type::ArrayOf[
3987
+ Orb::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue
3988
+ ]
3989
+ end
3990
+
3991
+ # @!attribute second_dimension
3992
+ # Optional second matrix dimension key.
3993
+ #
3994
+ # @return [String, nil]
3995
+ optional :second_dimension, String, nil?: true
2098
3996
 
2099
- # @!attribute metric_parameter_overrides
2100
- # Override values for parameterized billable metric variables. Keys are parameter
2101
- # names, values are the override values.
2102
- #
2103
- # @return [Hash{Symbol=>Object}, nil]
2104
- optional :metric_parameter_overrides,
2105
- Orb::Internal::Type::HashOf[Orb::Internal::Type::Unknown],
2106
- nil?: true
3997
+ # @!attribute threshold_discount_groups
3998
+ #
3999
+ # @return [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup>, nil]
4000
+ optional :threshold_discount_groups,
4001
+ -> do
4002
+ Orb::Internal::Type::ArrayOf[
4003
+ Orb::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup
4004
+ ]
4005
+ end
4006
+
4007
+ # @!method initialize(default_unit_amount:, first_dimension:, matrix_values:, second_dimension: nil, threshold_discount_groups: nil)
4008
+ # Configuration for matrix_with_threshold_discounts pricing
4009
+ #
4010
+ # @param default_unit_amount [String] Unit price used for usage that does not match any defined matrix cell.
4011
+ #
4012
+ # @param first_dimension [String] First matrix dimension key.
4013
+ #
4014
+ # @param matrix_values [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue>] Per-cell unit prices.
4015
+ #
4016
+ # @param second_dimension [String, nil] Optional second matrix dimension key.
4017
+ #
4018
+ # @param threshold_discount_groups [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup>]
2107
4019
 
2108
- # @!attribute minimum_amount
2109
- # @deprecated
2110
- #
2111
- # [DEPRECATED] Use add_adjustments instead. The subscription's minimum amount for
2112
- # the replacement price.
2113
- #
2114
- # @return [String, nil]
2115
- optional :minimum_amount, String, nil?: true
4020
+ class MatrixValue < Orb::Internal::Type::BaseModel
4021
+ # @!attribute first_dimension_value
4022
+ #
4023
+ # @return [String]
4024
+ required :first_dimension_value, String
2116
4025
 
2117
- # @!attribute price
2118
- # New subscription price request body params.
2119
- #
2120
- # @return [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, nil]
2121
- optional :price, union: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price }, nil?: true
4026
+ # @!attribute unit_amount
4027
+ #
4028
+ # @return [String]
4029
+ required :unit_amount, String
2122
4030
 
2123
- # @!attribute price_id
2124
- # The id of the price to add to the subscription.
2125
- #
2126
- # @return [String, nil]
2127
- optional :price_id, String, nil?: true
4031
+ # @!attribute second_dimension_value
4032
+ #
4033
+ # @return [String, nil]
4034
+ optional :second_dimension_value, String, nil?: true
2128
4035
 
2129
- # @!method initialize(replaces_price_id:, allocation_price: nil, discounts: nil, external_price_id: nil, fixed_price_quantity: nil, maximum_amount: nil, metric_parameter_overrides: nil, minimum_amount: nil, price: nil, price_id: nil)
2130
- # Some parameter documentations has been truncated, see
2131
- # {Orb::Models::SubscriptionCreateParams::ReplacePrice} for more details.
2132
- #
2133
- # @param replaces_price_id [String] The id of the price on the plan to replace in the subscription.
2134
- #
2135
- # @param allocation_price [Orb::Models::NewAllocationPrice, nil] The definition of a new allocation price to create and add to the subscription.
2136
- #
2137
- # @param discounts [Array<Orb::Models::DiscountOverride>, nil] [DEPRECATED] Use add_adjustments instead. The subscription's discounts for the r
2138
- #
2139
- # @param external_price_id [String, nil] The external price id of the price to add to the subscription.
2140
- #
2141
- # @param fixed_price_quantity [Float, nil] The new quantity of the price, if the price is a fixed price.
2142
- #
2143
- # @param maximum_amount [String, nil] [DEPRECATED] Use add_adjustments instead. The subscription's maximum amount for
2144
- #
2145
- # @param metric_parameter_overrides [Hash{Symbol=>Object}, nil] Override values for parameterized billable metric variables. Keys are parameter
2146
- #
2147
- # @param minimum_amount [String, nil] [DEPRECATED] Use add_adjustments instead. The subscription's minimum amount for
2148
- #
2149
- # @param price [Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput, nil] New subscription price request body params.
2150
- #
2151
- # @param price_id [String, nil] The id of the price to add to the subscription.
4036
+ # @!method initialize(first_dimension_value:, unit_amount:, second_dimension_value: nil)
4037
+ # @param first_dimension_value [String]
4038
+ # @param unit_amount [String]
4039
+ # @param second_dimension_value [String, nil]
4040
+ end
2152
4041
 
2153
- # New subscription price request body params.
2154
- #
2155
- # @see Orb::Models::SubscriptionCreateParams::ReplacePrice#price
2156
- module Price
2157
- extend Orb::Internal::Type::Union
4042
+ class ThresholdDiscountGroup < Orb::Internal::Type::BaseModel
4043
+ # @!attribute above_threshold_discount_percentage
4044
+ # Discount rate applied to spend above the threshold.
4045
+ #
4046
+ # @return [String]
4047
+ required :above_threshold_discount_percentage, String
2158
4048
 
2159
- discriminator :model_type
4049
+ # @!attribute below_threshold_discount_percentage
4050
+ # Discount rate applied to spend at or below the threshold. Set to 0 for no
4051
+ # baseline discount.
4052
+ #
4053
+ # @return [String]
4054
+ required :below_threshold_discount_percentage, String
2160
4055
 
2161
- variant :unit, -> { Orb::NewSubscriptionUnitPrice }
4056
+ # @!attribute cell_coordinates
4057
+ # Semicolon-separated list of matrix cell coordinates targeted by this group. Each
4058
+ # coordinate is `first,second` when the matrix has two dimensions, or just `first`
4059
+ # for a single-dimension matrix. Example: `blue,circle;green,triangle`.
4060
+ #
4061
+ # @return [String]
4062
+ required :cell_coordinates, String
2162
4063
 
2163
- variant :tiered, -> { Orb::NewSubscriptionTieredPrice }
4064
+ # @!attribute threshold_amount
4065
+ #
4066
+ # @return [String]
4067
+ required :threshold_amount, String
2164
4068
 
2165
- variant :bulk, -> { Orb::NewSubscriptionBulkPrice }
4069
+ # @!attribute description
4070
+ #
4071
+ # @return [String, nil]
4072
+ optional :description, String, nil?: true
2166
4073
 
2167
- variant :bulk_with_filters, -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters }
4074
+ # @!method initialize(above_threshold_discount_percentage:, below_threshold_discount_percentage:, cell_coordinates:, threshold_amount:, description: nil)
4075
+ # Some parameter documentations has been truncated, see
4076
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup}
4077
+ # for more details.
4078
+ #
4079
+ # @param above_threshold_discount_percentage [String] Discount rate applied to spend above the threshold.
4080
+ #
4081
+ # @param below_threshold_discount_percentage [String] Discount rate applied to spend at or below the threshold. Set to 0 for no baseli
4082
+ #
4083
+ # @param cell_coordinates [String] Semicolon-separated list of matrix cell coordinates targeted by this group. Each
4084
+ #
4085
+ # @param threshold_amount [String]
4086
+ #
4087
+ # @param description [String, nil]
4088
+ end
4089
+ end
4090
+ end
2168
4091
 
2169
- variant :package, -> { Orb::NewSubscriptionPackagePrice }
4092
+ class TieredWithProration < Orb::Internal::Type::BaseModel
4093
+ # @!attribute cadence
4094
+ # The cadence to bill for this price on.
4095
+ #
4096
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence]
4097
+ required :cadence,
4098
+ enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence }
2170
4099
 
2171
- variant :matrix, -> { Orb::NewSubscriptionMatrixPrice }
4100
+ # @!attribute item_id
4101
+ # The id of the item the price will be associated with.
4102
+ #
4103
+ # @return [String]
4104
+ required :item_id, String
2172
4105
 
2173
- variant :threshold_total_amount, -> { Orb::NewSubscriptionThresholdTotalAmountPrice }
4106
+ # @!attribute model_type
4107
+ # The pricing model type
4108
+ #
4109
+ # @return [Symbol, :tiered_with_proration]
4110
+ required :model_type, const: :tiered_with_proration
2174
4111
 
2175
- variant :tiered_package, -> { Orb::NewSubscriptionTieredPackagePrice }
4112
+ # @!attribute name
4113
+ # The name of the price.
4114
+ #
4115
+ # @return [String]
4116
+ required :name, String
2176
4117
 
2177
- variant :tiered_with_minimum, -> { Orb::NewSubscriptionTieredWithMinimumPrice }
4118
+ # @!attribute tiered_with_proration_config
4119
+ # Configuration for tiered_with_proration pricing
4120
+ #
4121
+ # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig]
4122
+ required :tiered_with_proration_config,
4123
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig }
2178
4124
 
2179
- variant :grouped_tiered, -> { Orb::NewSubscriptionGroupedTieredPrice }
4125
+ # @!attribute billable_metric_id
4126
+ # The id of the billable metric for the price. Only needed if the price is
4127
+ # usage-based.
4128
+ #
4129
+ # @return [String, nil]
4130
+ optional :billable_metric_id, String, nil?: true
2180
4131
 
2181
- variant :tiered_package_with_minimum, -> { Orb::NewSubscriptionTieredPackageWithMinimumPrice }
4132
+ # @!attribute billed_in_advance
4133
+ # If the Price represents a fixed cost, the price will be billed in-advance if
4134
+ # this is true, and in-arrears if this is false.
4135
+ #
4136
+ # @return [Boolean, nil]
4137
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
2182
4138
 
2183
- variant :package_with_allocation, -> { Orb::NewSubscriptionPackageWithAllocationPrice }
4139
+ # @!attribute billing_cycle_configuration
4140
+ # For custom cadence: specifies the duration of the billing period in days or
4141
+ # months.
4142
+ #
4143
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4144
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2184
4145
 
2185
- variant :unit_with_percent, -> { Orb::NewSubscriptionUnitWithPercentPrice }
4146
+ # @!attribute conversion_rate
4147
+ # The per unit conversion rate of the price currency to the invoicing currency.
4148
+ #
4149
+ # @return [Float, nil]
4150
+ optional :conversion_rate, Float, nil?: true
2186
4151
 
2187
- variant :matrix_with_allocation, -> { Orb::NewSubscriptionMatrixWithAllocationPrice }
4152
+ # @!attribute conversion_rate_config
4153
+ # The configuration for the rate of the price currency to the invoicing currency.
4154
+ #
4155
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
4156
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
2188
4157
 
2189
- variant :tiered_with_proration,
2190
- -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration }
4158
+ # @!attribute currency
4159
+ # An ISO 4217 currency string, or custom pricing unit identifier, in which this
4160
+ # price is billed.
4161
+ #
4162
+ # @return [String, nil]
4163
+ optional :currency, String, nil?: true
2191
4164
 
2192
- variant :unit_with_proration, -> { Orb::NewSubscriptionUnitWithProrationPrice }
4165
+ # @!attribute dimensional_price_configuration
4166
+ # For dimensional price: specifies a price group and dimension values
4167
+ #
4168
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
4169
+ optional :dimensional_price_configuration,
4170
+ -> {
4171
+ Orb::NewDimensionalPriceConfiguration
4172
+ },
4173
+ nil?: true
2193
4174
 
2194
- variant :grouped_allocation, -> { Orb::NewSubscriptionGroupedAllocationPrice }
4175
+ # @!attribute external_price_id
4176
+ # An alias for the price.
4177
+ #
4178
+ # @return [String, nil]
4179
+ optional :external_price_id, String, nil?: true
2195
4180
 
2196
- variant :bulk_with_proration, -> { Orb::NewSubscriptionBulkWithProrationPrice }
4181
+ # @!attribute fixed_price_quantity
4182
+ # If the Price represents a fixed cost, this represents the quantity of units
4183
+ # applied.
4184
+ #
4185
+ # @return [Float, nil]
4186
+ optional :fixed_price_quantity, Float, nil?: true
2197
4187
 
2198
- variant :grouped_with_prorated_minimum, -> { Orb::NewSubscriptionGroupedWithProratedMinimumPrice }
4188
+ # @!attribute invoice_grouping_key
4189
+ # The property used to group this price on an invoice
4190
+ #
4191
+ # @return [String, nil]
4192
+ optional :invoice_grouping_key, String, nil?: true
2199
4193
 
2200
- variant :grouped_with_metered_minimum, -> { Orb::NewSubscriptionGroupedWithMeteredMinimumPrice }
4194
+ # @!attribute invoicing_cycle_configuration
4195
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
4196
+ # If unspecified, a single invoice is produced per billing cycle.
4197
+ #
4198
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
4199
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2201
4200
 
2202
- variant :grouped_with_min_max_thresholds,
2203
- -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds }
4201
+ # @!attribute license_type_id
4202
+ # The ID of the license type to associate with this price.
4203
+ #
4204
+ # @return [String, nil]
4205
+ optional :license_type_id, String, nil?: true
2204
4206
 
2205
- variant :matrix_with_display_name, -> { Orb::NewSubscriptionMatrixWithDisplayNamePrice }
4207
+ # @!attribute metadata
4208
+ # User-specified key/value pairs for the resource. Individual keys can be removed
4209
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
4210
+ # by setting `metadata` to `null`.
4211
+ #
4212
+ # @return [Hash{Symbol=>String, nil}, nil]
4213
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
2206
4214
 
2207
- variant :grouped_tiered_package, -> { Orb::NewSubscriptionGroupedTieredPackagePrice }
4215
+ # @!attribute reference_id
4216
+ # A transient ID that can be used to reference this price when adding adjustments
4217
+ # in the same API call.
4218
+ #
4219
+ # @return [String, nil]
4220
+ optional :reference_id, String, nil?: true
2208
4221
 
2209
- variant :max_group_tiered_package, -> { Orb::NewSubscriptionMaxGroupTieredPackagePrice }
4222
+ # @!method initialize(cadence:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :tiered_with_proration)
4223
+ # Some parameter documentations has been truncated, see
4224
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration}
4225
+ # for more details.
4226
+ #
4227
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on.
4228
+ #
4229
+ # @param item_id [String] The id of the item the price will be associated with.
4230
+ #
4231
+ # @param name [String] The name of the price.
4232
+ #
4233
+ # @param tiered_with_proration_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig] Configuration for tiered_with_proration pricing
4234
+ #
4235
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
4236
+ #
4237
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
4238
+ #
4239
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
4240
+ #
4241
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
4242
+ #
4243
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
4244
+ #
4245
+ # @param currency [String, nil] An ISO 4217 currency string, or custom pricing unit identifier, in which this pr
4246
+ #
4247
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
4248
+ #
4249
+ # @param external_price_id [String, nil] An alias for the price.
4250
+ #
4251
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
4252
+ #
4253
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
4254
+ #
4255
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
4256
+ #
4257
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
4258
+ #
4259
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
4260
+ #
4261
+ # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
4262
+ #
4263
+ # @param model_type [Symbol, :tiered_with_proration] The pricing model type
2210
4264
 
2211
- variant :scalable_matrix_with_unit_pricing, -> { Orb::NewSubscriptionScalableMatrixWithUnitPricingPrice }
4265
+ # The cadence to bill for this price on.
4266
+ #
4267
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration#cadence
4268
+ module Cadence
4269
+ extend Orb::Internal::Type::Enum
2212
4270
 
2213
- variant :scalable_matrix_with_tiered_pricing,
2214
- -> { Orb::NewSubscriptionScalableMatrixWithTieredPricingPrice }
4271
+ ANNUAL = :annual
4272
+ SEMI_ANNUAL = :semi_annual
4273
+ MONTHLY = :monthly
4274
+ QUARTERLY = :quarterly
4275
+ ONE_TIME = :one_time
4276
+ CUSTOM = :custom
2215
4277
 
2216
- variant :cumulative_grouped_bulk, -> { Orb::NewSubscriptionCumulativeGroupedBulkPrice }
4278
+ # @!method self.values
4279
+ # @return [Array<Symbol>]
4280
+ end
2217
4281
 
2218
- variant :cumulative_grouped_allocation,
2219
- -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation }
4282
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration#tiered_with_proration_config
4283
+ class TieredWithProrationConfig < Orb::Internal::Type::BaseModel
4284
+ # @!attribute tiers
4285
+ # Tiers for rating based on total usage quantities into the specified tier with
4286
+ # proration
4287
+ #
4288
+ # @return [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig::Tier>]
4289
+ required :tiers,
4290
+ -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig::Tier] }
2220
4291
 
2221
- variant :minimum_composite, -> { Orb::NewSubscriptionMinimumCompositePrice }
4292
+ # @!method initialize(tiers:)
4293
+ # Some parameter documentations has been truncated, see
4294
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig}
4295
+ # for more details.
4296
+ #
4297
+ # Configuration for tiered_with_proration pricing
4298
+ #
4299
+ # @param tiers [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig::Tier>] Tiers for rating based on total usage quantities into the specified tier with pr
2222
4300
 
2223
- variant :percent, -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::Percent }
4301
+ class Tier < Orb::Internal::Type::BaseModel
4302
+ # @!attribute tier_lower_bound
4303
+ # Inclusive tier starting value
4304
+ #
4305
+ # @return [String]
4306
+ required :tier_lower_bound, String
2224
4307
 
2225
- variant :event_output, -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::EventOutput }
4308
+ # @!attribute unit_amount
4309
+ # Amount per unit
4310
+ #
4311
+ # @return [String]
4312
+ required :unit_amount, String
2226
4313
 
2227
- class BulkWithFilters < Orb::Internal::Type::BaseModel
2228
- # @!attribute bulk_with_filters_config
2229
- # Configuration for bulk_with_filters pricing
2230
- #
2231
- # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig]
2232
- required :bulk_with_filters_config,
2233
- -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig }
4314
+ # @!method initialize(tier_lower_bound:, unit_amount:)
4315
+ # Configuration for a single tiered with proration tier
4316
+ #
4317
+ # @param tier_lower_bound [String] Inclusive tier starting value
4318
+ #
4319
+ # @param unit_amount [String] Amount per unit
4320
+ end
4321
+ end
4322
+ end
2234
4323
 
4324
+ class GroupedWithMinMaxThresholds < Orb::Internal::Type::BaseModel
2235
4325
  # @!attribute cadence
2236
4326
  # The cadence to bill for this price on.
2237
4327
  #
2238
- # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::Cadence]
4328
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::Cadence]
2239
4329
  required :cadence,
2240
- enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::Cadence }
4330
+ enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::Cadence }
4331
+
4332
+ # @!attribute grouped_with_min_max_thresholds_config
4333
+ # Configuration for grouped_with_min_max_thresholds pricing
4334
+ #
4335
+ # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig]
4336
+ required :grouped_with_min_max_thresholds_config,
4337
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig }
2241
4338
 
2242
4339
  # @!attribute item_id
2243
4340
  # The id of the item the price will be associated with.
@@ -2248,8 +4345,8 @@ module Orb
2248
4345
  # @!attribute model_type
2249
4346
  # The pricing model type
2250
4347
  #
2251
- # @return [Symbol, :bulk_with_filters]
2252
- required :model_type, const: :bulk_with_filters
4348
+ # @return [Symbol, :grouped_with_min_max_thresholds]
4349
+ required :model_type, const: :grouped_with_min_max_thresholds
2253
4350
 
2254
4351
  # @!attribute name
2255
4352
  # The name of the price.
@@ -2288,11 +4385,7 @@ module Orb
2288
4385
  # The configuration for the rate of the price currency to the invoicing currency.
2289
4386
  #
2290
4387
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
2291
- optional :conversion_rate_config,
2292
- union: -> {
2293
- Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::ConversionRateConfig
2294
- },
2295
- nil?: true
4388
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
2296
4389
 
2297
4390
  # @!attribute currency
2298
4391
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -2358,14 +4451,14 @@ module Orb
2358
4451
  # @return [String, nil]
2359
4452
  optional :reference_id, String, nil?: true
2360
4453
 
2361
- # @!method initialize(bulk_with_filters_config:, cadence:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :bulk_with_filters)
4454
+ # @!method initialize(cadence:, grouped_with_min_max_thresholds_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :grouped_with_min_max_thresholds)
2362
4455
  # Some parameter documentations has been truncated, see
2363
- # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters}
4456
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds}
2364
4457
  # for more details.
2365
4458
  #
2366
- # @param bulk_with_filters_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig] Configuration for bulk_with_filters pricing
4459
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::Cadence] The cadence to bill for this price on.
2367
4460
  #
2368
- # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::Cadence] The cadence to bill for this price on.
4461
+ # @param grouped_with_min_max_thresholds_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig] Configuration for grouped_with_min_max_thresholds pricing
2369
4462
  #
2370
4463
  # @param item_id [String] The id of the item the price will be associated with.
2371
4464
  #
@@ -2399,99 +4492,78 @@ module Orb
2399
4492
  #
2400
4493
  # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
2401
4494
  #
2402
- # @param model_type [Symbol, :bulk_with_filters] The pricing model type
2403
-
2404
- # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters#bulk_with_filters_config
2405
- class BulkWithFiltersConfig < Orb::Internal::Type::BaseModel
2406
- # @!attribute filters
2407
- # Property filters to apply (all must match)
2408
- #
2409
- # @return [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Filter>]
2410
- required :filters,
2411
- -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Filter] }
2412
-
2413
- # @!attribute tiers
2414
- # Bulk tiers for rating based on total usage volume
2415
- #
2416
- # @return [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Tier>]
2417
- required :tiers,
2418
- -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Tier] }
2419
-
2420
- # @!method initialize(filters:, tiers:)
2421
- # Configuration for bulk_with_filters pricing
2422
- #
2423
- # @param filters [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Filter>] Property filters to apply (all must match)
2424
- #
2425
- # @param tiers [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters::BulkWithFiltersConfig::Tier>] Bulk tiers for rating based on total usage volume
2426
-
2427
- class Filter < Orb::Internal::Type::BaseModel
2428
- # @!attribute property_key
2429
- # Event property key to filter on
2430
- #
2431
- # @return [String]
2432
- required :property_key, String
4495
+ # @param model_type [Symbol, :grouped_with_min_max_thresholds] The pricing model type
2433
4496
 
2434
- # @!attribute property_value
2435
- # Event property value to match
2436
- #
2437
- # @return [String]
2438
- required :property_value, String
4497
+ # The cadence to bill for this price on.
4498
+ #
4499
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds#cadence
4500
+ module Cadence
4501
+ extend Orb::Internal::Type::Enum
2439
4502
 
2440
- # @!method initialize(property_key:, property_value:)
2441
- # Configuration for a single property filter
2442
- #
2443
- # @param property_key [String] Event property key to filter on
2444
- #
2445
- # @param property_value [String] Event property value to match
2446
- end
4503
+ ANNUAL = :annual
4504
+ SEMI_ANNUAL = :semi_annual
4505
+ MONTHLY = :monthly
4506
+ QUARTERLY = :quarterly
4507
+ ONE_TIME = :one_time
4508
+ CUSTOM = :custom
2447
4509
 
2448
- class Tier < Orb::Internal::Type::BaseModel
2449
- # @!attribute unit_amount
2450
- # Amount per unit
2451
- #
2452
- # @return [String]
2453
- required :unit_amount, String
4510
+ # @!method self.values
4511
+ # @return [Array<Symbol>]
4512
+ end
2454
4513
 
2455
- # @!attribute tier_lower_bound
2456
- # The lower bound for this tier
2457
- #
2458
- # @return [String, nil]
2459
- optional :tier_lower_bound, String, nil?: true
4514
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds#grouped_with_min_max_thresholds_config
4515
+ class GroupedWithMinMaxThresholdsConfig < Orb::Internal::Type::BaseModel
4516
+ # @!attribute grouping_key
4517
+ # The event property used to group before applying thresholds
4518
+ #
4519
+ # @return [String]
4520
+ required :grouping_key, String
2460
4521
 
2461
- # @!method initialize(unit_amount:, tier_lower_bound: nil)
2462
- # Configuration for a single bulk pricing tier
2463
- #
2464
- # @param unit_amount [String] Amount per unit
2465
- #
2466
- # @param tier_lower_bound [String, nil] The lower bound for this tier
2467
- end
2468
- end
4522
+ # @!attribute maximum_charge
4523
+ # The maximum amount to charge each group
4524
+ #
4525
+ # @return [String]
4526
+ required :maximum_charge, String
2469
4527
 
2470
- # The cadence to bill for this price on.
2471
- #
2472
- # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters#cadence
2473
- module Cadence
2474
- extend Orb::Internal::Type::Enum
4528
+ # @!attribute minimum_charge
4529
+ # The minimum amount to charge each group, regardless of usage
4530
+ #
4531
+ # @return [String]
4532
+ required :minimum_charge, String
2475
4533
 
2476
- ANNUAL = :annual
2477
- SEMI_ANNUAL = :semi_annual
2478
- MONTHLY = :monthly
2479
- QUARTERLY = :quarterly
2480
- ONE_TIME = :one_time
2481
- CUSTOM = :custom
4534
+ # @!attribute per_unit_rate
4535
+ # The base price charged per group
4536
+ #
4537
+ # @return [String]
4538
+ required :per_unit_rate, String
2482
4539
 
2483
- # @!method self.values
2484
- # @return [Array<Symbol>]
4540
+ # @!method initialize(grouping_key:, maximum_charge:, minimum_charge:, per_unit_rate:)
4541
+ # Configuration for grouped_with_min_max_thresholds pricing
4542
+ #
4543
+ # @param grouping_key [String] The event property used to group before applying thresholds
4544
+ #
4545
+ # @param maximum_charge [String] The maximum amount to charge each group
4546
+ #
4547
+ # @param minimum_charge [String] The minimum amount to charge each group, regardless of usage
4548
+ #
4549
+ # @param per_unit_rate [String] The base price charged per group
2485
4550
  end
2486
4551
  end
2487
4552
 
2488
- class TieredWithProration < Orb::Internal::Type::BaseModel
4553
+ class CumulativeGroupedAllocation < Orb::Internal::Type::BaseModel
2489
4554
  # @!attribute cadence
2490
4555
  # The cadence to bill for this price on.
2491
4556
  #
2492
- # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence]
4557
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::Cadence]
2493
4558
  required :cadence,
2494
- enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence }
4559
+ enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::Cadence }
4560
+
4561
+ # @!attribute cumulative_grouped_allocation_config
4562
+ # Configuration for cumulative_grouped_allocation pricing
4563
+ #
4564
+ # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig]
4565
+ required :cumulative_grouped_allocation_config,
4566
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig }
2495
4567
 
2496
4568
  # @!attribute item_id
2497
4569
  # The id of the item the price will be associated with.
@@ -2502,8 +4574,8 @@ module Orb
2502
4574
  # @!attribute model_type
2503
4575
  # The pricing model type
2504
4576
  #
2505
- # @return [Symbol, :tiered_with_proration]
2506
- required :model_type, const: :tiered_with_proration
4577
+ # @return [Symbol, :cumulative_grouped_allocation]
4578
+ required :model_type, const: :cumulative_grouped_allocation
2507
4579
 
2508
4580
  # @!attribute name
2509
4581
  # The name of the price.
@@ -2511,13 +4583,6 @@ module Orb
2511
4583
  # @return [String]
2512
4584
  required :name, String
2513
4585
 
2514
- # @!attribute tiered_with_proration_config
2515
- # Configuration for tiered_with_proration pricing
2516
- #
2517
- # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig]
2518
- required :tiered_with_proration_config,
2519
- -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig }
2520
-
2521
4586
  # @!attribute billable_metric_id
2522
4587
  # The id of the billable metric for the price. Only needed if the price is
2523
4588
  # usage-based.
@@ -2549,11 +4614,7 @@ module Orb
2549
4614
  # The configuration for the rate of the price currency to the invoicing currency.
2550
4615
  #
2551
4616
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
2552
- optional :conversion_rate_config,
2553
- union: -> {
2554
- Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::ConversionRateConfig
2555
- },
2556
- nil?: true
4617
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
2557
4618
 
2558
4619
  # @!attribute currency
2559
4620
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -2619,19 +4680,19 @@ module Orb
2619
4680
  # @return [String, nil]
2620
4681
  optional :reference_id, String, nil?: true
2621
4682
 
2622
- # @!method initialize(cadence:, item_id:, name:, tiered_with_proration_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :tiered_with_proration)
4683
+ # @!method initialize(cadence:, cumulative_grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :cumulative_grouped_allocation)
2623
4684
  # Some parameter documentations has been truncated, see
2624
- # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration}
4685
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation}
2625
4686
  # for more details.
2626
4687
  #
2627
- # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::Cadence] The cadence to bill for this price on.
4688
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::Cadence] The cadence to bill for this price on.
4689
+ #
4690
+ # @param cumulative_grouped_allocation_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig] Configuration for cumulative_grouped_allocation pricing
2628
4691
  #
2629
4692
  # @param item_id [String] The id of the item the price will be associated with.
2630
4693
  #
2631
4694
  # @param name [String] The name of the price.
2632
4695
  #
2633
- # @param tiered_with_proration_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig] Configuration for tiered_with_proration pricing
2634
- #
2635
4696
  # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
2636
4697
  #
2637
4698
  # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
@@ -2660,11 +4721,11 @@ module Orb
2660
4721
  #
2661
4722
  # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
2662
4723
  #
2663
- # @param model_type [Symbol, :tiered_with_proration] The pricing model type
4724
+ # @param model_type [Symbol, :cumulative_grouped_allocation] The pricing model type
2664
4725
 
2665
4726
  # The cadence to bill for this price on.
2666
4727
  #
2667
- # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration#cadence
4728
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation#cadence
2668
4729
  module Cadence
2669
4730
  extend Orb::Internal::Type::Enum
2670
4731
 
@@ -2679,62 +4740,59 @@ module Orb
2679
4740
  # @return [Array<Symbol>]
2680
4741
  end
2681
4742
 
2682
- # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration#tiered_with_proration_config
2683
- class TieredWithProrationConfig < Orb::Internal::Type::BaseModel
2684
- # @!attribute tiers
2685
- # Tiers for rating based on total usage quantities into the specified tier with
2686
- # proration
4743
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation#cumulative_grouped_allocation_config
4744
+ class CumulativeGroupedAllocationConfig < Orb::Internal::Type::BaseModel
4745
+ # @!attribute cumulative_allocation
4746
+ # The overall allocation across all groups
2687
4747
  #
2688
- # @return [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig::Tier>]
2689
- required :tiers,
2690
- -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig::Tier] }
4748
+ # @return [String]
4749
+ required :cumulative_allocation, String
2691
4750
 
2692
- # @!method initialize(tiers:)
2693
- # Some parameter documentations has been truncated, see
2694
- # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig}
2695
- # for more details.
2696
- #
2697
- # Configuration for tiered_with_proration pricing
4751
+ # @!attribute group_allocation
4752
+ # The allocation per individual group
2698
4753
  #
2699
- # @param tiers [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration::TieredWithProrationConfig::Tier>] Tiers for rating based on total usage quantities into the specified tier with pr
4754
+ # @return [String]
4755
+ required :group_allocation, String
2700
4756
 
2701
- class Tier < Orb::Internal::Type::BaseModel
2702
- # @!attribute tier_lower_bound
2703
- # Inclusive tier starting value
2704
- #
2705
- # @return [String]
2706
- required :tier_lower_bound, String
4757
+ # @!attribute grouping_key
4758
+ # The event property used to group usage before applying allocations
4759
+ #
4760
+ # @return [String]
4761
+ required :grouping_key, String
2707
4762
 
2708
- # @!attribute unit_amount
2709
- # Amount per unit
2710
- #
2711
- # @return [String]
2712
- required :unit_amount, String
4763
+ # @!attribute unit_amount
4764
+ # The amount to charge for each unit outside of the allocation
4765
+ #
4766
+ # @return [String]
4767
+ required :unit_amount, String
2713
4768
 
2714
- # @!method initialize(tier_lower_bound:, unit_amount:)
2715
- # Configuration for a single tiered with proration tier
2716
- #
2717
- # @param tier_lower_bound [String] Inclusive tier starting value
2718
- #
2719
- # @param unit_amount [String] Amount per unit
2720
- end
4769
+ # @!method initialize(cumulative_allocation:, group_allocation:, grouping_key:, unit_amount:)
4770
+ # Configuration for cumulative_grouped_allocation pricing
4771
+ #
4772
+ # @param cumulative_allocation [String] The overall allocation across all groups
4773
+ #
4774
+ # @param group_allocation [String] The allocation per individual group
4775
+ #
4776
+ # @param grouping_key [String] The event property used to group usage before applying allocations
4777
+ #
4778
+ # @param unit_amount [String] The amount to charge for each unit outside of the allocation
2721
4779
  end
2722
4780
  end
2723
4781
 
2724
- class GroupedWithMinMaxThresholds < Orb::Internal::Type::BaseModel
4782
+ class DailyCreditAllowance < Orb::Internal::Type::BaseModel
2725
4783
  # @!attribute cadence
2726
4784
  # The cadence to bill for this price on.
2727
4785
  #
2728
- # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::Cadence]
4786
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::Cadence]
2729
4787
  required :cadence,
2730
- enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::Cadence }
4788
+ enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::Cadence }
2731
4789
 
2732
- # @!attribute grouped_with_min_max_thresholds_config
2733
- # Configuration for grouped_with_min_max_thresholds pricing
4790
+ # @!attribute daily_credit_allowance_config
4791
+ # Configuration for daily_credit_allowance pricing
2734
4792
  #
2735
- # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig]
2736
- required :grouped_with_min_max_thresholds_config,
2737
- -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig }
4793
+ # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig]
4794
+ required :daily_credit_allowance_config,
4795
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig }
2738
4796
 
2739
4797
  # @!attribute item_id
2740
4798
  # The id of the item the price will be associated with.
@@ -2745,8 +4803,8 @@ module Orb
2745
4803
  # @!attribute model_type
2746
4804
  # The pricing model type
2747
4805
  #
2748
- # @return [Symbol, :grouped_with_min_max_thresholds]
2749
- required :model_type, const: :grouped_with_min_max_thresholds
4806
+ # @return [Symbol, :daily_credit_allowance]
4807
+ required :model_type, const: :daily_credit_allowance
2750
4808
 
2751
4809
  # @!attribute name
2752
4810
  # The name of the price.
@@ -2785,11 +4843,7 @@ module Orb
2785
4843
  # The configuration for the rate of the price currency to the invoicing currency.
2786
4844
  #
2787
4845
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
2788
- optional :conversion_rate_config,
2789
- union: -> {
2790
- Orb::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::ConversionRateConfig
2791
- },
2792
- nil?: true
4846
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
2793
4847
 
2794
4848
  # @!attribute currency
2795
4849
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -2855,14 +4909,14 @@ module Orb
2855
4909
  # @return [String, nil]
2856
4910
  optional :reference_id, String, nil?: true
2857
4911
 
2858
- # @!method initialize(cadence:, grouped_with_min_max_thresholds_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :grouped_with_min_max_thresholds)
4912
+ # @!method initialize(cadence:, daily_credit_allowance_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :daily_credit_allowance)
2859
4913
  # Some parameter documentations has been truncated, see
2860
- # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds}
4914
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance}
2861
4915
  # for more details.
2862
4916
  #
2863
- # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::Cadence] The cadence to bill for this price on.
4917
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::Cadence] The cadence to bill for this price on.
2864
4918
  #
2865
- # @param grouped_with_min_max_thresholds_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds::GroupedWithMinMaxThresholdsConfig] Configuration for grouped_with_min_max_thresholds pricing
4919
+ # @param daily_credit_allowance_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig] Configuration for daily_credit_allowance pricing
2866
4920
  #
2867
4921
  # @param item_id [String] The id of the item the price will be associated with.
2868
4922
  #
@@ -2896,11 +4950,11 @@ module Orb
2896
4950
  #
2897
4951
  # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
2898
4952
  #
2899
- # @param model_type [Symbol, :grouped_with_min_max_thresholds] The pricing model type
4953
+ # @param model_type [Symbol, :daily_credit_allowance] The pricing model type
2900
4954
 
2901
4955
  # The cadence to bill for this price on.
2902
4956
  #
2903
- # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds#cadence
4957
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance#cadence
2904
4958
  module Cadence
2905
4959
  extend Orb::Internal::Type::Enum
2906
4960
 
@@ -2915,59 +4969,99 @@ module Orb
2915
4969
  # @return [Array<Symbol>]
2916
4970
  end
2917
4971
 
2918
- # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds#grouped_with_min_max_thresholds_config
2919
- class GroupedWithMinMaxThresholdsConfig < Orb::Internal::Type::BaseModel
2920
- # @!attribute grouping_key
2921
- # The event property used to group before applying thresholds
4972
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance#daily_credit_allowance_config
4973
+ class DailyCreditAllowanceConfig < Orb::Internal::Type::BaseModel
4974
+ # @!attribute daily_allowance
4975
+ # Credits granted per day. Lose-it-or-use-it; does not roll over.
2922
4976
  #
2923
4977
  # @return [String]
2924
- required :grouping_key, String
4978
+ required :daily_allowance, String
2925
4979
 
2926
- # @!attribute maximum_charge
2927
- # The maximum amount to charge each group
4980
+ # @!attribute default_unit_amount
4981
+ # Default per-unit credit rate for any usage not bucketed into a specified
4982
+ # matrix_value
2928
4983
  #
2929
4984
  # @return [String]
2930
- required :maximum_charge, String
4985
+ required :default_unit_amount, String
2931
4986
 
2932
- # @!attribute minimum_charge
2933
- # The minimum amount to charge each group, regardless of usage
4987
+ # @!attribute dimensions
4988
+ # One or two event property values to evaluate matrix groups by
2934
4989
  #
2935
- # @return [String]
2936
- required :minimum_charge, String
4990
+ # @return [Array<String, nil>]
4991
+ required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true]
2937
4992
 
2938
- # @!attribute per_unit_rate
2939
- # The base price charged per group
4993
+ # @!attribute event_day_property
4994
+ # Event property whose value identifies the day bucket the event belongs to (e.g.
4995
+ # 'event_day' set to an ISO date string in the customer's timezone). The allowance
4996
+ # resets per distinct value of this property.
2940
4997
  #
2941
4998
  # @return [String]
2942
- required :per_unit_rate, String
4999
+ required :event_day_property, String
2943
5000
 
2944
- # @!method initialize(grouping_key:, maximum_charge:, minimum_charge:, per_unit_rate:)
2945
- # Configuration for grouped_with_min_max_thresholds pricing
5001
+ # @!attribute matrix_values
5002
+ # Per-dimension credit rates
2946
5003
  #
2947
- # @param grouping_key [String] The event property used to group before applying thresholds
5004
+ # @return [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue>]
5005
+ required :matrix_values,
5006
+ -> do
5007
+ Orb::Internal::Type::ArrayOf[
5008
+ Orb::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue
5009
+ ]
5010
+ end
5011
+
5012
+ # @!method initialize(daily_allowance:, default_unit_amount:, dimensions:, event_day_property:, matrix_values:)
5013
+ # Some parameter documentations has been truncated, see
5014
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig}
5015
+ # for more details.
2948
5016
  #
2949
- # @param maximum_charge [String] The maximum amount to charge each group
5017
+ # Configuration for daily_credit_allowance pricing
2950
5018
  #
2951
- # @param minimum_charge [String] The minimum amount to charge each group, regardless of usage
5019
+ # @param daily_allowance [String] Credits granted per day. Lose-it-or-use-it; does not roll over.
2952
5020
  #
2953
- # @param per_unit_rate [String] The base price charged per group
5021
+ # @param default_unit_amount [String] Default per-unit credit rate for any usage not bucketed into a specified
5022
+ # matrix\_
5023
+ #
5024
+ # @param dimensions [Array<String, nil>] One or two event property values to evaluate matrix groups by
5025
+ #
5026
+ # @param event_day_property [String] Event property whose value identifies the day bucket the event belongs to (e.g.
5027
+ #
5028
+ # @param matrix_values [Array<Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue>] Per-dimension credit rates
5029
+
5030
+ class MatrixValue < Orb::Internal::Type::BaseModel
5031
+ # @!attribute dimension_values
5032
+ # One or two matrix keys to filter usage to this value by. For example, ["model"]
5033
+ # could be used to apply a different credit rate to each AI model.
5034
+ #
5035
+ # @return [Array<String, nil>]
5036
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true]
5037
+
5038
+ # @!attribute unit_amount
5039
+ # Credits charged per unit of usage matching the specified dimension_values
5040
+ #
5041
+ # @return [String]
5042
+ required :unit_amount, String
5043
+
5044
+ # @!method initialize(dimension_values:, unit_amount:)
5045
+ # Some parameter documentations has been truncated, see
5046
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue}
5047
+ # for more details.
5048
+ #
5049
+ # Per-dimension credit price for the daily credit allowance model.
5050
+ #
5051
+ # @param dimension_values [Array<String, nil>] One or two matrix keys to filter usage to this value by. For example, ["model"]
5052
+ #
5053
+ # @param unit_amount [String] Credits charged per unit of usage matching the specified dimension_values
5054
+ end
2954
5055
  end
2955
5056
  end
2956
5057
 
2957
- class CumulativeGroupedAllocation < Orb::Internal::Type::BaseModel
5058
+ class MeteredAllowance < Orb::Internal::Type::BaseModel
2958
5059
  # @!attribute cadence
2959
5060
  # The cadence to bill for this price on.
2960
5061
  #
2961
- # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::Cadence]
5062
+ # @return [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance::Cadence]
2962
5063
  required :cadence,
2963
- enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::Cadence }
2964
-
2965
- # @!attribute cumulative_grouped_allocation_config
2966
- # Configuration for cumulative_grouped_allocation pricing
2967
- #
2968
- # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig]
2969
- required :cumulative_grouped_allocation_config,
2970
- -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig }
5064
+ enum: -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance::Cadence }
2971
5065
 
2972
5066
  # @!attribute item_id
2973
5067
  # The id of the item the price will be associated with.
@@ -2975,11 +5069,18 @@ module Orb
2975
5069
  # @return [String]
2976
5070
  required :item_id, String
2977
5071
 
5072
+ # @!attribute metered_allowance_config
5073
+ # Configuration for metered_allowance pricing
5074
+ #
5075
+ # @return [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance::MeteredAllowanceConfig]
5076
+ required :metered_allowance_config,
5077
+ -> { Orb::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance::MeteredAllowanceConfig }
5078
+
2978
5079
  # @!attribute model_type
2979
5080
  # The pricing model type
2980
5081
  #
2981
- # @return [Symbol, :cumulative_grouped_allocation]
2982
- required :model_type, const: :cumulative_grouped_allocation
5082
+ # @return [Symbol, :metered_allowance]
5083
+ required :model_type, const: :metered_allowance
2983
5084
 
2984
5085
  # @!attribute name
2985
5086
  # The name of the price.
@@ -3018,11 +5119,7 @@ module Orb
3018
5119
  # The configuration for the rate of the price currency to the invoicing currency.
3019
5120
  #
3020
5121
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
3021
- optional :conversion_rate_config,
3022
- union: -> {
3023
- Orb::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::ConversionRateConfig
3024
- },
3025
- nil?: true
5122
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
3026
5123
 
3027
5124
  # @!attribute currency
3028
5125
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -3088,17 +5185,17 @@ module Orb
3088
5185
  # @return [String, nil]
3089
5186
  optional :reference_id, String, nil?: true
3090
5187
 
3091
- # @!method initialize(cadence:, cumulative_grouped_allocation_config:, item_id:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :cumulative_grouped_allocation)
5188
+ # @!method initialize(cadence:, item_id:, metered_allowance_config:, name:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: nil, currency: nil, dimensional_price_configuration: nil, external_price_id: nil, fixed_price_quantity: nil, invoice_grouping_key: nil, invoicing_cycle_configuration: nil, license_type_id: nil, metadata: nil, reference_id: nil, model_type: :metered_allowance)
3092
5189
  # Some parameter documentations has been truncated, see
3093
- # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation}
5190
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance}
3094
5191
  # for more details.
3095
5192
  #
3096
- # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::Cadence] The cadence to bill for this price on.
3097
- #
3098
- # @param cumulative_grouped_allocation_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation::CumulativeGroupedAllocationConfig] Configuration for cumulative_grouped_allocation pricing
5193
+ # @param cadence [Symbol, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance::Cadence] The cadence to bill for this price on.
3099
5194
  #
3100
5195
  # @param item_id [String] The id of the item the price will be associated with.
3101
5196
  #
5197
+ # @param metered_allowance_config [Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance::MeteredAllowanceConfig] Configuration for metered_allowance pricing
5198
+ #
3102
5199
  # @param name [String] The name of the price.
3103
5200
  #
3104
5201
  # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
@@ -3129,11 +5226,11 @@ module Orb
3129
5226
  #
3130
5227
  # @param reference_id [String, nil] A transient ID that can be used to reference this price when adding adjustments
3131
5228
  #
3132
- # @param model_type [Symbol, :cumulative_grouped_allocation] The pricing model type
5229
+ # @param model_type [Symbol, :metered_allowance] The pricing model type
3133
5230
 
3134
5231
  # The cadence to bill for this price on.
3135
5232
  #
3136
- # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation#cadence
5233
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance#cadence
3137
5234
  module Cadence
3138
5235
  extend Orb::Internal::Type::Enum
3139
5236
 
@@ -3148,42 +5245,67 @@ module Orb
3148
5245
  # @return [Array<Symbol>]
3149
5246
  end
3150
5247
 
3151
- # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation#cumulative_grouped_allocation_config
3152
- class CumulativeGroupedAllocationConfig < Orb::Internal::Type::BaseModel
3153
- # @!attribute cumulative_allocation
3154
- # The overall allocation across all groups
5248
+ # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance#metered_allowance_config
5249
+ class MeteredAllowanceConfig < Orb::Internal::Type::BaseModel
5250
+ # @!attribute allowance_grouping_value
5251
+ # The grouping_key value whose summed quantity represents the allowance for this
5252
+ # period (e.g. 'storage_snapshot' emitting 3 × avg storage). Capped at consumption
5253
+ # — credit can never exceed actual usage.
3155
5254
  #
3156
5255
  # @return [String]
3157
- required :cumulative_allocation, String
5256
+ required :allowance_grouping_value, String
3158
5257
 
3159
- # @!attribute group_allocation
3160
- # The allocation per individual group
5258
+ # @!attribute consumption_grouping_value
5259
+ # The grouping_key value whose summed quantity represents consumption (e.g.
5260
+ # 'download'). Charged at unit_amount.
3161
5261
  #
3162
5262
  # @return [String]
3163
- required :group_allocation, String
5263
+ required :consumption_grouping_value, String
3164
5264
 
3165
5265
  # @!attribute grouping_key
3166
- # The event property used to group usage before applying allocations
5266
+ # Event property used to partition the metric into consumption and allowance
5267
+ # quantities (e.g. 'event_name'). The metric is queried with this key and the two
5268
+ # values below select which partition is which.
3167
5269
  #
3168
5270
  # @return [String]
3169
5271
  required :grouping_key, String
3170
5272
 
3171
5273
  # @!attribute unit_amount
3172
- # The amount to charge for each unit outside of the allocation
5274
+ # Per-unit price applied to gross consumption and to the allowance credit.
3173
5275
  #
3174
5276
  # @return [String]
3175
5277
  required :unit_amount, String
3176
5278
 
3177
- # @!method initialize(cumulative_allocation:, group_allocation:, grouping_key:, unit_amount:)
3178
- # Configuration for cumulative_grouped_allocation pricing
5279
+ # @!attribute allowance_display_name
5280
+ # Sub-line label for the credit row (e.g. 'Up to 3x free egress').
3179
5281
  #
3180
- # @param cumulative_allocation [String] The overall allocation across all groups
5282
+ # @return [String, nil]
5283
+ optional :allowance_display_name, String
5284
+
5285
+ # @!attribute consumption_display_name
5286
+ # Sub-line label for the gross consumption row (e.g. 'bytes gotten').
3181
5287
  #
3182
- # @param group_allocation [String] The allocation per individual group
5288
+ # @return [String, nil]
5289
+ optional :consumption_display_name, String
5290
+
5291
+ # @!method initialize(allowance_grouping_value:, consumption_grouping_value:, grouping_key:, unit_amount:, allowance_display_name: nil, consumption_display_name: nil)
5292
+ # Some parameter documentations has been truncated, see
5293
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance::MeteredAllowanceConfig}
5294
+ # for more details.
3183
5295
  #
3184
- # @param grouping_key [String] The event property used to group usage before applying allocations
5296
+ # Configuration for metered_allowance pricing
3185
5297
  #
3186
- # @param unit_amount [String] The amount to charge for each unit outside of the allocation
5298
+ # @param allowance_grouping_value [String] The grouping_key value whose summed quantity represents the allowance for this p
5299
+ #
5300
+ # @param consumption_grouping_value [String] The grouping_key value whose summed quantity represents consumption (e.g. 'downl
5301
+ #
5302
+ # @param grouping_key [String] Event property used to partition the metric into consumption and allowance quant
5303
+ #
5304
+ # @param unit_amount [String] Per-unit price applied to gross consumption and to the allowance credit.
5305
+ #
5306
+ # @param allowance_display_name [String] Sub-line label for the credit row (e.g. 'Up to 3x free egress').
5307
+ #
5308
+ # @param consumption_display_name [String] Sub-line label for the gross consumption row (e.g. 'bytes gotten').
3187
5309
  end
3188
5310
  end
3189
5311
 
@@ -3250,11 +5372,7 @@ module Orb
3250
5372
  # The configuration for the rate of the price currency to the invoicing currency.
3251
5373
  #
3252
5374
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
3253
- optional :conversion_rate_config,
3254
- union: -> {
3255
- Orb::SubscriptionCreateParams::ReplacePrice::Price::Percent::ConversionRateConfig
3256
- },
3257
- nil?: true
5375
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
3258
5376
 
3259
5377
  # @!attribute currency
3260
5378
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -3383,15 +5501,45 @@ module Orb
3383
5501
  # @see Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent#percent_config
3384
5502
  class PercentConfig < Orb::Internal::Type::BaseModel
3385
5503
  # @!attribute percent
3386
- # What percent of the component subtotals to charge
5504
+ # Fraction of the component subtotals to charge (0 < percent <= 1).
3387
5505
  #
3388
5506
  # @return [Float]
3389
5507
  required :percent, Float
3390
5508
 
3391
- # @!method initialize(percent:)
5509
+ # @!attribute maximum_amount
5510
+ # Maximum amount to charge. If unset, the fee has no upper bound.
5511
+ #
5512
+ # @return [String, nil]
5513
+ optional :maximum_amount, String, nil?: true
5514
+
5515
+ # @!attribute minimum_amount
5516
+ # Minimum amount to charge. If unset, the fee is bounded below by 0.
5517
+ #
5518
+ # @return [String, nil]
5519
+ optional :minimum_amount, String, nil?: true
5520
+
5521
+ # @!attribute prorated
5522
+ # If true, the minimum_amount is prorated based on the service period. The
5523
+ # maximum_amount is an absolute cap (never prorated), and the percent applied to
5524
+ # upstream subtotals is never prorated either.
5525
+ #
5526
+ # @return [Boolean, nil]
5527
+ optional :prorated, Orb::Internal::Type::Boolean
5528
+
5529
+ # @!method initialize(percent:, maximum_amount: nil, minimum_amount: nil, prorated: nil)
5530
+ # Some parameter documentations has been truncated, see
5531
+ # {Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent::PercentConfig}
5532
+ # for more details.
5533
+ #
3392
5534
  # Configuration for percent pricing
3393
5535
  #
3394
- # @param percent [Float] What percent of the component subtotals to charge
5536
+ # @param percent [Float] Fraction of the component subtotals to charge (0 < percent <= 1).
5537
+ #
5538
+ # @param maximum_amount [String, nil] Maximum amount to charge. If unset, the fee has no upper bound.
5539
+ #
5540
+ # @param minimum_amount [String, nil] Minimum amount to charge. If unset, the fee is bounded below by 0.
5541
+ #
5542
+ # @param prorated [Boolean] If true, the minimum_amount is prorated based on the service period. The maximum
3395
5543
  end
3396
5544
  end
3397
5545
 
@@ -3458,11 +5606,7 @@ module Orb
3458
5606
  # The configuration for the rate of the price currency to the invoicing currency.
3459
5607
  #
3460
5608
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
3461
- optional :conversion_rate_config,
3462
- union: -> {
3463
- Orb::SubscriptionCreateParams::ReplacePrice::Price::EventOutput::ConversionRateConfig
3464
- },
3465
- nil?: true
5609
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
3466
5610
 
3467
5611
  # @!attribute currency
3468
5612
  # An ISO 4217 currency string, or custom pricing unit identifier, in which this
@@ -3627,7 +5771,7 @@ module Orb
3627
5771
  end
3628
5772
 
3629
5773
  # @!method self.variants
3630
- # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput)]
5774
+ # @return [Array(Orb::Models::NewSubscriptionUnitPrice, Orb::Models::NewSubscriptionTieredPrice, Orb::Models::NewSubscriptionBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::BulkWithFilters, Orb::Models::NewSubscriptionPackagePrice, Orb::Models::NewSubscriptionMatrixPrice, Orb::Models::NewSubscriptionThresholdTotalAmountPrice, Orb::Models::NewSubscriptionTieredPackagePrice, Orb::Models::NewSubscriptionTieredWithMinimumPrice, Orb::Models::NewSubscriptionGroupedTieredPrice, Orb::Models::NewSubscriptionTieredPackageWithMinimumPrice, Orb::Models::NewSubscriptionPackageWithAllocationPrice, Orb::Models::NewSubscriptionUnitWithPercentPrice, Orb::Models::NewSubscriptionMatrixWithAllocationPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MatrixWithThresholdDiscounts, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::TieredWithProration, Orb::Models::NewSubscriptionUnitWithProrationPrice, Orb::Models::NewSubscriptionGroupedAllocationPrice, Orb::Models::NewSubscriptionBulkWithProrationPrice, Orb::Models::NewSubscriptionGroupedWithProratedMinimumPrice, Orb::Models::NewSubscriptionGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::GroupedWithMinMaxThresholds, Orb::Models::NewSubscriptionMatrixWithDisplayNamePrice, Orb::Models::NewSubscriptionGroupedTieredPackagePrice, Orb::Models::NewSubscriptionMaxGroupTieredPackagePrice, Orb::Models::NewSubscriptionScalableMatrixWithUnitPricingPrice, Orb::Models::NewSubscriptionScalableMatrixWithTieredPricingPrice, Orb::Models::NewSubscriptionCumulativeGroupedBulkPrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::DailyCreditAllowance, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::MeteredAllowance, Orb::Models::NewSubscriptionMinimumCompositePrice, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::Percent, Orb::Models::SubscriptionCreateParams::ReplacePrice::Price::EventOutput)]
3631
5775
  end
3632
5776
  end
3633
5777
  end