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
@@ -7,6 +7,11 @@ module Orb
7
7
  extend Orb::Internal::Type::RequestParameters::Converter
8
8
  include Orb::Internal::Type::RequestParameters
9
9
 
10
+ # @!attribute subscription_id
11
+ #
12
+ # @return [String]
13
+ required :subscription_id, String
14
+
10
15
  # @!attribute add
11
16
  # A list of price intervals to add to the subscription.
12
17
  #
@@ -48,10 +53,12 @@ module Orb
48
53
  optional :edit_adjustments,
49
54
  -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionPriceIntervalsParams::EditAdjustment] }
50
55
 
51
- # @!method initialize(add: nil, add_adjustments: nil, allow_invoice_credit_or_void: nil, can_defer_billing: nil, edit: nil, edit_adjustments: nil, request_options: {})
56
+ # @!method initialize(subscription_id:, add: nil, add_adjustments: nil, allow_invoice_credit_or_void: nil, can_defer_billing: nil, edit: nil, edit_adjustments: nil, request_options: {})
52
57
  # Some parameter documentations has been truncated, see
53
58
  # {Orb::Models::SubscriptionPriceIntervalsParams} for more details.
54
59
  #
60
+ # @param subscription_id [String]
61
+ #
55
62
  # @param add [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add>] A list of price intervals to add to the subscription.
56
63
  #
57
64
  # @param add_adjustments [Array<Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment>] A list of adjustments to add to the subscription.
@@ -156,7 +163,7 @@ module Orb
156
163
  # @!attribute price
157
164
  # New floating price request body params.
158
165
  #
159
- # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil]
166
+ # @return [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil]
160
167
  optional :price, union: -> { Orb::SubscriptionPriceIntervalsParams::Add::Price }, nil?: true
161
168
 
162
169
  # @!attribute price_id
@@ -202,7 +209,7 @@ module Orb
202
209
  #
203
210
  # @param minimum_amount [Float, nil] The minimum amount that will be billed for this price interval for a given billi
204
211
  #
205
- # @param price [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil] New floating price request body params.
212
+ # @param price [Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput, nil] New floating price request body params.
206
213
  #
207
214
  # @param price_id [String, nil] The id of the price to add to the subscription.
208
215
  #
@@ -372,6 +379,9 @@ module Orb
372
379
 
373
380
  variant :matrix_with_allocation, -> { Orb::NewFloatingMatrixWithAllocationPrice }
374
381
 
382
+ variant :matrix_with_threshold_discounts,
383
+ -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts }
384
+
375
385
  variant :tiered_with_proration, -> { Orb::NewFloatingTieredWithProrationPrice }
376
386
 
377
387
  variant :unit_with_proration, -> { Orb::NewFloatingUnitWithProrationPrice }
@@ -402,6 +412,11 @@ module Orb
402
412
  variant :cumulative_grouped_allocation,
403
413
  -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation }
404
414
 
415
+ variant :daily_credit_allowance,
416
+ -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance }
417
+
418
+ variant :metered_allowance, -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance }
419
+
405
420
  variant :minimum_composite, -> { Orb::NewFloatingMinimumCompositePrice }
406
421
 
407
422
  variant :percent, -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::Percent }
@@ -478,11 +493,7 @@ module Orb
478
493
  # The configuration for the rate of the price currency to the invoicing currency.
479
494
  #
480
495
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
481
- optional :conversion_rate_config,
482
- union: -> {
483
- Orb::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters::ConversionRateConfig
484
- },
485
- nil?: true
496
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
486
497
 
487
498
  # @!attribute dimensional_price_configuration
488
499
  # For dimensional price: specifies a price group and dimension values
@@ -659,6 +670,312 @@ module Orb
659
670
  end
660
671
  end
661
672
 
673
+ class MatrixWithThresholdDiscounts < Orb::Internal::Type::BaseModel
674
+ # @!attribute cadence
675
+ # The cadence to bill for this price on.
676
+ #
677
+ # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::Cadence]
678
+ required :cadence,
679
+ enum: -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::Cadence }
680
+
681
+ # @!attribute currency
682
+ # An ISO 4217 currency string for which this price is billed in.
683
+ #
684
+ # @return [String]
685
+ required :currency, String
686
+
687
+ # @!attribute item_id
688
+ # The id of the item the price will be associated with.
689
+ #
690
+ # @return [String]
691
+ required :item_id, String
692
+
693
+ # @!attribute matrix_with_threshold_discounts_config
694
+ # Configuration for matrix_with_threshold_discounts pricing
695
+ #
696
+ # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig]
697
+ required :matrix_with_threshold_discounts_config,
698
+ -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig }
699
+
700
+ # @!attribute model_type
701
+ # The pricing model type
702
+ #
703
+ # @return [Symbol, :matrix_with_threshold_discounts]
704
+ required :model_type, const: :matrix_with_threshold_discounts
705
+
706
+ # @!attribute name
707
+ # The name of the price.
708
+ #
709
+ # @return [String]
710
+ required :name, String
711
+
712
+ # @!attribute billable_metric_id
713
+ # The id of the billable metric for the price. Only needed if the price is
714
+ # usage-based.
715
+ #
716
+ # @return [String, nil]
717
+ optional :billable_metric_id, String, nil?: true
718
+
719
+ # @!attribute billed_in_advance
720
+ # If the Price represents a fixed cost, the price will be billed in-advance if
721
+ # this is true, and in-arrears if this is false.
722
+ #
723
+ # @return [Boolean, nil]
724
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
725
+
726
+ # @!attribute billing_cycle_configuration
727
+ # For custom cadence: specifies the duration of the billing period in days or
728
+ # months.
729
+ #
730
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
731
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
732
+
733
+ # @!attribute conversion_rate
734
+ # The per unit conversion rate of the price currency to the invoicing currency.
735
+ #
736
+ # @return [Float, nil]
737
+ optional :conversion_rate, Float, nil?: true
738
+
739
+ # @!attribute conversion_rate_config
740
+ # The configuration for the rate of the price currency to the invoicing currency.
741
+ #
742
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
743
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
744
+
745
+ # @!attribute dimensional_price_configuration
746
+ # For dimensional price: specifies a price group and dimension values
747
+ #
748
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
749
+ optional :dimensional_price_configuration,
750
+ -> {
751
+ Orb::NewDimensionalPriceConfiguration
752
+ },
753
+ nil?: true
754
+
755
+ # @!attribute external_price_id
756
+ # An alias for the price.
757
+ #
758
+ # @return [String, nil]
759
+ optional :external_price_id, String, nil?: true
760
+
761
+ # @!attribute fixed_price_quantity
762
+ # If the Price represents a fixed cost, this represents the quantity of units
763
+ # applied.
764
+ #
765
+ # @return [Float, nil]
766
+ optional :fixed_price_quantity, Float, nil?: true
767
+
768
+ # @!attribute invoice_grouping_key
769
+ # The property used to group this price on an invoice
770
+ #
771
+ # @return [String, nil]
772
+ optional :invoice_grouping_key, String, nil?: true
773
+
774
+ # @!attribute invoicing_cycle_configuration
775
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
776
+ # If unspecified, a single invoice is produced per billing cycle.
777
+ #
778
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
779
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
780
+
781
+ # @!attribute license_type_id
782
+ # The ID of the license type to associate with this price.
783
+ #
784
+ # @return [String, nil]
785
+ optional :license_type_id, String, nil?: true
786
+
787
+ # @!attribute metadata
788
+ # User-specified key/value pairs for the resource. Individual keys can be removed
789
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
790
+ # by setting `metadata` to `null`.
791
+ #
792
+ # @return [Hash{Symbol=>String, nil}, nil]
793
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
794
+
795
+ # @!method initialize(cadence:, currency:, 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, 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, model_type: :matrix_with_threshold_discounts)
796
+ # Some parameter documentations has been truncated, see
797
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts}
798
+ # for more details.
799
+ #
800
+ # @param cadence [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::Cadence] The cadence to bill for this price on.
801
+ #
802
+ # @param currency [String] An ISO 4217 currency string for which this price is billed in.
803
+ #
804
+ # @param item_id [String] The id of the item the price will be associated with.
805
+ #
806
+ # @param matrix_with_threshold_discounts_config [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig] Configuration for matrix_with_threshold_discounts pricing
807
+ #
808
+ # @param name [String] The name of the price.
809
+ #
810
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
811
+ #
812
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
813
+ #
814
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
815
+ #
816
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
817
+ #
818
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
819
+ #
820
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
821
+ #
822
+ # @param external_price_id [String, nil] An alias for the price.
823
+ #
824
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
825
+ #
826
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
827
+ #
828
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
829
+ #
830
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
831
+ #
832
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
833
+ #
834
+ # @param model_type [Symbol, :matrix_with_threshold_discounts] The pricing model type
835
+
836
+ # The cadence to bill for this price on.
837
+ #
838
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts#cadence
839
+ module Cadence
840
+ extend Orb::Internal::Type::Enum
841
+
842
+ ANNUAL = :annual
843
+ SEMI_ANNUAL = :semi_annual
844
+ MONTHLY = :monthly
845
+ QUARTERLY = :quarterly
846
+ ONE_TIME = :one_time
847
+ CUSTOM = :custom
848
+
849
+ # @!method self.values
850
+ # @return [Array<Symbol>]
851
+ end
852
+
853
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts#matrix_with_threshold_discounts_config
854
+ class MatrixWithThresholdDiscountsConfig < Orb::Internal::Type::BaseModel
855
+ # @!attribute default_unit_amount
856
+ # Unit price used for usage that does not match any defined matrix cell.
857
+ #
858
+ # @return [String]
859
+ required :default_unit_amount, String
860
+
861
+ # @!attribute first_dimension
862
+ # First matrix dimension key.
863
+ #
864
+ # @return [String]
865
+ required :first_dimension, String
866
+
867
+ # @!attribute matrix_values
868
+ # Per-cell unit prices.
869
+ #
870
+ # @return [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue>]
871
+ required :matrix_values,
872
+ -> do
873
+ Orb::Internal::Type::ArrayOf[
874
+ Orb::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue
875
+ ]
876
+ end
877
+
878
+ # @!attribute second_dimension
879
+ # Optional second matrix dimension key.
880
+ #
881
+ # @return [String, nil]
882
+ optional :second_dimension, String, nil?: true
883
+
884
+ # @!attribute threshold_discount_groups
885
+ #
886
+ # @return [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup>, nil]
887
+ optional :threshold_discount_groups,
888
+ -> do
889
+ Orb::Internal::Type::ArrayOf[
890
+ Orb::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup
891
+ ]
892
+ end
893
+
894
+ # @!method initialize(default_unit_amount:, first_dimension:, matrix_values:, second_dimension: nil, threshold_discount_groups: nil)
895
+ # Configuration for matrix_with_threshold_discounts pricing
896
+ #
897
+ # @param default_unit_amount [String] Unit price used for usage that does not match any defined matrix cell.
898
+ #
899
+ # @param first_dimension [String] First matrix dimension key.
900
+ #
901
+ # @param matrix_values [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::MatrixValue>] Per-cell unit prices.
902
+ #
903
+ # @param second_dimension [String, nil] Optional second matrix dimension key.
904
+ #
905
+ # @param threshold_discount_groups [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup>]
906
+
907
+ class MatrixValue < Orb::Internal::Type::BaseModel
908
+ # @!attribute first_dimension_value
909
+ #
910
+ # @return [String]
911
+ required :first_dimension_value, String
912
+
913
+ # @!attribute unit_amount
914
+ #
915
+ # @return [String]
916
+ required :unit_amount, String
917
+
918
+ # @!attribute second_dimension_value
919
+ #
920
+ # @return [String, nil]
921
+ optional :second_dimension_value, String, nil?: true
922
+
923
+ # @!method initialize(first_dimension_value:, unit_amount:, second_dimension_value: nil)
924
+ # @param first_dimension_value [String]
925
+ # @param unit_amount [String]
926
+ # @param second_dimension_value [String, nil]
927
+ end
928
+
929
+ class ThresholdDiscountGroup < Orb::Internal::Type::BaseModel
930
+ # @!attribute above_threshold_discount_percentage
931
+ # Discount rate applied to spend above the threshold.
932
+ #
933
+ # @return [String]
934
+ required :above_threshold_discount_percentage, String
935
+
936
+ # @!attribute below_threshold_discount_percentage
937
+ # Discount rate applied to spend at or below the threshold. Set to 0 for no
938
+ # baseline discount.
939
+ #
940
+ # @return [String]
941
+ required :below_threshold_discount_percentage, String
942
+
943
+ # @!attribute cell_coordinates
944
+ # Semicolon-separated list of matrix cell coordinates targeted by this group. Each
945
+ # coordinate is `first,second` when the matrix has two dimensions, or just `first`
946
+ # for a single-dimension matrix. Example: `blue,circle;green,triangle`.
947
+ #
948
+ # @return [String]
949
+ required :cell_coordinates, String
950
+
951
+ # @!attribute threshold_amount
952
+ #
953
+ # @return [String]
954
+ required :threshold_amount, String
955
+
956
+ # @!attribute description
957
+ #
958
+ # @return [String, nil]
959
+ optional :description, String, nil?: true
960
+
961
+ # @!method initialize(above_threshold_discount_percentage:, below_threshold_discount_percentage:, cell_coordinates:, threshold_amount:, description: nil)
962
+ # Some parameter documentations has been truncated, see
963
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts::MatrixWithThresholdDiscountsConfig::ThresholdDiscountGroup}
964
+ # for more details.
965
+ #
966
+ # @param above_threshold_discount_percentage [String] Discount rate applied to spend above the threshold.
967
+ #
968
+ # @param below_threshold_discount_percentage [String] Discount rate applied to spend at or below the threshold. Set to 0 for no baseli
969
+ #
970
+ # @param cell_coordinates [String] Semicolon-separated list of matrix cell coordinates targeted by this group. Each
971
+ #
972
+ # @param threshold_amount [String]
973
+ #
974
+ # @param description [String, nil]
975
+ end
976
+ end
977
+ end
978
+
662
979
  class GroupedWithMinMaxThresholds < Orb::Internal::Type::BaseModel
663
980
  # @!attribute cadence
664
981
  # The cadence to bill for this price on.
@@ -729,11 +1046,7 @@ module Orb
729
1046
  # The configuration for the rate of the price currency to the invoicing currency.
730
1047
  #
731
1048
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
732
- optional :conversion_rate_config,
733
- union: -> {
734
- Orb::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds::ConversionRateConfig
735
- },
736
- nil?: true
1049
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
737
1050
 
738
1051
  # @!attribute dimensional_price_configuration
739
1052
  # For dimensional price: specifies a price group and dimension values
@@ -952,11 +1265,7 @@ module Orb
952
1265
  # The configuration for the rate of the price currency to the invoicing currency.
953
1266
  #
954
1267
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
955
- optional :conversion_rate_config,
956
- union: -> {
957
- Orb::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation::ConversionRateConfig
958
- },
959
- nil?: true
1268
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
960
1269
 
961
1270
  # @!attribute dimensional_price_configuration
962
1271
  # For dimensional price: specifies a price group and dimension values
@@ -1105,12 +1414,13 @@ module Orb
1105
1414
  end
1106
1415
  end
1107
1416
 
1108
- class Percent < Orb::Internal::Type::BaseModel
1417
+ class DailyCreditAllowance < Orb::Internal::Type::BaseModel
1109
1418
  # @!attribute cadence
1110
1419
  # The cadence to bill for this price on.
1111
1420
  #
1112
- # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent::Cadence]
1113
- required :cadence, enum: -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::Percent::Cadence }
1421
+ # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::Cadence]
1422
+ required :cadence,
1423
+ enum: -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::Cadence }
1114
1424
 
1115
1425
  # @!attribute currency
1116
1426
  # An ISO 4217 currency string for which this price is billed in.
@@ -1118,6 +1428,13 @@ module Orb
1118
1428
  # @return [String]
1119
1429
  required :currency, String
1120
1430
 
1431
+ # @!attribute daily_credit_allowance_config
1432
+ # Configuration for daily_credit_allowance pricing
1433
+ #
1434
+ # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::DailyCreditAllowanceConfig]
1435
+ required :daily_credit_allowance_config,
1436
+ -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::DailyCreditAllowanceConfig }
1437
+
1121
1438
  # @!attribute item_id
1122
1439
  # The id of the item the price will be associated with.
1123
1440
  #
@@ -1127,8 +1444,8 @@ module Orb
1127
1444
  # @!attribute model_type
1128
1445
  # The pricing model type
1129
1446
  #
1130
- # @return [Symbol, :percent]
1131
- required :model_type, const: :percent
1447
+ # @return [Symbol, :daily_credit_allowance]
1448
+ required :model_type, const: :daily_credit_allowance
1132
1449
 
1133
1450
  # @!attribute name
1134
1451
  # The name of the price.
@@ -1136,12 +1453,6 @@ module Orb
1136
1453
  # @return [String]
1137
1454
  required :name, String
1138
1455
 
1139
- # @!attribute percent_config
1140
- # Configuration for percent pricing
1141
- #
1142
- # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent::PercentConfig]
1143
- required :percent_config, -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::Percent::PercentConfig }
1144
-
1145
1456
  # @!attribute billable_metric_id
1146
1457
  # The id of the billable metric for the price. Only needed if the price is
1147
1458
  # usage-based.
@@ -1173,11 +1484,7 @@ module Orb
1173
1484
  # The configuration for the rate of the price currency to the invoicing currency.
1174
1485
  #
1175
1486
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1176
- optional :conversion_rate_config,
1177
- union: -> {
1178
- Orb::SubscriptionPriceIntervalsParams::Add::Price::Percent::ConversionRateConfig
1179
- },
1180
- nil?: true
1487
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1181
1488
 
1182
1489
  # @!attribute dimensional_price_configuration
1183
1490
  # For dimensional price: specifies a price group and dimension values
@@ -1229,21 +1536,21 @@ module Orb
1229
1536
  # @return [Hash{Symbol=>String, nil}, nil]
1230
1537
  optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1231
1538
 
1232
- # @!method initialize(cadence:, currency:, item_id:, name:, percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: 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, model_type: :percent)
1539
+ # @!method initialize(cadence:, currency:, 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, 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, model_type: :daily_credit_allowance)
1233
1540
  # Some parameter documentations has been truncated, see
1234
- # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent} for more
1235
- # details.
1541
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance}
1542
+ # for more details.
1236
1543
  #
1237
- # @param cadence [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent::Cadence] The cadence to bill for this price on.
1544
+ # @param cadence [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::Cadence] The cadence to bill for this price on.
1238
1545
  #
1239
1546
  # @param currency [String] An ISO 4217 currency string for which this price is billed in.
1240
1547
  #
1548
+ # @param daily_credit_allowance_config [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::DailyCreditAllowanceConfig] Configuration for daily_credit_allowance pricing
1549
+ #
1241
1550
  # @param item_id [String] The id of the item the price will be associated with.
1242
1551
  #
1243
1552
  # @param name [String] The name of the price.
1244
1553
  #
1245
- # @param percent_config [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent::PercentConfig] Configuration for percent pricing
1246
- #
1247
1554
  # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1248
1555
  #
1249
1556
  # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
@@ -1268,11 +1575,11 @@ module Orb
1268
1575
  #
1269
1576
  # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1270
1577
  #
1271
- # @param model_type [Symbol, :percent] The pricing model type
1578
+ # @param model_type [Symbol, :daily_credit_allowance] The pricing model type
1272
1579
 
1273
1580
  # The cadence to bill for this price on.
1274
1581
  #
1275
- # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent#cadence
1582
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance#cadence
1276
1583
  module Cadence
1277
1584
  extend Orb::Internal::Type::Enum
1278
1585
 
@@ -1287,18 +1594,556 @@ module Orb
1287
1594
  # @return [Array<Symbol>]
1288
1595
  end
1289
1596
 
1290
- # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent#percent_config
1597
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance#daily_credit_allowance_config
1598
+ class DailyCreditAllowanceConfig < Orb::Internal::Type::BaseModel
1599
+ # @!attribute daily_allowance
1600
+ # Credits granted per day. Lose-it-or-use-it; does not roll over.
1601
+ #
1602
+ # @return [String]
1603
+ required :daily_allowance, String
1604
+
1605
+ # @!attribute default_unit_amount
1606
+ # Default per-unit credit rate for any usage not bucketed into a specified
1607
+ # matrix_value
1608
+ #
1609
+ # @return [String]
1610
+ required :default_unit_amount, String
1611
+
1612
+ # @!attribute dimensions
1613
+ # One or two event property values to evaluate matrix groups by
1614
+ #
1615
+ # @return [Array<String, nil>]
1616
+ required :dimensions, Orb::Internal::Type::ArrayOf[String, nil?: true]
1617
+
1618
+ # @!attribute event_day_property
1619
+ # Event property whose value identifies the day bucket the event belongs to (e.g.
1620
+ # 'event_day' set to an ISO date string in the customer's timezone). The allowance
1621
+ # resets per distinct value of this property.
1622
+ #
1623
+ # @return [String]
1624
+ required :event_day_property, String
1625
+
1626
+ # @!attribute matrix_values
1627
+ # Per-dimension credit rates
1628
+ #
1629
+ # @return [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue>]
1630
+ required :matrix_values,
1631
+ -> do
1632
+ Orb::Internal::Type::ArrayOf[
1633
+ Orb::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue
1634
+ ]
1635
+ end
1636
+
1637
+ # @!method initialize(daily_allowance:, default_unit_amount:, dimensions:, event_day_property:, matrix_values:)
1638
+ # Some parameter documentations has been truncated, see
1639
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::DailyCreditAllowanceConfig}
1640
+ # for more details.
1641
+ #
1642
+ # Configuration for daily_credit_allowance pricing
1643
+ #
1644
+ # @param daily_allowance [String] Credits granted per day. Lose-it-or-use-it; does not roll over.
1645
+ #
1646
+ # @param default_unit_amount [String] Default per-unit credit rate for any usage not bucketed into a specified
1647
+ # matrix\_
1648
+ #
1649
+ # @param dimensions [Array<String, nil>] One or two event property values to evaluate matrix groups by
1650
+ #
1651
+ # @param event_day_property [String] Event property whose value identifies the day bucket the event belongs to (e.g.
1652
+ #
1653
+ # @param matrix_values [Array<Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue>] Per-dimension credit rates
1654
+
1655
+ class MatrixValue < Orb::Internal::Type::BaseModel
1656
+ # @!attribute dimension_values
1657
+ # One or two matrix keys to filter usage to this value by. For example, ["model"]
1658
+ # could be used to apply a different credit rate to each AI model.
1659
+ #
1660
+ # @return [Array<String, nil>]
1661
+ required :dimension_values, Orb::Internal::Type::ArrayOf[String, nil?: true]
1662
+
1663
+ # @!attribute unit_amount
1664
+ # Credits charged per unit of usage matching the specified dimension_values
1665
+ #
1666
+ # @return [String]
1667
+ required :unit_amount, String
1668
+
1669
+ # @!method initialize(dimension_values:, unit_amount:)
1670
+ # Some parameter documentations has been truncated, see
1671
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance::DailyCreditAllowanceConfig::MatrixValue}
1672
+ # for more details.
1673
+ #
1674
+ # Per-dimension credit price for the daily credit allowance model.
1675
+ #
1676
+ # @param dimension_values [Array<String, nil>] One or two matrix keys to filter usage to this value by. For example, ["model"]
1677
+ #
1678
+ # @param unit_amount [String] Credits charged per unit of usage matching the specified dimension_values
1679
+ end
1680
+ end
1681
+ end
1682
+
1683
+ class MeteredAllowance < Orb::Internal::Type::BaseModel
1684
+ # @!attribute cadence
1685
+ # The cadence to bill for this price on.
1686
+ #
1687
+ # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance::Cadence]
1688
+ required :cadence,
1689
+ enum: -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance::Cadence }
1690
+
1691
+ # @!attribute currency
1692
+ # An ISO 4217 currency string for which this price is billed in.
1693
+ #
1694
+ # @return [String]
1695
+ required :currency, String
1696
+
1697
+ # @!attribute item_id
1698
+ # The id of the item the price will be associated with.
1699
+ #
1700
+ # @return [String]
1701
+ required :item_id, String
1702
+
1703
+ # @!attribute metered_allowance_config
1704
+ # Configuration for metered_allowance pricing
1705
+ #
1706
+ # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance::MeteredAllowanceConfig]
1707
+ required :metered_allowance_config,
1708
+ -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance::MeteredAllowanceConfig }
1709
+
1710
+ # @!attribute model_type
1711
+ # The pricing model type
1712
+ #
1713
+ # @return [Symbol, :metered_allowance]
1714
+ required :model_type, const: :metered_allowance
1715
+
1716
+ # @!attribute name
1717
+ # The name of the price.
1718
+ #
1719
+ # @return [String]
1720
+ required :name, String
1721
+
1722
+ # @!attribute billable_metric_id
1723
+ # The id of the billable metric for the price. Only needed if the price is
1724
+ # usage-based.
1725
+ #
1726
+ # @return [String, nil]
1727
+ optional :billable_metric_id, String, nil?: true
1728
+
1729
+ # @!attribute billed_in_advance
1730
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1731
+ # this is true, and in-arrears if this is false.
1732
+ #
1733
+ # @return [Boolean, nil]
1734
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
1735
+
1736
+ # @!attribute billing_cycle_configuration
1737
+ # For custom cadence: specifies the duration of the billing period in days or
1738
+ # months.
1739
+ #
1740
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1741
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1742
+
1743
+ # @!attribute conversion_rate
1744
+ # The per unit conversion rate of the price currency to the invoicing currency.
1745
+ #
1746
+ # @return [Float, nil]
1747
+ optional :conversion_rate, Float, nil?: true
1748
+
1749
+ # @!attribute conversion_rate_config
1750
+ # The configuration for the rate of the price currency to the invoicing currency.
1751
+ #
1752
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1753
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1754
+
1755
+ # @!attribute dimensional_price_configuration
1756
+ # For dimensional price: specifies a price group and dimension values
1757
+ #
1758
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
1759
+ optional :dimensional_price_configuration,
1760
+ -> {
1761
+ Orb::NewDimensionalPriceConfiguration
1762
+ },
1763
+ nil?: true
1764
+
1765
+ # @!attribute external_price_id
1766
+ # An alias for the price.
1767
+ #
1768
+ # @return [String, nil]
1769
+ optional :external_price_id, String, nil?: true
1770
+
1771
+ # @!attribute fixed_price_quantity
1772
+ # If the Price represents a fixed cost, this represents the quantity of units
1773
+ # applied.
1774
+ #
1775
+ # @return [Float, nil]
1776
+ optional :fixed_price_quantity, Float, nil?: true
1777
+
1778
+ # @!attribute invoice_grouping_key
1779
+ # The property used to group this price on an invoice
1780
+ #
1781
+ # @return [String, nil]
1782
+ optional :invoice_grouping_key, String, nil?: true
1783
+
1784
+ # @!attribute invoicing_cycle_configuration
1785
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
1786
+ # If unspecified, a single invoice is produced per billing cycle.
1787
+ #
1788
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1789
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1790
+
1791
+ # @!attribute license_type_id
1792
+ # The ID of the license type to associate with this price.
1793
+ #
1794
+ # @return [String, nil]
1795
+ optional :license_type_id, String, nil?: true
1796
+
1797
+ # @!attribute metadata
1798
+ # User-specified key/value pairs for the resource. Individual keys can be removed
1799
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
1800
+ # by setting `metadata` to `null`.
1801
+ #
1802
+ # @return [Hash{Symbol=>String, nil}, nil]
1803
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
1804
+
1805
+ # @!method initialize(cadence:, currency:, 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, 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, model_type: :metered_allowance)
1806
+ # Some parameter documentations has been truncated, see
1807
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance}
1808
+ # for more details.
1809
+ #
1810
+ # @param cadence [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance::Cadence] The cadence to bill for this price on.
1811
+ #
1812
+ # @param currency [String] An ISO 4217 currency string for which this price is billed in.
1813
+ #
1814
+ # @param item_id [String] The id of the item the price will be associated with.
1815
+ #
1816
+ # @param metered_allowance_config [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance::MeteredAllowanceConfig] Configuration for metered_allowance pricing
1817
+ #
1818
+ # @param name [String] The name of the price.
1819
+ #
1820
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
1821
+ #
1822
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
1823
+ #
1824
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
1825
+ #
1826
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
1827
+ #
1828
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
1829
+ #
1830
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
1831
+ #
1832
+ # @param external_price_id [String, nil] An alias for the price.
1833
+ #
1834
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
1835
+ #
1836
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
1837
+ #
1838
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
1839
+ #
1840
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
1841
+ #
1842
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
1843
+ #
1844
+ # @param model_type [Symbol, :metered_allowance] The pricing model type
1845
+
1846
+ # The cadence to bill for this price on.
1847
+ #
1848
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance#cadence
1849
+ module Cadence
1850
+ extend Orb::Internal::Type::Enum
1851
+
1852
+ ANNUAL = :annual
1853
+ SEMI_ANNUAL = :semi_annual
1854
+ MONTHLY = :monthly
1855
+ QUARTERLY = :quarterly
1856
+ ONE_TIME = :one_time
1857
+ CUSTOM = :custom
1858
+
1859
+ # @!method self.values
1860
+ # @return [Array<Symbol>]
1861
+ end
1862
+
1863
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance#metered_allowance_config
1864
+ class MeteredAllowanceConfig < Orb::Internal::Type::BaseModel
1865
+ # @!attribute allowance_grouping_value
1866
+ # The grouping_key value whose summed quantity represents the allowance for this
1867
+ # period (e.g. 'storage_snapshot' emitting 3 × avg storage). Capped at consumption
1868
+ # — credit can never exceed actual usage.
1869
+ #
1870
+ # @return [String]
1871
+ required :allowance_grouping_value, String
1872
+
1873
+ # @!attribute consumption_grouping_value
1874
+ # The grouping_key value whose summed quantity represents consumption (e.g.
1875
+ # 'download'). Charged at unit_amount.
1876
+ #
1877
+ # @return [String]
1878
+ required :consumption_grouping_value, String
1879
+
1880
+ # @!attribute grouping_key
1881
+ # Event property used to partition the metric into consumption and allowance
1882
+ # quantities (e.g. 'event_name'). The metric is queried with this key and the two
1883
+ # values below select which partition is which.
1884
+ #
1885
+ # @return [String]
1886
+ required :grouping_key, String
1887
+
1888
+ # @!attribute unit_amount
1889
+ # Per-unit price applied to gross consumption and to the allowance credit.
1890
+ #
1891
+ # @return [String]
1892
+ required :unit_amount, String
1893
+
1894
+ # @!attribute allowance_display_name
1895
+ # Sub-line label for the credit row (e.g. 'Up to 3x free egress').
1896
+ #
1897
+ # @return [String, nil]
1898
+ optional :allowance_display_name, String
1899
+
1900
+ # @!attribute consumption_display_name
1901
+ # Sub-line label for the gross consumption row (e.g. 'bytes gotten').
1902
+ #
1903
+ # @return [String, nil]
1904
+ optional :consumption_display_name, String
1905
+
1906
+ # @!method initialize(allowance_grouping_value:, consumption_grouping_value:, grouping_key:, unit_amount:, allowance_display_name: nil, consumption_display_name: nil)
1907
+ # Some parameter documentations has been truncated, see
1908
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance::MeteredAllowanceConfig}
1909
+ # for more details.
1910
+ #
1911
+ # Configuration for metered_allowance pricing
1912
+ #
1913
+ # @param allowance_grouping_value [String] The grouping_key value whose summed quantity represents the allowance for this p
1914
+ #
1915
+ # @param consumption_grouping_value [String] The grouping_key value whose summed quantity represents consumption (e.g. 'downl
1916
+ #
1917
+ # @param grouping_key [String] Event property used to partition the metric into consumption and allowance quant
1918
+ #
1919
+ # @param unit_amount [String] Per-unit price applied to gross consumption and to the allowance credit.
1920
+ #
1921
+ # @param allowance_display_name [String] Sub-line label for the credit row (e.g. 'Up to 3x free egress').
1922
+ #
1923
+ # @param consumption_display_name [String] Sub-line label for the gross consumption row (e.g. 'bytes gotten').
1924
+ end
1925
+ end
1926
+
1927
+ class Percent < Orb::Internal::Type::BaseModel
1928
+ # @!attribute cadence
1929
+ # The cadence to bill for this price on.
1930
+ #
1931
+ # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent::Cadence]
1932
+ required :cadence, enum: -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::Percent::Cadence }
1933
+
1934
+ # @!attribute currency
1935
+ # An ISO 4217 currency string for which this price is billed in.
1936
+ #
1937
+ # @return [String]
1938
+ required :currency, String
1939
+
1940
+ # @!attribute item_id
1941
+ # The id of the item the price will be associated with.
1942
+ #
1943
+ # @return [String]
1944
+ required :item_id, String
1945
+
1946
+ # @!attribute model_type
1947
+ # The pricing model type
1948
+ #
1949
+ # @return [Symbol, :percent]
1950
+ required :model_type, const: :percent
1951
+
1952
+ # @!attribute name
1953
+ # The name of the price.
1954
+ #
1955
+ # @return [String]
1956
+ required :name, String
1957
+
1958
+ # @!attribute percent_config
1959
+ # Configuration for percent pricing
1960
+ #
1961
+ # @return [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent::PercentConfig]
1962
+ required :percent_config, -> { Orb::SubscriptionPriceIntervalsParams::Add::Price::Percent::PercentConfig }
1963
+
1964
+ # @!attribute billable_metric_id
1965
+ # The id of the billable metric for the price. Only needed if the price is
1966
+ # usage-based.
1967
+ #
1968
+ # @return [String, nil]
1969
+ optional :billable_metric_id, String, nil?: true
1970
+
1971
+ # @!attribute billed_in_advance
1972
+ # If the Price represents a fixed cost, the price will be billed in-advance if
1973
+ # this is true, and in-arrears if this is false.
1974
+ #
1975
+ # @return [Boolean, nil]
1976
+ optional :billed_in_advance, Orb::Internal::Type::Boolean, nil?: true
1977
+
1978
+ # @!attribute billing_cycle_configuration
1979
+ # For custom cadence: specifies the duration of the billing period in days or
1980
+ # months.
1981
+ #
1982
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
1983
+ optional :billing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
1984
+
1985
+ # @!attribute conversion_rate
1986
+ # The per unit conversion rate of the price currency to the invoicing currency.
1987
+ #
1988
+ # @return [Float, nil]
1989
+ optional :conversion_rate, Float, nil?: true
1990
+
1991
+ # @!attribute conversion_rate_config
1992
+ # The configuration for the rate of the price currency to the invoicing currency.
1993
+ #
1994
+ # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1995
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1996
+
1997
+ # @!attribute dimensional_price_configuration
1998
+ # For dimensional price: specifies a price group and dimension values
1999
+ #
2000
+ # @return [Orb::Models::NewDimensionalPriceConfiguration, nil]
2001
+ optional :dimensional_price_configuration,
2002
+ -> {
2003
+ Orb::NewDimensionalPriceConfiguration
2004
+ },
2005
+ nil?: true
2006
+
2007
+ # @!attribute external_price_id
2008
+ # An alias for the price.
2009
+ #
2010
+ # @return [String, nil]
2011
+ optional :external_price_id, String, nil?: true
2012
+
2013
+ # @!attribute fixed_price_quantity
2014
+ # If the Price represents a fixed cost, this represents the quantity of units
2015
+ # applied.
2016
+ #
2017
+ # @return [Float, nil]
2018
+ optional :fixed_price_quantity, Float, nil?: true
2019
+
2020
+ # @!attribute invoice_grouping_key
2021
+ # The property used to group this price on an invoice
2022
+ #
2023
+ # @return [String, nil]
2024
+ optional :invoice_grouping_key, String, nil?: true
2025
+
2026
+ # @!attribute invoicing_cycle_configuration
2027
+ # Within each billing cycle, specifies the cadence at which invoices are produced.
2028
+ # If unspecified, a single invoice is produced per billing cycle.
2029
+ #
2030
+ # @return [Orb::Models::NewBillingCycleConfiguration, nil]
2031
+ optional :invoicing_cycle_configuration, -> { Orb::NewBillingCycleConfiguration }, nil?: true
2032
+
2033
+ # @!attribute license_type_id
2034
+ # The ID of the license type to associate with this price.
2035
+ #
2036
+ # @return [String, nil]
2037
+ optional :license_type_id, String, nil?: true
2038
+
2039
+ # @!attribute metadata
2040
+ # User-specified key/value pairs for the resource. Individual keys can be removed
2041
+ # by setting the value to `null`, and the entire metadata mapping can be cleared
2042
+ # by setting `metadata` to `null`.
2043
+ #
2044
+ # @return [Hash{Symbol=>String, nil}, nil]
2045
+ optional :metadata, Orb::Internal::Type::HashOf[String, nil?: true], nil?: true
2046
+
2047
+ # @!method initialize(cadence:, currency:, item_id:, name:, percent_config:, billable_metric_id: nil, billed_in_advance: nil, billing_cycle_configuration: nil, conversion_rate: nil, conversion_rate_config: 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, model_type: :percent)
2048
+ # Some parameter documentations has been truncated, see
2049
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent} for more
2050
+ # details.
2051
+ #
2052
+ # @param cadence [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent::Cadence] The cadence to bill for this price on.
2053
+ #
2054
+ # @param currency [String] An ISO 4217 currency string for which this price is billed in.
2055
+ #
2056
+ # @param item_id [String] The id of the item the price will be associated with.
2057
+ #
2058
+ # @param name [String] The name of the price.
2059
+ #
2060
+ # @param percent_config [Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent::PercentConfig] Configuration for percent pricing
2061
+ #
2062
+ # @param billable_metric_id [String, nil] The id of the billable metric for the price. Only needed if the price is usage-b
2063
+ #
2064
+ # @param billed_in_advance [Boolean, nil] If the Price represents a fixed cost, the price will be billed in-advance if thi
2065
+ #
2066
+ # @param billing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] For custom cadence: specifies the duration of the billing period in days or mont
2067
+ #
2068
+ # @param conversion_rate [Float, nil] The per unit conversion rate of the price currency to the invoicing currency.
2069
+ #
2070
+ # @param conversion_rate_config [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil] The configuration for the rate of the price currency to the invoicing currency.
2071
+ #
2072
+ # @param dimensional_price_configuration [Orb::Models::NewDimensionalPriceConfiguration, nil] For dimensional price: specifies a price group and dimension values
2073
+ #
2074
+ # @param external_price_id [String, nil] An alias for the price.
2075
+ #
2076
+ # @param fixed_price_quantity [Float, nil] If the Price represents a fixed cost, this represents the quantity of units appl
2077
+ #
2078
+ # @param invoice_grouping_key [String, nil] The property used to group this price on an invoice
2079
+ #
2080
+ # @param invoicing_cycle_configuration [Orb::Models::NewBillingCycleConfiguration, nil] Within each billing cycle, specifies the cadence at which invoices are produced.
2081
+ #
2082
+ # @param license_type_id [String, nil] The ID of the license type to associate with this price.
2083
+ #
2084
+ # @param metadata [Hash{Symbol=>String, nil}, nil] User-specified key/value pairs for the resource. Individual keys can be removed
2085
+ #
2086
+ # @param model_type [Symbol, :percent] The pricing model type
2087
+
2088
+ # The cadence to bill for this price on.
2089
+ #
2090
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent#cadence
2091
+ module Cadence
2092
+ extend Orb::Internal::Type::Enum
2093
+
2094
+ ANNUAL = :annual
2095
+ SEMI_ANNUAL = :semi_annual
2096
+ MONTHLY = :monthly
2097
+ QUARTERLY = :quarterly
2098
+ ONE_TIME = :one_time
2099
+ CUSTOM = :custom
2100
+
2101
+ # @!method self.values
2102
+ # @return [Array<Symbol>]
2103
+ end
2104
+
2105
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent#percent_config
1291
2106
  class PercentConfig < Orb::Internal::Type::BaseModel
1292
2107
  # @!attribute percent
1293
- # What percent of the component subtotals to charge
2108
+ # Fraction of the component subtotals to charge (0 < percent <= 1).
1294
2109
  #
1295
2110
  # @return [Float]
1296
2111
  required :percent, Float
1297
2112
 
1298
- # @!method initialize(percent:)
2113
+ # @!attribute maximum_amount
2114
+ # Maximum amount to charge. If unset, the fee has no upper bound.
2115
+ #
2116
+ # @return [String, nil]
2117
+ optional :maximum_amount, String, nil?: true
2118
+
2119
+ # @!attribute minimum_amount
2120
+ # Minimum amount to charge. If unset, the fee is bounded below by 0.
2121
+ #
2122
+ # @return [String, nil]
2123
+ optional :minimum_amount, String, nil?: true
2124
+
2125
+ # @!attribute prorated
2126
+ # If true, the minimum_amount is prorated based on the service period. The
2127
+ # maximum_amount is an absolute cap (never prorated), and the percent applied to
2128
+ # upstream subtotals is never prorated either.
2129
+ #
2130
+ # @return [Boolean, nil]
2131
+ optional :prorated, Orb::Internal::Type::Boolean
2132
+
2133
+ # @!method initialize(percent:, maximum_amount: nil, minimum_amount: nil, prorated: nil)
2134
+ # Some parameter documentations has been truncated, see
2135
+ # {Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent::PercentConfig}
2136
+ # for more details.
2137
+ #
1299
2138
  # Configuration for percent pricing
1300
2139
  #
1301
- # @param percent [Float] What percent of the component subtotals to charge
2140
+ # @param percent [Float] Fraction of the component subtotals to charge (0 < percent <= 1).
2141
+ #
2142
+ # @param maximum_amount [String, nil] Maximum amount to charge. If unset, the fee has no upper bound.
2143
+ #
2144
+ # @param minimum_amount [String, nil] Minimum amount to charge. If unset, the fee is bounded below by 0.
2145
+ #
2146
+ # @param prorated [Boolean] If true, the minimum_amount is prorated based on the service period. The maximum
1302
2147
  end
1303
2148
  end
1304
2149
 
@@ -1371,11 +2216,7 @@ module Orb
1371
2216
  # The configuration for the rate of the price currency to the invoicing currency.
1372
2217
  #
1373
2218
  # @return [Orb::Models::UnitConversionRateConfig, Orb::Models::TieredConversionRateConfig, nil]
1374
- optional :conversion_rate_config,
1375
- union: -> {
1376
- Orb::SubscriptionPriceIntervalsParams::Add::Price::EventOutput::ConversionRateConfig
1377
- },
1378
- nil?: true
2219
+ optional :conversion_rate_config, union: -> { Orb::ConversionRateConfig }, nil?: true
1379
2220
 
1380
2221
  # @!attribute dimensional_price_configuration
1381
2222
  # For dimensional price: specifies a price group and dimension values
@@ -1524,7 +2365,7 @@ module Orb
1524
2365
  end
1525
2366
 
1526
2367
  # @!method self.variants
1527
- # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput)]
2368
+ # @return [Array(Orb::Models::NewFloatingUnitPrice, Orb::Models::NewFloatingTieredPrice, Orb::Models::NewFloatingBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::BulkWithFilters, Orb::Models::NewFloatingPackagePrice, Orb::Models::NewFloatingMatrixPrice, Orb::Models::NewFloatingThresholdTotalAmountPrice, Orb::Models::NewFloatingTieredPackagePrice, Orb::Models::NewFloatingTieredWithMinimumPrice, Orb::Models::NewFloatingGroupedTieredPrice, Orb::Models::NewFloatingTieredPackageWithMinimumPrice, Orb::Models::NewFloatingPackageWithAllocationPrice, Orb::Models::NewFloatingUnitWithPercentPrice, Orb::Models::NewFloatingMatrixWithAllocationPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MatrixWithThresholdDiscounts, Orb::Models::NewFloatingTieredWithProrationPrice, Orb::Models::NewFloatingUnitWithProrationPrice, Orb::Models::NewFloatingGroupedAllocationPrice, Orb::Models::NewFloatingBulkWithProrationPrice, Orb::Models::NewFloatingGroupedWithProratedMinimumPrice, Orb::Models::NewFloatingGroupedWithMeteredMinimumPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::GroupedWithMinMaxThresholds, Orb::Models::NewFloatingMatrixWithDisplayNamePrice, Orb::Models::NewFloatingGroupedTieredPackagePrice, Orb::Models::NewFloatingMaxGroupTieredPackagePrice, Orb::Models::NewFloatingScalableMatrixWithUnitPricingPrice, Orb::Models::NewFloatingScalableMatrixWithTieredPricingPrice, Orb::Models::NewFloatingCumulativeGroupedBulkPrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::CumulativeGroupedAllocation, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::DailyCreditAllowance, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::MeteredAllowance, Orb::Models::NewFloatingMinimumCompositePrice, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::Percent, Orb::Models::SubscriptionPriceIntervalsParams::Add::Price::EventOutput)]
1528
2369
  end
1529
2370
  end
1530
2371
 
@@ -1541,7 +2382,7 @@ module Orb
1541
2382
  # @!attribute adjustment
1542
2383
  # The definition of a new adjustment to create and add to the subscription.
1543
2384
  #
1544
- # @return [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, nil]
2385
+ # @return [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount, nil]
1545
2386
  optional :adjustment,
1546
2387
  union: -> { Orb::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment },
1547
2388
  nil?: true
@@ -1571,7 +2412,7 @@ module Orb
1571
2412
  #
1572
2413
  # @param start_date [Time, Symbol, Orb::Models::BillingCycleRelativeDate] The start date of the adjustment interval. This is the date that the adjustment
1573
2414
  #
1574
- # @param adjustment [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, nil] The definition of a new adjustment to create and add to the subscription.
2415
+ # @param adjustment [Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount, nil] The definition of a new adjustment to create and add to the subscription.
1575
2416
  #
1576
2417
  # @param adjustment_id [String, nil] The ID of the adjustment to add to the subscription. Adjustment IDs can be re-us
1577
2418
  #
@@ -1612,8 +2453,215 @@ module Orb
1612
2453
 
1613
2454
  variant :maximum, -> { Orb::NewMaximum }
1614
2455
 
2456
+ variant :tiered_percentage_discount,
2457
+ -> { Orb::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount }
2458
+
2459
+ class TieredPercentageDiscount < Orb::Internal::Type::BaseModel
2460
+ # @!attribute adjustment_type
2461
+ #
2462
+ # @return [Symbol, :tiered_percentage_discount]
2463
+ required :adjustment_type, const: :tiered_percentage_discount
2464
+
2465
+ # @!attribute tiers
2466
+ #
2467
+ # @return [Array<Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Tier>]
2468
+ required :tiers,
2469
+ -> { Orb::Internal::Type::ArrayOf[Orb::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Tier] }
2470
+
2471
+ # @!attribute applies_to_all
2472
+ # If set, the adjustment will apply to every price on the subscription.
2473
+ #
2474
+ # @return [Boolean, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::AppliesToAll, nil]
2475
+ optional :applies_to_all,
2476
+ enum: -> {
2477
+ Orb::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::AppliesToAll
2478
+ },
2479
+ nil?: true
2480
+
2481
+ # @!attribute applies_to_item_ids
2482
+ # The set of item IDs to which this adjustment applies.
2483
+ #
2484
+ # @return [Array<String>, nil]
2485
+ optional :applies_to_item_ids, Orb::Internal::Type::ArrayOf[String], nil?: true
2486
+
2487
+ # @!attribute applies_to_price_ids
2488
+ # The set of price IDs to which this adjustment applies.
2489
+ #
2490
+ # @return [Array<String>, nil]
2491
+ optional :applies_to_price_ids, Orb::Internal::Type::ArrayOf[String], nil?: true
2492
+
2493
+ # @!attribute currency
2494
+ # If set, only prices in the specified currency will have the adjustment applied.
2495
+ #
2496
+ # @return [String, nil]
2497
+ optional :currency, String, nil?: true
2498
+
2499
+ # @!attribute filters
2500
+ # A list of filters that determine which prices this adjustment will apply to.
2501
+ #
2502
+ # @return [Array<Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter>, nil]
2503
+ optional :filters,
2504
+ -> {
2505
+ Orb::Internal::Type::ArrayOf[Orb::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter]
2506
+ },
2507
+ nil?: true
2508
+
2509
+ # @!attribute is_invoice_level
2510
+ # When false, this adjustment will be applied to a single price. Otherwise, it
2511
+ # will be applied at the invoice level, possibly to multiple prices.
2512
+ #
2513
+ # @return [Boolean, nil]
2514
+ optional :is_invoice_level, Orb::Internal::Type::Boolean
2515
+
2516
+ # @!attribute price_type
2517
+ # If set, only prices of the specified type will have the adjustment applied.
2518
+ #
2519
+ # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::PriceType, nil]
2520
+ optional :price_type,
2521
+ enum: -> {
2522
+ Orb::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::PriceType
2523
+ },
2524
+ nil?: true
2525
+
2526
+ # @!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)
2527
+ # Some parameter documentations has been truncated, see
2528
+ # {Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount}
2529
+ # for more details.
2530
+ #
2531
+ # @param tiers [Array<Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Tier>]
2532
+ #
2533
+ # @param applies_to_all [Boolean, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::AppliesToAll, nil] If set, the adjustment will apply to every price on the subscription.
2534
+ #
2535
+ # @param applies_to_item_ids [Array<String>, nil] The set of item IDs to which this adjustment applies.
2536
+ #
2537
+ # @param applies_to_price_ids [Array<String>, nil] The set of price IDs to which this adjustment applies.
2538
+ #
2539
+ # @param currency [String, nil] If set, only prices in the specified currency will have the adjustment applied.
2540
+ #
2541
+ # @param filters [Array<Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter>, nil] A list of filters that determine which prices this adjustment will apply to.
2542
+ #
2543
+ # @param is_invoice_level [Boolean] When false, this adjustment will be applied to a single price. Otherwise, it wil
2544
+ #
2545
+ # @param price_type [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::PriceType, nil] If set, only prices of the specified type will have the adjustment applied.
2546
+ #
2547
+ # @param adjustment_type [Symbol, :tiered_percentage_discount]
2548
+
2549
+ class Tier < Orb::Internal::Type::BaseModel
2550
+ # @!attribute lower_bound
2551
+ # Exclusive lower bound of cumulative spend for this tier.
2552
+ #
2553
+ # @return [Float]
2554
+ required :lower_bound, Float
2555
+
2556
+ # @!attribute percentage
2557
+ # The percentage (0-1) discounted from spend in this tier.
2558
+ #
2559
+ # @return [Float]
2560
+ required :percentage, Float
2561
+
2562
+ # @!attribute upper_bound
2563
+ # Inclusive upper bound of cumulative spend; null for the final open-ended tier.
2564
+ #
2565
+ # @return [Float, nil]
2566
+ optional :upper_bound, Float, nil?: true
2567
+
2568
+ # @!method initialize(lower_bound:, percentage:, upper_bound: nil)
2569
+ # @param lower_bound [Float] Exclusive lower bound of cumulative spend for this tier.
2570
+ #
2571
+ # @param percentage [Float] The percentage (0-1) discounted from spend in this tier.
2572
+ #
2573
+ # @param upper_bound [Float, nil] Inclusive upper bound of cumulative spend; null for the final open-ended tier.
2574
+ end
2575
+
2576
+ # If set, the adjustment will apply to every price on the subscription.
2577
+ #
2578
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount#applies_to_all
2579
+ module AppliesToAll
2580
+ extend Orb::Internal::Type::Enum
2581
+
2582
+ TRUE = true
2583
+
2584
+ # @!method self.values
2585
+ # @return [Array<Boolean>]
2586
+ end
2587
+
2588
+ class Filter < Orb::Internal::Type::BaseModel
2589
+ # @!attribute field
2590
+ # The property of the price to filter on.
2591
+ #
2592
+ # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Field]
2593
+ required :field,
2594
+ enum: -> { Orb::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Field }
2595
+
2596
+ # @!attribute operator
2597
+ # Should prices that match the filter be included or excluded.
2598
+ #
2599
+ # @return [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Operator]
2600
+ required :operator,
2601
+ enum: -> { Orb::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Operator }
2602
+
2603
+ # @!attribute values
2604
+ # The IDs or values that match this filter.
2605
+ #
2606
+ # @return [Array<String>]
2607
+ required :values, Orb::Internal::Type::ArrayOf[String]
2608
+
2609
+ # @!method initialize(field:, operator:, values:)
2610
+ # @param field [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Field] The property of the price to filter on.
2611
+ #
2612
+ # @param operator [Symbol, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter::Operator] Should prices that match the filter be included or excluded.
2613
+ #
2614
+ # @param values [Array<String>] The IDs or values that match this filter.
2615
+
2616
+ # The property of the price to filter on.
2617
+ #
2618
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter#field
2619
+ module Field
2620
+ extend Orb::Internal::Type::Enum
2621
+
2622
+ PRICE_ID = :price_id
2623
+ ITEM_ID = :item_id
2624
+ PRICE_TYPE = :price_type
2625
+ CURRENCY = :currency
2626
+ PRICING_UNIT_ID = :pricing_unit_id
2627
+
2628
+ # @!method self.values
2629
+ # @return [Array<Symbol>]
2630
+ end
2631
+
2632
+ # Should prices that match the filter be included or excluded.
2633
+ #
2634
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount::Filter#operator
2635
+ module Operator
2636
+ extend Orb::Internal::Type::Enum
2637
+
2638
+ INCLUDES = :includes
2639
+ EXCLUDES = :excludes
2640
+
2641
+ # @!method self.values
2642
+ # @return [Array<Symbol>]
2643
+ end
2644
+ end
2645
+
2646
+ # If set, only prices of the specified type will have the adjustment applied.
2647
+ #
2648
+ # @see Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount#price_type
2649
+ module PriceType
2650
+ extend Orb::Internal::Type::Enum
2651
+
2652
+ USAGE = :usage
2653
+ FIXED_IN_ADVANCE = :fixed_in_advance
2654
+ FIXED_IN_ARREARS = :fixed_in_arrears
2655
+ FIXED = :fixed
2656
+ IN_ARREARS = :in_arrears
2657
+
2658
+ # @!method self.values
2659
+ # @return [Array<Symbol>]
2660
+ end
2661
+ end
2662
+
1615
2663
  # @!method self.variants
1616
- # @return [Array(Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum)]
2664
+ # @return [Array(Orb::Models::NewPercentageDiscount, Orb::Models::NewUsageDiscount, Orb::Models::NewAmountDiscount, Orb::Models::NewMinimum, Orb::Models::NewMaximum, Orb::Models::SubscriptionPriceIntervalsParams::AddAdjustment::Adjustment::TieredPercentageDiscount)]
1617
2665
  end
1618
2666
 
1619
2667
  # The end date of the adjustment interval. This is the date that the adjustment