orb-billing 1.14.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 (347) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/lib/orb/client.rb +14 -0
  4. data/lib/orb/internal/transport/base_client.rb +5 -0
  5. data/lib/orb/internal/type/union.rb +13 -27
  6. data/lib/orb/models/accounting_provider_config.rb +14 -3
  7. data/lib/orb/models/adjustment_interval.rb +185 -3
  8. data/lib/orb/models/alert.rb +105 -1
  9. data/lib/orb/models/alert_create_for_subscription_params.rb +120 -7
  10. data/lib/orb/models/alert_update_params.rb +113 -1
  11. data/lib/orb/models/beta/external_plan_id_create_plan_version_params.rb +2419 -17109
  12. data/lib/orb/models/beta_create_plan_version_params.rb +2361 -16947
  13. data/lib/orb/models/changed_subscription_resources.rb +200 -10
  14. data/lib/orb/models/conversion_rate_config.rb +18 -0
  15. data/lib/orb/models/credit_block_list_invoices_response.rb +155 -1
  16. data/lib/orb/models/credit_block_retrieve_response.rb +150 -1
  17. data/lib/orb/models/customer.rb +111 -4
  18. data/lib/orb/models/customer_create_params.rb +6 -1
  19. data/lib/orb/models/customer_tax_id.rb +15 -1
  20. data/lib/orb/models/customer_update_by_external_id_params.rb +16 -2
  21. data/lib/orb/models/customer_update_params.rb +16 -2
  22. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +155 -1
  23. data/lib/orb/models/customers/credit_list_response.rb +152 -1
  24. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +4 -4
  25. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +4 -4
  26. data/lib/orb/models/dimensional_price_group.rb +1 -1
  27. data/lib/orb/models/discount.rb +145 -1
  28. data/lib/orb/models/event_ingest_params.rb +5 -2
  29. data/lib/orb/models/invoice.rb +198 -10
  30. data/lib/orb/models/invoice_create_params.rb +6 -5
  31. data/lib/orb/models/invoice_fetch_upcoming_response.rb +200 -10
  32. data/lib/orb/models/invoice_issue_summary_response.rb +9 -3
  33. data/lib/orb/models/invoice_level_discount.rb +145 -1
  34. data/lib/orb/models/invoice_line_item_create_response.rb +189 -5
  35. data/lib/orb/models/invoice_list_summary_response.rb +9 -3
  36. data/lib/orb/models/licenses/external_license_get_usage_params.rb +3 -3
  37. data/lib/orb/models/licenses/usage_get_all_usage_params.rb +3 -3
  38. data/lib/orb/models/licenses/usage_get_usage_params.rb +3 -3
  39. data/lib/orb/models/mutated_subscription.rb +169 -4
  40. data/lib/orb/models/new_allocation_price.rb +11 -1
  41. data/lib/orb/models/new_floating_bulk_price.rb +1 -3
  42. data/lib/orb/models/new_floating_bulk_with_proration_price.rb +1 -3
  43. data/lib/orb/models/new_floating_cumulative_grouped_bulk_price.rb +1 -3
  44. data/lib/orb/models/new_floating_grouped_allocation_price.rb +1 -3
  45. data/lib/orb/models/new_floating_grouped_tiered_package_price.rb +1 -3
  46. data/lib/orb/models/new_floating_grouped_tiered_price.rb +1 -3
  47. data/lib/orb/models/new_floating_grouped_with_metered_minimum_price.rb +1 -3
  48. data/lib/orb/models/new_floating_grouped_with_prorated_minimum_price.rb +1 -3
  49. data/lib/orb/models/new_floating_matrix_price.rb +1 -3
  50. data/lib/orb/models/new_floating_matrix_with_allocation_price.rb +1 -3
  51. data/lib/orb/models/new_floating_matrix_with_display_name_price.rb +1 -3
  52. data/lib/orb/models/new_floating_max_group_tiered_package_price.rb +1 -3
  53. data/lib/orb/models/new_floating_minimum_composite_price.rb +1 -3
  54. data/lib/orb/models/new_floating_package_price.rb +1 -3
  55. data/lib/orb/models/new_floating_package_with_allocation_price.rb +1 -3
  56. data/lib/orb/models/new_floating_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  57. data/lib/orb/models/new_floating_scalable_matrix_with_unit_pricing_price.rb +1 -3
  58. data/lib/orb/models/new_floating_threshold_total_amount_price.rb +1 -3
  59. data/lib/orb/models/new_floating_tiered_package_price.rb +1 -3
  60. data/lib/orb/models/new_floating_tiered_package_with_minimum_price.rb +1 -3
  61. data/lib/orb/models/new_floating_tiered_price.rb +1 -3
  62. data/lib/orb/models/new_floating_tiered_with_minimum_price.rb +1 -3
  63. data/lib/orb/models/new_floating_tiered_with_proration_price.rb +1 -3
  64. data/lib/orb/models/new_floating_unit_price.rb +1 -3
  65. data/lib/orb/models/new_floating_unit_with_percent_price.rb +1 -3
  66. data/lib/orb/models/new_floating_unit_with_proration_price.rb +1 -3
  67. data/lib/orb/models/new_plan_bulk_price.rb +1 -1
  68. data/lib/orb/models/new_plan_bulk_with_proration_price.rb +1 -3
  69. data/lib/orb/models/new_plan_cumulative_grouped_bulk_price.rb +1 -3
  70. data/lib/orb/models/new_plan_grouped_allocation_price.rb +1 -3
  71. data/lib/orb/models/new_plan_grouped_tiered_package_price.rb +1 -3
  72. data/lib/orb/models/new_plan_grouped_tiered_price.rb +1 -3
  73. data/lib/orb/models/new_plan_grouped_with_metered_minimum_price.rb +1 -3
  74. data/lib/orb/models/new_plan_grouped_with_prorated_minimum_price.rb +1 -3
  75. data/lib/orb/models/new_plan_matrix_price.rb +1 -5
  76. data/lib/orb/models/new_plan_matrix_with_allocation_price.rb +1 -3
  77. data/lib/orb/models/new_plan_matrix_with_display_name_price.rb +1 -3
  78. data/lib/orb/models/new_plan_max_group_tiered_package_price.rb +1 -3
  79. data/lib/orb/models/new_plan_minimum_composite_price.rb +1 -3
  80. data/lib/orb/models/new_plan_package_price.rb +1 -5
  81. data/lib/orb/models/new_plan_package_with_allocation_price.rb +1 -3
  82. data/lib/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  83. data/lib/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rb +1 -3
  84. data/lib/orb/models/new_plan_threshold_total_amount_price.rb +1 -3
  85. data/lib/orb/models/new_plan_tiered_package_price.rb +1 -3
  86. data/lib/orb/models/new_plan_tiered_package_with_minimum_price.rb +1 -3
  87. data/lib/orb/models/new_plan_tiered_price.rb +1 -5
  88. data/lib/orb/models/new_plan_tiered_with_minimum_price.rb +1 -3
  89. data/lib/orb/models/new_plan_unit_price.rb +1 -1
  90. data/lib/orb/models/new_plan_unit_with_percent_price.rb +1 -3
  91. data/lib/orb/models/new_plan_unit_with_proration_price.rb +1 -3
  92. data/lib/orb/models/new_subscription_bulk_price.rb +1 -3
  93. data/lib/orb/models/new_subscription_bulk_with_proration_price.rb +1 -3
  94. data/lib/orb/models/new_subscription_cumulative_grouped_bulk_price.rb +1 -3
  95. data/lib/orb/models/new_subscription_grouped_allocation_price.rb +1 -3
  96. data/lib/orb/models/new_subscription_grouped_tiered_package_price.rb +1 -3
  97. data/lib/orb/models/new_subscription_grouped_tiered_price.rb +1 -3
  98. data/lib/orb/models/new_subscription_grouped_with_metered_minimum_price.rb +1 -3
  99. data/lib/orb/models/new_subscription_grouped_with_prorated_minimum_price.rb +1 -3
  100. data/lib/orb/models/new_subscription_matrix_price.rb +1 -3
  101. data/lib/orb/models/new_subscription_matrix_with_allocation_price.rb +1 -3
  102. data/lib/orb/models/new_subscription_matrix_with_display_name_price.rb +1 -3
  103. data/lib/orb/models/new_subscription_max_group_tiered_package_price.rb +1 -3
  104. data/lib/orb/models/new_subscription_minimum_composite_price.rb +1 -3
  105. data/lib/orb/models/new_subscription_package_price.rb +1 -3
  106. data/lib/orb/models/new_subscription_package_with_allocation_price.rb +1 -3
  107. data/lib/orb/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rb +1 -3
  108. data/lib/orb/models/new_subscription_scalable_matrix_with_unit_pricing_price.rb +1 -3
  109. data/lib/orb/models/new_subscription_threshold_total_amount_price.rb +1 -3
  110. data/lib/orb/models/new_subscription_tiered_package_price.rb +1 -3
  111. data/lib/orb/models/new_subscription_tiered_package_with_minimum_price.rb +1 -3
  112. data/lib/orb/models/new_subscription_tiered_price.rb +1 -3
  113. data/lib/orb/models/new_subscription_tiered_with_minimum_price.rb +1 -3
  114. data/lib/orb/models/new_subscription_unit_price.rb +1 -3
  115. data/lib/orb/models/new_subscription_unit_with_percent_price.rb +1 -3
  116. data/lib/orb/models/new_subscription_unit_with_proration_price.rb +1 -3
  117. data/lib/orb/models/per_price_cost.rb +2 -2
  118. data/lib/orb/models/plan.rb +189 -9
  119. data/lib/orb/models/plan_create_params.rb +1047 -8228
  120. data/lib/orb/models/plan_update_params.rb +9 -1
  121. data/lib/orb/models/plan_version.rb +186 -5
  122. data/lib/orb/models/plans/external_plan_id_update_params.rb +9 -1
  123. data/lib/orb/models/plans/migration_cancel_response.rb +22 -4
  124. data/lib/orb/models/plans/migration_list_response.rb +22 -4
  125. data/lib/orb/models/plans/migration_retrieve_response.rb +22 -4
  126. data/lib/orb/models/price.rb +2614 -1268
  127. data/lib/orb/models/price_create_params.rb +866 -49
  128. data/lib/orb/models/price_evaluate_multiple_params.rb +889 -54
  129. data/lib/orb/models/price_evaluate_preview_events_params.rb +881 -46
  130. data/lib/orb/models/price_interval.rb +2 -2
  131. data/lib/orb/models/subscription.rb +168 -4
  132. data/lib/orb/models/subscription_create_params.rb +2818 -674
  133. data/lib/orb/models/subscription_price_intervals_params.rb +1098 -57
  134. data/lib/orb/models/subscription_schedule_plan_change_params.rb +2834 -687
  135. data/lib/orb/models/subscription_update_params.rb +12 -1
  136. data/lib/orb/models.rb +2 -0
  137. data/lib/orb/resources/alerts.rb +14 -3
  138. data/lib/orb/resources/customers/credits/ledger.rb +28 -14
  139. data/lib/orb/resources/customers.rb +6 -2
  140. data/lib/orb/resources/events.rb +7 -34
  141. data/lib/orb/resources/invoices.rb +6 -2
  142. data/lib/orb/resources/licenses/external_licenses.rb +1 -1
  143. data/lib/orb/resources/licenses/usage.rb +2 -2
  144. data/lib/orb/resources/metrics.rb +5 -5
  145. data/lib/orb/resources/plans/external_plan_id.rb +5 -3
  146. data/lib/orb/resources/plans.rb +9 -5
  147. data/lib/orb/resources/prices/external_price_id.rb +2 -2
  148. data/lib/orb/resources/prices.rb +5 -5
  149. data/lib/orb/resources/subscriptions.rb +20 -3
  150. data/lib/orb/version.rb +1 -1
  151. data/lib/orb.rb +1 -0
  152. data/rbi/orb/models/accounting_provider_config.rbi +38 -5
  153. data/rbi/orb/models/adjustment_interval.rbi +336 -0
  154. data/rbi/orb/models/alert.rbi +172 -3
  155. data/rbi/orb/models/alert_create_for_subscription_params.rbi +268 -9
  156. data/rbi/orb/models/alert_update_params.rbi +208 -0
  157. data/rbi/orb/models/beta/external_plan_id_create_plan_version_params.rbi +3833 -28395
  158. data/rbi/orb/models/beta_create_plan_version_params.rbi +3833 -28363
  159. data/rbi/orb/models/changed_subscription_resources.rbi +360 -5
  160. data/rbi/orb/models/conversion_rate_config.rbi +18 -0
  161. data/rbi/orb/models/credit_block_list_invoices_response.rbi +346 -3
  162. data/rbi/orb/models/credit_block_retrieve_response.rbi +344 -3
  163. data/rbi/orb/models/customer.rbi +190 -10
  164. data/rbi/orb/models/customer_create_params.rbi +12 -2
  165. data/rbi/orb/models/customer_tax_id.rbi +15 -1
  166. data/rbi/orb/models/customer_update_by_external_id_params.rbi +22 -2
  167. data/rbi/orb/models/customer_update_params.rbi +22 -2
  168. data/rbi/orb/models/customers/credit_list_by_external_id_response.rbi +346 -3
  169. data/rbi/orb/models/customers/credit_list_response.rbi +347 -3
  170. data/rbi/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +6 -6
  171. data/rbi/orb/models/customers/credits/ledger_create_entry_params.rbi +6 -6
  172. data/rbi/orb/models/dimensional_price_group.rbi +1 -1
  173. data/rbi/orb/models/discount.rbi +269 -1
  174. data/rbi/orb/models/event_ingest_params.rbi +4 -2
  175. data/rbi/orb/models/invoice.rbi +360 -5
  176. data/rbi/orb/models/invoice_create_params.rbi +12 -7
  177. data/rbi/orb/models/invoice_fetch_upcoming_response.rbi +360 -5
  178. data/rbi/orb/models/invoice_issue_summary_response.rbi +19 -4
  179. data/rbi/orb/models/invoice_level_discount.rbi +298 -1
  180. data/rbi/orb/models/invoice_line_item_create_response.rbi +339 -0
  181. data/rbi/orb/models/invoice_list_summary_response.rbi +19 -4
  182. data/rbi/orb/models/licenses/external_license_get_usage_params.rbi +3 -3
  183. data/rbi/orb/models/licenses/usage_get_all_usage_params.rbi +3 -3
  184. data/rbi/orb/models/licenses/usage_get_usage_params.rbi +3 -3
  185. data/rbi/orb/models/mutated_subscription.rbi +324 -2
  186. data/rbi/orb/models/new_allocation_price.rbi +12 -0
  187. data/rbi/orb/models/per_price_cost.rbi +3 -0
  188. data/rbi/orb/models/plan.rbi +339 -2
  189. data/rbi/orb/models/plan_create_params.rbi +1877 -14138
  190. data/rbi/orb/models/plan_update_params.rbi +8 -0
  191. data/rbi/orb/models/plan_version.rbi +339 -0
  192. data/rbi/orb/models/plans/external_plan_id_update_params.rbi +8 -0
  193. data/rbi/orb/models/plans/migration_cancel_response.rbi +22 -1
  194. data/rbi/orb/models/plans/migration_list_response.rbi +22 -1
  195. data/rbi/orb/models/plans/migration_retrieve_response.rbi +22 -1
  196. data/rbi/orb/models/price.rbi +4552 -2285
  197. data/rbi/orb/models/price_create_params.rbi +1540 -114
  198. data/rbi/orb/models/price_evaluate_multiple_params.rbi +1540 -114
  199. data/rbi/orb/models/price_evaluate_preview_events_params.rbi +1540 -114
  200. data/rbi/orb/models/price_interval.rbi +3 -0
  201. data/rbi/orb/models/subscription.rbi +324 -2
  202. data/rbi/orb/models/subscription_create_params.rbi +4998 -1186
  203. data/rbi/orb/models/subscription_price_intervals_params.rbi +2127 -264
  204. data/rbi/orb/models/subscription_schedule_plan_change_params.rbi +4997 -1185
  205. data/rbi/orb/models/subscription_update_params.rbi +14 -0
  206. data/rbi/orb/models.rbi +2 -0
  207. data/rbi/orb/resources/alerts.rbi +39 -4
  208. data/rbi/orb/resources/customers/credits/ledger.rbi +28 -14
  209. data/rbi/orb/resources/customers.rbi +23 -0
  210. data/rbi/orb/resources/events.rbi +8 -35
  211. data/rbi/orb/resources/invoices.rbi +9 -3
  212. data/rbi/orb/resources/licenses/external_licenses.rbi +1 -1
  213. data/rbi/orb/resources/licenses/usage.rbi +2 -2
  214. data/rbi/orb/resources/metrics.rbi +5 -5
  215. data/rbi/orb/resources/plans/external_plan_id.rbi +5 -2
  216. data/rbi/orb/resources/plans.rbi +9 -3
  217. data/rbi/orb/resources/prices.rbi +3 -0
  218. data/rbi/orb/resources/subscriptions.rbi +29 -0
  219. data/sig/orb/models/accounting_provider_config.rbs +21 -4
  220. data/sig/orb/models/adjustment_interval.rbs +134 -0
  221. data/sig/orb/models/alert.rbs +85 -3
  222. data/sig/orb/models/alert_create_for_subscription_params.rbs +86 -4
  223. data/sig/orb/models/alert_update_params.rbs +86 -1
  224. data/sig/orb/models/beta/external_plan_id_create_plan_version_params.rbs +1803 -11601
  225. data/sig/orb/models/beta_create_plan_version_params.rbs +1747 -11541
  226. data/sig/orb/models/changed_subscription_resources.rbs +140 -1
  227. data/sig/orb/models/conversion_rate_config.rbs +12 -0
  228. data/sig/orb/models/credit_block_list_invoices_response.rbs +124 -3
  229. data/sig/orb/models/credit_block_retrieve_response.rbs +124 -3
  230. data/sig/orb/models/customer.rbs +70 -4
  231. data/sig/orb/models/customer_create_params.rbs +2 -2
  232. data/sig/orb/models/customer_tax_id.rbs +20 -2
  233. data/sig/orb/models/customer_update_by_external_id_params.rbs +7 -2
  234. data/sig/orb/models/customer_update_params.rbs +7 -2
  235. data/sig/orb/models/customers/credit_list_by_external_id_response.rbs +124 -3
  236. data/sig/orb/models/customers/credit_list_response.rbs +124 -3
  237. data/sig/orb/models/discount.rbs +114 -0
  238. data/sig/orb/models/invoice.rbs +140 -1
  239. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +140 -1
  240. data/sig/orb/models/invoice_issue_summary_response.rbs +2 -1
  241. data/sig/orb/models/invoice_level_discount.rbs +117 -1
  242. data/sig/orb/models/invoice_line_item_create_response.rbs +134 -0
  243. data/sig/orb/models/invoice_list_summary_response.rbs +2 -1
  244. data/sig/orb/models/licenses/external_license_get_usage_params.rbs +4 -4
  245. data/sig/orb/models/licenses/usage_get_all_usage_params.rbs +4 -4
  246. data/sig/orb/models/licenses/usage_get_usage_params.rbs +4 -4
  247. data/sig/orb/models/mutated_subscription.rbs +124 -0
  248. data/sig/orb/models/new_allocation_price.rbs +5 -0
  249. data/sig/orb/models/new_floating_bulk_price.rbs +4 -4
  250. data/sig/orb/models/new_floating_bulk_with_proration_price.rbs +4 -4
  251. data/sig/orb/models/new_floating_cumulative_grouped_bulk_price.rbs +4 -4
  252. data/sig/orb/models/new_floating_grouped_allocation_price.rbs +4 -4
  253. data/sig/orb/models/new_floating_grouped_tiered_package_price.rbs +4 -4
  254. data/sig/orb/models/new_floating_grouped_tiered_price.rbs +4 -4
  255. data/sig/orb/models/new_floating_grouped_with_metered_minimum_price.rbs +4 -4
  256. data/sig/orb/models/new_floating_grouped_with_prorated_minimum_price.rbs +4 -4
  257. data/sig/orb/models/new_floating_matrix_price.rbs +4 -4
  258. data/sig/orb/models/new_floating_matrix_with_allocation_price.rbs +4 -4
  259. data/sig/orb/models/new_floating_matrix_with_display_name_price.rbs +4 -4
  260. data/sig/orb/models/new_floating_max_group_tiered_package_price.rbs +4 -4
  261. data/sig/orb/models/new_floating_minimum_composite_price.rbs +4 -4
  262. data/sig/orb/models/new_floating_package_price.rbs +4 -4
  263. data/sig/orb/models/new_floating_package_with_allocation_price.rbs +4 -4
  264. data/sig/orb/models/new_floating_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  265. data/sig/orb/models/new_floating_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  266. data/sig/orb/models/new_floating_threshold_total_amount_price.rbs +4 -4
  267. data/sig/orb/models/new_floating_tiered_package_price.rbs +4 -4
  268. data/sig/orb/models/new_floating_tiered_package_with_minimum_price.rbs +4 -4
  269. data/sig/orb/models/new_floating_tiered_price.rbs +4 -4
  270. data/sig/orb/models/new_floating_tiered_with_minimum_price.rbs +4 -4
  271. data/sig/orb/models/new_floating_tiered_with_proration_price.rbs +4 -4
  272. data/sig/orb/models/new_floating_unit_price.rbs +4 -4
  273. data/sig/orb/models/new_floating_unit_with_percent_price.rbs +4 -4
  274. data/sig/orb/models/new_floating_unit_with_proration_price.rbs +4 -4
  275. data/sig/orb/models/new_plan_bulk_price.rbs +4 -4
  276. data/sig/orb/models/new_plan_bulk_with_proration_price.rbs +4 -4
  277. data/sig/orb/models/new_plan_cumulative_grouped_bulk_price.rbs +4 -4
  278. data/sig/orb/models/new_plan_grouped_allocation_price.rbs +4 -4
  279. data/sig/orb/models/new_plan_grouped_tiered_package_price.rbs +4 -4
  280. data/sig/orb/models/new_plan_grouped_tiered_price.rbs +4 -4
  281. data/sig/orb/models/new_plan_grouped_with_metered_minimum_price.rbs +4 -4
  282. data/sig/orb/models/new_plan_grouped_with_prorated_minimum_price.rbs +4 -4
  283. data/sig/orb/models/new_plan_matrix_price.rbs +4 -4
  284. data/sig/orb/models/new_plan_matrix_with_allocation_price.rbs +4 -4
  285. data/sig/orb/models/new_plan_matrix_with_display_name_price.rbs +4 -4
  286. data/sig/orb/models/new_plan_max_group_tiered_package_price.rbs +4 -4
  287. data/sig/orb/models/new_plan_minimum_composite_price.rbs +4 -4
  288. data/sig/orb/models/new_plan_package_price.rbs +4 -4
  289. data/sig/orb/models/new_plan_package_with_allocation_price.rbs +4 -4
  290. data/sig/orb/models/new_plan_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  291. data/sig/orb/models/new_plan_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  292. data/sig/orb/models/new_plan_threshold_total_amount_price.rbs +4 -4
  293. data/sig/orb/models/new_plan_tiered_package_price.rbs +4 -4
  294. data/sig/orb/models/new_plan_tiered_package_with_minimum_price.rbs +4 -4
  295. data/sig/orb/models/new_plan_tiered_price.rbs +4 -4
  296. data/sig/orb/models/new_plan_tiered_with_minimum_price.rbs +4 -4
  297. data/sig/orb/models/new_plan_unit_price.rbs +4 -4
  298. data/sig/orb/models/new_plan_unit_with_percent_price.rbs +4 -4
  299. data/sig/orb/models/new_plan_unit_with_proration_price.rbs +4 -4
  300. data/sig/orb/models/new_subscription_bulk_price.rbs +4 -4
  301. data/sig/orb/models/new_subscription_bulk_with_proration_price.rbs +4 -4
  302. data/sig/orb/models/new_subscription_cumulative_grouped_bulk_price.rbs +4 -4
  303. data/sig/orb/models/new_subscription_grouped_allocation_price.rbs +4 -4
  304. data/sig/orb/models/new_subscription_grouped_tiered_package_price.rbs +4 -4
  305. data/sig/orb/models/new_subscription_grouped_tiered_price.rbs +4 -4
  306. data/sig/orb/models/new_subscription_grouped_with_metered_minimum_price.rbs +4 -4
  307. data/sig/orb/models/new_subscription_grouped_with_prorated_minimum_price.rbs +4 -4
  308. data/sig/orb/models/new_subscription_matrix_price.rbs +4 -4
  309. data/sig/orb/models/new_subscription_matrix_with_allocation_price.rbs +4 -4
  310. data/sig/orb/models/new_subscription_matrix_with_display_name_price.rbs +4 -4
  311. data/sig/orb/models/new_subscription_max_group_tiered_package_price.rbs +4 -4
  312. data/sig/orb/models/new_subscription_minimum_composite_price.rbs +4 -4
  313. data/sig/orb/models/new_subscription_package_price.rbs +4 -4
  314. data/sig/orb/models/new_subscription_package_with_allocation_price.rbs +4 -4
  315. data/sig/orb/models/new_subscription_scalable_matrix_with_tiered_pricing_price.rbs +4 -4
  316. data/sig/orb/models/new_subscription_scalable_matrix_with_unit_pricing_price.rbs +4 -4
  317. data/sig/orb/models/new_subscription_threshold_total_amount_price.rbs +4 -4
  318. data/sig/orb/models/new_subscription_tiered_package_price.rbs +4 -4
  319. data/sig/orb/models/new_subscription_tiered_package_with_minimum_price.rbs +4 -4
  320. data/sig/orb/models/new_subscription_tiered_price.rbs +4 -4
  321. data/sig/orb/models/new_subscription_tiered_with_minimum_price.rbs +4 -4
  322. data/sig/orb/models/new_subscription_unit_price.rbs +4 -4
  323. data/sig/orb/models/new_subscription_unit_with_percent_price.rbs +4 -4
  324. data/sig/orb/models/new_subscription_unit_with_proration_price.rbs +4 -4
  325. data/sig/orb/models/plan.rbs +134 -0
  326. data/sig/orb/models/plan_create_params.rbs +836 -5728
  327. data/sig/orb/models/plan_update_params.rbs +5 -0
  328. data/sig/orb/models/plan_version.rbs +134 -0
  329. data/sig/orb/models/plans/external_plan_id_update_params.rbs +5 -0
  330. data/sig/orb/models/price.rbs +2200 -1150
  331. data/sig/orb/models/price_create_params.rbs +611 -23
  332. data/sig/orb/models/price_evaluate_multiple_params.rbs +626 -23
  333. data/sig/orb/models/price_evaluate_preview_events_params.rbs +626 -23
  334. data/sig/orb/models/subscription.rbs +124 -0
  335. data/sig/orb/models/subscription_create_params.rbs +2009 -430
  336. data/sig/orb/models/subscription_price_intervals_params.rbs +795 -23
  337. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +2009 -430
  338. data/sig/orb/models/subscription_update_params.rbs +5 -0
  339. data/sig/orb/models.rbs +2 -0
  340. data/sig/orb/resources/alerts.rbs +5 -1
  341. data/sig/orb/resources/customers.rbs +2 -0
  342. data/sig/orb/resources/licenses/external_licenses.rbs +1 -1
  343. data/sig/orb/resources/licenses/usage.rbs +2 -2
  344. data/sig/orb/resources/plans/external_plan_id.rbs +1 -0
  345. data/sig/orb/resources/plans.rbs +2 -0
  346. data/sig/orb/resources/subscriptions.rbs +3 -0
  347. metadata +6 -7
@@ -131,6 +131,7 @@ module Orb
131
131
  Orb::PlanPhaseUsageDiscountAdjustment::OrHash,
132
132
  Orb::PlanPhaseAmountDiscountAdjustment::OrHash,
133
133
  Orb::PlanPhasePercentageDiscountAdjustment::OrHash,
134
+ Orb::Plan::Adjustment::TieredPercentageDiscount::OrHash,
134
135
  Orb::PlanPhaseMinimumAdjustment::OrHash,
135
136
  Orb::PlanPhaseMaximumAdjustment::OrHash
136
137
  )
@@ -147,7 +148,8 @@ module Orb
147
148
  Orb::PercentageDiscount::OrHash,
148
149
  Orb::TrialDiscount::OrHash,
149
150
  Orb::UsageDiscount::OrHash,
150
- Orb::AmountDiscount::OrHash
151
+ Orb::AmountDiscount::OrHash,
152
+ Orb::Discount::TieredPercentage::OrHash
151
153
  )
152
154
  ),
153
155
  external_plan_id: T.nilable(String),
@@ -177,6 +179,7 @@ module Orb
177
179
  Orb::Price::PackageWithAllocation::OrHash,
178
180
  Orb::Price::UnitWithPercent::OrHash,
179
181
  Orb::Price::MatrixWithAllocation::OrHash,
182
+ Orb::Price::MatrixWithThresholdDiscounts::OrHash,
180
183
  Orb::Price::TieredWithProration::OrHash,
181
184
  Orb::Price::UnitWithProration::OrHash,
182
185
  Orb::Price::GroupedAllocation::OrHash,
@@ -191,6 +194,8 @@ module Orb
191
194
  Orb::Price::ScalableMatrixWithTieredPricing::OrHash,
192
195
  Orb::Price::CumulativeGroupedBulk::OrHash,
193
196
  Orb::Price::CumulativeGroupedAllocation::OrHash,
197
+ Orb::Price::DailyCreditAllowance::OrHash,
198
+ Orb::Price::MeteredAllowance::OrHash,
194
199
  Orb::Price::MinimumComposite::OrHash,
195
200
  Orb::Price::Percent::OrHash,
196
201
  Orb::Price::EventOutput::OrHash
@@ -298,11 +303,342 @@ module Orb
298
303
  Orb::PlanPhaseUsageDiscountAdjustment,
299
304
  Orb::PlanPhaseAmountDiscountAdjustment,
300
305
  Orb::PlanPhasePercentageDiscountAdjustment,
306
+ Orb::Plan::Adjustment::TieredPercentageDiscount,
301
307
  Orb::PlanPhaseMinimumAdjustment,
302
308
  Orb::PlanPhaseMaximumAdjustment
303
309
  )
304
310
  end
305
311
 
312
+ class TieredPercentageDiscount < Orb::Internal::Type::BaseModel
313
+ OrHash =
314
+ T.type_alias do
315
+ T.any(
316
+ Orb::Plan::Adjustment::TieredPercentageDiscount,
317
+ Orb::Internal::AnyHash
318
+ )
319
+ end
320
+
321
+ sig { returns(String) }
322
+ attr_accessor :id
323
+
324
+ sig { returns(Symbol) }
325
+ attr_accessor :adjustment_type
326
+
327
+ # The price IDs that this adjustment applies to.
328
+ sig { returns(T::Array[String]) }
329
+ attr_accessor :applies_to_price_ids
330
+
331
+ # The filters that determine which prices to apply this adjustment to.
332
+ sig do
333
+ returns(
334
+ T::Array[Orb::Plan::Adjustment::TieredPercentageDiscount::Filter]
335
+ )
336
+ end
337
+ attr_accessor :filters
338
+
339
+ # True for adjustments that apply to an entire invoice, false for adjustments that
340
+ # apply to only one price.
341
+ sig { returns(T::Boolean) }
342
+ attr_accessor :is_invoice_level
343
+
344
+ # The plan phase in which this adjustment is active.
345
+ sig { returns(T.nilable(Integer)) }
346
+ attr_accessor :plan_phase_order
347
+
348
+ # The reason for the adjustment.
349
+ sig { returns(T.nilable(String)) }
350
+ attr_accessor :reason
351
+
352
+ # The adjustment id this adjustment replaces. This adjustment will take the place
353
+ # of the replaced adjustment in plan version migrations.
354
+ sig { returns(T.nilable(String)) }
355
+ attr_accessor :replaces_adjustment_id
356
+
357
+ # The ordered, contiguous bands of cumulative eligible spend, each discounted at
358
+ # its own percentage (progressive fill-a-tier), applied to the prices this
359
+ # adjustment covers in a given billing period.
360
+ sig do
361
+ returns(
362
+ T::Array[Orb::Plan::Adjustment::TieredPercentageDiscount::Tier]
363
+ )
364
+ end
365
+ attr_accessor :tiers
366
+
367
+ sig do
368
+ params(
369
+ id: String,
370
+ applies_to_price_ids: T::Array[String],
371
+ filters:
372
+ T::Array[
373
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::OrHash
374
+ ],
375
+ is_invoice_level: T::Boolean,
376
+ plan_phase_order: T.nilable(Integer),
377
+ reason: T.nilable(String),
378
+ replaces_adjustment_id: T.nilable(String),
379
+ tiers:
380
+ T::Array[
381
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Tier::OrHash
382
+ ],
383
+ adjustment_type: Symbol
384
+ ).returns(T.attached_class)
385
+ end
386
+ def self.new(
387
+ id:,
388
+ # The price IDs that this adjustment applies to.
389
+ applies_to_price_ids:,
390
+ # The filters that determine which prices to apply this adjustment to.
391
+ filters:,
392
+ # True for adjustments that apply to an entire invoice, false for adjustments that
393
+ # apply to only one price.
394
+ is_invoice_level:,
395
+ # The plan phase in which this adjustment is active.
396
+ plan_phase_order:,
397
+ # The reason for the adjustment.
398
+ reason:,
399
+ # The adjustment id this adjustment replaces. This adjustment will take the place
400
+ # of the replaced adjustment in plan version migrations.
401
+ replaces_adjustment_id:,
402
+ # The ordered, contiguous bands of cumulative eligible spend, each discounted at
403
+ # its own percentage (progressive fill-a-tier), applied to the prices this
404
+ # adjustment covers in a given billing period.
405
+ tiers:,
406
+ adjustment_type: :tiered_percentage_discount
407
+ )
408
+ end
409
+
410
+ sig do
411
+ override.returns(
412
+ {
413
+ id: String,
414
+ adjustment_type: Symbol,
415
+ applies_to_price_ids: T::Array[String],
416
+ filters:
417
+ T::Array[
418
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter
419
+ ],
420
+ is_invoice_level: T::Boolean,
421
+ plan_phase_order: T.nilable(Integer),
422
+ reason: T.nilable(String),
423
+ replaces_adjustment_id: T.nilable(String),
424
+ tiers:
425
+ T::Array[
426
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Tier
427
+ ]
428
+ }
429
+ )
430
+ end
431
+ def to_hash
432
+ end
433
+
434
+ class Filter < Orb::Internal::Type::BaseModel
435
+ OrHash =
436
+ T.type_alias do
437
+ T.any(
438
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter,
439
+ Orb::Internal::AnyHash
440
+ )
441
+ end
442
+
443
+ # The property of the price to filter on.
444
+ sig do
445
+ returns(
446
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
447
+ )
448
+ end
449
+ attr_accessor :field
450
+
451
+ # Should prices that match the filter be included or excluded.
452
+ sig do
453
+ returns(
454
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
455
+ )
456
+ end
457
+ attr_accessor :operator
458
+
459
+ # The IDs or values that match this filter.
460
+ sig { returns(T::Array[String]) }
461
+ attr_accessor :values
462
+
463
+ sig do
464
+ params(
465
+ field:
466
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field::OrSymbol,
467
+ operator:
468
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Operator::OrSymbol,
469
+ values: T::Array[String]
470
+ ).returns(T.attached_class)
471
+ end
472
+ def self.new(
473
+ # The property of the price to filter on.
474
+ field:,
475
+ # Should prices that match the filter be included or excluded.
476
+ operator:,
477
+ # The IDs or values that match this filter.
478
+ values:
479
+ )
480
+ end
481
+
482
+ sig do
483
+ override.returns(
484
+ {
485
+ field:
486
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol,
487
+ operator:
488
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol,
489
+ values: T::Array[String]
490
+ }
491
+ )
492
+ end
493
+ def to_hash
494
+ end
495
+
496
+ # The property of the price to filter on.
497
+ module Field
498
+ extend Orb::Internal::Type::Enum
499
+
500
+ TaggedSymbol =
501
+ T.type_alias do
502
+ T.all(
503
+ Symbol,
504
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field
505
+ )
506
+ end
507
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
508
+
509
+ PRICE_ID =
510
+ T.let(
511
+ :price_id,
512
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
513
+ )
514
+ ITEM_ID =
515
+ T.let(
516
+ :item_id,
517
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
518
+ )
519
+ PRICE_TYPE =
520
+ T.let(
521
+ :price_type,
522
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
523
+ )
524
+ CURRENCY =
525
+ T.let(
526
+ :currency,
527
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
528
+ )
529
+ PRICING_UNIT_ID =
530
+ T.let(
531
+ :pricing_unit_id,
532
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
533
+ )
534
+
535
+ sig do
536
+ override.returns(
537
+ T::Array[
538
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Field::TaggedSymbol
539
+ ]
540
+ )
541
+ end
542
+ def self.values
543
+ end
544
+ end
545
+
546
+ # Should prices that match the filter be included or excluded.
547
+ module Operator
548
+ extend Orb::Internal::Type::Enum
549
+
550
+ TaggedSymbol =
551
+ T.type_alias do
552
+ T.all(
553
+ Symbol,
554
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Operator
555
+ )
556
+ end
557
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
558
+
559
+ INCLUDES =
560
+ T.let(
561
+ :includes,
562
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
563
+ )
564
+ EXCLUDES =
565
+ T.let(
566
+ :excludes,
567
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
568
+ )
569
+
570
+ sig do
571
+ override.returns(
572
+ T::Array[
573
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Filter::Operator::TaggedSymbol
574
+ ]
575
+ )
576
+ end
577
+ def self.values
578
+ end
579
+ end
580
+ end
581
+
582
+ class Tier < Orb::Internal::Type::BaseModel
583
+ OrHash =
584
+ T.type_alias do
585
+ T.any(
586
+ Orb::Plan::Adjustment::TieredPercentageDiscount::Tier,
587
+ Orb::Internal::AnyHash
588
+ )
589
+ end
590
+
591
+ # Exclusive lower bound of cumulative spend for this tier.
592
+ sig { returns(Float) }
593
+ attr_accessor :lower_bound
594
+
595
+ # The percentage (between 0 and 1) discounted from spend that falls within this
596
+ # tier.
597
+ sig { returns(Float) }
598
+ attr_accessor :percentage
599
+
600
+ # Inclusive upper bound of cumulative spend for this tier; null for the final
601
+ # open-ended tier.
602
+ sig { returns(T.nilable(Float)) }
603
+ attr_accessor :upper_bound
604
+
605
+ # One band of a tiered percentage discount. Bounds are denominated in the
606
+ # discount's currency. `lower_bound` is the exclusive start of the band and
607
+ # `upper_bound` is the inclusive end; `upper_bound` is null only for the
608
+ # open-ended final tier.
609
+ sig do
610
+ params(
611
+ lower_bound: Float,
612
+ percentage: Float,
613
+ upper_bound: T.nilable(Float)
614
+ ).returns(T.attached_class)
615
+ end
616
+ def self.new(
617
+ # Exclusive lower bound of cumulative spend for this tier.
618
+ lower_bound:,
619
+ # The percentage (between 0 and 1) discounted from spend that falls within this
620
+ # tier.
621
+ percentage:,
622
+ # Inclusive upper bound of cumulative spend for this tier; null for the final
623
+ # open-ended tier.
624
+ upper_bound: nil
625
+ )
626
+ end
627
+
628
+ sig do
629
+ override.returns(
630
+ {
631
+ lower_bound: Float,
632
+ percentage: Float,
633
+ upper_bound: T.nilable(Float)
634
+ }
635
+ )
636
+ end
637
+ def to_hash
638
+ end
639
+ end
640
+ end
641
+
306
642
  sig { override.returns(T::Array[Orb::Plan::Adjustment::Variants]) }
307
643
  def self.variants
308
644
  end
@@ -414,7 +750,8 @@ module Orb
414
750
  Orb::PercentageDiscount::OrHash,
415
751
  Orb::TrialDiscount::OrHash,
416
752
  Orb::UsageDiscount::OrHash,
417
- Orb::AmountDiscount::OrHash
753
+ Orb::AmountDiscount::OrHash,
754
+ Orb::Discount::TieredPercentage::OrHash
418
755
  )
419
756
  ),
420
757
  duration: T.nilable(Integer),