orb-billing 0.1.3 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. checksums.yaml +4 -4
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +65 -0
  4. data/README.md +61 -51
  5. data/lib/orb/client.rb +7 -6
  6. data/lib/orb/file_part.rb +55 -0
  7. data/lib/orb/internal/page.rb +37 -39
  8. data/lib/orb/internal/transport/base_client.rb +21 -11
  9. data/lib/orb/internal/transport/pooled_net_requester.rb +3 -3
  10. data/lib/orb/internal/type/array_of.rb +28 -2
  11. data/lib/orb/internal/type/base_model.rb +83 -21
  12. data/lib/orb/internal/type/base_page.rb +10 -1
  13. data/lib/orb/internal/type/boolean.rb +6 -0
  14. data/lib/orb/internal/type/converter.rb +28 -1
  15. data/lib/orb/internal/type/enum.rb +28 -8
  16. data/lib/orb/internal/type/{io_like.rb → file_input.rb} +35 -15
  17. data/lib/orb/internal/type/hash_of.rb +28 -2
  18. data/lib/orb/internal/type/request_parameters.rb +1 -2
  19. data/lib/orb/internal/type/union.rb +27 -4
  20. data/lib/orb/internal/type/unknown.rb +6 -0
  21. data/lib/orb/internal/util.rb +105 -70
  22. data/lib/orb/internal.rb +5 -2
  23. data/lib/orb/models/alert.rb +68 -71
  24. data/lib/orb/models/alert_create_for_customer_params.rb +20 -25
  25. data/lib/orb/models/alert_create_for_external_customer_params.rb +20 -25
  26. data/lib/orb/models/alert_create_for_subscription_params.rb +20 -25
  27. data/lib/orb/models/alert_disable_params.rb +5 -9
  28. data/lib/orb/models/alert_enable_params.rb +5 -9
  29. data/lib/orb/models/alert_list_params.rb +26 -36
  30. data/lib/orb/models/alert_retrieve_params.rb +3 -8
  31. data/lib/orb/models/alert_update_params.rb +14 -18
  32. data/lib/orb/models/amount_discount.rb +14 -14
  33. data/lib/orb/models/billable_metric.rb +23 -20
  34. data/lib/orb/models/billing_cycle_relative_date.rb +2 -5
  35. data/lib/orb/models/coupon.rb +28 -21
  36. data/lib/orb/models/coupon_archive_params.rb +3 -8
  37. data/lib/orb/models/coupon_create_params.rb +24 -29
  38. data/lib/orb/models/coupon_fetch_params.rb +3 -8
  39. data/lib/orb/models/coupon_list_params.rb +17 -17
  40. data/lib/orb/models/coupons/subscription_list_params.rb +12 -15
  41. data/lib/orb/models/credit_note.rb +100 -166
  42. data/lib/orb/models/credit_note_create_params.rb +15 -23
  43. data/lib/orb/models/credit_note_fetch_params.rb +3 -8
  44. data/lib/orb/models/credit_note_list_params.rb +20 -30
  45. data/lib/orb/models/customer.rb +224 -271
  46. data/lib/orb/models/customer_create_params.rb +211 -252
  47. data/lib/orb/models/customer_delete_params.rb +3 -8
  48. data/lib/orb/models/customer_fetch_by_external_id_params.rb +3 -8
  49. data/lib/orb/models/customer_fetch_params.rb +3 -8
  50. data/lib/orb/models/customer_list_params.rb +20 -30
  51. data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +3 -8
  52. data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +3 -8
  53. data/lib/orb/models/customer_update_by_external_id_params.rb +207 -250
  54. data/lib/orb/models/customer_update_params.rb +207 -250
  55. data/lib/orb/models/customers/balance_transaction_create_params.rb +11 -16
  56. data/lib/orb/models/customers/balance_transaction_create_response.rb +33 -51
  57. data/lib/orb/models/customers/balance_transaction_list_params.rb +20 -30
  58. data/lib/orb/models/customers/balance_transaction_list_response.rb +33 -51
  59. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +17 -17
  60. data/lib/orb/models/customers/cost_list_by_external_id_response.rb +22 -26
  61. data/lib/orb/models/customers/cost_list_params.rb +17 -17
  62. data/lib/orb/models/customers/cost_list_response.rb +22 -26
  63. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +18 -22
  64. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +10 -17
  65. data/lib/orb/models/customers/credit_list_params.rb +18 -22
  66. data/lib/orb/models/customers/credit_list_response.rb +10 -17
  67. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +64 -66
  68. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +300 -406
  69. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +63 -66
  70. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +300 -406
  71. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +33 -48
  72. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +300 -406
  73. data/lib/orb/models/customers/credits/ledger_list_params.rb +32 -48
  74. data/lib/orb/models/customers/credits/ledger_list_response.rb +300 -406
  75. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +47 -50
  76. data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +43 -46
  77. data/lib/orb/models/customers/credits/top_up_create_params.rb +46 -50
  78. data/lib/orb/models/customers/credits/top_up_create_response.rb +42 -46
  79. data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +4 -9
  80. data/lib/orb/models/customers/credits/top_up_delete_params.rb +4 -9
  81. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +12 -15
  82. data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +43 -46
  83. data/lib/orb/models/customers/credits/top_up_list_params.rb +12 -15
  84. data/lib/orb/models/customers/credits/top_up_list_response.rb +42 -46
  85. data/lib/orb/models/dimensional_price_group.rb +21 -15
  86. data/lib/orb/models/dimensional_price_group_create_params.rb +17 -23
  87. data/lib/orb/models/dimensional_price_group_list_params.rb +12 -15
  88. data/lib/orb/models/dimensional_price_group_retrieve_params.rb +3 -8
  89. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +3 -8
  90. data/lib/orb/models/dimensional_price_groups.rb +3 -7
  91. data/lib/orb/models/discount.rb +2 -3
  92. data/lib/orb/models/evaluate_price_group.rb +8 -11
  93. data/lib/orb/models/event_deprecate_params.rb +3 -8
  94. data/lib/orb/models/event_deprecate_response.rb +2 -6
  95. data/lib/orb/models/event_ingest_params.rb +33 -27
  96. data/lib/orb/models/event_ingest_response.rb +23 -24
  97. data/lib/orb/models/event_search_params.rb +15 -11
  98. data/lib/orb/models/event_search_response.rb +27 -22
  99. data/lib/orb/models/event_update_params.rb +19 -13
  100. data/lib/orb/models/event_update_response.rb +2 -6
  101. data/lib/orb/models/events/backfill_close_params.rb +3 -8
  102. data/lib/orb/models/events/backfill_close_response.rb +34 -39
  103. data/lib/orb/models/events/backfill_create_params.rb +28 -32
  104. data/lib/orb/models/events/backfill_create_response.rb +34 -39
  105. data/lib/orb/models/events/backfill_fetch_params.rb +3 -8
  106. data/lib/orb/models/events/backfill_fetch_response.rb +34 -39
  107. data/lib/orb/models/events/backfill_list_params.rb +12 -15
  108. data/lib/orb/models/events/backfill_list_response.rb +34 -39
  109. data/lib/orb/models/events/backfill_revert_params.rb +3 -8
  110. data/lib/orb/models/events/backfill_revert_response.rb +34 -39
  111. data/lib/orb/models/events/event_volumes.rb +11 -17
  112. data/lib/orb/models/events/volume_list_params.rb +19 -22
  113. data/lib/orb/models/invoice.rb +589 -637
  114. data/lib/orb/models/invoice_create_params.rb +52 -61
  115. data/lib/orb/models/invoice_fetch_params.rb +3 -8
  116. data/lib/orb/models/invoice_fetch_upcoming_params.rb +4 -9
  117. data/lib/orb/models/invoice_fetch_upcoming_response.rb +584 -631
  118. data/lib/orb/models/invoice_issue_params.rb +10 -14
  119. data/lib/orb/models/invoice_level_discount.rb +2 -3
  120. data/lib/orb/models/invoice_line_item_create_params.rb +19 -14
  121. data/lib/orb/models/invoice_line_item_create_response.rb +247 -269
  122. data/lib/orb/models/invoice_list_params.rb +51 -66
  123. data/lib/orb/models/invoice_mark_paid_params.rb +9 -11
  124. data/lib/orb/models/invoice_pay_params.rb +3 -8
  125. data/lib/orb/models/invoice_update_params.rb +9 -9
  126. data/lib/orb/models/invoice_void_params.rb +3 -8
  127. data/lib/orb/models/item.rb +14 -25
  128. data/lib/orb/models/item_create_params.rb +5 -9
  129. data/lib/orb/models/item_fetch_params.rb +3 -8
  130. data/lib/orb/models/item_list_params.rb +12 -15
  131. data/lib/orb/models/item_update_params.rb +10 -22
  132. data/lib/orb/models/metric_create_params.rb +17 -13
  133. data/lib/orb/models/metric_fetch_params.rb +3 -8
  134. data/lib/orb/models/metric_list_params.rb +20 -30
  135. data/lib/orb/models/metric_update_params.rb +9 -9
  136. data/lib/orb/models/pagination_metadata.rb +3 -7
  137. data/lib/orb/models/percentage_discount.rb +15 -14
  138. data/lib/orb/models/plan.rb +250 -279
  139. data/lib/orb/models/plan_create_params.rb +1623 -1984
  140. data/lib/orb/models/plan_fetch_params.rb +3 -8
  141. data/lib/orb/models/plan_list_params.rb +25 -42
  142. data/lib/orb/models/plan_update_params.rb +12 -10
  143. data/lib/orb/models/plans/external_plan_id_fetch_params.rb +3 -8
  144. data/lib/orb/models/plans/external_plan_id_update_params.rb +12 -10
  145. data/lib/orb/models/price.rb +2709 -3820
  146. data/lib/orb/models/price_create_params.rb +203 -244
  147. data/lib/orb/models/price_evaluate_params.rb +21 -30
  148. data/lib/orb/models/price_evaluate_response.rb +2 -6
  149. data/lib/orb/models/price_fetch_params.rb +3 -8
  150. data/lib/orb/models/price_list_params.rb +12 -15
  151. data/lib/orb/models/price_update_params.rb +9 -9
  152. data/lib/orb/models/prices/external_price_id_fetch_params.rb +3 -8
  153. data/lib/orb/models/prices/external_price_id_update_params.rb +9 -9
  154. data/lib/orb/models/subscription.rb +343 -382
  155. data/lib/orb/models/subscription_cancel_params.rb +16 -16
  156. data/lib/orb/models/subscription_cancel_response.rb +339 -377
  157. data/lib/orb/models/subscription_change_apply_params.rb +7 -10
  158. data/lib/orb/models/subscription_change_apply_response.rb +365 -398
  159. data/lib/orb/models/subscription_change_cancel_params.rb +3 -8
  160. data/lib/orb/models/subscription_change_cancel_response.rb +365 -398
  161. data/lib/orb/models/subscription_change_retrieve_params.rb +3 -8
  162. data/lib/orb/models/subscription_change_retrieve_response.rb +366 -398
  163. data/lib/orb/models/subscription_create_params.rb +3771 -4402
  164. data/lib/orb/models/subscription_create_response.rb +339 -377
  165. data/lib/orb/models/subscription_fetch_costs_params.rb +17 -17
  166. data/lib/orb/models/subscription_fetch_costs_response.rb +22 -26
  167. data/lib/orb/models/subscription_fetch_params.rb +3 -8
  168. data/lib/orb/models/subscription_fetch_schedule_params.rb +20 -30
  169. data/lib/orb/models/subscription_fetch_schedule_response.rb +15 -17
  170. data/lib/orb/models/subscription_fetch_usage_params.rb +32 -43
  171. data/lib/orb/models/subscription_list_params.rb +28 -41
  172. data/lib/orb/models/subscription_price_intervals_params.rb +2018 -2472
  173. data/lib/orb/models/subscription_price_intervals_response.rb +342 -377
  174. data/lib/orb/models/subscription_schedule_plan_change_params.rb +3764 -4392
  175. data/lib/orb/models/subscription_schedule_plan_change_response.rb +342 -377
  176. data/lib/orb/models/subscription_trigger_phase_params.rb +12 -10
  177. data/lib/orb/models/subscription_trigger_phase_response.rb +341 -377
  178. data/lib/orb/models/subscription_unschedule_cancellation_params.rb +3 -8
  179. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +342 -377
  180. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +5 -9
  181. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +343 -377
  182. data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +3 -8
  183. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +343 -377
  184. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +22 -33
  185. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +342 -377
  186. data/lib/orb/models/subscription_update_params.rb +21 -23
  187. data/lib/orb/models/subscription_update_trial_params.rb +15 -18
  188. data/lib/orb/models/subscription_update_trial_response.rb +341 -377
  189. data/lib/orb/models/subscription_usage.rb +37 -80
  190. data/lib/orb/models/subscriptions.rb +3 -7
  191. data/lib/orb/models/top_level_ping_params.rb +3 -8
  192. data/lib/orb/models/top_level_ping_response.rb +2 -6
  193. data/lib/orb/models/trial_discount.rb +16 -24
  194. data/lib/orb/models/usage_discount.rb +15 -14
  195. data/lib/orb/request_options.rb +3 -4
  196. data/lib/orb/resources/alerts.rb +48 -17
  197. data/lib/orb/resources/coupons/subscriptions.rb +9 -2
  198. data/lib/orb/resources/coupons.rb +25 -7
  199. data/lib/orb/resources/credit_notes.rb +17 -4
  200. data/lib/orb/resources/customers/balance_transactions.rb +18 -3
  201. data/lib/orb/resources/customers/costs.rb +26 -8
  202. data/lib/orb/resources/customers/credits/ledger.rb +108 -28
  203. data/lib/orb/resources/customers/credits/top_ups.rb +67 -20
  204. data/lib/orb/resources/customers/credits.rb +28 -8
  205. data/lib/orb/resources/customers.rb +135 -36
  206. data/lib/orb/resources/dimensional_price_groups.rb +19 -4
  207. data/lib/orb/resources/events/backfills.rb +32 -9
  208. data/lib/orb/resources/events/volume.rb +14 -4
  209. data/lib/orb/resources/events.rb +40 -11
  210. data/lib/orb/resources/invoice_line_items.rb +16 -6
  211. data/lib/orb/resources/invoices.rb +77 -17
  212. data/lib/orb/resources/items.rb +10 -3
  213. data/lib/orb/resources/metrics.rb +33 -8
  214. data/lib/orb/resources/plans/external_plan_id.rb +10 -2
  215. data/lib/orb/resources/plans.rb +47 -11
  216. data/lib/orb/resources/prices/external_price_id.rb +7 -1
  217. data/lib/orb/resources/prices.rb +97 -22
  218. data/lib/orb/resources/subscription_changes.rb +5 -2
  219. data/lib/orb/resources/subscriptions.rb +292 -78
  220. data/lib/orb/version.rb +1 -1
  221. data/lib/orb.rb +2 -10
  222. data/rbi/lib/orb/client.rbi +7 -6
  223. data/rbi/lib/orb/file_part.rbi +34 -0
  224. data/rbi/lib/orb/internal/page.rbi +1 -0
  225. data/rbi/lib/orb/internal/transport/base_client.rbi +18 -3
  226. data/rbi/lib/orb/internal/type/array_of.rbi +15 -9
  227. data/rbi/lib/orb/internal/type/base_model.rbi +22 -0
  228. data/rbi/lib/orb/internal/type/base_page.rbi +2 -0
  229. data/rbi/lib/orb/internal/type/boolean.rbi +4 -5
  230. data/rbi/lib/orb/internal/type/converter.rbi +8 -0
  231. data/rbi/lib/orb/internal/type/enum.rbi +7 -6
  232. data/rbi/lib/orb/internal/type/{io_like.rbi → file_input.rbi} +9 -7
  233. data/rbi/lib/orb/internal/type/hash_of.rbi +15 -9
  234. data/rbi/lib/orb/internal/type/union.rbi +7 -0
  235. data/rbi/lib/orb/internal/type/unknown.rbi +4 -5
  236. data/rbi/lib/orb/internal/util.rbi +39 -19
  237. data/rbi/lib/orb/internal.rbi +1 -2
  238. data/rbi/lib/orb/models/alert.rbi +28 -8
  239. data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +16 -6
  240. data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +16 -6
  241. data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +16 -6
  242. data/rbi/lib/orb/models/alert_disable_params.rbi +5 -2
  243. data/rbi/lib/orb/models/alert_enable_params.rbi +5 -2
  244. data/rbi/lib/orb/models/alert_list_params.rbi +6 -0
  245. data/rbi/lib/orb/models/alert_update_params.rbi +11 -4
  246. data/rbi/lib/orb/models/amount_discount.rbi +10 -4
  247. data/rbi/lib/orb/models/billable_metric.rbi +16 -3
  248. data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +1 -1
  249. data/rbi/lib/orb/models/coupon.rbi +10 -3
  250. data/rbi/lib/orb/models/coupon_create_params.rbi +6 -3
  251. data/rbi/lib/orb/models/coupon_list_params.rbi +13 -3
  252. data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +8 -2
  253. data/rbi/lib/orb/models/credit_note.rbi +44 -12
  254. data/rbi/lib/orb/models/credit_note_create_params.rbi +15 -6
  255. data/rbi/lib/orb/models/credit_note_list_params.rbi +3 -0
  256. data/rbi/lib/orb/models/customer.rbi +130 -11
  257. data/rbi/lib/orb/models/customer_create_params.rbi +142 -8
  258. data/rbi/lib/orb/models/customer_list_params.rbi +3 -0
  259. data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +140 -8
  260. data/rbi/lib/orb/models/customer_update_params.rbi +140 -8
  261. data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +8 -4
  262. data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +18 -8
  263. data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +3 -0
  264. data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +18 -8
  265. data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +9 -5
  266. data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +21 -4
  267. data/rbi/lib/orb/models/customers/cost_list_params.rbi +9 -5
  268. data/rbi/lib/orb/models/customers/cost_list_response.rbi +21 -4
  269. data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +13 -3
  270. data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +1 -2
  271. data/rbi/lib/orb/models/customers/credit_list_params.rbi +13 -3
  272. data/rbi/lib/orb/models/customers/credit_list_response.rbi +1 -2
  273. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +40 -18
  274. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +35 -56
  275. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +40 -6
  276. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +35 -56
  277. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +6 -16
  278. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +35 -56
  279. data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +6 -4
  280. data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +35 -56
  281. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +27 -10
  282. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +25 -10
  283. data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +27 -4
  284. data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +25 -10
  285. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +8 -2
  286. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +25 -10
  287. data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +8 -2
  288. data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +25 -4
  289. data/rbi/lib/orb/models/dimensional_price_group.rbi +11 -3
  290. data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +4 -0
  291. data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +8 -2
  292. data/rbi/lib/orb/models/evaluate_price_group.rbi +8 -2
  293. data/rbi/lib/orb/models/event_deprecate_response.rbi +4 -2
  294. data/rbi/lib/orb/models/event_ingest_params.rbi +22 -5
  295. data/rbi/lib/orb/models/event_ingest_response.rbi +15 -4
  296. data/rbi/lib/orb/models/event_search_params.rbi +14 -2
  297. data/rbi/lib/orb/models/event_search_response.rbi +14 -3
  298. data/rbi/lib/orb/models/event_update_params.rbi +10 -3
  299. data/rbi/lib/orb/models/event_update_response.rbi +4 -2
  300. data/rbi/lib/orb/models/events/backfill_close_response.rbi +14 -2
  301. data/rbi/lib/orb/models/events/backfill_create_params.rbi +18 -0
  302. data/rbi/lib/orb/models/events/backfill_create_response.rbi +14 -2
  303. data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +14 -2
  304. data/rbi/lib/orb/models/events/backfill_list_params.rbi +8 -2
  305. data/rbi/lib/orb/models/events/backfill_list_response.rbi +14 -2
  306. data/rbi/lib/orb/models/events/backfill_revert_response.rbi +14 -2
  307. data/rbi/lib/orb/models/events/event_volumes.rbi +6 -2
  308. data/rbi/lib/orb/models/events/volume_list_params.rbi +18 -2
  309. data/rbi/lib/orb/models/invoice.rbi +375 -46
  310. data/rbi/lib/orb/models/invoice_create_params.rbi +38 -6
  311. data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +375 -66
  312. data/rbi/lib/orb/models/invoice_issue_params.rbi +9 -2
  313. data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +16 -2
  314. data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +141 -20
  315. data/rbi/lib/orb/models/invoice_list_params.rbi +9 -2
  316. data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +9 -2
  317. data/rbi/lib/orb/models/invoice_update_params.rbi +7 -2
  318. data/rbi/lib/orb/models/item.rbi +1 -2
  319. data/rbi/lib/orb/models/item_create_params.rbi +5 -2
  320. data/rbi/lib/orb/models/item_list_params.rbi +8 -2
  321. data/rbi/lib/orb/models/item_update_params.rbi +1 -8
  322. data/rbi/lib/orb/models/metric_create_params.rbi +15 -2
  323. data/rbi/lib/orb/models/metric_list_params.rbi +3 -0
  324. data/rbi/lib/orb/models/metric_update_params.rbi +7 -2
  325. data/rbi/lib/orb/models/percentage_discount.rbi +11 -4
  326. data/rbi/lib/orb/models/plan.rbi +102 -15
  327. data/rbi/lib/orb/models/plan_create_params.rbi +997 -679
  328. data/rbi/lib/orb/models/plan_list_params.rbi +5 -1
  329. data/rbi/lib/orb/models/plan_update_params.rbi +11 -2
  330. data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +11 -2
  331. data/rbi/lib/orb/models/price.rbi +717 -688
  332. data/rbi/lib/orb/models/price_create_params.rbi +137 -53
  333. data/rbi/lib/orb/models/price_evaluate_params.rbi +10 -0
  334. data/rbi/lib/orb/models/price_list_params.rbi +8 -2
  335. data/rbi/lib/orb/models/price_update_params.rbi +7 -2
  336. data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +7 -2
  337. data/rbi/lib/orb/models/subscription.rbi +174 -11
  338. data/rbi/lib/orb/models/subscription_cancel_params.rbi +8 -5
  339. data/rbi/lib/orb/models/subscription_cancel_response.rbi +187 -14
  340. data/rbi/lib/orb/models/subscription_change_apply_params.rbi +7 -2
  341. data/rbi/lib/orb/models/subscription_change_apply_response.rbi +199 -18
  342. data/rbi/lib/orb/models/subscription_change_cancel_response.rbi +199 -18
  343. data/rbi/lib/orb/models/subscription_change_retrieve_response.rbi +199 -18
  344. data/rbi/lib/orb/models/subscription_create_params.rbi +2282 -1536
  345. data/rbi/lib/orb/models/subscription_create_response.rbi +187 -14
  346. data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +9 -5
  347. data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +21 -4
  348. data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +3 -0
  349. data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +8 -2
  350. data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +13 -4
  351. data/rbi/lib/orb/models/subscription_list_params.rbi +4 -2
  352. data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +1228 -861
  353. data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +187 -14
  354. data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +2288 -1544
  355. data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +187 -14
  356. data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +10 -2
  357. data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +187 -14
  358. data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +187 -14
  359. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +5 -2
  360. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +187 -20
  361. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +187 -14
  362. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +11 -2
  363. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +187 -14
  364. data/rbi/lib/orb/models/subscription_update_params.rbi +15 -0
  365. data/rbi/lib/orb/models/subscription_update_trial_params.rbi +11 -5
  366. data/rbi/lib/orb/models/subscription_update_trial_response.rbi +187 -14
  367. data/rbi/lib/orb/models/subscription_usage.rbi +2 -16
  368. data/rbi/lib/orb/models/trial_discount.rbi +5 -1
  369. data/rbi/lib/orb/models/usage_discount.rbi +11 -3
  370. data/sig/orb/file_part.rbs +21 -0
  371. data/sig/orb/internal/transport/base_client.rbs +9 -3
  372. data/sig/orb/internal/type/array_of.rbs +4 -0
  373. data/sig/orb/internal/type/base_model.rbs +12 -0
  374. data/sig/orb/internal/type/converter.rbs +4 -0
  375. data/sig/orb/internal/type/enum.rbs +4 -2
  376. data/sig/orb/internal/type/{io_like.rbs → file_input.rbs} +1 -1
  377. data/sig/orb/internal/type/hash_of.rbs +4 -0
  378. data/sig/orb/internal/type/union.rbs +4 -0
  379. data/sig/orb/internal/util.rbs +16 -12
  380. data/sig/orb/internal.rbs +1 -1
  381. metadata +9 -5
@@ -305,31 +305,90 @@ module Orb
305
305
  end
306
306
  def self.new(
307
307
  id:,
308
+ # The current plan phase that is active, only if the subscription's plan has
309
+ # phases.
308
310
  active_plan_phase_order:,
311
+ # The adjustment intervals for this subscription sorted by the start_date of the
312
+ # adjustment interval.
309
313
  adjustment_intervals:,
314
+ # Determines whether issued invoices for this subscription will automatically be
315
+ # charged with the saved payment method on the due date. This property defaults to
316
+ # the plan's behavior. If null, defaults to the customer's setting.
310
317
  auto_collection:,
311
318
  billing_cycle_anchor_configuration:,
319
+ # The day of the month on which the billing cycle is anchored. If the maximum
320
+ # number of days in a month is greater than this value, the last day of the month
321
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
322
+ # period begins on the 30th.
312
323
  billing_cycle_day:,
313
324
  created_at:,
325
+ # The end of the current billing period. This is an exclusive timestamp, such that
326
+ # the instant returned is not part of the billing period. Set to null for
327
+ # subscriptions that are not currently active.
314
328
  current_billing_period_end_date:,
329
+ # The start date of the current billing period. This is an inclusive timestamp;
330
+ # the instant returned is exactly the beginning of the billing period. Set to null
331
+ # if the subscription is not currently active.
315
332
  current_billing_period_start_date:,
333
+ # A customer is a buyer of your products, and the other party to the billing
334
+ # relationship.
335
+ #
336
+ # In Orb, customers are assigned system generated identifiers automatically, but
337
+ # it's often desirable to have these match existing identifiers in your system. To
338
+ # avoid having to denormalize Orb ID information, you can pass in an
339
+ # `external_customer_id` with your own identifier. See
340
+ # [Customer ID Aliases](/events-and-metrics/customer-aliases) for further
341
+ # information about how these aliases work in Orb.
342
+ #
343
+ # In addition to having an identifier in your system, a customer may exist in a
344
+ # payment provider solution like Stripe. Use the `payment_provider_id` and the
345
+ # `payment_provider` enum field to express this mapping.
346
+ #
347
+ # A customer also has a timezone (from the standard
348
+ # [IANA timezone database](https://www.iana.org/time-zones)), which defaults to
349
+ # your account's timezone. See [Timezone localization](/essentials/timezones) for
350
+ # information on what this timezone parameter influences within Orb.
316
351
  customer:,
352
+ # Determines the default memo on this subscriptions' invoices. Note that if this
353
+ # is not provided, it is determined by the plan configuration.
317
354
  default_invoice_memo:,
355
+ # The discount intervals for this subscription sorted by the start_date.
318
356
  discount_intervals:,
357
+ # The date Orb stops billing for this subscription.
319
358
  end_date:,
320
359
  fixed_fee_quantity_schedule:,
321
360
  invoicing_threshold:,
361
+ # The maximum intervals for this subscription sorted by the start_date.
322
362
  maximum_intervals:,
363
+ # User specified key-value pairs for the resource. If not present, this defaults
364
+ # to an empty dictionary. Individual keys can be removed by setting the value to
365
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
366
+ # `null`.
323
367
  metadata:,
368
+ # The minimum intervals for this subscription sorted by the start_date.
324
369
  minimum_intervals:,
370
+ # Determines the difference between the invoice issue date for subscription
371
+ # invoices as the date that they are due. A value of `0` here represents that the
372
+ # invoice is due on issue, whereas a value of `30` represents that the customer
373
+ # has a month to pay the invoice.
325
374
  net_terms:,
375
+ # A pending subscription change if one exists on this subscription.
326
376
  pending_subscription_change:,
377
+ # The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be
378
+ # subscribed to by a customer. Plans define the billing behavior of the
379
+ # subscription. You can see more about how to configure prices in the
380
+ # [Price resource](/reference/price).
327
381
  plan:,
382
+ # The price intervals for this subscription.
328
383
  price_intervals:,
329
384
  redeemed_coupon:,
385
+ # The date Orb starts billing for this subscription.
330
386
  start_date:,
331
387
  status:,
332
388
  trial_info:,
389
+ # The resources that were changed as part of this operation. Only present when
390
+ # fetched through the subscription changes API or if the
391
+ # `include_changed_resources` parameter was passed in the request.
333
392
  changed_resources: nil
334
393
  ); end
335
394
  sig do
@@ -420,8 +479,16 @@ module Orb
420
479
  )
421
480
  .returns(T.attached_class)
422
481
  end
423
- def self.new(id:, adjustment:, applies_to_price_interval_ids:, end_date:, start_date:); end
424
-
482
+ def self.new(
483
+ id:,
484
+ adjustment:,
485
+ # The price interval IDs that this adjustment applies to.
486
+ applies_to_price_interval_ids:,
487
+ # The end date of the adjustment interval.
488
+ end_date:,
489
+ # The start date of the adjustment interval.
490
+ start_date:
491
+ ); end
425
492
  sig do
426
493
  override
427
494
  .returns(
@@ -488,10 +555,17 @@ module Orb
488
555
  end
489
556
  def self.new(
490
557
  id:,
558
+ # The price IDs that this adjustment applies to.
491
559
  applies_to_price_ids:,
560
+ # True for adjustments that apply to an entire invocice, false for adjustments
561
+ # that apply to only one price.
492
562
  is_invoice_level:,
563
+ # The plan phase in which this adjustment is active.
493
564
  plan_phase_order:,
565
+ # The reason for the adjustment.
494
566
  reason:,
567
+ # The number of usage units by which to discount the price this adjustment applies
568
+ # to in a given billing period.
495
569
  usage_discount:,
496
570
  adjustment_type: :usage_discount
497
571
  ); end
@@ -555,10 +629,17 @@ module Orb
555
629
  end
556
630
  def self.new(
557
631
  id:,
632
+ # The amount by which to discount the prices this adjustment applies to in a given
633
+ # billing period.
558
634
  amount_discount:,
635
+ # The price IDs that this adjustment applies to.
559
636
  applies_to_price_ids:,
637
+ # True for adjustments that apply to an entire invocice, false for adjustments
638
+ # that apply to only one price.
560
639
  is_invoice_level:,
640
+ # The plan phase in which this adjustment is active.
561
641
  plan_phase_order:,
642
+ # The reason for the adjustment.
562
643
  reason:,
563
644
  adjustment_type: :amount_discount
564
645
  ); end
@@ -622,10 +703,17 @@ module Orb
622
703
  end
623
704
  def self.new(
624
705
  id:,
706
+ # The price IDs that this adjustment applies to.
625
707
  applies_to_price_ids:,
708
+ # True for adjustments that apply to an entire invocice, false for adjustments
709
+ # that apply to only one price.
626
710
  is_invoice_level:,
711
+ # The percentage (as a value between 0 and 1) by which to discount the price
712
+ # intervals this adjustment applies to in a given billing period.
627
713
  percentage_discount:,
714
+ # The plan phase in which this adjustment is active.
628
715
  plan_phase_order:,
716
+ # The reason for the adjustment.
629
717
  reason:,
630
718
  adjustment_type: :percentage_discount
631
719
  ); end
@@ -694,11 +782,19 @@ module Orb
694
782
  end
695
783
  def self.new(
696
784
  id:,
785
+ # The price IDs that this adjustment applies to.
697
786
  applies_to_price_ids:,
787
+ # True for adjustments that apply to an entire invocice, false for adjustments
788
+ # that apply to only one price.
698
789
  is_invoice_level:,
790
+ # The item ID that revenue from this minimum will be attributed to.
699
791
  item_id:,
792
+ # The minimum amount to charge in a given billing period for the prices this
793
+ # adjustment applies to.
700
794
  minimum_amount:,
795
+ # The plan phase in which this adjustment is active.
701
796
  plan_phase_order:,
797
+ # The reason for the adjustment.
702
798
  reason:,
703
799
  adjustment_type: :minimum
704
800
  ); end
@@ -763,10 +859,17 @@ module Orb
763
859
  end
764
860
  def self.new(
765
861
  id:,
862
+ # The price IDs that this adjustment applies to.
766
863
  applies_to_price_ids:,
864
+ # True for adjustments that apply to an entire invocice, false for adjustments
865
+ # that apply to only one price.
767
866
  is_invoice_level:,
867
+ # The maximum amount to charge in a given billing period for the prices this
868
+ # adjustment applies to.
768
869
  maximum_amount:,
870
+ # The plan phase in which this adjustment is active.
769
871
  plan_phase_order:,
872
+ # The reason for the adjustment.
770
873
  reason:,
771
874
  adjustment_type: :maximum
772
875
  ); end
@@ -819,8 +922,20 @@ module Orb
819
922
  sig do
820
923
  params(day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)).returns(T.attached_class)
821
924
  end
822
- def self.new(day:, month: nil, year: nil); end
823
-
925
+ def self.new(
926
+ # The day of the month on which the billing cycle is anchored. If the maximum
927
+ # number of days in a month is greater than this value, the last day of the month
928
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
929
+ # period begins on the 30th.
930
+ day:,
931
+ # The month on which the billing cycle is anchored (e.g. a quarterly price
932
+ # anchored in February would have cycles starting February, May, August, and
933
+ # November).
934
+ month: nil,
935
+ # The year on which the billing cycle is anchored (e.g. a 2 year billing cycle
936
+ # anchored on 2021 would have cycles starting on 2021, 2023, 2025, etc.).
937
+ year: nil
938
+ ); end
824
939
  sig { override.returns({day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)}) }
825
940
  def to_hash; end
826
941
  end
@@ -864,10 +979,15 @@ module Orb
864
979
  .returns(T.attached_class)
865
980
  end
866
981
  def self.new(
982
+ # Only available if discount_type is `amount`.
867
983
  amount_discount:,
984
+ # The price ids that this discount interval applies to.
868
985
  applies_to_price_ids:,
986
+ # The price interval ids that this discount interval applies to.
869
987
  applies_to_price_interval_ids:,
988
+ # The end date of the discount interval.
870
989
  end_date:,
990
+ # The start date of the discount interval.
871
991
  start_date:,
872
992
  discount_type: :amount
873
993
  ); end
@@ -924,10 +1044,16 @@ module Orb
924
1044
  .returns(T.attached_class)
925
1045
  end
926
1046
  def self.new(
1047
+ # The price ids that this discount interval applies to.
927
1048
  applies_to_price_ids:,
1049
+ # The price interval ids that this discount interval applies to.
928
1050
  applies_to_price_interval_ids:,
1051
+ # The end date of the discount interval.
929
1052
  end_date:,
1053
+ # Only available if discount_type is `percentage`.This is a number between 0
1054
+ # and 1.
930
1055
  percentage_discount:,
1056
+ # The start date of the discount interval.
931
1057
  start_date:,
932
1058
  discount_type: :percentage
933
1059
  ); end
@@ -984,10 +1110,16 @@ module Orb
984
1110
  .returns(T.attached_class)
985
1111
  end
986
1112
  def self.new(
1113
+ # The price ids that this discount interval applies to.
987
1114
  applies_to_price_ids:,
1115
+ # The price interval ids that this discount interval applies to.
988
1116
  applies_to_price_interval_ids:,
1117
+ # The end date of the discount interval.
989
1118
  end_date:,
1119
+ # The start date of the discount interval.
990
1120
  start_date:,
1121
+ # Only available if discount_type is `usage`. Number of usage units that this
1122
+ # discount is for
991
1123
  usage_discount:,
992
1124
  discount_type: :usage
993
1125
  ); end
@@ -1074,14 +1206,18 @@ module Orb
1074
1206
  .returns(T.attached_class)
1075
1207
  end
1076
1208
  def self.new(
1209
+ # The price ids that this maximum interval applies to.
1077
1210
  applies_to_price_ids:,
1211
+ # The price interval ids that this maximum interval applies to.
1078
1212
  applies_to_price_interval_ids:,
1213
+ # The end date of the maximum interval.
1079
1214
  end_date:,
1215
+ # The maximum amount to charge in a given billing period for the price intervals
1216
+ # this transform applies to.
1080
1217
  maximum_amount:,
1218
+ # The start date of the maximum interval.
1081
1219
  start_date:
1082
- )
1083
- end
1084
-
1220
+ ); end
1085
1221
  sig do
1086
1222
  override
1087
1223
  .returns(
@@ -1130,14 +1266,18 @@ module Orb
1130
1266
  .returns(T.attached_class)
1131
1267
  end
1132
1268
  def self.new(
1269
+ # The price ids that this minimum interval applies to.
1133
1270
  applies_to_price_ids:,
1271
+ # The price interval ids that this minimum interval applies to.
1134
1272
  applies_to_price_interval_ids:,
1273
+ # The end date of the minimum interval.
1135
1274
  end_date:,
1275
+ # The minimum amount to charge in a given billing period for the price intervals
1276
+ # this minimum applies to.
1136
1277
  minimum_amount:,
1278
+ # The start date of the minimum interval.
1137
1279
  start_date:
1138
- )
1139
- end
1140
-
1280
+ ); end
1141
1281
  sig do
1142
1282
  override
1143
1283
  .returns(
@@ -1318,14 +1458,40 @@ module Orb
1318
1458
  end
1319
1459
  def self.new(
1320
1460
  id:,
1461
+ # The day of the month that Orb bills for this price
1321
1462
  billing_cycle_day:,
1463
+ # The end of the current billing period. This is an exclusive timestamp, such that
1464
+ # the instant returned is exactly the end of the billing period. Set to null if
1465
+ # this price interval is not currently active.
1322
1466
  current_billing_period_end_date:,
1467
+ # The start date of the current billing period. This is an inclusive timestamp;
1468
+ # the instant returned is exactly the beginning of the billing period. Set to null
1469
+ # if this price interval is not currently active.
1323
1470
  current_billing_period_start_date:,
1471
+ # The end date of the price interval. This is the date that Orb stops billing for
1472
+ # this price.
1324
1473
  end_date:,
1474
+ # An additional filter to apply to usage queries.
1325
1475
  filter:,
1476
+ # The fixed fee quantity transitions for this price interval. This is only
1477
+ # relevant for fixed fees.
1326
1478
  fixed_fee_quantity_transitions:,
1479
+ # The Price resource represents a price that can be billed on a subscription,
1480
+ # resulting in a charge on an invoice in the form of an invoice line item. Prices
1481
+ # take a quantity and determine an amount to bill.
1482
+ #
1483
+ # Orb supports a few different pricing models out of the box. Each of these models
1484
+ # is serialized differently in a given Price object. The model_type field
1485
+ # determines the key for the configuration object that is present.
1486
+ #
1487
+ # For more on the types of prices, see
1488
+ # [the core concepts documentation](/core-concepts#plan-and-price)
1327
1489
  price:,
1490
+ # The start date of the price interval. This is the date that Orb starts billing
1491
+ # for this price.
1328
1492
  start_date:,
1493
+ # A list of customer IDs whose usage events will be aggregated and billed under
1494
+ # this price interval.
1329
1495
  usage_customer_ids:
1330
1496
  ); end
1331
1497
  sig do
@@ -1420,8 +1586,7 @@ module Orb
1420
1586
 
1421
1587
  TaggedSymbol =
1422
1588
  T.type_alias { T.all(Symbol, Orb::Models::SubscriptionUnschedulePendingPlanChangesResponse::Status) }
1423
- OrSymbol =
1424
- T.type_alias { T.any(Symbol, String, Orb::Models::SubscriptionUnschedulePendingPlanChangesResponse::Status::TaggedSymbol) }
1589
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1425
1590
 
1426
1591
  ACTIVE =
1427
1592
  T.let(:active, Orb::Models::SubscriptionUnschedulePendingPlanChangesResponse::Status::TaggedSymbol)
@@ -1477,8 +1642,16 @@ module Orb
1477
1642
  )
1478
1643
  .returns(T.attached_class)
1479
1644
  end
1480
- def self.new(created_credit_notes:, created_invoices:, voided_credit_notes:, voided_invoices:); end
1481
-
1645
+ def self.new(
1646
+ # The credit notes that were created as part of this operation.
1647
+ created_credit_notes:,
1648
+ # The invoices that were created as part of this operation.
1649
+ created_invoices:,
1650
+ # The credit notes that were voided as part of this operation.
1651
+ voided_credit_notes:,
1652
+ # The invoices that were voided as part of this operation.
1653
+ voided_invoices:
1654
+ ); end
1482
1655
  sig do
1483
1656
  override
1484
1657
  .returns(
@@ -46,10 +46,20 @@ module Orb
46
46
  .returns(T.attached_class)
47
47
  end
48
48
  def self.new(
49
+ # Price for which the quantity should be updated. Must be a fixed fee.
49
50
  price_id:,
50
51
  quantity:,
52
+ # If false, this request will fail if it would void an issued invoice or create a
53
+ # credit note. Consider using this as a safety mechanism if you do not expect
54
+ # existing invoices to be changed.
51
55
  allow_invoice_credit_or_void: nil,
56
+ # Determines when the change takes effect. Note that if `effective_date` is
57
+ # specified, this defaults to `effective_date`. Otherwise, this defaults to
58
+ # `immediate` unless it's explicitly set to `upcoming_invoice`.
52
59
  change_option: nil,
60
+ # The date that the quantity change should take effect, localized to the
61
+ # customer's timezone. Ifthis parameter is not passed in, the quantity change is
62
+ # effective according to `change_option`.
53
63
  effective_date: nil,
54
64
  request_options: {}
55
65
  ); end
@@ -76,8 +86,7 @@ module Orb
76
86
 
77
87
  TaggedSymbol =
78
88
  T.type_alias { T.all(Symbol, Orb::Models::SubscriptionUpdateFixedFeeQuantityParams::ChangeOption) }
79
- OrSymbol =
80
- T.type_alias { T.any(Symbol, String, Orb::Models::SubscriptionUpdateFixedFeeQuantityParams::ChangeOption::TaggedSymbol) }
89
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
81
90
 
82
91
  IMMEDIATE =
83
92
  T.let(:immediate, Orb::Models::SubscriptionUpdateFixedFeeQuantityParams::ChangeOption::TaggedSymbol)