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
@@ -248,31 +248,90 @@ module Orb
248
248
  end
249
249
  def self.new(
250
250
  id:,
251
+ # The current plan phase that is active, only if the subscription's plan has
252
+ # phases.
251
253
  active_plan_phase_order:,
254
+ # The adjustment intervals for this subscription sorted by the start_date of the
255
+ # adjustment interval.
252
256
  adjustment_intervals:,
257
+ # Determines whether issued invoices for this subscription will automatically be
258
+ # charged with the saved payment method on the due date. This property defaults to
259
+ # the plan's behavior. If null, defaults to the customer's setting.
253
260
  auto_collection:,
254
261
  billing_cycle_anchor_configuration:,
262
+ # The day of the month on which the billing cycle is anchored. If the maximum
263
+ # number of days in a month is greater than this value, the last day of the month
264
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
265
+ # period begins on the 30th.
255
266
  billing_cycle_day:,
256
267
  created_at:,
268
+ # The end of the current billing period. This is an exclusive timestamp, such that
269
+ # the instant returned is not part of the billing period. Set to null for
270
+ # subscriptions that are not currently active.
257
271
  current_billing_period_end_date:,
272
+ # The start date of the current billing period. This is an inclusive timestamp;
273
+ # the instant returned is exactly the beginning of the billing period. Set to null
274
+ # if the subscription is not currently active.
258
275
  current_billing_period_start_date:,
276
+ # A customer is a buyer of your products, and the other party to the billing
277
+ # relationship.
278
+ #
279
+ # In Orb, customers are assigned system generated identifiers automatically, but
280
+ # it's often desirable to have these match existing identifiers in your system. To
281
+ # avoid having to denormalize Orb ID information, you can pass in an
282
+ # `external_customer_id` with your own identifier. See
283
+ # [Customer ID Aliases](/events-and-metrics/customer-aliases) for further
284
+ # information about how these aliases work in Orb.
285
+ #
286
+ # In addition to having an identifier in your system, a customer may exist in a
287
+ # payment provider solution like Stripe. Use the `payment_provider_id` and the
288
+ # `payment_provider` enum field to express this mapping.
289
+ #
290
+ # A customer also has a timezone (from the standard
291
+ # [IANA timezone database](https://www.iana.org/time-zones)), which defaults to
292
+ # your account's timezone. See [Timezone localization](/essentials/timezones) for
293
+ # information on what this timezone parameter influences within Orb.
259
294
  customer:,
295
+ # Determines the default memo on this subscriptions' invoices. Note that if this
296
+ # is not provided, it is determined by the plan configuration.
260
297
  default_invoice_memo:,
298
+ # The discount intervals for this subscription sorted by the start_date.
261
299
  discount_intervals:,
300
+ # The date Orb stops billing for this subscription.
262
301
  end_date:,
263
302
  fixed_fee_quantity_schedule:,
264
303
  invoicing_threshold:,
304
+ # The maximum intervals for this subscription sorted by the start_date.
265
305
  maximum_intervals:,
306
+ # User specified key-value pairs for the resource. If not present, this defaults
307
+ # to an empty dictionary. Individual keys can be removed by setting the value to
308
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
309
+ # `null`.
266
310
  metadata:,
311
+ # The minimum intervals for this subscription sorted by the start_date.
267
312
  minimum_intervals:,
313
+ # Determines the difference between the invoice issue date for subscription
314
+ # invoices as the date that they are due. A value of `0` here represents that the
315
+ # invoice is due on issue, whereas a value of `30` represents that the customer
316
+ # has a month to pay the invoice.
268
317
  net_terms:,
318
+ # A pending subscription change if one exists on this subscription.
269
319
  pending_subscription_change:,
320
+ # The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be
321
+ # subscribed to by a customer. Plans define the billing behavior of the
322
+ # subscription. You can see more about how to configure prices in the
323
+ # [Price resource](/reference/price).
270
324
  plan:,
325
+ # The price intervals for this subscription.
271
326
  price_intervals:,
272
327
  redeemed_coupon:,
328
+ # The date Orb starts billing for this subscription.
273
329
  start_date:,
274
330
  status:,
275
331
  trial_info:,
332
+ # The resources that were changed as part of this operation. Only present when
333
+ # fetched through the subscription changes API or if the
334
+ # `include_changed_resources` parameter was passed in the request.
276
335
  changed_resources: nil
277
336
  ); end
278
337
  sig do
@@ -363,8 +422,16 @@ module Orb
363
422
  )
364
423
  .returns(T.attached_class)
365
424
  end
366
- def self.new(id:, adjustment:, applies_to_price_interval_ids:, end_date:, start_date:); end
367
-
425
+ def self.new(
426
+ id:,
427
+ adjustment:,
428
+ # The price interval IDs that this adjustment applies to.
429
+ applies_to_price_interval_ids:,
430
+ # The end date of the adjustment interval.
431
+ end_date:,
432
+ # The start date of the adjustment interval.
433
+ start_date:
434
+ ); end
368
435
  sig do
369
436
  override
370
437
  .returns(
@@ -431,10 +498,17 @@ module Orb
431
498
  end
432
499
  def self.new(
433
500
  id:,
501
+ # The price IDs that this adjustment applies to.
434
502
  applies_to_price_ids:,
503
+ # True for adjustments that apply to an entire invocice, false for adjustments
504
+ # that apply to only one price.
435
505
  is_invoice_level:,
506
+ # The plan phase in which this adjustment is active.
436
507
  plan_phase_order:,
508
+ # The reason for the adjustment.
437
509
  reason:,
510
+ # The number of usage units by which to discount the price this adjustment applies
511
+ # to in a given billing period.
438
512
  usage_discount:,
439
513
  adjustment_type: :usage_discount
440
514
  ); end
@@ -498,10 +572,17 @@ module Orb
498
572
  end
499
573
  def self.new(
500
574
  id:,
575
+ # The amount by which to discount the prices this adjustment applies to in a given
576
+ # billing period.
501
577
  amount_discount:,
578
+ # The price IDs that this adjustment applies to.
502
579
  applies_to_price_ids:,
580
+ # True for adjustments that apply to an entire invocice, false for adjustments
581
+ # that apply to only one price.
503
582
  is_invoice_level:,
583
+ # The plan phase in which this adjustment is active.
504
584
  plan_phase_order:,
585
+ # The reason for the adjustment.
505
586
  reason:,
506
587
  adjustment_type: :amount_discount
507
588
  ); end
@@ -565,10 +646,17 @@ module Orb
565
646
  end
566
647
  def self.new(
567
648
  id:,
649
+ # The price IDs that this adjustment applies to.
568
650
  applies_to_price_ids:,
651
+ # True for adjustments that apply to an entire invocice, false for adjustments
652
+ # that apply to only one price.
569
653
  is_invoice_level:,
654
+ # The percentage (as a value between 0 and 1) by which to discount the price
655
+ # intervals this adjustment applies to in a given billing period.
570
656
  percentage_discount:,
657
+ # The plan phase in which this adjustment is active.
571
658
  plan_phase_order:,
659
+ # The reason for the adjustment.
572
660
  reason:,
573
661
  adjustment_type: :percentage_discount
574
662
  ); end
@@ -637,11 +725,19 @@ module Orb
637
725
  end
638
726
  def self.new(
639
727
  id:,
728
+ # The price IDs that this adjustment applies to.
640
729
  applies_to_price_ids:,
730
+ # True for adjustments that apply to an entire invocice, false for adjustments
731
+ # that apply to only one price.
641
732
  is_invoice_level:,
733
+ # The item ID that revenue from this minimum will be attributed to.
642
734
  item_id:,
735
+ # The minimum amount to charge in a given billing period for the prices this
736
+ # adjustment applies to.
643
737
  minimum_amount:,
738
+ # The plan phase in which this adjustment is active.
644
739
  plan_phase_order:,
740
+ # The reason for the adjustment.
645
741
  reason:,
646
742
  adjustment_type: :minimum
647
743
  ); end
@@ -706,10 +802,17 @@ module Orb
706
802
  end
707
803
  def self.new(
708
804
  id:,
805
+ # The price IDs that this adjustment applies to.
709
806
  applies_to_price_ids:,
807
+ # True for adjustments that apply to an entire invocice, false for adjustments
808
+ # that apply to only one price.
710
809
  is_invoice_level:,
810
+ # The maximum amount to charge in a given billing period for the prices this
811
+ # adjustment applies to.
711
812
  maximum_amount:,
813
+ # The plan phase in which this adjustment is active.
712
814
  plan_phase_order:,
815
+ # The reason for the adjustment.
713
816
  reason:,
714
817
  adjustment_type: :maximum
715
818
  ); end
@@ -762,8 +865,20 @@ module Orb
762
865
  sig do
763
866
  params(day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)).returns(T.attached_class)
764
867
  end
765
- def self.new(day:, month: nil, year: nil); end
766
-
868
+ def self.new(
869
+ # The day of the month on which the billing cycle is anchored. If the maximum
870
+ # number of days in a month is greater than this value, the last day of the month
871
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
872
+ # period begins on the 30th.
873
+ day:,
874
+ # The month on which the billing cycle is anchored (e.g. a quarterly price
875
+ # anchored in February would have cycles starting February, May, August, and
876
+ # November).
877
+ month: nil,
878
+ # The year on which the billing cycle is anchored (e.g. a 2 year billing cycle
879
+ # anchored on 2021 would have cycles starting on 2021, 2023, 2025, etc.).
880
+ year: nil
881
+ ); end
767
882
  sig { override.returns({day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)}) }
768
883
  def to_hash; end
769
884
  end
@@ -807,10 +922,15 @@ module Orb
807
922
  .returns(T.attached_class)
808
923
  end
809
924
  def self.new(
925
+ # Only available if discount_type is `amount`.
810
926
  amount_discount:,
927
+ # The price ids that this discount interval applies to.
811
928
  applies_to_price_ids:,
929
+ # The price interval ids that this discount interval applies to.
812
930
  applies_to_price_interval_ids:,
931
+ # The end date of the discount interval.
813
932
  end_date:,
933
+ # The start date of the discount interval.
814
934
  start_date:,
815
935
  discount_type: :amount
816
936
  ); end
@@ -867,10 +987,16 @@ module Orb
867
987
  .returns(T.attached_class)
868
988
  end
869
989
  def self.new(
990
+ # The price ids that this discount interval applies to.
870
991
  applies_to_price_ids:,
992
+ # The price interval ids that this discount interval applies to.
871
993
  applies_to_price_interval_ids:,
994
+ # The end date of the discount interval.
872
995
  end_date:,
996
+ # Only available if discount_type is `percentage`.This is a number between 0
997
+ # and 1.
873
998
  percentage_discount:,
999
+ # The start date of the discount interval.
874
1000
  start_date:,
875
1001
  discount_type: :percentage
876
1002
  ); end
@@ -927,10 +1053,16 @@ module Orb
927
1053
  .returns(T.attached_class)
928
1054
  end
929
1055
  def self.new(
1056
+ # The price ids that this discount interval applies to.
930
1057
  applies_to_price_ids:,
1058
+ # The price interval ids that this discount interval applies to.
931
1059
  applies_to_price_interval_ids:,
1060
+ # The end date of the discount interval.
932
1061
  end_date:,
1062
+ # The start date of the discount interval.
933
1063
  start_date:,
1064
+ # Only available if discount_type is `usage`. Number of usage units that this
1065
+ # discount is for
934
1066
  usage_discount:,
935
1067
  discount_type: :usage
936
1068
  ); end
@@ -1017,14 +1149,18 @@ module Orb
1017
1149
  .returns(T.attached_class)
1018
1150
  end
1019
1151
  def self.new(
1152
+ # The price ids that this maximum interval applies to.
1020
1153
  applies_to_price_ids:,
1154
+ # The price interval ids that this maximum interval applies to.
1021
1155
  applies_to_price_interval_ids:,
1156
+ # The end date of the maximum interval.
1022
1157
  end_date:,
1158
+ # The maximum amount to charge in a given billing period for the price intervals
1159
+ # this transform applies to.
1023
1160
  maximum_amount:,
1161
+ # The start date of the maximum interval.
1024
1162
  start_date:
1025
- )
1026
- end
1027
-
1163
+ ); end
1028
1164
  sig do
1029
1165
  override
1030
1166
  .returns(
@@ -1073,14 +1209,18 @@ module Orb
1073
1209
  .returns(T.attached_class)
1074
1210
  end
1075
1211
  def self.new(
1212
+ # The price ids that this minimum interval applies to.
1076
1213
  applies_to_price_ids:,
1214
+ # The price interval ids that this minimum interval applies to.
1077
1215
  applies_to_price_interval_ids:,
1216
+ # The end date of the minimum interval.
1078
1217
  end_date:,
1218
+ # The minimum amount to charge in a given billing period for the price intervals
1219
+ # this minimum applies to.
1079
1220
  minimum_amount:,
1221
+ # The start date of the minimum interval.
1080
1222
  start_date:
1081
- )
1082
- end
1083
-
1223
+ ); end
1084
1224
  sig do
1085
1225
  override
1086
1226
  .returns(
@@ -1261,14 +1401,40 @@ module Orb
1261
1401
  end
1262
1402
  def self.new(
1263
1403
  id:,
1404
+ # The day of the month that Orb bills for this price
1264
1405
  billing_cycle_day:,
1406
+ # The end of the current billing period. This is an exclusive timestamp, such that
1407
+ # the instant returned is exactly the end of the billing period. Set to null if
1408
+ # this price interval is not currently active.
1265
1409
  current_billing_period_end_date:,
1410
+ # The start date of the current billing period. This is an inclusive timestamp;
1411
+ # the instant returned is exactly the beginning of the billing period. Set to null
1412
+ # if this price interval is not currently active.
1266
1413
  current_billing_period_start_date:,
1414
+ # The end date of the price interval. This is the date that Orb stops billing for
1415
+ # this price.
1267
1416
  end_date:,
1417
+ # An additional filter to apply to usage queries.
1268
1418
  filter:,
1419
+ # The fixed fee quantity transitions for this price interval. This is only
1420
+ # relevant for fixed fees.
1269
1421
  fixed_fee_quantity_transitions:,
1422
+ # The Price resource represents a price that can be billed on a subscription,
1423
+ # resulting in a charge on an invoice in the form of an invoice line item. Prices
1424
+ # take a quantity and determine an amount to bill.
1425
+ #
1426
+ # Orb supports a few different pricing models out of the box. Each of these models
1427
+ # is serialized differently in a given Price object. The model_type field
1428
+ # determines the key for the configuration object that is present.
1429
+ #
1430
+ # For more on the types of prices, see
1431
+ # [the core concepts documentation](/core-concepts#plan-and-price)
1270
1432
  price:,
1433
+ # The start date of the price interval. This is the date that Orb starts billing
1434
+ # for this price.
1271
1435
  start_date:,
1436
+ # A list of customer IDs whose usage events will be aggregated and billed under
1437
+ # this price interval.
1272
1438
  usage_customer_ids:
1273
1439
  ); end
1274
1440
  sig do
@@ -1362,8 +1528,7 @@ module Orb
1362
1528
  extend Orb::Internal::Type::Enum
1363
1529
 
1364
1530
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::SubscriptionUpdateTrialResponse::Status) }
1365
- OrSymbol =
1366
- T.type_alias { T.any(Symbol, String, Orb::Models::SubscriptionUpdateTrialResponse::Status::TaggedSymbol) }
1531
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1367
1532
 
1368
1533
  ACTIVE = T.let(:active, Orb::Models::SubscriptionUpdateTrialResponse::Status::TaggedSymbol)
1369
1534
  ENDED = T.let(:ended, Orb::Models::SubscriptionUpdateTrialResponse::Status::TaggedSymbol)
@@ -1413,8 +1578,16 @@ module Orb
1413
1578
  )
1414
1579
  .returns(T.attached_class)
1415
1580
  end
1416
- def self.new(created_credit_notes:, created_invoices:, voided_credit_notes:, voided_invoices:); end
1417
-
1581
+ def self.new(
1582
+ # The credit notes that were created as part of this operation.
1583
+ created_credit_notes:,
1584
+ # The invoices that were created as part of this operation.
1585
+ created_invoices:,
1586
+ # The credit notes that were voided as part of this operation.
1587
+ voided_credit_notes:,
1588
+ # The invoices that were voided as part of this operation.
1589
+ voided_invoices:
1590
+ ); end
1418
1591
  sig do
1419
1592
  override
1420
1593
  .returns(
@@ -104,14 +104,7 @@ module Orb
104
104
 
105
105
  TaggedSymbol =
106
106
  T.type_alias { T.all(Symbol, Orb::Models::SubscriptionUsage::UngroupedSubscriptionUsage::Data::ViewMode) }
107
- OrSymbol =
108
- T.type_alias do
109
- T.any(
110
- Symbol,
111
- String,
112
- Orb::Models::SubscriptionUsage::UngroupedSubscriptionUsage::Data::ViewMode::TaggedSymbol
113
- )
114
- end
107
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
115
108
 
116
109
  PERIODIC =
117
110
  T.let(:periodic, Orb::Models::SubscriptionUsage::UngroupedSubscriptionUsage::Data::ViewMode::TaggedSymbol)
@@ -275,14 +268,7 @@ module Orb
275
268
 
276
269
  TaggedSymbol =
277
270
  T.type_alias { T.all(Symbol, Orb::Models::SubscriptionUsage::GroupedSubscriptionUsage::Data::ViewMode) }
278
- OrSymbol =
279
- T.type_alias do
280
- T.any(
281
- Symbol,
282
- String,
283
- Orb::Models::SubscriptionUsage::GroupedSubscriptionUsage::Data::ViewMode::TaggedSymbol
284
- )
285
- end
271
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
286
272
 
287
273
  PERIODIC =
288
274
  T.let(:periodic, Orb::Models::SubscriptionUsage::GroupedSubscriptionUsage::Data::ViewMode::TaggedSymbol)
@@ -33,10 +33,14 @@ module Orb
33
33
  .returns(T.attached_class)
34
34
  end
35
35
  def self.new(
36
+ # List of price_ids that this discount applies to. For plan/plan phase discounts,
37
+ # this can be a subset of prices.
36
38
  applies_to_price_ids:,
37
39
  discount_type:,
38
40
  reason: nil,
41
+ # Only available if discount_type is `trial`
39
42
  trial_amount_discount: nil,
43
+ # Only available if discount_type is `trial`
40
44
  trial_percentage_discount: nil
41
45
  ); end
42
46
  sig do
@@ -57,7 +61,7 @@ module Orb
57
61
  extend Orb::Internal::Type::Enum
58
62
 
59
63
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::TrialDiscount::DiscountType) }
60
- OrSymbol = T.type_alias { T.any(Symbol, String, Orb::Models::TrialDiscount::DiscountType::TaggedSymbol) }
64
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
61
65
 
62
66
  TRIAL = T.let(:trial, Orb::Models::TrialDiscount::DiscountType::TaggedSymbol)
63
67
 
@@ -28,8 +28,16 @@ module Orb
28
28
  )
29
29
  .returns(T.attached_class)
30
30
  end
31
- def self.new(applies_to_price_ids:, discount_type:, usage_discount:, reason: nil); end
32
-
31
+ def self.new(
32
+ # List of price_ids that this discount applies to. For plan/plan phase discounts,
33
+ # this can be a subset of prices.
34
+ applies_to_price_ids:,
35
+ discount_type:,
36
+ # Only available if discount_type is `usage`. Number of usage units that this
37
+ # discount is for
38
+ usage_discount:,
39
+ reason: nil
40
+ ); end
33
41
  sig do
34
42
  override
35
43
  .returns(
@@ -47,7 +55,7 @@ module Orb
47
55
  extend Orb::Internal::Type::Enum
48
56
 
49
57
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::UsageDiscount::DiscountType) }
50
- OrSymbol = T.type_alias { T.any(Symbol, String, Orb::Models::UsageDiscount::DiscountType::TaggedSymbol) }
58
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
51
59
 
52
60
  USAGE = T.let(:usage, Orb::Models::UsageDiscount::DiscountType::TaggedSymbol)
53
61
 
@@ -0,0 +1,21 @@
1
+ module Orb
2
+ class FilePart
3
+ attr_reader content: Pathname | StringIO | IO | String
4
+
5
+ attr_reader content_type: String?
6
+
7
+ attr_reader filename: String?
8
+
9
+ private def read: -> String
10
+
11
+ def to_json: (*top a) -> String
12
+
13
+ def to_yaml: (*top a) -> String
14
+
15
+ def initialize: (
16
+ Pathname | StringIO | IO | String content,
17
+ ?filename: String?,
18
+ ?content_type: String?
19
+ ) -> void
20
+ end
21
+ end
@@ -11,7 +11,10 @@ module Orb
11
11
  | Integer
12
12
  | ::Array[(String | Integer)?])?]?,
13
13
  body: top?,
14
- unwrap: Symbol?,
14
+ unwrap: (Symbol
15
+ | Integer
16
+ | ::Array[(Symbol | Integer)]
17
+ | (^(top arg0) -> top))?,
15
18
  page: Class?,
16
19
  stream: Class?,
17
20
  model: Orb::Internal::Type::Converter::input?,
@@ -53,7 +56,7 @@ module Orb
53
56
  ) -> void
54
57
 
55
58
  # @api private
56
- attr_accessor requester: Orb::Internal::Transport::PooledNetRequester
59
+ attr_reader requester: Orb::Internal::Transport::PooledNetRequester
57
60
 
58
61
  def initialize: (
59
62
  base_url: String,
@@ -96,7 +99,10 @@ module Orb
96
99
  | Integer
97
100
  | ::Array[(String | Integer)?])?]?,
98
101
  ?body: top?,
99
- ?unwrap: Symbol?,
102
+ ?unwrap: (Symbol
103
+ | Integer
104
+ | ::Array[(Symbol | Integer)]
105
+ | (^(top arg0) -> top))?,
100
106
  ?page: Class?,
101
107
  ?stream: Class?,
102
108
  ?model: Orb::Internal::Type::Converter::input?,
@@ -15,6 +15,8 @@ module Orb
15
15
 
16
16
  def ==: (top other) -> bool
17
17
 
18
+ def hash: -> Integer
19
+
18
20
  def coerce: (
19
21
  ::Array[top] | top value,
20
22
  state: Orb::Internal::Type::Converter::coerce_state
@@ -49,8 +49,12 @@ module Orb
49
49
 
50
50
  def self.==: (top other) -> bool
51
51
 
52
+ def self.hash: -> Integer
53
+
52
54
  def ==: (top other) -> bool
53
55
 
56
+ def hash: -> Integer
57
+
54
58
  def self.coerce: (
55
59
  Orb::Internal::Type::BaseModel | ::Hash[top, top] | top value,
56
60
  state: Orb::Internal::Type::Converter::coerce_state
@@ -6,12 +6,12 @@ module Orb
6
6
 
7
7
  def self.values: -> ::Array[(nil | bool | Integer | Float | Symbol)]
8
8
 
9
- private def self.finalize!: -> void
10
-
11
9
  def ===: (top other) -> bool
12
10
 
13
11
  def ==: (top other) -> bool
14
12
 
13
+ def hash: -> Integer
14
+
15
15
  def coerce: (
16
16
  String | Symbol | top value,
17
17
  state: Orb::Internal::Type::Converter::coerce_state
@@ -1,7 +1,7 @@
1
1
  module Orb
2
2
  module Internal
3
3
  module Type
4
- class IOLike
4
+ class FileInput
5
5
  extend Orb::Internal::Type::Converter
6
6
 
7
7
  def self.===: (top other) -> bool
@@ -15,6 +15,8 @@ module Orb
15
15
 
16
16
  def ==: (top other) -> bool
17
17
 
18
+ def hash: -> Integer
19
+
18
20
  def coerce: (
19
21
  ::Hash[top, top] | top value,
20
22
  state: Orb::Internal::Type::Converter::coerce_state
@@ -30,6 +30,8 @@ module Orb
30
30
 
31
31
  def ==: (top other) -> bool
32
32
 
33
+ def hash: -> Integer
34
+
33
35
  def coerce: (
34
36
  top value,
35
37
  state: Orb::Internal::Type::Converter::coerce_state
@@ -29,8 +29,10 @@ module Orb
29
29
 
30
30
  def self?.dig: (
31
31
  ::Hash[Symbol, top] | ::Array[top] | top data,
32
- (Symbol | Integer | ::Array[(Symbol | Integer)])? pick,
33
- ?top? sentinel
32
+ (Symbol
33
+ | Integer
34
+ | ::Array[(Symbol | Integer)]
35
+ | (^(top arg0) -> top))? pick
34
36
  ) {
35
37
  -> top?
36
38
  } -> top?
@@ -73,16 +75,6 @@ module Orb
73
75
  | ::Array[(String | Integer)?])?] headers
74
76
  ) -> ::Hash[String, String]
75
77
 
76
- class SerializationAdapter
77
- attr_reader inner: Pathname | IO
78
-
79
- def to_json: (*top a) -> String
80
-
81
- def to_yaml: (*top a) -> String
82
-
83
- def initialize: (Pathname | IO inner) -> void
84
- end
85
-
86
78
  class ReadIOAdapter
87
79
  def close?: -> bool?
88
80
 
@@ -103,6 +95,16 @@ module Orb
103
95
  (Enumerator::Yielder y) -> void
104
96
  } -> Enumerable[String]
105
97
 
98
+ JSON_CONTENT: Regexp
99
+ JSONL_CONTENT: Regexp
100
+
101
+ def self?.write_multipart_content: (
102
+ Enumerator::Yielder y,
103
+ val: top,
104
+ closing: ::Array[^-> void],
105
+ ?content_type: String?
106
+ ) -> void
107
+
106
108
  def self?.write_multipart_chunk: (
107
109
  Enumerator::Yielder y,
108
110
  boundary: String,