orb-billing 0.2.0 → 0.3.1

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 (488) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +67 -0
  3. data/README.md +63 -53
  4. data/lib/orb/client.rb +4 -4
  5. data/lib/orb/errors.rb +9 -9
  6. data/lib/orb/file_part.rb +55 -0
  7. data/lib/orb/internal/page.rb +7 -11
  8. data/lib/orb/internal/transport/base_client.rb +10 -10
  9. data/lib/orb/internal/transport/pooled_net_requester.rb +2 -2
  10. data/lib/orb/internal/type/array_of.rb +11 -0
  11. data/lib/orb/internal/type/base_model.rb +33 -23
  12. data/lib/orb/internal/type/base_page.rb +9 -1
  13. data/lib/orb/internal/type/boolean.rb +14 -11
  14. data/lib/orb/internal/type/converter.rb +4 -1
  15. data/lib/orb/internal/type/enum.rb +19 -16
  16. data/lib/orb/internal/type/{io_like.rb → file_input.rb} +33 -15
  17. data/lib/orb/internal/type/hash_of.rb +11 -0
  18. data/lib/orb/internal/type/request_parameters.rb +3 -10
  19. data/lib/orb/internal/type/union.rb +10 -1
  20. data/lib/orb/internal/type/unknown.rb +14 -11
  21. data/lib/orb/internal/util.rb +88 -64
  22. data/lib/orb/internal.rb +0 -1
  23. data/lib/orb/models/alert.rb +68 -71
  24. data/lib/orb/models/alert_create_for_customer_params.rb +20 -25
  25. data/lib/orb/models/alert_create_for_external_customer_params.rb +20 -25
  26. data/lib/orb/models/alert_create_for_subscription_params.rb +20 -25
  27. data/lib/orb/models/alert_disable_params.rb +5 -9
  28. data/lib/orb/models/alert_enable_params.rb +5 -9
  29. data/lib/orb/models/alert_list_params.rb +26 -36
  30. data/lib/orb/models/alert_retrieve_params.rb +3 -8
  31. data/lib/orb/models/alert_update_params.rb +14 -18
  32. data/lib/orb/models/amount_discount.rb +14 -14
  33. data/lib/orb/models/billable_metric.rb +23 -20
  34. data/lib/orb/models/billing_cycle_relative_date.rb +2 -5
  35. data/lib/orb/models/coupon.rb +28 -21
  36. data/lib/orb/models/coupon_archive_params.rb +3 -8
  37. data/lib/orb/models/coupon_create_params.rb +29 -34
  38. data/lib/orb/models/coupon_fetch_params.rb +3 -8
  39. data/lib/orb/models/coupon_list_params.rb +17 -17
  40. data/lib/orb/models/coupons/subscription_list_params.rb +12 -15
  41. data/lib/orb/models/credit_note.rb +100 -166
  42. data/lib/orb/models/credit_note_create_params.rb +15 -23
  43. data/lib/orb/models/credit_note_fetch_params.rb +3 -8
  44. data/lib/orb/models/credit_note_list_params.rb +20 -30
  45. data/lib/orb/models/customer.rb +224 -271
  46. data/lib/orb/models/customer_create_params.rb +216 -257
  47. data/lib/orb/models/customer_delete_params.rb +3 -8
  48. data/lib/orb/models/customer_fetch_by_external_id_params.rb +3 -8
  49. data/lib/orb/models/customer_fetch_params.rb +3 -8
  50. data/lib/orb/models/customer_list_params.rb +20 -30
  51. data/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rb +3 -8
  52. data/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rb +3 -8
  53. data/lib/orb/models/customer_update_by_external_id_params.rb +212 -257
  54. data/lib/orb/models/customer_update_params.rb +212 -255
  55. data/lib/orb/models/customers/balance_transaction_create_params.rb +11 -16
  56. data/lib/orb/models/customers/balance_transaction_create_response.rb +33 -51
  57. data/lib/orb/models/customers/balance_transaction_list_params.rb +20 -30
  58. data/lib/orb/models/customers/balance_transaction_list_response.rb +33 -51
  59. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +17 -17
  60. data/lib/orb/models/customers/cost_list_by_external_id_response.rb +23 -27
  61. data/lib/orb/models/customers/cost_list_params.rb +17 -17
  62. data/lib/orb/models/customers/cost_list_response.rb +23 -27
  63. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +18 -22
  64. data/lib/orb/models/customers/credit_list_by_external_id_response.rb +10 -17
  65. data/lib/orb/models/customers/credit_list_params.rb +18 -22
  66. data/lib/orb/models/customers/credit_list_response.rb +10 -17
  67. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +64 -66
  68. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +384 -491
  69. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +63 -66
  70. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +384 -498
  71. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +33 -48
  72. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +384 -494
  73. data/lib/orb/models/customers/credits/ledger_list_params.rb +32 -48
  74. data/lib/orb/models/customers/credits/ledger_list_response.rb +383 -501
  75. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +47 -50
  76. data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +43 -46
  77. data/lib/orb/models/customers/credits/top_up_create_params.rb +46 -50
  78. data/lib/orb/models/customers/credits/top_up_create_response.rb +42 -46
  79. data/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rb +4 -9
  80. data/lib/orb/models/customers/credits/top_up_delete_params.rb +4 -9
  81. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +12 -15
  82. data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +43 -46
  83. data/lib/orb/models/customers/credits/top_up_list_params.rb +12 -15
  84. data/lib/orb/models/customers/credits/top_up_list_response.rb +42 -46
  85. data/lib/orb/models/dimensional_price_group.rb +21 -15
  86. data/lib/orb/models/dimensional_price_group_create_params.rb +17 -23
  87. data/lib/orb/models/dimensional_price_group_list_params.rb +12 -15
  88. data/lib/orb/models/dimensional_price_group_retrieve_params.rb +3 -8
  89. data/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rb +3 -8
  90. data/lib/orb/models/dimensional_price_groups.rb +3 -7
  91. data/lib/orb/models/discount.rb +2 -3
  92. data/lib/orb/models/evaluate_price_group.rb +8 -11
  93. data/lib/orb/models/event_deprecate_params.rb +3 -8
  94. data/lib/orb/models/event_deprecate_response.rb +2 -6
  95. data/lib/orb/models/event_ingest_params.rb +33 -27
  96. data/lib/orb/models/event_ingest_response.rb +23 -24
  97. data/lib/orb/models/event_search_params.rb +15 -11
  98. data/lib/orb/models/event_search_response.rb +27 -22
  99. data/lib/orb/models/event_update_params.rb +19 -13
  100. data/lib/orb/models/event_update_response.rb +2 -6
  101. data/lib/orb/models/events/backfill_close_params.rb +3 -8
  102. data/lib/orb/models/events/backfill_close_response.rb +34 -39
  103. data/lib/orb/models/events/backfill_create_params.rb +28 -32
  104. data/lib/orb/models/events/backfill_create_response.rb +34 -39
  105. data/lib/orb/models/events/backfill_fetch_params.rb +3 -8
  106. data/lib/orb/models/events/backfill_fetch_response.rb +34 -39
  107. data/lib/orb/models/events/backfill_list_params.rb +12 -15
  108. data/lib/orb/models/events/backfill_list_response.rb +34 -39
  109. data/lib/orb/models/events/backfill_revert_params.rb +3 -8
  110. data/lib/orb/models/events/backfill_revert_response.rb +34 -39
  111. data/lib/orb/models/events/event_volumes.rb +11 -17
  112. data/lib/orb/models/events/volume_list_params.rb +19 -22
  113. data/lib/orb/models/invoice.rb +619 -681
  114. data/lib/orb/models/invoice_create_params.rb +52 -61
  115. data/lib/orb/models/invoice_fetch_params.rb +3 -8
  116. data/lib/orb/models/invoice_fetch_upcoming_params.rb +4 -9
  117. data/lib/orb/models/invoice_fetch_upcoming_response.rb +618 -669
  118. data/lib/orb/models/invoice_issue_params.rb +10 -14
  119. data/lib/orb/models/invoice_level_discount.rb +2 -3
  120. data/lib/orb/models/invoice_line_item_create_params.rb +19 -14
  121. data/lib/orb/models/invoice_line_item_create_response.rb +281 -306
  122. data/lib/orb/models/invoice_list_params.rb +51 -66
  123. data/lib/orb/models/invoice_mark_paid_params.rb +9 -11
  124. data/lib/orb/models/invoice_pay_params.rb +3 -8
  125. data/lib/orb/models/invoice_update_params.rb +9 -9
  126. data/lib/orb/models/invoice_void_params.rb +3 -8
  127. data/lib/orb/models/item.rb +14 -25
  128. data/lib/orb/models/item_create_params.rb +5 -9
  129. data/lib/orb/models/item_fetch_params.rb +3 -8
  130. data/lib/orb/models/item_list_params.rb +12 -15
  131. data/lib/orb/models/item_update_params.rb +10 -22
  132. data/lib/orb/models/metric_create_params.rb +17 -13
  133. data/lib/orb/models/metric_fetch_params.rb +3 -8
  134. data/lib/orb/models/metric_list_params.rb +20 -30
  135. data/lib/orb/models/metric_update_params.rb +9 -9
  136. data/lib/orb/models/pagination_metadata.rb +3 -7
  137. data/lib/orb/models/percentage_discount.rb +15 -14
  138. data/lib/orb/models/plan.rb +259 -291
  139. data/lib/orb/models/plan_create_params.rb +2070 -2466
  140. data/lib/orb/models/plan_fetch_params.rb +3 -8
  141. data/lib/orb/models/plan_list_params.rb +25 -42
  142. data/lib/orb/models/plan_update_params.rb +12 -10
  143. data/lib/orb/models/plans/external_plan_id_fetch_params.rb +3 -8
  144. data/lib/orb/models/plans/external_plan_id_update_params.rb +12 -10
  145. data/lib/orb/models/price.rb +3842 -5005
  146. data/lib/orb/models/price_create_params.rb +203 -244
  147. data/lib/orb/models/price_evaluate_params.rb +21 -30
  148. data/lib/orb/models/price_evaluate_response.rb +2 -6
  149. data/lib/orb/models/price_fetch_params.rb +3 -8
  150. data/lib/orb/models/price_list_params.rb +12 -15
  151. data/lib/orb/models/price_update_params.rb +9 -9
  152. data/lib/orb/models/prices/external_price_id_fetch_params.rb +3 -8
  153. data/lib/orb/models/prices/external_price_id_update_params.rb +9 -9
  154. data/lib/orb/models/subscription.rb +360 -405
  155. data/lib/orb/models/subscription_cancel_params.rb +16 -16
  156. data/lib/orb/models/subscription_cancel_response.rb +358 -399
  157. data/lib/orb/models/subscription_change_apply_params.rb +7 -10
  158. data/lib/orb/models/subscription_change_apply_response.rb +384 -418
  159. data/lib/orb/models/subscription_change_cancel_params.rb +3 -8
  160. data/lib/orb/models/subscription_change_cancel_response.rb +384 -417
  161. data/lib/orb/models/subscription_change_retrieve_params.rb +3 -8
  162. data/lib/orb/models/subscription_change_retrieve_response.rb +385 -417
  163. data/lib/orb/models/subscription_create_params.rb +4735 -5417
  164. data/lib/orb/models/subscription_create_response.rb +358 -399
  165. data/lib/orb/models/subscription_fetch_costs_params.rb +17 -17
  166. data/lib/orb/models/subscription_fetch_costs_response.rb +23 -27
  167. data/lib/orb/models/subscription_fetch_params.rb +3 -8
  168. data/lib/orb/models/subscription_fetch_schedule_params.rb +20 -30
  169. data/lib/orb/models/subscription_fetch_schedule_response.rb +15 -17
  170. data/lib/orb/models/subscription_fetch_usage_params.rb +32 -43
  171. data/lib/orb/models/subscription_list_params.rb +28 -41
  172. data/lib/orb/models/subscription_price_intervals_params.rb +2560 -3040
  173. data/lib/orb/models/subscription_price_intervals_response.rb +361 -399
  174. data/lib/orb/models/subscription_schedule_plan_change_params.rb +4728 -5411
  175. data/lib/orb/models/subscription_schedule_plan_change_response.rb +361 -398
  176. data/lib/orb/models/subscription_trigger_phase_params.rb +12 -10
  177. data/lib/orb/models/subscription_trigger_phase_response.rb +360 -399
  178. data/lib/orb/models/subscription_unschedule_cancellation_params.rb +3 -8
  179. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +361 -398
  180. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rb +5 -9
  181. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +362 -396
  182. data/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rb +3 -8
  183. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +362 -396
  184. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +22 -33
  185. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +361 -398
  186. data/lib/orb/models/subscription_update_params.rb +21 -23
  187. data/lib/orb/models/subscription_update_trial_params.rb +15 -18
  188. data/lib/orb/models/subscription_update_trial_response.rb +360 -399
  189. data/lib/orb/models/subscription_usage.rb +37 -80
  190. data/lib/orb/models/subscriptions.rb +3 -7
  191. data/lib/orb/models/top_level_ping_params.rb +3 -8
  192. data/lib/orb/models/top_level_ping_response.rb +2 -6
  193. data/lib/orb/models/trial_discount.rb +16 -24
  194. data/lib/orb/models/usage_discount.rb +15 -14
  195. data/lib/orb/models.rb +220 -0
  196. data/lib/orb/request_options.rb +4 -6
  197. data/lib/orb/resources/alerts.rb +48 -17
  198. data/lib/orb/resources/coupons/subscriptions.rb +9 -2
  199. data/lib/orb/resources/coupons.rb +26 -8
  200. data/lib/orb/resources/credit_notes.rb +17 -4
  201. data/lib/orb/resources/customers/balance_transactions.rb +18 -3
  202. data/lib/orb/resources/customers/costs.rb +26 -8
  203. data/lib/orb/resources/customers/credits/ledger.rb +112 -32
  204. data/lib/orb/resources/customers/credits/top_ups.rb +67 -20
  205. data/lib/orb/resources/customers/credits.rb +28 -8
  206. data/lib/orb/resources/customers.rb +138 -39
  207. data/lib/orb/resources/dimensional_price_groups.rb +19 -4
  208. data/lib/orb/resources/events/backfills.rb +32 -9
  209. data/lib/orb/resources/events/volume.rb +14 -4
  210. data/lib/orb/resources/events.rb +40 -11
  211. data/lib/orb/resources/invoice_line_items.rb +16 -6
  212. data/lib/orb/resources/invoices.rb +77 -17
  213. data/lib/orb/resources/items.rb +10 -3
  214. data/lib/orb/resources/metrics.rb +33 -8
  215. data/lib/orb/resources/plans/external_plan_id.rb +10 -2
  216. data/lib/orb/resources/plans.rb +47 -11
  217. data/lib/orb/resources/prices/external_price_id.rb +9 -3
  218. data/lib/orb/resources/prices.rb +101 -26
  219. data/lib/orb/resources/subscription_changes.rb +5 -2
  220. data/lib/orb/resources/subscriptions.rb +292 -78
  221. data/lib/orb/version.rb +1 -1
  222. data/lib/orb.rb +2 -10
  223. data/rbi/{lib/orb → orb}/client.rbi +4 -4
  224. data/rbi/{lib/orb → orb}/errors.rbi +1 -1
  225. data/rbi/orb/file_part.rbi +34 -0
  226. data/rbi/{lib/orb → orb}/internal/transport/base_client.rbi +19 -5
  227. data/rbi/{lib/orb → orb}/internal/type/array_of.rbi +3 -0
  228. data/rbi/{lib/orb → orb}/internal/type/base_model.rbi +7 -1
  229. data/rbi/{lib/orb → orb}/internal/type/base_page.rbi +2 -0
  230. data/rbi/{lib/orb → orb}/internal/type/enum.rbi +3 -6
  231. data/rbi/{lib/orb/internal/type/io_like.rbi → orb/internal/type/file_input.rbi} +5 -2
  232. data/rbi/{lib/orb → orb}/internal/type/hash_of.rbi +3 -0
  233. data/rbi/{lib/orb → orb}/internal/type/request_parameters.rbi +1 -1
  234. data/rbi/{lib/orb → orb}/internal/type/union.rbi +3 -0
  235. data/rbi/{lib/orb → orb}/internal/util.rbi +28 -19
  236. data/rbi/{lib/orb → orb}/internal.rbi +0 -1
  237. data/rbi/{lib/orb → orb}/models/alert.rbi +28 -8
  238. data/rbi/{lib/orb → orb}/models/alert_create_for_customer_params.rbi +16 -6
  239. data/rbi/{lib/orb → orb}/models/alert_create_for_external_customer_params.rbi +16 -6
  240. data/rbi/{lib/orb → orb}/models/alert_create_for_subscription_params.rbi +16 -6
  241. data/rbi/{lib/orb → orb}/models/alert_disable_params.rbi +5 -2
  242. data/rbi/{lib/orb → orb}/models/alert_enable_params.rbi +5 -2
  243. data/rbi/{lib/orb → orb}/models/alert_list_params.rbi +6 -0
  244. data/rbi/{lib/orb → orb}/models/alert_update_params.rbi +11 -4
  245. data/rbi/{lib/orb → orb}/models/amount_discount.rbi +10 -4
  246. data/rbi/{lib/orb → orb}/models/billable_metric.rbi +16 -3
  247. data/rbi/{lib/orb → orb}/models/billing_cycle_relative_date.rbi +1 -1
  248. data/rbi/{lib/orb → orb}/models/coupon.rbi +10 -3
  249. data/rbi/{lib/orb → orb}/models/coupon_create_params.rbi +15 -12
  250. data/rbi/{lib/orb → orb}/models/coupon_list_params.rbi +13 -3
  251. data/rbi/{lib/orb → orb}/models/coupons/subscription_list_params.rbi +8 -2
  252. data/rbi/{lib/orb → orb}/models/credit_note.rbi +44 -12
  253. data/rbi/{lib/orb → orb}/models/credit_note_create_params.rbi +15 -6
  254. data/rbi/{lib/orb → orb}/models/credit_note_list_params.rbi +3 -0
  255. data/rbi/{lib/orb → orb}/models/customer.rbi +130 -11
  256. data/rbi/{lib/orb → orb}/models/customer_create_params.rbi +151 -17
  257. data/rbi/{lib/orb → orb}/models/customer_list_params.rbi +3 -0
  258. data/rbi/{lib/orb → orb}/models/customer_update_by_external_id_params.rbi +149 -17
  259. data/rbi/{lib/orb → orb}/models/customer_update_params.rbi +149 -17
  260. data/rbi/{lib/orb → orb}/models/customers/balance_transaction_create_params.rbi +8 -4
  261. data/rbi/{lib/orb → orb}/models/customers/balance_transaction_create_response.rbi +18 -8
  262. data/rbi/{lib/orb → orb}/models/customers/balance_transaction_list_params.rbi +3 -0
  263. data/rbi/{lib/orb → orb}/models/customers/balance_transaction_list_response.rbi +18 -8
  264. data/rbi/{lib/orb → orb}/models/customers/cost_list_by_external_id_params.rbi +9 -5
  265. data/rbi/orb/models/customers/cost_list_by_external_id_response.rbi +225 -0
  266. data/rbi/{lib/orb → orb}/models/customers/cost_list_params.rbi +9 -5
  267. data/rbi/orb/models/customers/cost_list_response.rbi +223 -0
  268. data/rbi/{lib/orb → orb}/models/customers/credit_list_by_external_id_params.rbi +13 -3
  269. data/rbi/{lib/orb → orb}/models/customers/credit_list_by_external_id_response.rbi +1 -2
  270. data/rbi/{lib/orb → orb}/models/customers/credit_list_params.rbi +13 -3
  271. data/rbi/{lib/orb → orb}/models/customers/credit_list_response.rbi +1 -2
  272. data/rbi/{lib/orb → orb}/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +40 -18
  273. data/rbi/{lib/orb/models/customers/credits/ledger_create_entry_response.rbi → orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi} +157 -170
  274. data/rbi/{lib/orb → orb}/models/customers/credits/ledger_create_entry_params.rbi +40 -6
  275. data/rbi/{lib/orb/models/customers/credits/ledger_list_response.rbi → orb/models/customers/credits/ledger_create_entry_response.rbi} +149 -196
  276. data/rbi/{lib/orb → orb}/models/customers/credits/ledger_list_by_external_id_params.rbi +6 -16
  277. data/rbi/{lib/orb → orb}/models/customers/credits/ledger_list_by_external_id_response.rbi +148 -229
  278. data/rbi/{lib/orb → orb}/models/customers/credits/ledger_list_params.rbi +6 -4
  279. data/rbi/{lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi → orb/models/customers/credits/ledger_list_response.rbi} +149 -343
  280. data/rbi/{lib/orb → orb}/models/customers/credits/top_up_create_by_external_id_params.rbi +27 -10
  281. data/rbi/{lib/orb → orb}/models/customers/credits/top_up_create_by_external_id_response.rbi +25 -10
  282. data/rbi/{lib/orb → orb}/models/customers/credits/top_up_create_params.rbi +27 -4
  283. data/rbi/{lib/orb → orb}/models/customers/credits/top_up_create_response.rbi +25 -10
  284. data/rbi/{lib/orb → orb}/models/customers/credits/top_up_list_by_external_id_params.rbi +8 -2
  285. data/rbi/{lib/orb → orb}/models/customers/credits/top_up_list_by_external_id_response.rbi +25 -10
  286. data/rbi/{lib/orb → orb}/models/customers/credits/top_up_list_params.rbi +8 -2
  287. data/rbi/{lib/orb → orb}/models/customers/credits/top_up_list_response.rbi +25 -4
  288. data/rbi/{lib/orb → orb}/models/dimensional_price_group.rbi +11 -3
  289. data/rbi/{lib/orb → orb}/models/dimensional_price_group_create_params.rbi +4 -0
  290. data/rbi/{lib/orb → orb}/models/dimensional_price_group_list_params.rbi +8 -2
  291. data/rbi/{lib/orb → orb}/models/evaluate_price_group.rbi +8 -2
  292. data/rbi/{lib/orb → orb}/models/event_deprecate_response.rbi +4 -2
  293. data/rbi/{lib/orb → orb}/models/event_ingest_params.rbi +22 -5
  294. data/rbi/{lib/orb → orb}/models/event_ingest_response.rbi +15 -4
  295. data/rbi/{lib/orb → orb}/models/event_search_params.rbi +14 -2
  296. data/rbi/{lib/orb → orb}/models/event_search_response.rbi +14 -3
  297. data/rbi/{lib/orb → orb}/models/event_update_params.rbi +10 -3
  298. data/rbi/{lib/orb → orb}/models/event_update_response.rbi +4 -2
  299. data/rbi/{lib/orb → orb}/models/events/backfill_close_response.rbi +14 -2
  300. data/rbi/{lib/orb → orb}/models/events/backfill_create_params.rbi +18 -0
  301. data/rbi/{lib/orb → orb}/models/events/backfill_create_response.rbi +14 -2
  302. data/rbi/{lib/orb → orb}/models/events/backfill_fetch_response.rbi +14 -2
  303. data/rbi/{lib/orb → orb}/models/events/backfill_list_params.rbi +8 -2
  304. data/rbi/{lib/orb → orb}/models/events/backfill_list_response.rbi +14 -2
  305. data/rbi/{lib/orb → orb}/models/events/backfill_revert_response.rbi +14 -2
  306. data/rbi/{lib/orb → orb}/models/events/event_volumes.rbi +8 -4
  307. data/rbi/{lib/orb → orb}/models/events/volume_list_params.rbi +18 -2
  308. data/rbi/{lib/orb → orb}/models/invoice.rbi +513 -202
  309. data/rbi/{lib/orb → orb}/models/invoice_create_params.rbi +38 -6
  310. data/rbi/{lib/orb → orb}/models/invoice_fetch_upcoming_response.rbi +513 -216
  311. data/rbi/{lib/orb → orb}/models/invoice_issue_params.rbi +9 -2
  312. data/rbi/{lib/orb → orb}/models/invoice_line_item_create_params.rbi +16 -2
  313. data/rbi/{lib/orb → orb}/models/invoice_line_item_create_response.rbi +279 -182
  314. data/rbi/{lib/orb → orb}/models/invoice_list_params.rbi +9 -2
  315. data/rbi/{lib/orb → orb}/models/invoice_mark_paid_params.rbi +9 -2
  316. data/rbi/{lib/orb → orb}/models/invoice_update_params.rbi +7 -2
  317. data/rbi/{lib/orb → orb}/models/item.rbi +1 -2
  318. data/rbi/{lib/orb → orb}/models/item_create_params.rbi +5 -2
  319. data/rbi/{lib/orb → orb}/models/item_list_params.rbi +8 -2
  320. data/rbi/{lib/orb → orb}/models/item_update_params.rbi +1 -8
  321. data/rbi/{lib/orb → orb}/models/metric_create_params.rbi +15 -2
  322. data/rbi/{lib/orb → orb}/models/metric_list_params.rbi +3 -0
  323. data/rbi/{lib/orb → orb}/models/metric_update_params.rbi +7 -2
  324. data/rbi/{lib/orb → orb}/models/percentage_discount.rbi +11 -4
  325. data/rbi/{lib/orb → orb}/models/plan.rbi +207 -120
  326. data/rbi/{lib/orb → orb}/models/plan_create_params.rbi +1971 -2414
  327. data/rbi/{lib/orb → orb}/models/plan_list_params.rbi +5 -1
  328. data/rbi/{lib/orb → orb}/models/plan_update_params.rbi +11 -2
  329. data/rbi/{lib/orb → orb}/models/plans/external_plan_id_update_params.rbi +11 -2
  330. data/rbi/{lib/orb → orb}/models/price.rbi +2594 -2957
  331. data/rbi/{lib/orb → orb}/models/price_create_params.rbi +137 -53
  332. data/rbi/{lib/orb → orb}/models/price_evaluate_params.rbi +10 -0
  333. data/rbi/{lib/orb → orb}/models/price_list_params.rbi +8 -2
  334. data/rbi/{lib/orb → orb}/models/price_update_params.rbi +7 -2
  335. data/rbi/{lib/orb → orb}/models/prices/external_price_id_update_params.rbi +7 -2
  336. data/rbi/{lib/orb → orb}/models/subscription.rbi +292 -129
  337. data/rbi/{lib/orb → orb}/models/subscription_cancel_params.rbi +8 -5
  338. data/rbi/{lib/orb → orb}/models/subscription_cancel_response.rbi +305 -132
  339. data/rbi/{lib/orb → orb}/models/subscription_change_apply_params.rbi +7 -2
  340. data/rbi/{lib/orb → orb}/models/subscription_change_apply_response.rbi +317 -136
  341. data/rbi/{lib/orb → orb}/models/subscription_change_cancel_response.rbi +317 -136
  342. data/rbi/{lib/orb → orb}/models/subscription_change_retrieve_response.rbi +317 -136
  343. data/rbi/{lib/orb → orb}/models/subscription_create_params.rbi +4271 -4270
  344. data/rbi/{lib/orb → orb}/models/subscription_create_response.rbi +305 -132
  345. data/rbi/{lib/orb → orb}/models/subscription_fetch_costs_params.rbi +9 -5
  346. data/rbi/orb/models/subscription_fetch_costs_response.rbi +221 -0
  347. data/rbi/{lib/orb → orb}/models/subscription_fetch_schedule_params.rbi +3 -0
  348. data/rbi/{lib/orb → orb}/models/subscription_fetch_schedule_response.rbi +8 -2
  349. data/rbi/{lib/orb → orb}/models/subscription_fetch_usage_params.rbi +13 -4
  350. data/rbi/{lib/orb → orb}/models/subscription_list_params.rbi +4 -2
  351. data/rbi/{lib/orb → orb}/models/subscription_price_intervals_params.rbi +2354 -2317
  352. data/rbi/{lib/orb → orb}/models/subscription_price_intervals_response.rbi +305 -132
  353. data/rbi/{lib/orb → orb}/models/subscription_schedule_plan_change_params.rbi +4280 -3758
  354. data/rbi/{lib/orb → orb}/models/subscription_schedule_plan_change_response.rbi +305 -132
  355. data/rbi/{lib/orb → orb}/models/subscription_trigger_phase_params.rbi +10 -2
  356. data/rbi/{lib/orb → orb}/models/subscription_trigger_phase_response.rbi +305 -132
  357. data/rbi/{lib/orb → orb}/models/subscription_unschedule_cancellation_response.rbi +305 -132
  358. data/rbi/{lib/orb → orb}/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +5 -2
  359. data/rbi/{lib/orb → orb}/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +305 -138
  360. data/rbi/{lib/orb → orb}/models/subscription_unschedule_pending_plan_changes_response.rbi +305 -132
  361. data/rbi/{lib/orb → orb}/models/subscription_update_fixed_fee_quantity_params.rbi +11 -2
  362. data/rbi/{lib/orb → orb}/models/subscription_update_fixed_fee_quantity_response.rbi +305 -132
  363. data/rbi/{lib/orb → orb}/models/subscription_update_params.rbi +15 -0
  364. data/rbi/{lib/orb → orb}/models/subscription_update_trial_params.rbi +11 -5
  365. data/rbi/{lib/orb → orb}/models/subscription_update_trial_response.rbi +305 -132
  366. data/rbi/{lib/orb → orb}/models/subscription_usage.rbi +2 -16
  367. data/rbi/{lib/orb → orb}/models/trial_discount.rbi +5 -1
  368. data/rbi/{lib/orb → orb}/models/usage_discount.rbi +11 -3
  369. data/rbi/orb/models.rbi +220 -0
  370. data/rbi/{lib/orb → orb}/request_options.rbi +2 -0
  371. data/rbi/{lib/orb → orb}/resources/alerts.rbi +8 -14
  372. data/rbi/{lib/orb → orb}/resources/coupons/subscriptions.rbi +1 -1
  373. data/rbi/{lib/orb → orb}/resources/coupons.rbi +6 -18
  374. data/rbi/{lib/orb → orb}/resources/credit_notes.rbi +3 -9
  375. data/rbi/{lib/orb → orb}/resources/customers/balance_transactions.rbi +2 -2
  376. data/rbi/{lib/orb → orb}/resources/customers/costs.rbi +2 -2
  377. data/rbi/{lib/orb → orb}/resources/customers/credits/ledger.rbi +32 -32
  378. data/rbi/{lib/orb → orb}/resources/customers/credits/top_ups.rbi +6 -18
  379. data/rbi/{lib/orb → orb}/resources/customers/credits.rbi +2 -2
  380. data/rbi/{lib/orb → orb}/resources/customers.rbi +15 -45
  381. data/rbi/{lib/orb → orb}/resources/dimensional_price_groups/external_dimensional_price_group_id.rbi +1 -4
  382. data/rbi/{lib/orb → orb}/resources/dimensional_price_groups.rbi +3 -10
  383. data/rbi/{lib/orb → orb}/resources/events/backfills.rbi +5 -18
  384. data/rbi/{lib/orb → orb}/resources/events/volume.rbi +1 -1
  385. data/rbi/{lib/orb → orb}/resources/events.rbi +4 -10
  386. data/rbi/{lib/orb → orb}/resources/invoice_line_items.rbi +1 -1
  387. data/rbi/{lib/orb → orb}/resources/invoices.rbi +9 -34
  388. data/rbi/{lib/orb → orb}/resources/items.rbi +4 -17
  389. data/rbi/{lib/orb → orb}/resources/metrics.rbi +4 -10
  390. data/rbi/{lib/orb → orb}/resources/plans/external_plan_id.rbi +2 -8
  391. data/rbi/{lib/orb → orb}/resources/plans.rbi +29 -35
  392. data/rbi/orb/resources/prices/external_price_id.rbi +103 -0
  393. data/rbi/{lib/orb → orb}/resources/prices.rbi +117 -124
  394. data/rbi/{lib/orb → orb}/resources/subscription_changes.rbi +3 -9
  395. data/rbi/{lib/orb → orb}/resources/subscriptions.rbi +16 -32
  396. data/rbi/{lib/orb → orb}/resources/top_level.rbi +1 -4
  397. data/sig/orb/file_part.rbs +21 -0
  398. data/sig/orb/internal/transport/base_client.rbs +9 -3
  399. data/sig/orb/internal/type/array_of.rbs +2 -0
  400. data/sig/orb/internal/type/base_model.rbs +4 -0
  401. data/sig/orb/internal/type/enum.rbs +2 -2
  402. data/sig/orb/internal/type/{io_like.rbs → file_input.rbs} +1 -1
  403. data/sig/orb/internal/type/hash_of.rbs +2 -0
  404. data/sig/orb/internal/type/union.rbs +2 -0
  405. data/sig/orb/internal/util.rbs +16 -12
  406. data/sig/orb/models/coupon_create_params.rbs +9 -10
  407. data/sig/orb/models/customer_create_params.rbs +9 -10
  408. data/sig/orb/models/customer_update_by_external_id_params.rbs +9 -10
  409. data/sig/orb/models/customer_update_params.rbs +9 -10
  410. data/sig/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbs +113 -113
  411. data/sig/orb/models/customers/credits/ledger_create_entry_response.rbs +113 -113
  412. data/sig/orb/models/customers/credits/ledger_list_by_external_id_response.rbs +113 -113
  413. data/sig/orb/models/customers/credits/ledger_list_response.rbs +113 -113
  414. data/sig/orb/models/invoice.rbs +54 -54
  415. data/sig/orb/models/invoice_fetch_upcoming_response.rbs +54 -54
  416. data/sig/orb/models/invoice_line_item_create_response.rbs +54 -54
  417. data/sig/orb/models/plan.rbs +21 -21
  418. data/sig/orb/models/plan_create_params.rbs +653 -653
  419. data/sig/orb/models/price.rbs +1517 -1521
  420. data/sig/orb/models/subscription.rbs +34 -34
  421. data/sig/orb/models/subscription_cancel_response.rbs +34 -34
  422. data/sig/orb/models/subscription_change_apply_response.rbs +34 -34
  423. data/sig/orb/models/subscription_change_cancel_response.rbs +34 -34
  424. data/sig/orb/models/subscription_change_retrieve_response.rbs +34 -34
  425. data/sig/orb/models/subscription_create_params.rbs +1348 -1348
  426. data/sig/orb/models/subscription_create_response.rbs +34 -34
  427. data/sig/orb/models/subscription_price_intervals_params.rbs +767 -769
  428. data/sig/orb/models/subscription_price_intervals_response.rbs +34 -34
  429. data/sig/orb/models/subscription_schedule_plan_change_params.rbs +1348 -1348
  430. data/sig/orb/models/subscription_schedule_plan_change_response.rbs +34 -34
  431. data/sig/orb/models/subscription_trigger_phase_response.rbs +34 -34
  432. data/sig/orb/models/subscription_unschedule_cancellation_response.rbs +34 -34
  433. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbs +34 -34
  434. data/sig/orb/models/subscription_unschedule_pending_plan_changes_response.rbs +34 -34
  435. data/sig/orb/models/subscription_update_fixed_fee_quantity_response.rbs +34 -34
  436. data/sig/orb/models/subscription_update_trial_response.rbs +34 -34
  437. data/sig/orb/models.rbs +215 -0
  438. metadata +230 -224
  439. data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +0 -208
  440. data/rbi/lib/orb/models/customers/cost_list_response.rbi +0 -206
  441. data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +0 -204
  442. data/rbi/lib/orb/resources/prices/external_price_id.rbi +0 -106
  443. /data/rbi/{lib/orb → orb}/internal/page.rbi +0 -0
  444. /data/rbi/{lib/orb → orb}/internal/transport/pooled_net_requester.rbi +0 -0
  445. /data/rbi/{lib/orb → orb}/internal/type/boolean.rbi +0 -0
  446. /data/rbi/{lib/orb → orb}/internal/type/converter.rbi +0 -0
  447. /data/rbi/{lib/orb → orb}/internal/type/unknown.rbi +0 -0
  448. /data/rbi/{lib/orb → orb}/models/alert_retrieve_params.rbi +0 -0
  449. /data/rbi/{lib/orb → orb}/models/coupon_archive_params.rbi +0 -0
  450. /data/rbi/{lib/orb → orb}/models/coupon_fetch_params.rbi +0 -0
  451. /data/rbi/{lib/orb → orb}/models/credit_note_fetch_params.rbi +0 -0
  452. /data/rbi/{lib/orb → orb}/models/customer_delete_params.rbi +0 -0
  453. /data/rbi/{lib/orb → orb}/models/customer_fetch_by_external_id_params.rbi +0 -0
  454. /data/rbi/{lib/orb → orb}/models/customer_fetch_params.rbi +0 -0
  455. /data/rbi/{lib/orb → orb}/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbi +0 -0
  456. /data/rbi/{lib/orb → orb}/models/customer_sync_payment_methods_from_gateway_params.rbi +0 -0
  457. /data/rbi/{lib/orb → orb}/models/customers/credits/top_up_delete_by_external_id_params.rbi +0 -0
  458. /data/rbi/{lib/orb → orb}/models/customers/credits/top_up_delete_params.rbi +0 -0
  459. /data/rbi/{lib/orb → orb}/models/dimensional_price_group_retrieve_params.rbi +0 -0
  460. /data/rbi/{lib/orb → orb}/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbi +0 -0
  461. /data/rbi/{lib/orb → orb}/models/dimensional_price_groups.rbi +0 -0
  462. /data/rbi/{lib/orb → orb}/models/discount.rbi +0 -0
  463. /data/rbi/{lib/orb → orb}/models/event_deprecate_params.rbi +0 -0
  464. /data/rbi/{lib/orb → orb}/models/events/backfill_close_params.rbi +0 -0
  465. /data/rbi/{lib/orb → orb}/models/events/backfill_fetch_params.rbi +0 -0
  466. /data/rbi/{lib/orb → orb}/models/events/backfill_revert_params.rbi +0 -0
  467. /data/rbi/{lib/orb → orb}/models/invoice_fetch_params.rbi +0 -0
  468. /data/rbi/{lib/orb → orb}/models/invoice_fetch_upcoming_params.rbi +0 -0
  469. /data/rbi/{lib/orb → orb}/models/invoice_level_discount.rbi +0 -0
  470. /data/rbi/{lib/orb → orb}/models/invoice_pay_params.rbi +0 -0
  471. /data/rbi/{lib/orb → orb}/models/invoice_void_params.rbi +0 -0
  472. /data/rbi/{lib/orb → orb}/models/item_fetch_params.rbi +0 -0
  473. /data/rbi/{lib/orb → orb}/models/metric_fetch_params.rbi +0 -0
  474. /data/rbi/{lib/orb → orb}/models/pagination_metadata.rbi +0 -0
  475. /data/rbi/{lib/orb → orb}/models/plan_fetch_params.rbi +0 -0
  476. /data/rbi/{lib/orb → orb}/models/plans/external_plan_id_fetch_params.rbi +0 -0
  477. /data/rbi/{lib/orb → orb}/models/price_evaluate_response.rbi +0 -0
  478. /data/rbi/{lib/orb → orb}/models/price_fetch_params.rbi +0 -0
  479. /data/rbi/{lib/orb → orb}/models/prices/external_price_id_fetch_params.rbi +0 -0
  480. /data/rbi/{lib/orb → orb}/models/subscription_change_cancel_params.rbi +0 -0
  481. /data/rbi/{lib/orb → orb}/models/subscription_change_retrieve_params.rbi +0 -0
  482. /data/rbi/{lib/orb → orb}/models/subscription_fetch_params.rbi +0 -0
  483. /data/rbi/{lib/orb → orb}/models/subscription_unschedule_cancellation_params.rbi +0 -0
  484. /data/rbi/{lib/orb → orb}/models/subscription_unschedule_pending_plan_changes_params.rbi +0 -0
  485. /data/rbi/{lib/orb → orb}/models/subscriptions.rbi +0 -0
  486. /data/rbi/{lib/orb → orb}/models/top_level_ping_params.rbi +0 -0
  487. /data/rbi/{lib/orb → orb}/models/top_level_ping_response.rbi +0 -0
  488. /data/rbi/{lib/orb → orb}/version.rbi +0 -0
@@ -0,0 +1,34 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ class FilePart
5
+ sig { returns(T.any(Pathname, StringIO, IO, String)) }
6
+ attr_reader :content
7
+
8
+ sig { returns(T.nilable(String)) }
9
+ attr_reader :content_type
10
+
11
+ sig { returns(T.nilable(String)) }
12
+ attr_reader :filename
13
+
14
+ # @api private
15
+ sig { returns(String) }
16
+ private def read; end
17
+
18
+ sig { params(a: T.anything).returns(String) }
19
+ def to_json(*a); end
20
+
21
+ sig { params(a: T.anything).returns(String) }
22
+ def to_yaml(*a); end
23
+
24
+ sig do
25
+ params(
26
+ content: T.any(Pathname, StringIO, IO, String),
27
+ filename: T.nilable(String),
28
+ content_type: T.nilable(String)
29
+ )
30
+ .returns(T.attached_class)
31
+ end
32
+ def self.new(content, filename: nil, content_type: nil); end
33
+ end
34
+ end
@@ -24,11 +24,18 @@ 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),
31
- options: T.nilable(T.any(Orb::RequestOptions, Orb::Internal::AnyHash))
38
+ options: T.nilable(Orb::RequestOpts)
32
39
  }
33
40
  end
34
41
 
@@ -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,11 +174,18 @@ 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),
174
- options: T.nilable(T.any(Orb::RequestOptions, Orb::Internal::AnyHash))
188
+ options: T.nilable(Orb::RequestOpts)
175
189
  )
176
190
  .returns(T.anything)
177
191
  end
@@ -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
@@ -6,7 +6,7 @@ module Orb
6
6
  # @api private
7
7
  module RequestParameters
8
8
  # Options to specify HTTP behaviour for this request.
9
- sig { returns(T.any(Orb::RequestOptions, Orb::Internal::AnyHash)) }
9
+ sig { returns(Orb::RequestOpts) }
10
10
  attr_accessor :request_options
11
11
 
12
12
  # @api private
@@ -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(
@@ -42,6 +42,10 @@ module Orb
42
42
  # @api private
43
43
  sig { params(input: T.anything).returns(T.any(T::Hash[T.anything, T.anything], T.anything)) }
44
44
  def coerce_hash(input); end
45
+
46
+ # @api private
47
+ sig { params(input: T.anything).returns(T.nilable(T::Hash[T.anything, T.anything])) }
48
+ def coerce_hash!(input); end
45
49
  end
46
50
 
47
51
  class << self
@@ -68,13 +72,19 @@ module Orb
68
72
  sig do
69
73
  params(
70
74
  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),
75
+ pick: T.nilable(
76
+ T.any(
77
+ Symbol,
78
+ Integer,
79
+ T::Array[T.any(Symbol, Integer)],
80
+ T.proc.params(arg0: T.anything).returns(T.anything)
81
+ )
82
+ ),
73
83
  blk: T.nilable(T.proc.returns(T.anything))
74
84
  )
75
85
  .returns(T.nilable(T.anything))
76
86
  end
77
- def dig(data, pick, sentinel = nil, &blk); end
87
+ def dig(data, pick, &blk); end
78
88
  end
79
89
 
80
90
  class << self
@@ -140,22 +150,6 @@ module Orb
140
150
  def normalized_headers(*headers); end
141
151
  end
142
152
 
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
153
  # @api private
160
154
  #
161
155
  # An adapter that satisfies the IO interface required by `::IO.copy_stream`
@@ -192,7 +186,22 @@ module Orb
192
186
  def writable_enum(&blk); end
193
187
  end
194
188
 
189
+ JSON_CONTENT = T.let(%r{^application/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}, Regexp)
190
+ JSONL_CONTENT = T.let(%r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}, Regexp)
191
+
195
192
  class << self
193
+ # @api private
194
+ sig do
195
+ params(
196
+ y: Enumerator::Yielder,
197
+ val: T.anything,
198
+ closing: T::Array[T.proc.void],
199
+ content_type: T.nilable(String)
200
+ )
201
+ .void
202
+ end
203
+ private def write_multipart_content(y, val:, closing:, content_type: nil); end
204
+
196
205
  # @api private
197
206
  sig do
198
207
  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(