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
@@ -24,7 +24,14 @@ module Orb
24
24
  )]
25
25
  ),
26
26
  body: T.nilable(T.anything),
27
- unwrap: T.nilable(Symbol),
27
+ unwrap: T.nilable(
28
+ T.any(
29
+ Symbol,
30
+ Integer,
31
+ T::Array[T.any(Symbol, Integer)],
32
+ T.proc.params(arg0: T.anything).returns(T.anything)
33
+ )
34
+ ),
28
35
  page: T.nilable(T::Class[Orb::Internal::Type::BasePage[Orb::Internal::Type::BaseModel]]),
29
36
  stream: T.nilable(T::Class[T.anything]),
30
37
  model: T.nilable(Orb::Internal::Type::Converter::Input),
@@ -90,7 +97,7 @@ module Orb
90
97
 
91
98
  # @api private
92
99
  sig { returns(Orb::Internal::Transport::PooledNetRequester) }
93
- attr_accessor :requester
100
+ attr_reader :requester
94
101
 
95
102
  # @api private
96
103
  sig do
@@ -167,7 +174,14 @@ module Orb
167
174
  )]
168
175
  ),
169
176
  body: T.nilable(T.anything),
170
- unwrap: T.nilable(Symbol),
177
+ unwrap: T.nilable(
178
+ T.any(
179
+ Symbol,
180
+ Integer,
181
+ T::Array[T.any(Symbol, Integer)],
182
+ T.proc.params(arg0: T.anything).returns(T.anything)
183
+ )
184
+ ),
171
185
  page: T.nilable(T::Class[Orb::Internal::Type::BasePage[Orb::Internal::Type::BaseModel]]),
172
186
  stream: T.nilable(T::Class[T.anything]),
173
187
  model: T.nilable(Orb::Internal::Type::Converter::Input),
@@ -32,6 +32,9 @@ module Orb
32
32
  sig { params(other: T.anything).returns(T::Boolean) }
33
33
  def ==(other); end
34
34
 
35
+ sig { returns(Integer) }
36
+ def hash; end
37
+
35
38
  # @api private
36
39
  sig do
37
40
  override
@@ -111,11 +111,17 @@ module Orb
111
111
 
112
112
  sig { params(other: T.anything).returns(T::Boolean) }
113
113
  def ==(other); end
114
+
115
+ sig { returns(Integer) }
116
+ def hash; end
114
117
  end
115
118
 
116
119
  sig { params(other: T.anything).returns(T::Boolean) }
117
120
  def ==(other); end
118
121
 
122
+ sig { returns(Integer) }
123
+ def hash; end
124
+
119
125
  class << self
120
126
  # @api private
121
127
  sig do
@@ -176,6 +182,7 @@ module Orb
176
182
  def deconstruct_keys(keys); end
177
183
 
178
184
  class << self
185
+ # @api private
179
186
  sig { params(model: Orb::Internal::Type::BaseModel).returns(Orb::Internal::AnyHash) }
180
187
  def walk(model); end
181
188
  end
@@ -196,7 +203,6 @@ module Orb
196
203
  def inspect(depth: 0); end
197
204
  end
198
205
 
199
- # @api private
200
206
  sig { returns(String) }
201
207
  def to_s; end
202
208
 
@@ -3,6 +3,8 @@
3
3
  module Orb
4
4
  module Internal
5
5
  module Type
6
+ # @api private
7
+ #
6
8
  # This module provides a base implementation for paginated responses in the SDK.
7
9
  module BasePage
8
10
  Elem = type_member(:out)
@@ -22,18 +22,15 @@ module Orb
22
22
  sig { overridable.returns(T::Array[T.any(NilClass, T::Boolean, Integer, Float, Symbol)]) }
23
23
  def values; end
24
24
 
25
- # @api private
26
- #
27
- # Guard against thread safety issues by instantiating `@values`.
28
- sig { void }
29
- private def finalize!; end
30
-
31
25
  sig { params(other: T.anything).returns(T::Boolean) }
32
26
  def ===(other); end
33
27
 
34
28
  sig { params(other: T.anything).returns(T::Boolean) }
35
29
  def ==(other); end
36
30
 
31
+ sig { returns(Integer) }
32
+ def hash; end
33
+
37
34
  # @api private
38
35
  #
39
36
  # Unlike with primitives, `Enum` additionally validates that the value is a member
@@ -5,8 +5,11 @@ module Orb
5
5
  module Type
6
6
  # @api private
7
7
  #
8
- # Either `Pathname` or `StringIO`.
9
- class IOLike
8
+ # Either `Pathname` or `StringIO`, or `IO`, or `Orb::Internal::Type::FileInput`.
9
+ #
10
+ # Note: when `IO` is used, all retries are disabled, since many IO` streams are
11
+ # not rewindable.
12
+ class FileInput
10
13
  extend Orb::Internal::Type::Converter
11
14
 
12
15
  abstract!
@@ -32,6 +32,9 @@ module Orb
32
32
  sig { params(other: T.anything).returns(T::Boolean) }
33
33
  def ==(other); end
34
34
 
35
+ sig { returns(Integer) }
36
+ def hash; end
37
+
35
38
  # @api private
36
39
  sig do
37
40
  override
@@ -45,6 +45,9 @@ module Orb
45
45
  sig { params(other: T.anything).returns(T::Boolean) }
46
46
  def ==(other); end
47
47
 
48
+ sig { returns(Integer) }
49
+ def hash; end
50
+
48
51
  # @api private
49
52
  sig do
50
53
  override.params(
@@ -68,13 +68,19 @@ module Orb
68
68
  sig do
69
69
  params(
70
70
  data: T.any(Orb::Internal::AnyHash, T::Array[T.anything], T.anything),
71
- pick: T.nilable(T.any(Symbol, Integer, T::Array[T.any(Symbol, Integer)])),
72
- sentinel: T.nilable(T.anything),
71
+ pick: T.nilable(
72
+ T.any(
73
+ Symbol,
74
+ Integer,
75
+ T::Array[T.any(Symbol, Integer)],
76
+ T.proc.params(arg0: T.anything).returns(T.anything)
77
+ )
78
+ ),
73
79
  blk: T.nilable(T.proc.returns(T.anything))
74
80
  )
75
81
  .returns(T.nilable(T.anything))
76
82
  end
77
- def dig(data, pick, sentinel = nil, &blk); end
83
+ def dig(data, pick, &blk); end
78
84
  end
79
85
 
80
86
  class << self
@@ -140,22 +146,6 @@ module Orb
140
146
  def normalized_headers(*headers); end
141
147
  end
142
148
 
143
- # @api private
144
- class SerializationAdapter
145
- sig { returns(T.any(Pathname, IO)) }
146
- attr_reader :inner
147
-
148
- sig { params(a: T.anything).returns(String) }
149
- def to_json(*a); end
150
-
151
- sig { params(a: T.anything).returns(String) }
152
- def to_yaml(*a); end
153
-
154
- # @api private
155
- sig { params(inner: T.any(Pathname, IO)).returns(T.attached_class) }
156
- def self.new(inner); end
157
- end
158
-
159
149
  # @api private
160
150
  #
161
151
  # An adapter that satisfies the IO interface required by `::IO.copy_stream`
@@ -192,7 +182,22 @@ module Orb
192
182
  def writable_enum(&blk); end
193
183
  end
194
184
 
185
+ JSON_CONTENT = T.let(%r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}, Regexp)
186
+ JSONL_CONTENT = T.let(%r{^application/(?:x-)?jsonl}, Regexp)
187
+
195
188
  class << self
189
+ # @api private
190
+ sig do
191
+ params(
192
+ y: Enumerator::Yielder,
193
+ val: T.anything,
194
+ closing: T::Array[T.proc.void],
195
+ content_type: T.nilable(String)
196
+ )
197
+ .void
198
+ end
199
+ private def write_multipart_content(y, val:, closing:, content_type: nil); end
200
+
196
201
  # @api private
197
202
  sig do
198
203
  params(
@@ -1,7 +1,6 @@
1
1
  # typed: strong
2
2
 
3
3
  module Orb
4
- # @api private
5
4
  module Internal
6
5
  # Due to the current WIP status of Shapes support in Sorbet, types referencing
7
6
  # this alias might be refined in the future.
@@ -77,19 +77,28 @@ module Orb
77
77
  .returns(T.attached_class)
78
78
  end
79
79
  def self.new(
80
+ # Also referred to as alert_id in this documentation.
80
81
  id:,
82
+ # The creation time of the resource in Orb.
81
83
  created_at:,
84
+ # The name of the currency the credit balance or invoice cost is denominated in.
82
85
  currency:,
86
+ # The customer the alert applies to.
83
87
  customer:,
88
+ # Whether the alert is enabled or disabled.
84
89
  enabled:,
90
+ # The metric the alert applies to.
85
91
  metric:,
92
+ # The plan the alert applies to.
86
93
  plan:,
94
+ # The subscription the alert applies to.
87
95
  subscription:,
96
+ # The thresholds that define the conditions under which the alert will be
97
+ # triggered.
88
98
  thresholds:,
99
+ # The type of alert. This must be a valid alert type.
89
100
  type:
90
- )
91
- end
92
-
101
+ ); end
93
102
  sig do
94
103
  override
95
104
  .returns(
@@ -162,8 +171,15 @@ module Orb
162
171
  )
163
172
  .returns(T.attached_class)
164
173
  end
165
- def self.new(id:, external_plan_id:, name:, plan_version:); end
166
-
174
+ def self.new(
175
+ id:,
176
+ # An optional user-defined ID for this plan resource, used throughout the system
177
+ # as an alias for this Plan. Use this field to identify a plan by an existing
178
+ # identifier in your system.
179
+ external_plan_id:,
180
+ name:,
181
+ plan_version:
182
+ ); end
167
183
  sig do
168
184
  override
169
185
  .returns(
@@ -200,8 +216,12 @@ module Orb
200
216
  # Thresholds are used to define the conditions under which an alert will be
201
217
  # triggered.
202
218
  sig { params(value: Float).returns(T.attached_class) }
203
- def self.new(value:); end
204
-
219
+ def self.new(
220
+ # The value at which an alert will fire. For credit balance alerts, the alert will
221
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
222
+ # or above this value.
223
+ value:
224
+ ); end
205
225
  sig { override.returns({value: Float}) }
206
226
  def to_hash; end
207
227
  end
@@ -211,7 +231,7 @@ module Orb
211
231
  extend Orb::Internal::Type::Enum
212
232
 
213
233
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::Alert::Type) }
214
- OrSymbol = T.type_alias { T.any(Symbol, String, Orb::Models::Alert::Type::TaggedSymbol) }
234
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
215
235
 
216
236
  CREDIT_BALANCE_DEPLETED = T.let(:credit_balance_depleted, Orb::Models::Alert::Type::TaggedSymbol)
217
237
  CREDIT_BALANCE_DROPPED = T.let(:credit_balance_dropped, Orb::Models::Alert::Type::TaggedSymbol)
@@ -27,8 +27,15 @@ module Orb
27
27
  )
28
28
  .returns(T.attached_class)
29
29
  end
30
- def self.new(currency:, type:, thresholds: nil, request_options: {}); end
31
-
30
+ def self.new(
31
+ # The case sensitive currency or custom pricing unit to use for this alert.
32
+ currency:,
33
+ # The type of alert to create. This must be a valid alert type.
34
+ type:,
35
+ # The thresholds that define the values at which the alert will be triggered.
36
+ thresholds: nil,
37
+ request_options: {}
38
+ ); end
32
39
  sig do
33
40
  override
34
41
  .returns(
@@ -47,8 +54,7 @@ module Orb
47
54
  extend Orb::Internal::Type::Enum
48
55
 
49
56
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::AlertCreateForCustomerParams::Type) }
50
- OrSymbol =
51
- T.type_alias { T.any(Symbol, String, Orb::Models::AlertCreateForCustomerParams::Type::TaggedSymbol) }
57
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
52
58
 
53
59
  CREDIT_BALANCE_DEPLETED =
54
60
  T.let(:credit_balance_depleted, Orb::Models::AlertCreateForCustomerParams::Type::TaggedSymbol)
@@ -71,8 +77,12 @@ module Orb
71
77
  # Thresholds are used to define the conditions under which an alert will be
72
78
  # triggered.
73
79
  sig { params(value: Float).returns(T.attached_class) }
74
- def self.new(value:); end
75
-
80
+ def self.new(
81
+ # The value at which an alert will fire. For credit balance alerts, the alert will
82
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
83
+ # or above this value.
84
+ value:
85
+ ); end
76
86
  sig { override.returns({value: Float}) }
77
87
  def to_hash; end
78
88
  end
@@ -29,8 +29,15 @@ module Orb
29
29
  )
30
30
  .returns(T.attached_class)
31
31
  end
32
- def self.new(currency:, type:, thresholds: nil, request_options: {}); end
33
-
32
+ def self.new(
33
+ # The case sensitive currency or custom pricing unit to use for this alert.
34
+ currency:,
35
+ # The type of alert to create. This must be a valid alert type.
36
+ type:,
37
+ # The thresholds that define the values at which the alert will be triggered.
38
+ thresholds: nil,
39
+ request_options: {}
40
+ ); end
34
41
  sig do
35
42
  override
36
43
  .returns(
@@ -49,8 +56,7 @@ module Orb
49
56
  extend Orb::Internal::Type::Enum
50
57
 
51
58
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::AlertCreateForExternalCustomerParams::Type) }
52
- OrSymbol =
53
- T.type_alias { T.any(Symbol, String, Orb::Models::AlertCreateForExternalCustomerParams::Type::TaggedSymbol) }
59
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
54
60
 
55
61
  CREDIT_BALANCE_DEPLETED =
56
62
  T.let(:credit_balance_depleted, Orb::Models::AlertCreateForExternalCustomerParams::Type::TaggedSymbol)
@@ -73,8 +79,12 @@ module Orb
73
79
  # Thresholds are used to define the conditions under which an alert will be
74
80
  # triggered.
75
81
  sig { params(value: Float).returns(T.attached_class) }
76
- def self.new(value:); end
77
-
82
+ def self.new(
83
+ # The value at which an alert will fire. For credit balance alerts, the alert will
84
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
85
+ # or above this value.
86
+ value:
87
+ ); end
78
88
  sig { override.returns({value: Float}) }
79
89
  def to_hash; end
80
90
  end
@@ -27,8 +27,15 @@ module Orb
27
27
  )
28
28
  .returns(T.attached_class)
29
29
  end
30
- def self.new(thresholds:, type:, metric_id: nil, request_options: {}); end
31
-
30
+ def self.new(
31
+ # The thresholds that define the values at which the alert will be triggered.
32
+ thresholds:,
33
+ # The type of alert to create. This must be a valid alert type.
34
+ type:,
35
+ # The metric to track usage for.
36
+ metric_id: nil,
37
+ request_options: {}
38
+ ); end
32
39
  sig do
33
40
  override
34
41
  .returns(
@@ -52,8 +59,12 @@ module Orb
52
59
  # Thresholds are used to define the conditions under which an alert will be
53
60
  # triggered.
54
61
  sig { params(value: Float).returns(T.attached_class) }
55
- def self.new(value:); end
56
-
62
+ def self.new(
63
+ # The value at which an alert will fire. For credit balance alerts, the alert will
64
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
65
+ # or above this value.
66
+ value:
67
+ ); end
57
68
  sig { override.returns({value: Float}) }
58
69
  def to_hash; end
59
70
  end
@@ -63,8 +74,7 @@ module Orb
63
74
  extend Orb::Internal::Type::Enum
64
75
 
65
76
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::AlertCreateForSubscriptionParams::Type) }
66
- OrSymbol =
67
- T.type_alias { T.any(Symbol, String, Orb::Models::AlertCreateForSubscriptionParams::Type::TaggedSymbol) }
77
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
68
78
 
69
79
  USAGE_EXCEEDED =
70
80
  T.let(:usage_exceeded, Orb::Models::AlertCreateForSubscriptionParams::Type::TaggedSymbol)
@@ -17,8 +17,11 @@ module Orb
17
17
  )
18
18
  .returns(T.attached_class)
19
19
  end
20
- def self.new(subscription_id: nil, request_options: {}); end
21
-
20
+ def self.new(
21
+ # Used to update the status of a plan alert scoped to this subscription_id
22
+ subscription_id: nil,
23
+ request_options: {}
24
+ ); end
22
25
  sig { override.returns({subscription_id: T.nilable(String), request_options: Orb::RequestOptions}) }
23
26
  def to_hash; end
24
27
  end
@@ -17,8 +17,11 @@ module Orb
17
17
  )
18
18
  .returns(T.attached_class)
19
19
  end
20
- def self.new(subscription_id: nil, request_options: {}); end
21
-
20
+ def self.new(
21
+ # Used to update the status of a plan alert scoped to this subscription_id
22
+ subscription_id: nil,
23
+ request_options: {}
24
+ ); end
22
25
  sig { override.returns({subscription_id: T.nilable(String), request_options: Orb::RequestOptions}) }
23
26
  def to_hash; end
24
27
  end
@@ -62,10 +62,16 @@ module Orb
62
62
  created_at_gte: nil,
63
63
  created_at_lt: nil,
64
64
  created_at_lte: nil,
65
+ # Cursor for pagination. This can be populated by the `next_cursor` value returned
66
+ # from the initial request.
65
67
  cursor: nil,
68
+ # Fetch alerts scoped to this customer_id
66
69
  customer_id: nil,
70
+ # Fetch alerts scoped to this external_customer_id
67
71
  external_customer_id: nil,
72
+ # The number of items to fetch. Defaults to 20.
68
73
  limit: nil,
74
+ # Fetch alerts scoped to this subscription_id
69
75
  subscription_id: nil,
70
76
  request_options: {}
71
77
  ); end
@@ -17,8 +17,11 @@ module Orb
17
17
  )
18
18
  .returns(T.attached_class)
19
19
  end
20
- def self.new(thresholds:, request_options: {}); end
21
-
20
+ def self.new(
21
+ # The thresholds that define the values at which the alert will be triggered.
22
+ thresholds:,
23
+ request_options: {}
24
+ ); end
22
25
  sig do
23
26
  override
24
27
  .returns(
@@ -37,8 +40,12 @@ module Orb
37
40
  # Thresholds are used to define the conditions under which an alert will be
38
41
  # triggered.
39
42
  sig { params(value: Float).returns(T.attached_class) }
40
- def self.new(value:); end
41
-
43
+ def self.new(
44
+ # The value at which an alert will fire. For credit balance alerts, the alert will
45
+ # fire at or below this value. For usage and cost alerts, the alert will fire at
46
+ # or above this value.
47
+ value:
48
+ ); end
42
49
  sig { override.returns({value: Float}) }
43
50
  def to_hash; end
44
51
  end
@@ -27,8 +27,15 @@ module Orb
27
27
  )
28
28
  .returns(T.attached_class)
29
29
  end
30
- def self.new(amount_discount:, applies_to_price_ids:, discount_type:, reason: nil); end
31
-
30
+ def self.new(
31
+ # Only available if discount_type is `amount`.
32
+ amount_discount:,
33
+ # List of price_ids that this discount applies to. For plan/plan phase discounts,
34
+ # this can be a subset of prices.
35
+ applies_to_price_ids:,
36
+ discount_type:,
37
+ reason: nil
38
+ ); end
32
39
  sig do
33
40
  override
34
41
  .returns(
@@ -46,8 +53,7 @@ module Orb
46
53
  extend Orb::Internal::Type::Enum
47
54
 
48
55
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::AmountDiscount::DiscountType) }
49
- OrSymbol =
50
- T.type_alias { T.any(Symbol, String, Orb::Models::AmountDiscount::DiscountType::TaggedSymbol) }
56
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
51
57
 
52
58
  AMOUNT = T.let(:amount, Orb::Models::AmountDiscount::DiscountType::TaggedSymbol)
53
59
 
@@ -45,8 +45,21 @@ module Orb
45
45
  )
46
46
  .returns(T.attached_class)
47
47
  end
48
- def self.new(id:, description:, item:, metadata:, name:, status:); end
49
-
48
+ def self.new(
49
+ id:,
50
+ description:,
51
+ # The Item resource represents a sellable product or good. Items are associated
52
+ # with all line items, billable metrics, and prices and are used for defining
53
+ # external sync behavior for invoices and tax calculation purposes.
54
+ item:,
55
+ # User specified key-value pairs for the resource. If not present, this defaults
56
+ # to an empty dictionary. Individual keys can be removed by setting the value to
57
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
58
+ # `null`.
59
+ metadata:,
60
+ name:,
61
+ status:
62
+ ); end
50
63
  sig do
51
64
  override
52
65
  .returns(
@@ -66,7 +79,7 @@ module Orb
66
79
  extend Orb::Internal::Type::Enum
67
80
 
68
81
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::BillableMetric::Status) }
69
- OrSymbol = T.type_alias { T.any(Symbol, String, Orb::Models::BillableMetric::Status::TaggedSymbol) }
82
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
70
83
 
71
84
  ACTIVE = T.let(:active, Orb::Models::BillableMetric::Status::TaggedSymbol)
72
85
  DRAFT = T.let(:draft, Orb::Models::BillableMetric::Status::TaggedSymbol)
@@ -6,7 +6,7 @@ module Orb
6
6
  extend Orb::Internal::Type::Enum
7
7
 
8
8
  TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::BillingCycleRelativeDate) }
9
- OrSymbol = T.type_alias { T.any(Symbol, String, Orb::Models::BillingCycleRelativeDate::TaggedSymbol) }
9
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
10
10
 
11
11
  START_OF_TERM = T.let(:start_of_term, Orb::Models::BillingCycleRelativeDate::TaggedSymbol)
12
12
  END_OF_TERM = T.let(:end_of_term, Orb::Models::BillingCycleRelativeDate::TaggedSymbol)
@@ -51,16 +51,23 @@ module Orb
51
51
  .returns(T.attached_class)
52
52
  end
53
53
  def self.new(
54
+ # Also referred to as coupon_id in this documentation.
54
55
  id:,
56
+ # An archived coupon can no longer be redeemed. Active coupons will have a value
57
+ # of null for `archived_at`; this field will be non-null for archived coupons.
55
58
  archived_at:,
56
59
  discount:,
60
+ # This allows for a coupon's discount to apply for a limited time (determined in
61
+ # months); a `null` value here means "unlimited time".
57
62
  duration_in_months:,
63
+ # The maximum number of redemptions allowed for this coupon before it is
64
+ # exhausted; `null` here means "unlimited".
58
65
  max_redemptions:,
66
+ # This string can be used to redeem this coupon for a given subscription.
59
67
  redemption_code:,
68
+ # The number of times this coupon has been redeemed.
60
69
  times_redeemed:
61
- )
62
- end
63
-
70
+ ); end
64
71
  sig do
65
72
  override
66
73
  .returns(
@@ -46,13 +46,16 @@ module Orb
46
46
  end
47
47
  def self.new(
48
48
  discount:,
49
+ # This string can be used to redeem this coupon for a given subscription.
49
50
  redemption_code:,
51
+ # This allows for a coupon's discount to apply for a limited time (determined in
52
+ # months); a `null` value here means "unlimited time".
50
53
  duration_in_months: nil,
54
+ # The maximum number of redemptions allowed for this coupon before it is
55
+ # exhausted;`null` here means "unlimited".
51
56
  max_redemptions: nil,
52
57
  request_options: {}
53
- )
54
- end
55
-
58
+ ); end
56
59
  sig do
57
60
  override
58
61
  .returns(
@@ -37,9 +37,19 @@ module Orb
37
37
  )
38
38
  .returns(T.attached_class)
39
39
  end
40
- def self.new(cursor: nil, limit: nil, redemption_code: nil, show_archived: nil, request_options: {})
41
- end
42
-
40
+ def self.new(
41
+ # Cursor for pagination. This can be populated by the `next_cursor` value returned
42
+ # from the initial request.
43
+ cursor: nil,
44
+ # The number of items to fetch. Defaults to 20.
45
+ limit: nil,
46
+ # Filter to coupons matching this redemption code.
47
+ redemption_code: nil,
48
+ # Show archived coupons as well (by default, this endpoint only returns active
49
+ # coupons).
50
+ show_archived: nil,
51
+ request_options: {}
52
+ ); end
43
53
  sig do
44
54
  override
45
55
  .returns(
@@ -27,8 +27,14 @@ module Orb
27
27
  )
28
28
  .returns(T.attached_class)
29
29
  end
30
- def self.new(cursor: nil, limit: nil, request_options: {}); end
31
-
30
+ def self.new(
31
+ # Cursor for pagination. This can be populated by the `next_cursor` value returned
32
+ # from the initial request.
33
+ cursor: nil,
34
+ # The number of items to fetch. Defaults to 20.
35
+ limit: nil,
36
+ request_options: {}
37
+ ); end
32
38
  sig do
33
39
  override.returns({cursor: T.nilable(String), limit: Integer, request_options: Orb::RequestOptions})
34
40
  end