orb-billing 0.2.0 → 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 (374) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +34 -0
  3. data/README.md +59 -49
  4. data/lib/orb/client.rb +4 -4
  5. data/lib/orb/file_part.rb +55 -0
  6. data/lib/orb/internal/page.rb +4 -8
  7. data/lib/orb/internal/transport/base_client.rb +7 -7
  8. data/lib/orb/internal/transport/pooled_net_requester.rb +2 -2
  9. data/lib/orb/internal/type/array_of.rb +11 -0
  10. data/lib/orb/internal/type/base_model.rb +32 -14
  11. data/lib/orb/internal/type/base_page.rb +9 -1
  12. data/lib/orb/internal/type/boolean.rb +4 -0
  13. data/lib/orb/internal/type/converter.rb +4 -1
  14. data/lib/orb/internal/type/enum.rb +9 -5
  15. data/lib/orb/internal/type/{io_like.rb → file_input.rb} +33 -15
  16. data/lib/orb/internal/type/hash_of.rb +11 -0
  17. data/lib/orb/internal/type/request_parameters.rb +1 -2
  18. data/lib/orb/internal/type/union.rb +10 -1
  19. data/lib/orb/internal/type/unknown.rb +4 -0
  20. data/lib/orb/internal/util.rb +69 -61
  21. data/lib/orb/internal.rb +0 -1
  22. data/lib/orb/models/alert.rb +68 -71
  23. data/lib/orb/models/alert_create_for_customer_params.rb +20 -25
  24. data/lib/orb/models/alert_create_for_external_customer_params.rb +20 -25
  25. data/lib/orb/models/alert_create_for_subscription_params.rb +20 -25
  26. data/lib/orb/models/alert_disable_params.rb +5 -9
  27. data/lib/orb/models/alert_enable_params.rb +5 -9
  28. data/lib/orb/models/alert_list_params.rb +26 -36
  29. data/lib/orb/models/alert_retrieve_params.rb +3 -8
  30. data/lib/orb/models/alert_update_params.rb +14 -18
  31. data/lib/orb/models/amount_discount.rb +14 -14
  32. data/lib/orb/models/billable_metric.rb +23 -20
  33. data/lib/orb/models/billing_cycle_relative_date.rb +2 -5
  34. data/lib/orb/models/coupon.rb +28 -21
  35. data/lib/orb/models/coupon_archive_params.rb +3 -8
  36. data/lib/orb/models/coupon_create_params.rb +24 -29
  37. data/lib/orb/models/coupon_fetch_params.rb +3 -8
  38. data/lib/orb/models/coupon_list_params.rb +17 -17
  39. data/lib/orb/models/coupons/subscription_list_params.rb +12 -15
  40. data/lib/orb/models/credit_note.rb +100 -166
  41. data/lib/orb/models/credit_note_create_params.rb +15 -23
  42. data/lib/orb/models/credit_note_fetch_params.rb +3 -8
  43. data/lib/orb/models/credit_note_list_params.rb +20 -30
  44. data/lib/orb/models/customer.rb +224 -271
  45. data/lib/orb/models/customer_create_params.rb +211 -252
  46. data/lib/orb/models/customer_delete_params.rb +3 -8
  47. data/lib/orb/models/customer_fetch_by_external_id_params.rb +3 -8
  48. data/lib/orb/models/customer_fetch_params.rb +3 -8
  49. data/lib/orb/models/customer_list_params.rb +20 -30
  50. data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +3 -8
  51. data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +3 -8
  52. data/lib/orb/models/customer_update_by_external_id_params.rb +207 -250
  53. data/lib/orb/models/customer_update_params.rb +207 -250
  54. data/lib/orb/models/customers/balance_transaction_create_params.rb +11 -16
  55. data/lib/orb/models/customers/balance_transaction_create_response.rb +33 -51
  56. data/lib/orb/models/customers/balance_transaction_list_params.rb +20 -30
  57. data/lib/orb/models/customers/balance_transaction_list_response.rb +33 -51
  58. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +17 -17
  59. data/lib/orb/models/customers/cost_list_by_external_id_response.rb +22 -26
  60. data/lib/orb/models/customers/cost_list_params.rb +17 -17
  61. data/lib/orb/models/customers/cost_list_response.rb +22 -26
  62. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +18 -22
  63. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +10 -17
  64. data/lib/orb/models/customers/credit_list_params.rb +18 -22
  65. data/lib/orb/models/customers/credit_list_response.rb +10 -17
  66. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +64 -66
  67. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +300 -406
  68. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +63 -66
  69. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +300 -406
  70. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +33 -48
  71. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +300 -406
  72. data/lib/orb/models/customers/credits/ledger_list_params.rb +32 -48
  73. data/lib/orb/models/customers/credits/ledger_list_response.rb +300 -406
  74. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +47 -50
  75. data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +43 -46
  76. data/lib/orb/models/customers/credits/top_up_create_params.rb +46 -50
  77. data/lib/orb/models/customers/credits/top_up_create_response.rb +42 -46
  78. data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +4 -9
  79. data/lib/orb/models/customers/credits/top_up_delete_params.rb +4 -9
  80. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +12 -15
  81. data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +43 -46
  82. data/lib/orb/models/customers/credits/top_up_list_params.rb +12 -15
  83. data/lib/orb/models/customers/credits/top_up_list_response.rb +42 -46
  84. data/lib/orb/models/dimensional_price_group.rb +21 -15
  85. data/lib/orb/models/dimensional_price_group_create_params.rb +17 -23
  86. data/lib/orb/models/dimensional_price_group_list_params.rb +12 -15
  87. data/lib/orb/models/dimensional_price_group_retrieve_params.rb +3 -8
  88. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +3 -8
  89. data/lib/orb/models/dimensional_price_groups.rb +3 -7
  90. data/lib/orb/models/discount.rb +2 -3
  91. data/lib/orb/models/evaluate_price_group.rb +8 -11
  92. data/lib/orb/models/event_deprecate_params.rb +3 -8
  93. data/lib/orb/models/event_deprecate_response.rb +2 -6
  94. data/lib/orb/models/event_ingest_params.rb +33 -27
  95. data/lib/orb/models/event_ingest_response.rb +23 -24
  96. data/lib/orb/models/event_search_params.rb +15 -11
  97. data/lib/orb/models/event_search_response.rb +27 -22
  98. data/lib/orb/models/event_update_params.rb +19 -13
  99. data/lib/orb/models/event_update_response.rb +2 -6
  100. data/lib/orb/models/events/backfill_close_params.rb +3 -8
  101. data/lib/orb/models/events/backfill_close_response.rb +34 -39
  102. data/lib/orb/models/events/backfill_create_params.rb +28 -32
  103. data/lib/orb/models/events/backfill_create_response.rb +34 -39
  104. data/lib/orb/models/events/backfill_fetch_params.rb +3 -8
  105. data/lib/orb/models/events/backfill_fetch_response.rb +34 -39
  106. data/lib/orb/models/events/backfill_list_params.rb +12 -15
  107. data/lib/orb/models/events/backfill_list_response.rb +34 -39
  108. data/lib/orb/models/events/backfill_revert_params.rb +3 -8
  109. data/lib/orb/models/events/backfill_revert_response.rb +34 -39
  110. data/lib/orb/models/events/event_volumes.rb +11 -17
  111. data/lib/orb/models/events/volume_list_params.rb +19 -22
  112. data/lib/orb/models/invoice.rb +589 -637
  113. data/lib/orb/models/invoice_create_params.rb +52 -61
  114. data/lib/orb/models/invoice_fetch_params.rb +3 -8
  115. data/lib/orb/models/invoice_fetch_upcoming_params.rb +4 -9
  116. data/lib/orb/models/invoice_fetch_upcoming_response.rb +584 -631
  117. data/lib/orb/models/invoice_issue_params.rb +10 -14
  118. data/lib/orb/models/invoice_level_discount.rb +2 -3
  119. data/lib/orb/models/invoice_line_item_create_params.rb +19 -14
  120. data/lib/orb/models/invoice_line_item_create_response.rb +247 -269
  121. data/lib/orb/models/invoice_list_params.rb +51 -66
  122. data/lib/orb/models/invoice_mark_paid_params.rb +9 -11
  123. data/lib/orb/models/invoice_pay_params.rb +3 -8
  124. data/lib/orb/models/invoice_update_params.rb +9 -9
  125. data/lib/orb/models/invoice_void_params.rb +3 -8
  126. data/lib/orb/models/item.rb +14 -25
  127. data/lib/orb/models/item_create_params.rb +5 -9
  128. data/lib/orb/models/item_fetch_params.rb +3 -8
  129. data/lib/orb/models/item_list_params.rb +12 -15
  130. data/lib/orb/models/item_update_params.rb +10 -22
  131. data/lib/orb/models/metric_create_params.rb +17 -13
  132. data/lib/orb/models/metric_fetch_params.rb +3 -8
  133. data/lib/orb/models/metric_list_params.rb +20 -30
  134. data/lib/orb/models/metric_update_params.rb +9 -9
  135. data/lib/orb/models/pagination_metadata.rb +3 -7
  136. data/lib/orb/models/percentage_discount.rb +15 -14
  137. data/lib/orb/models/plan.rb +250 -279
  138. data/lib/orb/models/plan_create_params.rb +1623 -1984
  139. data/lib/orb/models/plan_fetch_params.rb +3 -8
  140. data/lib/orb/models/plan_list_params.rb +25 -42
  141. data/lib/orb/models/plan_update_params.rb +12 -10
  142. data/lib/orb/models/plans/external_plan_id_fetch_params.rb +3 -8
  143. data/lib/orb/models/plans/external_plan_id_update_params.rb +12 -10
  144. data/lib/orb/models/price.rb +2709 -3820
  145. data/lib/orb/models/price_create_params.rb +203 -244
  146. data/lib/orb/models/price_evaluate_params.rb +21 -30
  147. data/lib/orb/models/price_evaluate_response.rb +2 -6
  148. data/lib/orb/models/price_fetch_params.rb +3 -8
  149. data/lib/orb/models/price_list_params.rb +12 -15
  150. data/lib/orb/models/price_update_params.rb +9 -9
  151. data/lib/orb/models/prices/external_price_id_fetch_params.rb +3 -8
  152. data/lib/orb/models/prices/external_price_id_update_params.rb +9 -9
  153. data/lib/orb/models/subscription.rb +343 -382
  154. data/lib/orb/models/subscription_cancel_params.rb +16 -16
  155. data/lib/orb/models/subscription_cancel_response.rb +339 -377
  156. data/lib/orb/models/subscription_change_apply_params.rb +7 -10
  157. data/lib/orb/models/subscription_change_apply_response.rb +365 -398
  158. data/lib/orb/models/subscription_change_cancel_params.rb +3 -8
  159. data/lib/orb/models/subscription_change_cancel_response.rb +365 -398
  160. data/lib/orb/models/subscription_change_retrieve_params.rb +3 -8
  161. data/lib/orb/models/subscription_change_retrieve_response.rb +366 -398
  162. data/lib/orb/models/subscription_create_params.rb +3771 -4402
  163. data/lib/orb/models/subscription_create_response.rb +339 -377
  164. data/lib/orb/models/subscription_fetch_costs_params.rb +17 -17
  165. data/lib/orb/models/subscription_fetch_costs_response.rb +22 -26
  166. data/lib/orb/models/subscription_fetch_params.rb +3 -8
  167. data/lib/orb/models/subscription_fetch_schedule_params.rb +20 -30
  168. data/lib/orb/models/subscription_fetch_schedule_response.rb +15 -17
  169. data/lib/orb/models/subscription_fetch_usage_params.rb +32 -43
  170. data/lib/orb/models/subscription_list_params.rb +28 -41
  171. data/lib/orb/models/subscription_price_intervals_params.rb +2018 -2472
  172. data/lib/orb/models/subscription_price_intervals_response.rb +342 -377
  173. data/lib/orb/models/subscription_schedule_plan_change_params.rb +3764 -4392
  174. data/lib/orb/models/subscription_schedule_plan_change_response.rb +342 -377
  175. data/lib/orb/models/subscription_trigger_phase_params.rb +12 -10
  176. data/lib/orb/models/subscription_trigger_phase_response.rb +341 -377
  177. data/lib/orb/models/subscription_unschedule_cancellation_params.rb +3 -8
  178. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +342 -377
  179. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +5 -9
  180. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +343 -377
  181. data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +3 -8
  182. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +343 -377
  183. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +22 -33
  184. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +342 -377
  185. data/lib/orb/models/subscription_update_params.rb +21 -23
  186. data/lib/orb/models/subscription_update_trial_params.rb +15 -18
  187. data/lib/orb/models/subscription_update_trial_response.rb +341 -377
  188. data/lib/orb/models/subscription_usage.rb +37 -80
  189. data/lib/orb/models/subscriptions.rb +3 -7
  190. data/lib/orb/models/top_level_ping_params.rb +3 -8
  191. data/lib/orb/models/top_level_ping_response.rb +2 -6
  192. data/lib/orb/models/trial_discount.rb +16 -24
  193. data/lib/orb/models/usage_discount.rb +15 -14
  194. data/lib/orb/request_options.rb +3 -4
  195. data/lib/orb/resources/alerts.rb +48 -17
  196. data/lib/orb/resources/coupons/subscriptions.rb +9 -2
  197. data/lib/orb/resources/coupons.rb +25 -7
  198. data/lib/orb/resources/credit_notes.rb +17 -4
  199. data/lib/orb/resources/customers/balance_transactions.rb +18 -3
  200. data/lib/orb/resources/customers/costs.rb +26 -8
  201. data/lib/orb/resources/customers/credits/ledger.rb +108 -28
  202. data/lib/orb/resources/customers/credits/top_ups.rb +67 -20
  203. data/lib/orb/resources/customers/credits.rb +28 -8
  204. data/lib/orb/resources/customers.rb +135 -36
  205. data/lib/orb/resources/dimensional_price_groups.rb +19 -4
  206. data/lib/orb/resources/events/backfills.rb +32 -9
  207. data/lib/orb/resources/events/volume.rb +14 -4
  208. data/lib/orb/resources/events.rb +40 -11
  209. data/lib/orb/resources/invoice_line_items.rb +16 -6
  210. data/lib/orb/resources/invoices.rb +77 -17
  211. data/lib/orb/resources/items.rb +10 -3
  212. data/lib/orb/resources/metrics.rb +33 -8
  213. data/lib/orb/resources/plans/external_plan_id.rb +10 -2
  214. data/lib/orb/resources/plans.rb +47 -11
  215. data/lib/orb/resources/prices/external_price_id.rb +7 -1
  216. data/lib/orb/resources/prices.rb +97 -22
  217. data/lib/orb/resources/subscription_changes.rb +5 -2
  218. data/lib/orb/resources/subscriptions.rb +292 -78
  219. data/lib/orb/version.rb +1 -1
  220. data/lib/orb.rb +2 -10
  221. data/rbi/lib/orb/client.rbi +4 -4
  222. data/rbi/lib/orb/file_part.rbi +34 -0
  223. data/rbi/lib/orb/internal/transport/base_client.rbi +17 -3
  224. data/rbi/lib/orb/internal/type/array_of.rbi +3 -0
  225. data/rbi/lib/orb/internal/type/base_model.rbi +7 -1
  226. data/rbi/lib/orb/internal/type/base_page.rbi +2 -0
  227. data/rbi/lib/orb/internal/type/enum.rbi +3 -6
  228. data/rbi/lib/orb/internal/type/{io_like.rbi → file_input.rbi} +5 -2
  229. data/rbi/lib/orb/internal/type/hash_of.rbi +3 -0
  230. data/rbi/lib/orb/internal/type/union.rbi +3 -0
  231. data/rbi/lib/orb/internal/util.rbi +24 -19
  232. data/rbi/lib/orb/internal.rbi +0 -1
  233. data/rbi/lib/orb/models/alert.rbi +28 -8
  234. data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +16 -6
  235. data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +16 -6
  236. data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +16 -6
  237. data/rbi/lib/orb/models/alert_disable_params.rbi +5 -2
  238. data/rbi/lib/orb/models/alert_enable_params.rbi +5 -2
  239. data/rbi/lib/orb/models/alert_list_params.rbi +6 -0
  240. data/rbi/lib/orb/models/alert_update_params.rbi +11 -4
  241. data/rbi/lib/orb/models/amount_discount.rbi +10 -4
  242. data/rbi/lib/orb/models/billable_metric.rbi +16 -3
  243. data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +1 -1
  244. data/rbi/lib/orb/models/coupon.rbi +10 -3
  245. data/rbi/lib/orb/models/coupon_create_params.rbi +6 -3
  246. data/rbi/lib/orb/models/coupon_list_params.rbi +13 -3
  247. data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +8 -2
  248. data/rbi/lib/orb/models/credit_note.rbi +44 -12
  249. data/rbi/lib/orb/models/credit_note_create_params.rbi +15 -6
  250. data/rbi/lib/orb/models/credit_note_list_params.rbi +3 -0
  251. data/rbi/lib/orb/models/customer.rbi +130 -11
  252. data/rbi/lib/orb/models/customer_create_params.rbi +142 -8
  253. data/rbi/lib/orb/models/customer_list_params.rbi +3 -0
  254. data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +140 -8
  255. data/rbi/lib/orb/models/customer_update_params.rbi +140 -8
  256. data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +8 -4
  257. data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +18 -8
  258. data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +3 -0
  259. data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +18 -8
  260. data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +9 -5
  261. data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +21 -4
  262. data/rbi/lib/orb/models/customers/cost_list_params.rbi +9 -5
  263. data/rbi/lib/orb/models/customers/cost_list_response.rbi +21 -4
  264. data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +13 -3
  265. data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +1 -2
  266. data/rbi/lib/orb/models/customers/credit_list_params.rbi +13 -3
  267. data/rbi/lib/orb/models/customers/credit_list_response.rbi +1 -2
  268. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +40 -18
  269. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +35 -56
  270. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +40 -6
  271. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +35 -56
  272. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +6 -16
  273. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +35 -56
  274. data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +6 -4
  275. data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +35 -56
  276. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +27 -10
  277. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +25 -10
  278. data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +27 -4
  279. data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +25 -10
  280. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +8 -2
  281. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +25 -10
  282. data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +8 -2
  283. data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +25 -4
  284. data/rbi/lib/orb/models/dimensional_price_group.rbi +11 -3
  285. data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +4 -0
  286. data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +8 -2
  287. data/rbi/lib/orb/models/evaluate_price_group.rbi +8 -2
  288. data/rbi/lib/orb/models/event_deprecate_response.rbi +4 -2
  289. data/rbi/lib/orb/models/event_ingest_params.rbi +22 -5
  290. data/rbi/lib/orb/models/event_ingest_response.rbi +15 -4
  291. data/rbi/lib/orb/models/event_search_params.rbi +14 -2
  292. data/rbi/lib/orb/models/event_search_response.rbi +14 -3
  293. data/rbi/lib/orb/models/event_update_params.rbi +10 -3
  294. data/rbi/lib/orb/models/event_update_response.rbi +4 -2
  295. data/rbi/lib/orb/models/events/backfill_close_response.rbi +14 -2
  296. data/rbi/lib/orb/models/events/backfill_create_params.rbi +18 -0
  297. data/rbi/lib/orb/models/events/backfill_create_response.rbi +14 -2
  298. data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +14 -2
  299. data/rbi/lib/orb/models/events/backfill_list_params.rbi +8 -2
  300. data/rbi/lib/orb/models/events/backfill_list_response.rbi +14 -2
  301. data/rbi/lib/orb/models/events/backfill_revert_response.rbi +14 -2
  302. data/rbi/lib/orb/models/events/event_volumes.rbi +6 -2
  303. data/rbi/lib/orb/models/events/volume_list_params.rbi +18 -2
  304. data/rbi/lib/orb/models/invoice.rbi +375 -46
  305. data/rbi/lib/orb/models/invoice_create_params.rbi +38 -6
  306. data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +375 -66
  307. data/rbi/lib/orb/models/invoice_issue_params.rbi +9 -2
  308. data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +16 -2
  309. data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +141 -20
  310. data/rbi/lib/orb/models/invoice_list_params.rbi +9 -2
  311. data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +9 -2
  312. data/rbi/lib/orb/models/invoice_update_params.rbi +7 -2
  313. data/rbi/lib/orb/models/item.rbi +1 -2
  314. data/rbi/lib/orb/models/item_create_params.rbi +5 -2
  315. data/rbi/lib/orb/models/item_list_params.rbi +8 -2
  316. data/rbi/lib/orb/models/item_update_params.rbi +1 -8
  317. data/rbi/lib/orb/models/metric_create_params.rbi +15 -2
  318. data/rbi/lib/orb/models/metric_list_params.rbi +3 -0
  319. data/rbi/lib/orb/models/metric_update_params.rbi +7 -2
  320. data/rbi/lib/orb/models/percentage_discount.rbi +11 -4
  321. data/rbi/lib/orb/models/plan.rbi +102 -15
  322. data/rbi/lib/orb/models/plan_create_params.rbi +997 -679
  323. data/rbi/lib/orb/models/plan_list_params.rbi +5 -1
  324. data/rbi/lib/orb/models/plan_update_params.rbi +11 -2
  325. data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +11 -2
  326. data/rbi/lib/orb/models/price.rbi +717 -688
  327. data/rbi/lib/orb/models/price_create_params.rbi +137 -53
  328. data/rbi/lib/orb/models/price_evaluate_params.rbi +10 -0
  329. data/rbi/lib/orb/models/price_list_params.rbi +8 -2
  330. data/rbi/lib/orb/models/price_update_params.rbi +7 -2
  331. data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +7 -2
  332. data/rbi/lib/orb/models/subscription.rbi +174 -11
  333. data/rbi/lib/orb/models/subscription_cancel_params.rbi +8 -5
  334. data/rbi/lib/orb/models/subscription_cancel_response.rbi +187 -14
  335. data/rbi/lib/orb/models/subscription_change_apply_params.rbi +7 -2
  336. data/rbi/lib/orb/models/subscription_change_apply_response.rbi +199 -18
  337. data/rbi/lib/orb/models/subscription_change_cancel_response.rbi +199 -18
  338. data/rbi/lib/orb/models/subscription_change_retrieve_response.rbi +199 -18
  339. data/rbi/lib/orb/models/subscription_create_params.rbi +2282 -1536
  340. data/rbi/lib/orb/models/subscription_create_response.rbi +187 -14
  341. data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +9 -5
  342. data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +21 -4
  343. data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +3 -0
  344. data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +8 -2
  345. data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +13 -4
  346. data/rbi/lib/orb/models/subscription_list_params.rbi +4 -2
  347. data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +1228 -861
  348. data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +187 -14
  349. data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +2288 -1544
  350. data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +187 -14
  351. data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +10 -2
  352. data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +187 -14
  353. data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +187 -14
  354. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +5 -2
  355. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +187 -20
  356. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +187 -14
  357. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +11 -2
  358. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +187 -14
  359. data/rbi/lib/orb/models/subscription_update_params.rbi +15 -0
  360. data/rbi/lib/orb/models/subscription_update_trial_params.rbi +11 -5
  361. data/rbi/lib/orb/models/subscription_update_trial_response.rbi +187 -14
  362. data/rbi/lib/orb/models/subscription_usage.rbi +2 -16
  363. data/rbi/lib/orb/models/trial_discount.rbi +5 -1
  364. data/rbi/lib/orb/models/usage_discount.rbi +11 -3
  365. data/sig/orb/file_part.rbs +21 -0
  366. data/sig/orb/internal/transport/base_client.rbs +9 -3
  367. data/sig/orb/internal/type/array_of.rbs +2 -0
  368. data/sig/orb/internal/type/base_model.rbs +4 -0
  369. data/sig/orb/internal/type/enum.rbs +2 -2
  370. data/sig/orb/internal/type/{io_like.rbs → file_input.rbs} +1 -1
  371. data/sig/orb/internal/type/hash_of.rbs +2 -0
  372. data/sig/orb/internal/type/union.rbs +2 -0
  373. data/sig/orb/internal/util.rbs +14 -12
  374. metadata +8 -5
@@ -239,28 +239,84 @@ module Orb
239
239
  end
240
240
  def self.new(
241
241
  id:,
242
+ # The current plan phase that is active, only if the subscription's plan has
243
+ # phases.
242
244
  active_plan_phase_order:,
245
+ # The adjustment intervals for this subscription sorted by the start_date of the
246
+ # adjustment interval.
243
247
  adjustment_intervals:,
248
+ # Determines whether issued invoices for this subscription will automatically be
249
+ # charged with the saved payment method on the due date. This property defaults to
250
+ # the plan's behavior. If null, defaults to the customer's setting.
244
251
  auto_collection:,
245
252
  billing_cycle_anchor_configuration:,
253
+ # The day of the month on which the billing cycle is anchored. If the maximum
254
+ # number of days in a month is greater than this value, the last day of the month
255
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
256
+ # period begins on the 30th.
246
257
  billing_cycle_day:,
247
258
  created_at:,
259
+ # The end of the current billing period. This is an exclusive timestamp, such that
260
+ # the instant returned is not part of the billing period. Set to null for
261
+ # subscriptions that are not currently active.
248
262
  current_billing_period_end_date:,
263
+ # The start date of the current billing period. This is an inclusive timestamp;
264
+ # the instant returned is exactly the beginning of the billing period. Set to null
265
+ # if the subscription is not currently active.
249
266
  current_billing_period_start_date:,
267
+ # A customer is a buyer of your products, and the other party to the billing
268
+ # relationship.
269
+ #
270
+ # In Orb, customers are assigned system generated identifiers automatically, but
271
+ # it's often desirable to have these match existing identifiers in your system. To
272
+ # avoid having to denormalize Orb ID information, you can pass in an
273
+ # `external_customer_id` with your own identifier. See
274
+ # [Customer ID Aliases](/events-and-metrics/customer-aliases) for further
275
+ # information about how these aliases work in Orb.
276
+ #
277
+ # In addition to having an identifier in your system, a customer may exist in a
278
+ # payment provider solution like Stripe. Use the `payment_provider_id` and the
279
+ # `payment_provider` enum field to express this mapping.
280
+ #
281
+ # A customer also has a timezone (from the standard
282
+ # [IANA timezone database](https://www.iana.org/time-zones)), which defaults to
283
+ # your account's timezone. See [Timezone localization](/essentials/timezones) for
284
+ # information on what this timezone parameter influences within Orb.
250
285
  customer:,
286
+ # Determines the default memo on this subscriptions' invoices. Note that if this
287
+ # is not provided, it is determined by the plan configuration.
251
288
  default_invoice_memo:,
289
+ # The discount intervals for this subscription sorted by the start_date.
252
290
  discount_intervals:,
291
+ # The date Orb stops billing for this subscription.
253
292
  end_date:,
254
293
  fixed_fee_quantity_schedule:,
255
294
  invoicing_threshold:,
295
+ # The maximum intervals for this subscription sorted by the start_date.
256
296
  maximum_intervals:,
297
+ # User specified key-value pairs for the resource. If not present, this defaults
298
+ # to an empty dictionary. Individual keys can be removed by setting the value to
299
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
300
+ # `null`.
257
301
  metadata:,
302
+ # The minimum intervals for this subscription sorted by the start_date.
258
303
  minimum_intervals:,
304
+ # Determines the difference between the invoice issue date for subscription
305
+ # invoices as the date that they are due. A value of `0` here represents that the
306
+ # invoice is due on issue, whereas a value of `30` represents that the customer
307
+ # has a month to pay the invoice.
259
308
  net_terms:,
309
+ # A pending subscription change if one exists on this subscription.
260
310
  pending_subscription_change:,
311
+ # The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be
312
+ # subscribed to by a customer. Plans define the billing behavior of the
313
+ # subscription. You can see more about how to configure prices in the
314
+ # [Price resource](/reference/price).
261
315
  plan:,
316
+ # The price intervals for this subscription.
262
317
  price_intervals:,
263
318
  redeemed_coupon:,
319
+ # The date Orb starts billing for this subscription.
264
320
  start_date:,
265
321
  status:,
266
322
  trial_info:
@@ -352,8 +408,16 @@ module Orb
352
408
  )
353
409
  .returns(T.attached_class)
354
410
  end
355
- def self.new(id:, adjustment:, applies_to_price_interval_ids:, end_date:, start_date:); end
356
-
411
+ def self.new(
412
+ id:,
413
+ adjustment:,
414
+ # The price interval IDs that this adjustment applies to.
415
+ applies_to_price_interval_ids:,
416
+ # The end date of the adjustment interval.
417
+ end_date:,
418
+ # The start date of the adjustment interval.
419
+ start_date:
420
+ ); end
357
421
  sig do
358
422
  override
359
423
  .returns(
@@ -420,10 +484,17 @@ module Orb
420
484
  end
421
485
  def self.new(
422
486
  id:,
487
+ # The price IDs that this adjustment applies to.
423
488
  applies_to_price_ids:,
489
+ # True for adjustments that apply to an entire invocice, false for adjustments
490
+ # that apply to only one price.
424
491
  is_invoice_level:,
492
+ # The plan phase in which this adjustment is active.
425
493
  plan_phase_order:,
494
+ # The reason for the adjustment.
426
495
  reason:,
496
+ # The number of usage units by which to discount the price this adjustment applies
497
+ # to in a given billing period.
427
498
  usage_discount:,
428
499
  adjustment_type: :usage_discount
429
500
  ); end
@@ -487,10 +558,17 @@ module Orb
487
558
  end
488
559
  def self.new(
489
560
  id:,
561
+ # The amount by which to discount the prices this adjustment applies to in a given
562
+ # billing period.
490
563
  amount_discount:,
564
+ # The price IDs that this adjustment applies to.
491
565
  applies_to_price_ids:,
566
+ # True for adjustments that apply to an entire invocice, false for adjustments
567
+ # that apply to only one price.
492
568
  is_invoice_level:,
569
+ # The plan phase in which this adjustment is active.
493
570
  plan_phase_order:,
571
+ # The reason for the adjustment.
494
572
  reason:,
495
573
  adjustment_type: :amount_discount
496
574
  ); end
@@ -554,10 +632,17 @@ module Orb
554
632
  end
555
633
  def self.new(
556
634
  id:,
635
+ # The price IDs that this adjustment applies to.
557
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.
558
639
  is_invoice_level:,
640
+ # The percentage (as a value between 0 and 1) by which to discount the price
641
+ # intervals this adjustment applies to in a given billing period.
559
642
  percentage_discount:,
643
+ # The plan phase in which this adjustment is active.
560
644
  plan_phase_order:,
645
+ # The reason for the adjustment.
561
646
  reason:,
562
647
  adjustment_type: :percentage_discount
563
648
  ); end
@@ -626,11 +711,19 @@ module Orb
626
711
  end
627
712
  def self.new(
628
713
  id:,
714
+ # The price IDs that this adjustment applies to.
629
715
  applies_to_price_ids:,
716
+ # True for adjustments that apply to an entire invocice, false for adjustments
717
+ # that apply to only one price.
630
718
  is_invoice_level:,
719
+ # The item ID that revenue from this minimum will be attributed to.
631
720
  item_id:,
721
+ # The minimum amount to charge in a given billing period for the prices this
722
+ # adjustment applies to.
632
723
  minimum_amount:,
724
+ # The plan phase in which this adjustment is active.
633
725
  plan_phase_order:,
726
+ # The reason for the adjustment.
634
727
  reason:,
635
728
  adjustment_type: :minimum
636
729
  ); end
@@ -695,10 +788,17 @@ module Orb
695
788
  end
696
789
  def self.new(
697
790
  id:,
791
+ # The price IDs that this adjustment applies to.
698
792
  applies_to_price_ids:,
793
+ # True for adjustments that apply to an entire invocice, false for adjustments
794
+ # that apply to only one price.
699
795
  is_invoice_level:,
796
+ # The maximum amount to charge in a given billing period for the prices this
797
+ # adjustment applies to.
700
798
  maximum_amount:,
799
+ # The plan phase in which this adjustment is active.
701
800
  plan_phase_order:,
801
+ # The reason for the adjustment.
702
802
  reason:,
703
803
  adjustment_type: :maximum
704
804
  ); end
@@ -751,8 +851,20 @@ module Orb
751
851
  sig do
752
852
  params(day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)).returns(T.attached_class)
753
853
  end
754
- def self.new(day:, month: nil, year: nil); end
755
-
854
+ def self.new(
855
+ # The day of the month on which the billing cycle is anchored. If the maximum
856
+ # number of days in a month is greater than this value, the last day of the month
857
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
858
+ # period begins on the 30th.
859
+ day:,
860
+ # The month on which the billing cycle is anchored (e.g. a quarterly price
861
+ # anchored in February would have cycles starting February, May, August, and
862
+ # November).
863
+ month: nil,
864
+ # The year on which the billing cycle is anchored (e.g. a 2 year billing cycle
865
+ # anchored on 2021 would have cycles starting on 2021, 2023, 2025, etc.).
866
+ year: nil
867
+ ); end
756
868
  sig { override.returns({day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)}) }
757
869
  def to_hash; end
758
870
  end
@@ -796,10 +908,15 @@ module Orb
796
908
  .returns(T.attached_class)
797
909
  end
798
910
  def self.new(
911
+ # Only available if discount_type is `amount`.
799
912
  amount_discount:,
913
+ # The price ids that this discount interval applies to.
800
914
  applies_to_price_ids:,
915
+ # The price interval ids that this discount interval applies to.
801
916
  applies_to_price_interval_ids:,
917
+ # The end date of the discount interval.
802
918
  end_date:,
919
+ # The start date of the discount interval.
803
920
  start_date:,
804
921
  discount_type: :amount
805
922
  ); end
@@ -856,10 +973,16 @@ module Orb
856
973
  .returns(T.attached_class)
857
974
  end
858
975
  def self.new(
976
+ # The price ids that this discount interval applies to.
859
977
  applies_to_price_ids:,
978
+ # The price interval ids that this discount interval applies to.
860
979
  applies_to_price_interval_ids:,
980
+ # The end date of the discount interval.
861
981
  end_date:,
982
+ # Only available if discount_type is `percentage`.This is a number between 0
983
+ # and 1.
862
984
  percentage_discount:,
985
+ # The start date of the discount interval.
863
986
  start_date:,
864
987
  discount_type: :percentage
865
988
  ); end
@@ -916,10 +1039,16 @@ module Orb
916
1039
  .returns(T.attached_class)
917
1040
  end
918
1041
  def self.new(
1042
+ # The price ids that this discount interval applies to.
919
1043
  applies_to_price_ids:,
1044
+ # The price interval ids that this discount interval applies to.
920
1045
  applies_to_price_interval_ids:,
1046
+ # The end date of the discount interval.
921
1047
  end_date:,
1048
+ # The start date of the discount interval.
922
1049
  start_date:,
1050
+ # Only available if discount_type is `usage`. Number of usage units that this
1051
+ # discount is for
923
1052
  usage_discount:,
924
1053
  discount_type: :usage
925
1054
  ); end
@@ -1006,14 +1135,18 @@ module Orb
1006
1135
  .returns(T.attached_class)
1007
1136
  end
1008
1137
  def self.new(
1138
+ # The price ids that this maximum interval applies to.
1009
1139
  applies_to_price_ids:,
1140
+ # The price interval ids that this maximum interval applies to.
1010
1141
  applies_to_price_interval_ids:,
1142
+ # The end date of the maximum interval.
1011
1143
  end_date:,
1144
+ # The maximum amount to charge in a given billing period for the price intervals
1145
+ # this transform applies to.
1012
1146
  maximum_amount:,
1147
+ # The start date of the maximum interval.
1013
1148
  start_date:
1014
- )
1015
- end
1016
-
1149
+ ); end
1017
1150
  sig do
1018
1151
  override
1019
1152
  .returns(
@@ -1062,14 +1195,18 @@ module Orb
1062
1195
  .returns(T.attached_class)
1063
1196
  end
1064
1197
  def self.new(
1198
+ # The price ids that this minimum interval applies to.
1065
1199
  applies_to_price_ids:,
1200
+ # The price interval ids that this minimum interval applies to.
1066
1201
  applies_to_price_interval_ids:,
1202
+ # The end date of the minimum interval.
1067
1203
  end_date:,
1204
+ # The minimum amount to charge in a given billing period for the price intervals
1205
+ # this minimum applies to.
1068
1206
  minimum_amount:,
1207
+ # The start date of the minimum interval.
1069
1208
  start_date:
1070
- )
1071
- end
1072
-
1209
+ ); end
1073
1210
  sig do
1074
1211
  override
1075
1212
  .returns(
@@ -1239,14 +1376,40 @@ module Orb
1239
1376
  end
1240
1377
  def self.new(
1241
1378
  id:,
1379
+ # The day of the month that Orb bills for this price
1242
1380
  billing_cycle_day:,
1381
+ # The end of the current billing period. This is an exclusive timestamp, such that
1382
+ # the instant returned is exactly the end of the billing period. Set to null if
1383
+ # this price interval is not currently active.
1243
1384
  current_billing_period_end_date:,
1385
+ # The start date of the current billing period. This is an inclusive timestamp;
1386
+ # the instant returned is exactly the beginning of the billing period. Set to null
1387
+ # if this price interval is not currently active.
1244
1388
  current_billing_period_start_date:,
1389
+ # The end date of the price interval. This is the date that Orb stops billing for
1390
+ # this price.
1245
1391
  end_date:,
1392
+ # An additional filter to apply to usage queries.
1246
1393
  filter:,
1394
+ # The fixed fee quantity transitions for this price interval. This is only
1395
+ # relevant for fixed fees.
1247
1396
  fixed_fee_quantity_transitions:,
1397
+ # The Price resource represents a price that can be billed on a subscription,
1398
+ # resulting in a charge on an invoice in the form of an invoice line item. Prices
1399
+ # take a quantity and determine an amount to bill.
1400
+ #
1401
+ # Orb supports a few different pricing models out of the box. Each of these models
1402
+ # is serialized differently in a given Price object. The model_type field
1403
+ # determines the key for the configuration object that is present.
1404
+ #
1405
+ # For more on the types of prices, see
1406
+ # [the core concepts documentation](/core-concepts#plan-and-price)
1248
1407
  price:,
1408
+ # The start date of the price interval. This is the date that Orb starts billing
1409
+ # for this price.
1249
1410
  start_date:,
1411
+ # A list of customer IDs whose usage events will be aggregated and billed under
1412
+ # this price interval.
1250
1413
  usage_customer_ids:
1251
1414
  ); end
1252
1415
  sig do
@@ -1338,7 +1501,7 @@ module Orb
1338
1501
  extend Orb::Internal::Type::Enum
1339
1502
 
1340
1503
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::Subscription::Status) }
1341
- OrSymbol = T.type_alias { T.any(Symbol, String, Orb::Models::Subscription::Status::TaggedSymbol) }
1504
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1342
1505
 
1343
1506
  ACTIVE = T.let(:active, Orb::Models::Subscription::Status::TaggedSymbol)
1344
1507
  ENDED = T.let(:ended, Orb::Models::Subscription::Status::TaggedSymbol)
@@ -31,13 +31,17 @@ module Orb
31
31
  .returns(T.attached_class)
32
32
  end
33
33
  def self.new(
34
+ # Determines the timing of subscription cancellation
34
35
  cancel_option:,
36
+ # If false, this request will fail if it would void an issued invoice or create a
37
+ # credit note. Consider using this as a safety mechanism if you do not expect
38
+ # existing invoices to be changed.
35
39
  allow_invoice_credit_or_void: nil,
40
+ # The date that the cancellation should take effect. This parameter can only be
41
+ # passed if the `cancel_option` is `requested_date`.
36
42
  cancellation_date: nil,
37
43
  request_options: {}
38
- )
39
- end
40
-
44
+ ); end
41
45
  sig do
42
46
  override
43
47
  .returns(
@@ -56,8 +60,7 @@ module Orb
56
60
  extend Orb::Internal::Type::Enum
57
61
 
58
62
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::SubscriptionCancelParams::CancelOption) }
59
- OrSymbol =
60
- T.type_alias { T.any(Symbol, String, Orb::Models::SubscriptionCancelParams::CancelOption::TaggedSymbol) }
63
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
61
64
 
62
65
  END_OF_SUBSCRIPTION_TERM =
63
66
  T.let(:end_of_subscription_term, Orb::Models::SubscriptionCancelParams::CancelOption::TaggedSymbol)