orb-billing 0.1.0.pre.alpha.38 → 0.1.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 (409) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -2
  3. data/lib/orb/client.rb +4 -0
  4. data/lib/orb/internal/transport/base_client.rb +2 -2
  5. data/lib/orb/internal/transport/pooled_net_requester.rb +15 -6
  6. data/lib/orb/internal/type/array_of.rb +12 -2
  7. data/lib/orb/internal/type/base_model.rb +23 -22
  8. data/lib/orb/internal/type/boolean.rb +5 -1
  9. data/lib/orb/internal/type/converter.rb +62 -39
  10. data/lib/orb/internal/type/enum.rb +13 -9
  11. data/lib/orb/internal/type/hash_of.rb +6 -2
  12. data/lib/orb/internal/type/io_like.rb +75 -0
  13. data/lib/orb/internal/type/request_parameters.rb +11 -2
  14. data/lib/orb/internal/type/union.rb +7 -3
  15. data/lib/orb/internal/type/unknown.rb +5 -1
  16. data/lib/orb/internal/util.rb +81 -26
  17. data/lib/orb/models/alert.rb +9 -9
  18. data/lib/orb/models/alert_create_for_customer_params.rb +3 -3
  19. data/lib/orb/models/alert_create_for_external_customer_params.rb +3 -3
  20. data/lib/orb/models/alert_create_for_subscription_params.rb +3 -3
  21. data/lib/orb/models/alert_list_params.rb +5 -5
  22. data/lib/orb/models/alert_update_params.rb +3 -3
  23. data/lib/orb/models/amount_discount.rb +1 -1
  24. data/lib/orb/models/billable_metric.rb +7 -7
  25. data/lib/orb/models/coupon.rb +7 -7
  26. data/lib/orb/models/coupon_create_params.rb +2 -2
  27. data/lib/orb/models/coupon_list_params.rb +2 -2
  28. data/lib/orb/models/coupons/subscription_list_params.rb +1 -1
  29. data/lib/orb/models/credit_note.rb +1 -1
  30. data/lib/orb/models/credit_note_list_params.rb +5 -5
  31. data/lib/orb/models/customer.rb +232 -232
  32. data/lib/orb/models/customer_create_params.rb +223 -223
  33. data/lib/orb/models/customer_list_params.rb +5 -5
  34. data/lib/orb/models/customer_update_by_external_id_params.rb +224 -224
  35. data/lib/orb/models/customer_update_params.rb +224 -224
  36. data/lib/orb/models/customers/balance_transaction_create_response.rb +2 -2
  37. data/lib/orb/models/customers/balance_transaction_list_params.rb +5 -5
  38. data/lib/orb/models/customers/balance_transaction_list_response.rb +2 -2
  39. data/lib/orb/models/customers/cost_list_by_external_id_params.rb +6 -6
  40. data/lib/orb/models/customers/cost_list_params.rb +6 -6
  41. data/lib/orb/models/customers/credit_list_by_external_id_params.rb +2 -2
  42. data/lib/orb/models/customers/credit_list_params.rb +2 -2
  43. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rb +20 -20
  44. data/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rb +22 -22
  45. data/lib/orb/models/customers/credits/ledger_create_entry_params.rb +20 -20
  46. data/lib/orb/models/customers/credits/ledger_create_entry_response.rb +22 -22
  47. data/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rb +5 -5
  48. data/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rb +22 -22
  49. data/lib/orb/models/customers/credits/ledger_list_params.rb +5 -5
  50. data/lib/orb/models/customers/credits/ledger_list_response.rb +22 -22
  51. data/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rb +8 -8
  52. data/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rb +7 -7
  53. data/lib/orb/models/customers/credits/top_up_create_params.rb +8 -8
  54. data/lib/orb/models/customers/credits/top_up_create_response.rb +7 -7
  55. data/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rb +1 -1
  56. data/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rb +7 -7
  57. data/lib/orb/models/customers/credits/top_up_list_params.rb +1 -1
  58. data/lib/orb/models/customers/credits/top_up_list_response.rb +7 -7
  59. data/lib/orb/models/dimensional_price_group.rb +7 -7
  60. data/lib/orb/models/dimensional_price_group_create_params.rb +2 -2
  61. data/lib/orb/models/dimensional_price_group_list_params.rb +1 -1
  62. data/lib/orb/models/event_ingest_params.rb +7 -7
  63. data/lib/orb/models/event_ingest_response.rb +4 -4
  64. data/lib/orb/models/event_search_params.rb +5 -5
  65. data/lib/orb/models/event_search_response.rb +8 -8
  66. data/lib/orb/models/event_update_params.rb +4 -4
  67. data/lib/orb/models/events/backfill_close_response.rb +7 -7
  68. data/lib/orb/models/events/backfill_create_params.rb +11 -11
  69. data/lib/orb/models/events/backfill_create_response.rb +7 -7
  70. data/lib/orb/models/events/backfill_fetch_response.rb +7 -7
  71. data/lib/orb/models/events/backfill_list_params.rb +1 -1
  72. data/lib/orb/models/events/backfill_list_response.rb +7 -7
  73. data/lib/orb/models/events/backfill_revert_response.rb +7 -7
  74. data/lib/orb/models/events/event_volumes.rb +1 -1
  75. data/lib/orb/models/events/volume_list_params.rb +7 -7
  76. data/lib/orb/models/invoice.rb +270 -270
  77. data/lib/orb/models/invoice_create_params.rb +12 -11
  78. data/lib/orb/models/invoice_fetch_upcoming_response.rb +266 -266
  79. data/lib/orb/models/invoice_issue_params.rb +4 -4
  80. data/lib/orb/models/invoice_line_item_create_params.rb +1 -1
  81. data/lib/orb/models/invoice_line_item_create_response.rb +27 -27
  82. data/lib/orb/models/invoice_list_params.rb +12 -12
  83. data/lib/orb/models/invoice_update_params.rb +2 -2
  84. data/lib/orb/models/item.rb +2 -2
  85. data/lib/orb/models/item_list_params.rb +1 -1
  86. data/lib/orb/models/metric_create_params.rb +2 -2
  87. data/lib/orb/models/metric_list_params.rb +5 -5
  88. data/lib/orb/models/metric_update_params.rb +2 -2
  89. data/lib/orb/models/percentage_discount.rb +2 -2
  90. data/lib/orb/models/plan.rb +35 -35
  91. data/lib/orb/models/plan_create_params.rb +267 -267
  92. data/lib/orb/models/plan_list_params.rb +5 -5
  93. data/lib/orb/models/plan_update_params.rb +4 -4
  94. data/lib/orb/models/plans/external_plan_id_update_params.rb +4 -4
  95. data/lib/orb/models/price.rb +158 -158
  96. data/lib/orb/models/price_create_params.rb +20 -20
  97. data/lib/orb/models/price_evaluate_params.rb +4 -4
  98. data/lib/orb/models/price_list_params.rb +1 -1
  99. data/lib/orb/models/price_update_params.rb +2 -2
  100. data/lib/orb/models/prices/external_price_id_update_params.rb +2 -2
  101. data/lib/orb/models/subscription.rb +114 -87
  102. data/lib/orb/models/subscription_cancel_params.rb +3 -3
  103. data/lib/orb/models/subscription_cancel_response.rb +150 -72
  104. data/lib/orb/models/subscription_change_apply_params.rb +33 -0
  105. data/lib/orb/models/subscription_change_apply_response.rb +1372 -0
  106. data/lib/orb/models/subscription_change_cancel_params.rb +19 -0
  107. data/lib/orb/models/subscription_change_cancel_response.rb +1372 -0
  108. data/lib/orb/models/subscription_change_retrieve_params.rb +19 -0
  109. data/lib/orb/models/subscription_change_retrieve_response.rb +1372 -0
  110. data/lib/orb/models/subscription_create_params.rb +641 -641
  111. data/lib/orb/models/subscription_create_response.rb +150 -72
  112. data/lib/orb/models/subscription_fetch_costs_params.rb +6 -6
  113. data/lib/orb/models/subscription_fetch_schedule_params.rb +5 -5
  114. data/lib/orb/models/subscription_fetch_schedule_response.rb +2 -2
  115. data/lib/orb/models/subscription_fetch_usage_params.rb +8 -8
  116. data/lib/orb/models/subscription_list_params.rb +5 -5
  117. data/lib/orb/models/subscription_price_intervals_params.rb +323 -323
  118. data/lib/orb/models/subscription_price_intervals_response.rb +152 -72
  119. data/lib/orb/models/subscription_schedule_plan_change_params.rb +651 -651
  120. data/lib/orb/models/subscription_schedule_plan_change_response.rb +152 -72
  121. data/lib/orb/models/subscription_trigger_phase_params.rb +3 -3
  122. data/lib/orb/models/subscription_trigger_phase_response.rb +152 -72
  123. data/lib/orb/models/subscription_unschedule_cancellation_response.rb +152 -72
  124. data/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rb +153 -73
  125. data/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rb +152 -72
  126. data/lib/orb/models/subscription_update_fixed_fee_quantity_params.rb +8 -8
  127. data/lib/orb/models/subscription_update_fixed_fee_quantity_response.rb +152 -72
  128. data/lib/orb/models/subscription_update_params.rb +10 -10
  129. data/lib/orb/models/subscription_update_trial_params.rb +3 -3
  130. data/lib/orb/models/subscription_update_trial_response.rb +152 -72
  131. data/lib/orb/models/trial_discount.rb +1 -1
  132. data/lib/orb/models/usage_discount.rb +2 -2
  133. data/lib/orb/request_options.rb +7 -7
  134. data/lib/orb/resources/alerts.rb +38 -38
  135. data/lib/orb/resources/coupons/subscriptions.rb +3 -3
  136. data/lib/orb/resources/coupons.rb +9 -9
  137. data/lib/orb/resources/credit_notes.rb +8 -8
  138. data/lib/orb/resources/customers/balance_transactions.rb +26 -26
  139. data/lib/orb/resources/customers/costs.rb +232 -232
  140. data/lib/orb/resources/customers/credits/ledger.rb +344 -344
  141. data/lib/orb/resources/customers/credits/top_ups.rb +12 -12
  142. data/lib/orb/resources/customers/credits.rb +8 -8
  143. data/lib/orb/resources/customers.rb +59 -59
  144. data/lib/orb/resources/dimensional_price_groups.rb +6 -6
  145. data/lib/orb/resources/events/backfills.rb +49 -49
  146. data/lib/orb/resources/events/volume.rb +10 -10
  147. data/lib/orb/resources/events.rb +295 -295
  148. data/lib/orb/resources/invoice_line_items.rb +1 -1
  149. data/lib/orb/resources/invoices.rb +38 -38
  150. data/lib/orb/resources/items.rb +1 -1
  151. data/lib/orb/resources/metrics.rb +11 -11
  152. data/lib/orb/resources/plans/external_plan_id.rb +14 -14
  153. data/lib/orb/resources/plans.rb +22 -22
  154. data/lib/orb/resources/prices/external_price_id.rb +4 -4
  155. data/lib/orb/resources/prices.rb +30 -30
  156. data/lib/orb/resources/subscription_changes.rb +87 -0
  157. data/lib/orb/resources/subscriptions.rb +813 -813
  158. data/lib/orb/resources/top_level.rb +4 -4
  159. data/lib/orb/version.rb +1 -1
  160. data/lib/orb.rb +8 -0
  161. data/rbi/lib/orb/client.rbi +5 -4
  162. data/rbi/lib/orb/errors.rbi +3 -6
  163. data/rbi/lib/orb/internal/page.rbi +3 -6
  164. data/rbi/lib/orb/internal/transport/base_client.rbi +13 -27
  165. data/rbi/lib/orb/internal/transport/pooled_net_requester.rbi +8 -14
  166. data/rbi/lib/orb/internal/type/array_of.rbi +14 -18
  167. data/rbi/lib/orb/internal/type/base_model.rbi +51 -66
  168. data/rbi/lib/orb/internal/type/base_page.rbi +5 -10
  169. data/rbi/lib/orb/internal/type/boolean.rbi +12 -10
  170. data/rbi/lib/orb/internal/type/converter.rbi +44 -37
  171. data/rbi/lib/orb/internal/type/enum.rbi +24 -21
  172. data/rbi/lib/orb/internal/type/hash_of.rbi +13 -18
  173. data/rbi/lib/orb/internal/type/io_like.rbi +49 -0
  174. data/rbi/lib/orb/internal/type/request_parameters.rbi +1 -2
  175. data/rbi/lib/orb/internal/type/union.rbi +19 -21
  176. data/rbi/lib/orb/internal/type/unknown.rbi +10 -9
  177. data/rbi/lib/orb/internal/util.rbi +67 -70
  178. data/rbi/lib/orb/internal.rbi +1 -1
  179. data/rbi/lib/orb/models/alert.rbi +21 -33
  180. data/rbi/lib/orb/models/alert_create_for_customer_params.rbi +8 -13
  181. data/rbi/lib/orb/models/alert_create_for_external_customer_params.rbi +8 -13
  182. data/rbi/lib/orb/models/alert_create_for_subscription_params.rbi +8 -13
  183. data/rbi/lib/orb/models/alert_disable_params.rbi +2 -4
  184. data/rbi/lib/orb/models/alert_enable_params.rbi +2 -4
  185. data/rbi/lib/orb/models/alert_list_params.rbi +3 -6
  186. data/rbi/lib/orb/models/alert_retrieve_params.rbi +2 -4
  187. data/rbi/lib/orb/models/alert_update_params.rbi +7 -11
  188. data/rbi/lib/orb/models/amount_discount.rbi +4 -7
  189. data/rbi/lib/orb/models/billable_metric.rbi +10 -13
  190. data/rbi/lib/orb/models/billing_cycle_relative_date.rbi +1 -2
  191. data/rbi/lib/orb/models/coupon.rbi +9 -11
  192. data/rbi/lib/orb/models/coupon_archive_params.rbi +2 -4
  193. data/rbi/lib/orb/models/coupon_create_params.rbi +8 -14
  194. data/rbi/lib/orb/models/coupon_fetch_params.rbi +2 -4
  195. data/rbi/lib/orb/models/coupon_list_params.rbi +3 -4
  196. data/rbi/lib/orb/models/coupons/subscription_list_params.rbi +3 -5
  197. data/rbi/lib/orb/models/credit_note.rbi +22 -45
  198. data/rbi/lib/orb/models/credit_note_create_params.rbi +5 -10
  199. data/rbi/lib/orb/models/credit_note_fetch_params.rbi +2 -4
  200. data/rbi/lib/orb/models/credit_note_list_params.rbi +3 -6
  201. data/rbi/lib/orb/models/customer.rbi +256 -281
  202. data/rbi/lib/orb/models/customer_create_params.rbi +251 -276
  203. data/rbi/lib/orb/models/customer_delete_params.rbi +2 -4
  204. data/rbi/lib/orb/models/customer_fetch_by_external_id_params.rbi +2 -4
  205. data/rbi/lib/orb/models/customer_fetch_params.rbi +2 -4
  206. data/rbi/lib/orb/models/customer_list_params.rbi +3 -6
  207. data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_by_external_customer_id_params.rbi +2 -4
  208. data/rbi/lib/orb/models/customer_sync_payment_methods_from_gateway_params.rbi +2 -4
  209. data/rbi/lib/orb/models/customer_update_by_external_id_params.rbi +252 -277
  210. data/rbi/lib/orb/models/customer_update_params.rbi +252 -277
  211. data/rbi/lib/orb/models/customers/balance_transaction_create_params.rbi +3 -6
  212. data/rbi/lib/orb/models/customers/balance_transaction_create_response.rbi +10 -19
  213. data/rbi/lib/orb/models/customers/balance_transaction_list_params.rbi +3 -6
  214. data/rbi/lib/orb/models/customers/balance_transaction_list_response.rbi +10 -19
  215. data/rbi/lib/orb/models/customers/cost_list_by_external_id_params.rbi +8 -10
  216. data/rbi/lib/orb/models/customers/cost_list_by_external_id_response.rbi +6 -12
  217. data/rbi/lib/orb/models/customers/cost_list_params.rbi +8 -10
  218. data/rbi/lib/orb/models/customers/cost_list_response.rbi +6 -12
  219. data/rbi/lib/orb/models/customers/credit_list_by_external_id_params.rbi +3 -4
  220. data/rbi/lib/orb/models/customers/credit_list_by_external_id_response.rbi +2 -4
  221. data/rbi/lib/orb/models/customers/credit_list_params.rbi +3 -4
  222. data/rbi/lib/orb/models/customers/credit_list_response.rbi +2 -4
  223. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_params.rbi +26 -33
  224. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_by_external_id_response.rbi +79 -136
  225. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_params.rbi +26 -33
  226. data/rbi/lib/orb/models/customers/credits/ledger_create_entry_response.rbi +78 -135
  227. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_params.rbi +5 -10
  228. data/rbi/lib/orb/models/customers/credits/ledger_list_by_external_id_response.rbi +79 -136
  229. data/rbi/lib/orb/models/customers/credits/ledger_list_params.rbi +5 -10
  230. data/rbi/lib/orb/models/customers/credits/ledger_list_response.rbi +74 -131
  231. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_params.rbi +13 -19
  232. data/rbi/lib/orb/models/customers/credits/top_up_create_by_external_id_response.rbi +12 -18
  233. data/rbi/lib/orb/models/customers/credits/top_up_create_params.rbi +13 -19
  234. data/rbi/lib/orb/models/customers/credits/top_up_create_response.rbi +12 -18
  235. data/rbi/lib/orb/models/customers/credits/top_up_delete_by_external_id_params.rbi +2 -4
  236. data/rbi/lib/orb/models/customers/credits/top_up_delete_params.rbi +2 -4
  237. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_params.rbi +3 -5
  238. data/rbi/lib/orb/models/customers/credits/top_up_list_by_external_id_response.rbi +12 -18
  239. data/rbi/lib/orb/models/customers/credits/top_up_list_params.rbi +3 -5
  240. data/rbi/lib/orb/models/customers/credits/top_up_list_response.rbi +12 -18
  241. data/rbi/lib/orb/models/dimensional_price_group.rbi +8 -9
  242. data/rbi/lib/orb/models/dimensional_price_group_create_params.rbi +4 -7
  243. data/rbi/lib/orb/models/dimensional_price_group_list_params.rbi +3 -5
  244. data/rbi/lib/orb/models/dimensional_price_group_retrieve_params.rbi +2 -4
  245. data/rbi/lib/orb/models/dimensional_price_groups/external_dimensional_price_group_id_retrieve_params.rbi +2 -4
  246. data/rbi/lib/orb/models/dimensional_price_groups.rbi +2 -4
  247. data/rbi/lib/orb/models/discount.rbi +1 -2
  248. data/rbi/lib/orb/models/evaluate_price_group.rbi +3 -6
  249. data/rbi/lib/orb/models/event_deprecate_params.rbi +2 -4
  250. data/rbi/lib/orb/models/event_deprecate_response.rbi +2 -4
  251. data/rbi/lib/orb/models/event_ingest_params.rbi +10 -13
  252. data/rbi/lib/orb/models/event_ingest_response.rbi +10 -16
  253. data/rbi/lib/orb/models/event_search_params.rbi +7 -9
  254. data/rbi/lib/orb/models/event_search_response.rbi +11 -14
  255. data/rbi/lib/orb/models/event_update_params.rbi +5 -6
  256. data/rbi/lib/orb/models/event_update_response.rbi +2 -4
  257. data/rbi/lib/orb/models/events/backfill_close_params.rbi +2 -4
  258. data/rbi/lib/orb/models/events/backfill_close_response.rbi +10 -14
  259. data/rbi/lib/orb/models/events/backfill_create_params.rbi +13 -16
  260. data/rbi/lib/orb/models/events/backfill_create_response.rbi +10 -14
  261. data/rbi/lib/orb/models/events/backfill_fetch_params.rbi +2 -4
  262. data/rbi/lib/orb/models/events/backfill_fetch_response.rbi +10 -14
  263. data/rbi/lib/orb/models/events/backfill_list_params.rbi +3 -5
  264. data/rbi/lib/orb/models/events/backfill_list_response.rbi +10 -14
  265. data/rbi/lib/orb/models/events/backfill_revert_params.rbi +2 -4
  266. data/rbi/lib/orb/models/events/backfill_revert_response.rbi +10 -14
  267. data/rbi/lib/orb/models/events/event_volumes.rbi +5 -9
  268. data/rbi/lib/orb/models/events/volume_list_params.rbi +9 -11
  269. data/rbi/lib/orb/models/invoice.rbi +388 -465
  270. data/rbi/lib/orb/models/invoice_create_params.rbi +19 -26
  271. data/rbi/lib/orb/models/invoice_fetch_params.rbi +2 -4
  272. data/rbi/lib/orb/models/invoice_fetch_upcoming_params.rbi +2 -4
  273. data/rbi/lib/orb/models/invoice_fetch_upcoming_response.rbi +381 -460
  274. data/rbi/lib/orb/models/invoice_issue_params.rbi +6 -8
  275. data/rbi/lib/orb/models/invoice_level_discount.rbi +1 -2
  276. data/rbi/lib/orb/models/invoice_line_item_create_params.rbi +3 -5
  277. data/rbi/lib/orb/models/invoice_line_item_create_response.rbi +101 -143
  278. data/rbi/lib/orb/models/invoice_list_params.rbi +8 -13
  279. data/rbi/lib/orb/models/invoice_mark_paid_params.rbi +2 -4
  280. data/rbi/lib/orb/models/invoice_pay_params.rbi +2 -4
  281. data/rbi/lib/orb/models/invoice_update_params.rbi +4 -6
  282. data/rbi/lib/orb/models/invoice_void_params.rbi +2 -4
  283. data/rbi/lib/orb/models/item.rbi +7 -12
  284. data/rbi/lib/orb/models/item_create_params.rbi +2 -4
  285. data/rbi/lib/orb/models/item_fetch_params.rbi +2 -4
  286. data/rbi/lib/orb/models/item_list_params.rbi +3 -5
  287. data/rbi/lib/orb/models/item_update_params.rbi +5 -10
  288. data/rbi/lib/orb/models/metric_create_params.rbi +4 -6
  289. data/rbi/lib/orb/models/metric_fetch_params.rbi +2 -4
  290. data/rbi/lib/orb/models/metric_list_params.rbi +3 -6
  291. data/rbi/lib/orb/models/metric_update_params.rbi +4 -6
  292. data/rbi/lib/orb/models/pagination_metadata.rbi +2 -4
  293. data/rbi/lib/orb/models/percentage_discount.rbi +5 -8
  294. data/rbi/lib/orb/models/plan.rbi +180 -219
  295. data/rbi/lib/orb/models/plan_create_params.rbi +670 -951
  296. data/rbi/lib/orb/models/plan_fetch_params.rbi +2 -4
  297. data/rbi/lib/orb/models/plan_list_params.rbi +4 -8
  298. data/rbi/lib/orb/models/plan_update_params.rbi +6 -8
  299. data/rbi/lib/orb/models/plans/external_plan_id_fetch_params.rbi +2 -4
  300. data/rbi/lib/orb/models/plans/external_plan_id_update_params.rbi +6 -8
  301. data/rbi/lib/orb/models/price.rbi +827 -1494
  302. data/rbi/lib/orb/models/price_create_params.rbi +60 -101
  303. data/rbi/lib/orb/models/price_evaluate_params.rbi +6 -9
  304. data/rbi/lib/orb/models/price_evaluate_response.rbi +2 -4
  305. data/rbi/lib/orb/models/price_fetch_params.rbi +2 -4
  306. data/rbi/lib/orb/models/price_list_params.rbi +3 -5
  307. data/rbi/lib/orb/models/price_update_params.rbi +4 -6
  308. data/rbi/lib/orb/models/prices/external_price_id_fetch_params.rbi +2 -4
  309. data/rbi/lib/orb/models/prices/external_price_id_update_params.rbi +4 -6
  310. data/rbi/lib/orb/models/subscription.rbi +167 -187
  311. data/rbi/lib/orb/models/subscription_cancel_params.rbi +5 -7
  312. data/rbi/lib/orb/models/subscription_cancel_response.rbi +224 -178
  313. data/rbi/lib/orb/models/subscription_change_apply_params.rbi +40 -0
  314. data/rbi/lib/orb/models/subscription_change_apply_response.rbi +1554 -0
  315. data/rbi/lib/orb/models/subscription_change_cancel_params.rbi +18 -0
  316. data/rbi/lib/orb/models/subscription_change_cancel_response.rbi +1565 -0
  317. data/rbi/lib/orb/models/subscription_change_retrieve_params.rbi +18 -0
  318. data/rbi/lib/orb/models/subscription_change_retrieve_response.rbi +1581 -0
  319. data/rbi/lib/orb/models/subscription_create_params.rbi +1372 -1968
  320. data/rbi/lib/orb/models/subscription_create_response.rbi +224 -178
  321. data/rbi/lib/orb/models/subscription_fetch_costs_params.rbi +8 -10
  322. data/rbi/lib/orb/models/subscription_fetch_costs_response.rbi +6 -12
  323. data/rbi/lib/orb/models/subscription_fetch_params.rbi +2 -4
  324. data/rbi/lib/orb/models/subscription_fetch_schedule_params.rbi +3 -6
  325. data/rbi/lib/orb/models/subscription_fetch_schedule_response.rbi +6 -10
  326. data/rbi/lib/orb/models/subscription_fetch_usage_params.rbi +12 -17
  327. data/rbi/lib/orb/models/subscription_list_params.rbi +4 -8
  328. data/rbi/lib/orb/models/subscription_price_intervals_params.rbi +772 -1124
  329. data/rbi/lib/orb/models/subscription_price_intervals_response.rbi +228 -178
  330. data/rbi/lib/orb/models/subscription_schedule_plan_change_params.rbi +1396 -1993
  331. data/rbi/lib/orb/models/subscription_schedule_plan_change_response.rbi +238 -182
  332. data/rbi/lib/orb/models/subscription_trigger_phase_params.rbi +5 -7
  333. data/rbi/lib/orb/models/subscription_trigger_phase_response.rbi +224 -178
  334. data/rbi/lib/orb/models/subscription_unschedule_cancellation_params.rbi +2 -4
  335. data/rbi/lib/orb/models/subscription_unschedule_cancellation_response.rbi +238 -182
  336. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_params.rbi +2 -4
  337. data/rbi/lib/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbi +265 -199
  338. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_params.rbi +2 -4
  339. data/rbi/lib/orb/models/subscription_unschedule_pending_plan_changes_response.rbi +264 -198
  340. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_params.rbi +11 -15
  341. data/rbi/lib/orb/models/subscription_update_fixed_fee_quantity_response.rbi +238 -182
  342. data/rbi/lib/orb/models/subscription_update_params.rbi +12 -15
  343. data/rbi/lib/orb/models/subscription_update_trial_params.rbi +6 -9
  344. data/rbi/lib/orb/models/subscription_update_trial_response.rbi +224 -178
  345. data/rbi/lib/orb/models/subscription_usage.rbi +24 -43
  346. data/rbi/lib/orb/models/subscriptions.rbi +2 -4
  347. data/rbi/lib/orb/models/top_level_ping_params.rbi +2 -4
  348. data/rbi/lib/orb/models/top_level_ping_response.rbi +2 -4
  349. data/rbi/lib/orb/models/trial_discount.rbi +4 -8
  350. data/rbi/lib/orb/models/usage_discount.rbi +5 -8
  351. data/rbi/lib/orb/request_options.rbi +9 -11
  352. data/rbi/lib/orb/resources/alerts.rbi +44 -60
  353. data/rbi/lib/orb/resources/coupons/subscriptions.rbi +6 -9
  354. data/rbi/lib/orb/resources/coupons.rbi +18 -25
  355. data/rbi/lib/orb/resources/credit_notes.rbi +9 -15
  356. data/rbi/lib/orb/resources/customers/balance_transactions.rbi +26 -31
  357. data/rbi/lib/orb/resources/customers/costs.rbi +241 -246
  358. data/rbi/lib/orb/resources/customers/credits/ledger.rbi +387 -396
  359. data/rbi/lib/orb/resources/customers/credits/top_ups.rbi +29 -40
  360. data/rbi/lib/orb/resources/customers/credits.rbi +15 -20
  361. data/rbi/lib/orb/resources/customers.rbi +407 -417
  362. data/rbi/lib/orb/resources/dimensional_price_groups/external_dimensional_price_group_id.rbi +2 -4
  363. data/rbi/lib/orb/resources/dimensional_price_groups.rbi +13 -19
  364. data/rbi/lib/orb/resources/events/backfills.rbi +61 -69
  365. data/rbi/lib/orb/resources/events/volume.rbi +19 -22
  366. data/rbi/lib/orb/resources/events.rbi +311 -319
  367. data/rbi/lib/orb/resources/invoice_line_items.rbi +4 -7
  368. data/rbi/lib/orb/resources/invoices.rbi +62 -76
  369. data/rbi/lib/orb/resources/items.rbi +7 -14
  370. data/rbi/lib/orb/resources/metrics.rbi +17 -25
  371. data/rbi/lib/orb/resources/plans/external_plan_id.rbi +21 -25
  372. data/rbi/lib/orb/resources/plans.rbi +63 -71
  373. data/rbi/lib/orb/resources/prices/external_price_id.rbi +9 -13
  374. data/rbi/lib/orb/resources/prices.rbi +77 -87
  375. data/rbi/lib/orb/resources/subscription_changes.rbi +61 -0
  376. data/rbi/lib/orb/resources/subscriptions.rbi +933 -963
  377. data/rbi/lib/orb/resources/top_level.rbi +6 -8
  378. data/sig/orb/client.rbs +2 -0
  379. data/sig/orb/internal/transport/pooled_net_requester.rbs +1 -1
  380. data/sig/orb/internal/type/array_of.rbs +5 -2
  381. data/sig/orb/internal/type/base_model.rbs +5 -2
  382. data/sig/orb/internal/type/boolean.rbs +5 -2
  383. data/sig/orb/internal/type/converter.rbs +11 -5
  384. data/sig/orb/internal/type/enum.rbs +5 -2
  385. data/sig/orb/internal/type/hash_of.rbs +5 -2
  386. data/sig/orb/internal/type/io_like.rbs +23 -0
  387. data/sig/orb/internal/type/union.rbs +5 -2
  388. data/sig/orb/internal/type/unknown.rbs +5 -2
  389. data/sig/orb/internal/util.rbs +17 -2
  390. data/sig/orb/models/subscription.rbs +14 -0
  391. data/sig/orb/models/subscription_cancel_response.rbs +47 -2
  392. data/sig/orb/models/subscription_change_apply_params.rbs +24 -0
  393. data/sig/orb/models/subscription_change_apply_response.rbs +784 -0
  394. data/sig/orb/models/subscription_change_cancel_params.rbs +15 -0
  395. data/sig/orb/models/subscription_change_cancel_response.rbs +784 -0
  396. data/sig/orb/models/subscription_change_retrieve_params.rbs +15 -0
  397. data/sig/orb/models/subscription_change_retrieve_response.rbs +784 -0
  398. data/sig/orb/models/subscription_create_response.rbs +47 -2
  399. data/sig/orb/models/subscription_price_intervals_response.rbs +47 -2
  400. data/sig/orb/models/subscription_schedule_plan_change_response.rbs +47 -2
  401. data/sig/orb/models/subscription_trigger_phase_response.rbs +47 -2
  402. data/sig/orb/models/subscription_unschedule_cancellation_response.rbs +47 -2
  403. data/sig/orb/models/subscription_unschedule_fixed_fee_quantity_updates_response.rbs +47 -2
  404. data/sig/orb/models/subscription_unschedule_pending_plan_changes_response.rbs +47 -2
  405. data/sig/orb/models/subscription_update_fixed_fee_quantity_response.rbs +47 -2
  406. data/sig/orb/models/subscription_update_trial_response.rbs +47 -2
  407. data/sig/orb/resources/customers.rbs +2 -2
  408. data/sig/orb/resources/subscription_changes.rbs +24 -0
  409. metadata +28 -4
@@ -0,0 +1,1565 @@
1
+ # typed: strong
2
+
3
+ module Orb
4
+ module Models
5
+ class SubscriptionChangeCancelResponse < Orb::Internal::Type::BaseModel
6
+ sig { returns(String) }
7
+ attr_accessor :id
8
+
9
+ # Subscription change will be cancelled at this time and can no longer be applied.
10
+ sig { returns(Time) }
11
+ attr_accessor :expiration_time
12
+
13
+ sig { returns(Orb::Models::SubscriptionChangeCancelResponse::Status::TaggedSymbol) }
14
+ attr_accessor :status
15
+
16
+ sig { returns(T.nilable(Orb::Models::SubscriptionChangeCancelResponse::Subscription)) }
17
+ attr_reader :subscription
18
+
19
+ sig do
20
+ params(
21
+ subscription: T.nilable(T.any(Orb::Models::SubscriptionChangeCancelResponse::Subscription, Orb::Internal::AnyHash))
22
+ )
23
+ .void
24
+ end
25
+ attr_writer :subscription
26
+
27
+ # When this change was applied.
28
+ sig { returns(T.nilable(Time)) }
29
+ attr_accessor :applied_at
30
+
31
+ # When this change was cancelled.
32
+ sig { returns(T.nilable(Time)) }
33
+ attr_accessor :cancelled_at
34
+
35
+ # A subscription change represents a desired new subscription / pending change to
36
+ # an existing subscription. It is a way to first preview the effects on the
37
+ # subscription as well as any changes/creation of invoices (see
38
+ # `subscription.changed_resources`).
39
+ sig do
40
+ params(
41
+ id: String,
42
+ expiration_time: Time,
43
+ status: Orb::Models::SubscriptionChangeCancelResponse::Status::OrSymbol,
44
+ subscription: T.nilable(T.any(Orb::Models::SubscriptionChangeCancelResponse::Subscription, Orb::Internal::AnyHash)),
45
+ applied_at: T.nilable(Time),
46
+ cancelled_at: T.nilable(Time)
47
+ )
48
+ .returns(T.attached_class)
49
+ end
50
+ def self.new(id:, expiration_time:, status:, subscription:, applied_at: nil, cancelled_at: nil); end
51
+
52
+ sig do
53
+ override
54
+ .returns(
55
+ {
56
+ id: String,
57
+ expiration_time: Time,
58
+ status: Orb::Models::SubscriptionChangeCancelResponse::Status::TaggedSymbol,
59
+ subscription: T.nilable(Orb::Models::SubscriptionChangeCancelResponse::Subscription),
60
+ applied_at: T.nilable(Time),
61
+ cancelled_at: T.nilable(Time)
62
+ }
63
+ )
64
+ end
65
+ def to_hash; end
66
+
67
+ module Status
68
+ extend Orb::Internal::Type::Enum
69
+
70
+ TaggedSymbol = T.type_alias { T.all(Symbol, Orb::Models::SubscriptionChangeCancelResponse::Status) }
71
+ OrSymbol =
72
+ T.type_alias { T.any(Symbol, String, Orb::Models::SubscriptionChangeCancelResponse::Status::TaggedSymbol) }
73
+
74
+ PENDING = T.let(:pending, Orb::Models::SubscriptionChangeCancelResponse::Status::TaggedSymbol)
75
+ APPLIED = T.let(:applied, Orb::Models::SubscriptionChangeCancelResponse::Status::TaggedSymbol)
76
+ CANCELLED = T.let(:cancelled, Orb::Models::SubscriptionChangeCancelResponse::Status::TaggedSymbol)
77
+
78
+ sig { override.returns(T::Array[Orb::Models::SubscriptionChangeCancelResponse::Status::TaggedSymbol]) }
79
+ def self.values; end
80
+ end
81
+
82
+ class Subscription < Orb::Internal::Type::BaseModel
83
+ sig { returns(String) }
84
+ attr_accessor :id
85
+
86
+ # The current plan phase that is active, only if the subscription's plan has
87
+ # phases.
88
+ sig { returns(T.nilable(Integer)) }
89
+ attr_accessor :active_plan_phase_order
90
+
91
+ # The adjustment intervals for this subscription sorted by the start_date of the
92
+ # adjustment interval.
93
+ sig { returns(T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval]) }
94
+ attr_accessor :adjustment_intervals
95
+
96
+ # Determines whether issued invoices for this subscription will automatically be
97
+ # charged with the saved payment method on the due date. This property defaults to
98
+ # the plan's behavior. If null, defaults to the customer's setting.
99
+ sig { returns(T.nilable(T::Boolean)) }
100
+ attr_accessor :auto_collection
101
+
102
+ sig { returns(Orb::Models::SubscriptionChangeCancelResponse::Subscription::BillingCycleAnchorConfiguration) }
103
+ attr_reader :billing_cycle_anchor_configuration
104
+
105
+ sig do
106
+ params(
107
+ billing_cycle_anchor_configuration: T.any(
108
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::BillingCycleAnchorConfiguration,
109
+ Orb::Internal::AnyHash
110
+ )
111
+ )
112
+ .void
113
+ end
114
+ attr_writer :billing_cycle_anchor_configuration
115
+
116
+ # The day of the month on which the billing cycle is anchored. If the maximum
117
+ # number of days in a month is greater than this value, the last day of the month
118
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
119
+ # period begins on the 30th.
120
+ sig { returns(Integer) }
121
+ attr_accessor :billing_cycle_day
122
+
123
+ sig { returns(Time) }
124
+ attr_accessor :created_at
125
+
126
+ # The end of the current billing period. This is an exclusive timestamp, such that
127
+ # the instant returned is not part of the billing period. Set to null for
128
+ # subscriptions that are not currently active.
129
+ sig { returns(T.nilable(Time)) }
130
+ attr_accessor :current_billing_period_end_date
131
+
132
+ # The start date of the current billing period. This is an inclusive timestamp;
133
+ # the instant returned is exactly the beginning of the billing period. Set to null
134
+ # if the subscription is not currently active.
135
+ sig { returns(T.nilable(Time)) }
136
+ attr_accessor :current_billing_period_start_date
137
+
138
+ # A customer is a buyer of your products, and the other party to the billing
139
+ # relationship.
140
+ #
141
+ # In Orb, customers are assigned system generated identifiers automatically, but
142
+ # it's often desirable to have these match existing identifiers in your system. To
143
+ # avoid having to denormalize Orb ID information, you can pass in an
144
+ # `external_customer_id` with your own identifier. See
145
+ # [Customer ID Aliases](/events-and-metrics/customer-aliases) for further
146
+ # information about how these aliases work in Orb.
147
+ #
148
+ # In addition to having an identifier in your system, a customer may exist in a
149
+ # payment provider solution like Stripe. Use the `payment_provider_id` and the
150
+ # `payment_provider` enum field to express this mapping.
151
+ #
152
+ # A customer also has a timezone (from the standard
153
+ # [IANA timezone database](https://www.iana.org/time-zones)), which defaults to
154
+ # your account's timezone. See [Timezone localization](/essentials/timezones) for
155
+ # information on what this timezone parameter influences within Orb.
156
+ sig { returns(Orb::Models::Customer) }
157
+ attr_reader :customer
158
+
159
+ sig { params(customer: T.any(Orb::Models::Customer, Orb::Internal::AnyHash)).void }
160
+ attr_writer :customer
161
+
162
+ # Determines the default memo on this subscriptions' invoices. Note that if this
163
+ # is not provided, it is determined by the plan configuration.
164
+ sig { returns(T.nilable(String)) }
165
+ attr_accessor :default_invoice_memo
166
+
167
+ # The discount intervals for this subscription sorted by the start_date.
168
+ sig do
169
+ returns(
170
+ T::Array[
171
+ T.any(
172
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::AmountDiscountInterval,
173
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::PercentageDiscountInterval,
174
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::UsageDiscountInterval
175
+ )
176
+ ]
177
+ )
178
+ end
179
+ attr_accessor :discount_intervals
180
+
181
+ # The date Orb stops billing for this subscription.
182
+ sig { returns(T.nilable(Time)) }
183
+ attr_accessor :end_date
184
+
185
+ sig { returns(T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::FixedFeeQuantitySchedule]) }
186
+ attr_accessor :fixed_fee_quantity_schedule
187
+
188
+ sig { returns(T.nilable(String)) }
189
+ attr_accessor :invoicing_threshold
190
+
191
+ # The maximum intervals for this subscription sorted by the start_date.
192
+ sig { returns(T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::MaximumInterval]) }
193
+ attr_accessor :maximum_intervals
194
+
195
+ # User specified key-value pairs for the resource. If not present, this defaults
196
+ # to an empty dictionary. Individual keys can be removed by setting the value to
197
+ # `null`, and the entire metadata mapping can be cleared by setting `metadata` to
198
+ # `null`.
199
+ sig { returns(T::Hash[Symbol, String]) }
200
+ attr_accessor :metadata
201
+
202
+ # The minimum intervals for this subscription sorted by the start_date.
203
+ sig { returns(T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::MinimumInterval]) }
204
+ attr_accessor :minimum_intervals
205
+
206
+ # Determines the difference between the invoice issue date for subscription
207
+ # invoices as the date that they are due. A value of `0` here represents that the
208
+ # invoice is due on issue, whereas a value of `30` represents that the customer
209
+ # has a month to pay the invoice.
210
+ sig { returns(Integer) }
211
+ attr_accessor :net_terms
212
+
213
+ # A pending subscription change if one exists on this subscription.
214
+ sig { returns(T.nilable(Orb::Models::SubscriptionChangeCancelResponse::Subscription::PendingSubscriptionChange)) }
215
+ attr_reader :pending_subscription_change
216
+
217
+ sig do
218
+ params(
219
+ pending_subscription_change: T.nilable(
220
+ T.any(
221
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::PendingSubscriptionChange,
222
+ Orb::Internal::AnyHash
223
+ )
224
+ )
225
+ )
226
+ .void
227
+ end
228
+ attr_writer :pending_subscription_change
229
+
230
+ # The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be
231
+ # subscribed to by a customer. Plans define the billing behavior of the
232
+ # subscription. You can see more about how to configure prices in the
233
+ # [Price resource](/reference/price).
234
+ sig { returns(Orb::Models::Plan) }
235
+ attr_reader :plan
236
+
237
+ sig { params(plan: T.any(Orb::Models::Plan, Orb::Internal::AnyHash)).void }
238
+ attr_writer :plan
239
+
240
+ # The price intervals for this subscription.
241
+ sig { returns(T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::PriceInterval]) }
242
+ attr_accessor :price_intervals
243
+
244
+ sig { returns(T.nilable(Orb::Models::SubscriptionChangeCancelResponse::Subscription::RedeemedCoupon)) }
245
+ attr_reader :redeemed_coupon
246
+
247
+ sig do
248
+ params(
249
+ redeemed_coupon: T.nilable(
250
+ T.any(Orb::Models::SubscriptionChangeCancelResponse::Subscription::RedeemedCoupon, Orb::Internal::AnyHash)
251
+ )
252
+ )
253
+ .void
254
+ end
255
+ attr_writer :redeemed_coupon
256
+
257
+ # The date Orb starts billing for this subscription.
258
+ sig { returns(Time) }
259
+ attr_accessor :start_date
260
+
261
+ sig { returns(Orb::Models::SubscriptionChangeCancelResponse::Subscription::Status::TaggedSymbol) }
262
+ attr_accessor :status
263
+
264
+ sig { returns(Orb::Models::SubscriptionChangeCancelResponse::Subscription::TrialInfo) }
265
+ attr_reader :trial_info
266
+
267
+ sig do
268
+ params(
269
+ trial_info: T.any(Orb::Models::SubscriptionChangeCancelResponse::Subscription::TrialInfo, Orb::Internal::AnyHash)
270
+ )
271
+ .void
272
+ end
273
+ attr_writer :trial_info
274
+
275
+ # The resources that were changed as part of this operation. Only present when
276
+ # fetched through the subscription changes API or if the
277
+ # `include_changed_resources` parameter was passed in the request.
278
+ sig { returns(T.nilable(Orb::Models::SubscriptionChangeCancelResponse::Subscription::ChangedResources)) }
279
+ attr_reader :changed_resources
280
+
281
+ sig do
282
+ params(
283
+ changed_resources: T.nilable(
284
+ T.any(
285
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::ChangedResources,
286
+ Orb::Internal::AnyHash
287
+ )
288
+ )
289
+ )
290
+ .void
291
+ end
292
+ attr_writer :changed_resources
293
+
294
+ sig do
295
+ params(
296
+ id: String,
297
+ active_plan_phase_order: T.nilable(Integer),
298
+ adjustment_intervals: T::Array[
299
+ T.any(
300
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval,
301
+ Orb::Internal::AnyHash
302
+ )
303
+ ],
304
+ auto_collection: T.nilable(T::Boolean),
305
+ billing_cycle_anchor_configuration: T.any(
306
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::BillingCycleAnchorConfiguration,
307
+ Orb::Internal::AnyHash
308
+ ),
309
+ billing_cycle_day: Integer,
310
+ created_at: Time,
311
+ current_billing_period_end_date: T.nilable(Time),
312
+ current_billing_period_start_date: T.nilable(Time),
313
+ customer: T.any(Orb::Models::Customer, Orb::Internal::AnyHash),
314
+ default_invoice_memo: T.nilable(String),
315
+ discount_intervals: T::Array[
316
+ T.any(
317
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::AmountDiscountInterval,
318
+ Orb::Internal::AnyHash,
319
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::PercentageDiscountInterval,
320
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::UsageDiscountInterval
321
+ )
322
+ ],
323
+ end_date: T.nilable(Time),
324
+ fixed_fee_quantity_schedule: T::Array[
325
+ T.any(
326
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::FixedFeeQuantitySchedule,
327
+ Orb::Internal::AnyHash
328
+ )
329
+ ],
330
+ invoicing_threshold: T.nilable(String),
331
+ maximum_intervals: T::Array[
332
+ T.any(
333
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::MaximumInterval,
334
+ Orb::Internal::AnyHash
335
+ )
336
+ ],
337
+ metadata: T::Hash[Symbol, String],
338
+ minimum_intervals: T::Array[
339
+ T.any(
340
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::MinimumInterval,
341
+ Orb::Internal::AnyHash
342
+ )
343
+ ],
344
+ net_terms: Integer,
345
+ pending_subscription_change: T.nilable(
346
+ T.any(
347
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::PendingSubscriptionChange,
348
+ Orb::Internal::AnyHash
349
+ )
350
+ ),
351
+ plan: T.any(Orb::Models::Plan, Orb::Internal::AnyHash),
352
+ price_intervals: T::Array[T.any(Orb::Models::SubscriptionChangeCancelResponse::Subscription::PriceInterval, Orb::Internal::AnyHash)],
353
+ redeemed_coupon: T.nilable(
354
+ T.any(Orb::Models::SubscriptionChangeCancelResponse::Subscription::RedeemedCoupon, Orb::Internal::AnyHash)
355
+ ),
356
+ start_date: Time,
357
+ status: Orb::Models::SubscriptionChangeCancelResponse::Subscription::Status::OrSymbol,
358
+ trial_info: T.any(Orb::Models::SubscriptionChangeCancelResponse::Subscription::TrialInfo, Orb::Internal::AnyHash),
359
+ changed_resources: T.nilable(
360
+ T.any(
361
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::ChangedResources,
362
+ Orb::Internal::AnyHash
363
+ )
364
+ )
365
+ )
366
+ .returns(T.attached_class)
367
+ end
368
+ def self.new(
369
+ id:,
370
+ active_plan_phase_order:,
371
+ adjustment_intervals:,
372
+ auto_collection:,
373
+ billing_cycle_anchor_configuration:,
374
+ billing_cycle_day:,
375
+ created_at:,
376
+ current_billing_period_end_date:,
377
+ current_billing_period_start_date:,
378
+ customer:,
379
+ default_invoice_memo:,
380
+ discount_intervals:,
381
+ end_date:,
382
+ fixed_fee_quantity_schedule:,
383
+ invoicing_threshold:,
384
+ maximum_intervals:,
385
+ metadata:,
386
+ minimum_intervals:,
387
+ net_terms:,
388
+ pending_subscription_change:,
389
+ plan:,
390
+ price_intervals:,
391
+ redeemed_coupon:,
392
+ start_date:,
393
+ status:,
394
+ trial_info:,
395
+ changed_resources: nil
396
+ ); end
397
+ sig do
398
+ override
399
+ .returns(
400
+ {
401
+ id: String,
402
+ active_plan_phase_order: T.nilable(Integer),
403
+ adjustment_intervals: T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval],
404
+ auto_collection: T.nilable(T::Boolean),
405
+ billing_cycle_anchor_configuration: Orb::Models::SubscriptionChangeCancelResponse::Subscription::BillingCycleAnchorConfiguration,
406
+ billing_cycle_day: Integer,
407
+ created_at: Time,
408
+ current_billing_period_end_date: T.nilable(Time),
409
+ current_billing_period_start_date: T.nilable(Time),
410
+ customer: Orb::Models::Customer,
411
+ default_invoice_memo: T.nilable(String),
412
+ discount_intervals: T::Array[
413
+ T.any(
414
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::AmountDiscountInterval,
415
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::PercentageDiscountInterval,
416
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::UsageDiscountInterval
417
+ )
418
+ ],
419
+ end_date: T.nilable(Time),
420
+ fixed_fee_quantity_schedule: T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::FixedFeeQuantitySchedule],
421
+ invoicing_threshold: T.nilable(String),
422
+ maximum_intervals: T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::MaximumInterval],
423
+ metadata: T::Hash[Symbol, String],
424
+ minimum_intervals: T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::MinimumInterval],
425
+ net_terms: Integer,
426
+ pending_subscription_change: T.nilable(Orb::Models::SubscriptionChangeCancelResponse::Subscription::PendingSubscriptionChange),
427
+ plan: Orb::Models::Plan,
428
+ price_intervals: T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::PriceInterval],
429
+ redeemed_coupon: T.nilable(Orb::Models::SubscriptionChangeCancelResponse::Subscription::RedeemedCoupon),
430
+ start_date: Time,
431
+ status: Orb::Models::SubscriptionChangeCancelResponse::Subscription::Status::TaggedSymbol,
432
+ trial_info: Orb::Models::SubscriptionChangeCancelResponse::Subscription::TrialInfo,
433
+ changed_resources: T.nilable(Orb::Models::SubscriptionChangeCancelResponse::Subscription::ChangedResources)
434
+ }
435
+ )
436
+ end
437
+ def to_hash; end
438
+
439
+ class AdjustmentInterval < Orb::Internal::Type::BaseModel
440
+ sig { returns(String) }
441
+ attr_accessor :id
442
+
443
+ sig do
444
+ returns(
445
+ T.any(
446
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment,
447
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment,
448
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment,
449
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment,
450
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment
451
+ )
452
+ )
453
+ end
454
+ attr_accessor :adjustment
455
+
456
+ # The price interval IDs that this adjustment applies to.
457
+ sig { returns(T::Array[String]) }
458
+ attr_accessor :applies_to_price_interval_ids
459
+
460
+ # The end date of the adjustment interval.
461
+ sig { returns(T.nilable(Time)) }
462
+ attr_accessor :end_date
463
+
464
+ # The start date of the adjustment interval.
465
+ sig { returns(Time) }
466
+ attr_accessor :start_date
467
+
468
+ sig do
469
+ params(
470
+ id: String,
471
+ adjustment: T.any(
472
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment,
473
+ Orb::Internal::AnyHash,
474
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment,
475
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment,
476
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment,
477
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment
478
+ ),
479
+ applies_to_price_interval_ids: T::Array[String],
480
+ end_date: T.nilable(Time),
481
+ start_date: Time
482
+ )
483
+ .returns(T.attached_class)
484
+ end
485
+ def self.new(id:, adjustment:, applies_to_price_interval_ids:, end_date:, start_date:); end
486
+
487
+ sig do
488
+ override
489
+ .returns(
490
+ {
491
+ id: String,
492
+ adjustment: T.any(
493
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment,
494
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment,
495
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment,
496
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment,
497
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment
498
+ ),
499
+ applies_to_price_interval_ids: T::Array[String],
500
+ end_date: T.nilable(Time),
501
+ start_date: Time
502
+ }
503
+ )
504
+ end
505
+ def to_hash; end
506
+
507
+ module Adjustment
508
+ extend Orb::Internal::Type::Union
509
+
510
+ class PlanPhaseUsageDiscountAdjustment < Orb::Internal::Type::BaseModel
511
+ sig { returns(String) }
512
+ attr_accessor :id
513
+
514
+ sig { returns(Symbol) }
515
+ attr_accessor :adjustment_type
516
+
517
+ # The price IDs that this adjustment applies to.
518
+ sig { returns(T::Array[String]) }
519
+ attr_accessor :applies_to_price_ids
520
+
521
+ # True for adjustments that apply to an entire invocice, false for adjustments
522
+ # that apply to only one price.
523
+ sig { returns(T::Boolean) }
524
+ attr_accessor :is_invoice_level
525
+
526
+ # The plan phase in which this adjustment is active.
527
+ sig { returns(T.nilable(Integer)) }
528
+ attr_accessor :plan_phase_order
529
+
530
+ # The reason for the adjustment.
531
+ sig { returns(T.nilable(String)) }
532
+ attr_accessor :reason
533
+
534
+ # The number of usage units by which to discount the price this adjustment applies
535
+ # to in a given billing period.
536
+ sig { returns(Float) }
537
+ attr_accessor :usage_discount
538
+
539
+ sig do
540
+ params(
541
+ id: String,
542
+ applies_to_price_ids: T::Array[String],
543
+ is_invoice_level: T::Boolean,
544
+ plan_phase_order: T.nilable(Integer),
545
+ reason: T.nilable(String),
546
+ usage_discount: Float,
547
+ adjustment_type: Symbol
548
+ )
549
+ .returns(T.attached_class)
550
+ end
551
+ def self.new(
552
+ id:,
553
+ applies_to_price_ids:,
554
+ is_invoice_level:,
555
+ plan_phase_order:,
556
+ reason:,
557
+ usage_discount:,
558
+ adjustment_type: :usage_discount
559
+ ); end
560
+ sig do
561
+ override
562
+ .returns(
563
+ {
564
+ id: String,
565
+ adjustment_type: Symbol,
566
+ applies_to_price_ids: T::Array[String],
567
+ is_invoice_level: T::Boolean,
568
+ plan_phase_order: T.nilable(Integer),
569
+ reason: T.nilable(String),
570
+ usage_discount: Float
571
+ }
572
+ )
573
+ end
574
+ def to_hash; end
575
+ end
576
+
577
+ class PlanPhaseAmountDiscountAdjustment < Orb::Internal::Type::BaseModel
578
+ sig { returns(String) }
579
+ attr_accessor :id
580
+
581
+ sig { returns(Symbol) }
582
+ attr_accessor :adjustment_type
583
+
584
+ # The amount by which to discount the prices this adjustment applies to in a given
585
+ # billing period.
586
+ sig { returns(String) }
587
+ attr_accessor :amount_discount
588
+
589
+ # The price IDs that this adjustment applies to.
590
+ sig { returns(T::Array[String]) }
591
+ attr_accessor :applies_to_price_ids
592
+
593
+ # True for adjustments that apply to an entire invocice, false for adjustments
594
+ # that apply to only one price.
595
+ sig { returns(T::Boolean) }
596
+ attr_accessor :is_invoice_level
597
+
598
+ # The plan phase in which this adjustment is active.
599
+ sig { returns(T.nilable(Integer)) }
600
+ attr_accessor :plan_phase_order
601
+
602
+ # The reason for the adjustment.
603
+ sig { returns(T.nilable(String)) }
604
+ attr_accessor :reason
605
+
606
+ sig do
607
+ params(
608
+ id: String,
609
+ amount_discount: String,
610
+ applies_to_price_ids: T::Array[String],
611
+ is_invoice_level: T::Boolean,
612
+ plan_phase_order: T.nilable(Integer),
613
+ reason: T.nilable(String),
614
+ adjustment_type: Symbol
615
+ )
616
+ .returns(T.attached_class)
617
+ end
618
+ def self.new(
619
+ id:,
620
+ amount_discount:,
621
+ applies_to_price_ids:,
622
+ is_invoice_level:,
623
+ plan_phase_order:,
624
+ reason:,
625
+ adjustment_type: :amount_discount
626
+ ); end
627
+ sig do
628
+ override
629
+ .returns(
630
+ {
631
+ id: String,
632
+ adjustment_type: Symbol,
633
+ amount_discount: String,
634
+ applies_to_price_ids: T::Array[String],
635
+ is_invoice_level: T::Boolean,
636
+ plan_phase_order: T.nilable(Integer),
637
+ reason: T.nilable(String)
638
+ }
639
+ )
640
+ end
641
+ def to_hash; end
642
+ end
643
+
644
+ class PlanPhasePercentageDiscountAdjustment < Orb::Internal::Type::BaseModel
645
+ sig { returns(String) }
646
+ attr_accessor :id
647
+
648
+ sig { returns(Symbol) }
649
+ attr_accessor :adjustment_type
650
+
651
+ # The price IDs that this adjustment applies to.
652
+ sig { returns(T::Array[String]) }
653
+ attr_accessor :applies_to_price_ids
654
+
655
+ # True for adjustments that apply to an entire invocice, false for adjustments
656
+ # that apply to only one price.
657
+ sig { returns(T::Boolean) }
658
+ attr_accessor :is_invoice_level
659
+
660
+ # The percentage (as a value between 0 and 1) by which to discount the price
661
+ # intervals this adjustment applies to in a given billing period.
662
+ sig { returns(Float) }
663
+ attr_accessor :percentage_discount
664
+
665
+ # The plan phase in which this adjustment is active.
666
+ sig { returns(T.nilable(Integer)) }
667
+ attr_accessor :plan_phase_order
668
+
669
+ # The reason for the adjustment.
670
+ sig { returns(T.nilable(String)) }
671
+ attr_accessor :reason
672
+
673
+ sig do
674
+ params(
675
+ id: String,
676
+ applies_to_price_ids: T::Array[String],
677
+ is_invoice_level: T::Boolean,
678
+ percentage_discount: Float,
679
+ plan_phase_order: T.nilable(Integer),
680
+ reason: T.nilable(String),
681
+ adjustment_type: Symbol
682
+ )
683
+ .returns(T.attached_class)
684
+ end
685
+ def self.new(
686
+ id:,
687
+ applies_to_price_ids:,
688
+ is_invoice_level:,
689
+ percentage_discount:,
690
+ plan_phase_order:,
691
+ reason:,
692
+ adjustment_type: :percentage_discount
693
+ ); end
694
+ sig do
695
+ override
696
+ .returns(
697
+ {
698
+ id: String,
699
+ adjustment_type: Symbol,
700
+ applies_to_price_ids: T::Array[String],
701
+ is_invoice_level: T::Boolean,
702
+ percentage_discount: Float,
703
+ plan_phase_order: T.nilable(Integer),
704
+ reason: T.nilable(String)
705
+ }
706
+ )
707
+ end
708
+ def to_hash; end
709
+ end
710
+
711
+ class PlanPhaseMinimumAdjustment < Orb::Internal::Type::BaseModel
712
+ sig { returns(String) }
713
+ attr_accessor :id
714
+
715
+ sig { returns(Symbol) }
716
+ attr_accessor :adjustment_type
717
+
718
+ # The price IDs that this adjustment applies to.
719
+ sig { returns(T::Array[String]) }
720
+ attr_accessor :applies_to_price_ids
721
+
722
+ # True for adjustments that apply to an entire invocice, false for adjustments
723
+ # that apply to only one price.
724
+ sig { returns(T::Boolean) }
725
+ attr_accessor :is_invoice_level
726
+
727
+ # The item ID that revenue from this minimum will be attributed to.
728
+ sig { returns(String) }
729
+ attr_accessor :item_id
730
+
731
+ # The minimum amount to charge in a given billing period for the prices this
732
+ # adjustment applies to.
733
+ sig { returns(String) }
734
+ attr_accessor :minimum_amount
735
+
736
+ # The plan phase in which this adjustment is active.
737
+ sig { returns(T.nilable(Integer)) }
738
+ attr_accessor :plan_phase_order
739
+
740
+ # The reason for the adjustment.
741
+ sig { returns(T.nilable(String)) }
742
+ attr_accessor :reason
743
+
744
+ sig do
745
+ params(
746
+ id: String,
747
+ applies_to_price_ids: T::Array[String],
748
+ is_invoice_level: T::Boolean,
749
+ item_id: String,
750
+ minimum_amount: String,
751
+ plan_phase_order: T.nilable(Integer),
752
+ reason: T.nilable(String),
753
+ adjustment_type: Symbol
754
+ )
755
+ .returns(T.attached_class)
756
+ end
757
+ def self.new(
758
+ id:,
759
+ applies_to_price_ids:,
760
+ is_invoice_level:,
761
+ item_id:,
762
+ minimum_amount:,
763
+ plan_phase_order:,
764
+ reason:,
765
+ adjustment_type: :minimum
766
+ ); end
767
+ sig do
768
+ override
769
+ .returns(
770
+ {
771
+ id: String,
772
+ adjustment_type: Symbol,
773
+ applies_to_price_ids: T::Array[String],
774
+ is_invoice_level: T::Boolean,
775
+ item_id: String,
776
+ minimum_amount: String,
777
+ plan_phase_order: T.nilable(Integer),
778
+ reason: T.nilable(String)
779
+ }
780
+ )
781
+ end
782
+ def to_hash; end
783
+ end
784
+
785
+ class PlanPhaseMaximumAdjustment < Orb::Internal::Type::BaseModel
786
+ sig { returns(String) }
787
+ attr_accessor :id
788
+
789
+ sig { returns(Symbol) }
790
+ attr_accessor :adjustment_type
791
+
792
+ # The price IDs that this adjustment applies to.
793
+ sig { returns(T::Array[String]) }
794
+ attr_accessor :applies_to_price_ids
795
+
796
+ # True for adjustments that apply to an entire invocice, false for adjustments
797
+ # that apply to only one price.
798
+ sig { returns(T::Boolean) }
799
+ attr_accessor :is_invoice_level
800
+
801
+ # The maximum amount to charge in a given billing period for the prices this
802
+ # adjustment applies to.
803
+ sig { returns(String) }
804
+ attr_accessor :maximum_amount
805
+
806
+ # The plan phase in which this adjustment is active.
807
+ sig { returns(T.nilable(Integer)) }
808
+ attr_accessor :plan_phase_order
809
+
810
+ # The reason for the adjustment.
811
+ sig { returns(T.nilable(String)) }
812
+ attr_accessor :reason
813
+
814
+ sig do
815
+ params(
816
+ id: String,
817
+ applies_to_price_ids: T::Array[String],
818
+ is_invoice_level: T::Boolean,
819
+ maximum_amount: String,
820
+ plan_phase_order: T.nilable(Integer),
821
+ reason: T.nilable(String),
822
+ adjustment_type: Symbol
823
+ )
824
+ .returns(T.attached_class)
825
+ end
826
+ def self.new(
827
+ id:,
828
+ applies_to_price_ids:,
829
+ is_invoice_level:,
830
+ maximum_amount:,
831
+ plan_phase_order:,
832
+ reason:,
833
+ adjustment_type: :maximum
834
+ ); end
835
+ sig do
836
+ override
837
+ .returns(
838
+ {
839
+ id: String,
840
+ adjustment_type: Symbol,
841
+ applies_to_price_ids: T::Array[String],
842
+ is_invoice_level: T::Boolean,
843
+ maximum_amount: String,
844
+ plan_phase_order: T.nilable(Integer),
845
+ reason: T.nilable(String)
846
+ }
847
+ )
848
+ end
849
+ def to_hash; end
850
+ end
851
+
852
+ sig do
853
+ override
854
+ .returns(
855
+ [Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseUsageDiscountAdjustment, Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseAmountDiscountAdjustment, Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhasePercentageDiscountAdjustment, Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMinimumAdjustment, Orb::Models::SubscriptionChangeCancelResponse::Subscription::AdjustmentInterval::Adjustment::PlanPhaseMaximumAdjustment]
856
+ )
857
+ end
858
+ def self.variants; end
859
+ end
860
+ end
861
+
862
+ class BillingCycleAnchorConfiguration < Orb::Internal::Type::BaseModel
863
+ # The day of the month on which the billing cycle is anchored. If the maximum
864
+ # number of days in a month is greater than this value, the last day of the month
865
+ # is the billing cycle day (e.g. billing_cycle_day=31 for April means the billing
866
+ # period begins on the 30th.
867
+ sig { returns(Integer) }
868
+ attr_accessor :day
869
+
870
+ # The month on which the billing cycle is anchored (e.g. a quarterly price
871
+ # anchored in February would have cycles starting February, May, August, and
872
+ # November).
873
+ sig { returns(T.nilable(Integer)) }
874
+ attr_accessor :month
875
+
876
+ # The year on which the billing cycle is anchored (e.g. a 2 year billing cycle
877
+ # anchored on 2021 would have cycles starting on 2021, 2023, 2025, etc.).
878
+ sig { returns(T.nilable(Integer)) }
879
+ attr_accessor :year
880
+
881
+ sig do
882
+ params(
883
+ day: Integer,
884
+ month: T.nilable(Integer),
885
+ year: T.nilable(Integer)
886
+ ).returns(T.attached_class)
887
+ end
888
+ def self.new(day:, month: nil, year: nil); end
889
+
890
+ sig { override.returns({day: Integer, month: T.nilable(Integer), year: T.nilable(Integer)}) }
891
+ def to_hash; end
892
+ end
893
+
894
+ module DiscountInterval
895
+ extend Orb::Internal::Type::Union
896
+
897
+ class AmountDiscountInterval < Orb::Internal::Type::BaseModel
898
+ # Only available if discount_type is `amount`.
899
+ sig { returns(String) }
900
+ attr_accessor :amount_discount
901
+
902
+ # The price ids that this discount interval applies to.
903
+ sig { returns(T::Array[String]) }
904
+ attr_accessor :applies_to_price_ids
905
+
906
+ # The price interval ids that this discount interval applies to.
907
+ sig { returns(T::Array[String]) }
908
+ attr_accessor :applies_to_price_interval_ids
909
+
910
+ sig { returns(Symbol) }
911
+ attr_accessor :discount_type
912
+
913
+ # The end date of the discount interval.
914
+ sig { returns(T.nilable(Time)) }
915
+ attr_accessor :end_date
916
+
917
+ # The start date of the discount interval.
918
+ sig { returns(Time) }
919
+ attr_accessor :start_date
920
+
921
+ sig do
922
+ params(
923
+ amount_discount: String,
924
+ applies_to_price_ids: T::Array[String],
925
+ applies_to_price_interval_ids: T::Array[String],
926
+ end_date: T.nilable(Time),
927
+ start_date: Time,
928
+ discount_type: Symbol
929
+ )
930
+ .returns(T.attached_class)
931
+ end
932
+ def self.new(
933
+ amount_discount:,
934
+ applies_to_price_ids:,
935
+ applies_to_price_interval_ids:,
936
+ end_date:,
937
+ start_date:,
938
+ discount_type: :amount
939
+ ); end
940
+ sig do
941
+ override
942
+ .returns(
943
+ {
944
+ amount_discount: String,
945
+ applies_to_price_ids: T::Array[String],
946
+ applies_to_price_interval_ids: T::Array[String],
947
+ discount_type: Symbol,
948
+ end_date: T.nilable(Time),
949
+ start_date: Time
950
+ }
951
+ )
952
+ end
953
+ def to_hash; end
954
+ end
955
+
956
+ class PercentageDiscountInterval < Orb::Internal::Type::BaseModel
957
+ # The price ids that this discount interval applies to.
958
+ sig { returns(T::Array[String]) }
959
+ attr_accessor :applies_to_price_ids
960
+
961
+ # The price interval ids that this discount interval applies to.
962
+ sig { returns(T::Array[String]) }
963
+ attr_accessor :applies_to_price_interval_ids
964
+
965
+ sig { returns(Symbol) }
966
+ attr_accessor :discount_type
967
+
968
+ # The end date of the discount interval.
969
+ sig { returns(T.nilable(Time)) }
970
+ attr_accessor :end_date
971
+
972
+ # Only available if discount_type is `percentage`.This is a number between 0
973
+ # and 1.
974
+ sig { returns(Float) }
975
+ attr_accessor :percentage_discount
976
+
977
+ # The start date of the discount interval.
978
+ sig { returns(Time) }
979
+ attr_accessor :start_date
980
+
981
+ sig do
982
+ params(
983
+ applies_to_price_ids: T::Array[String],
984
+ applies_to_price_interval_ids: T::Array[String],
985
+ end_date: T.nilable(Time),
986
+ percentage_discount: Float,
987
+ start_date: Time,
988
+ discount_type: Symbol
989
+ )
990
+ .returns(T.attached_class)
991
+ end
992
+ def self.new(
993
+ applies_to_price_ids:,
994
+ applies_to_price_interval_ids:,
995
+ end_date:,
996
+ percentage_discount:,
997
+ start_date:,
998
+ discount_type: :percentage
999
+ ); end
1000
+ sig do
1001
+ override
1002
+ .returns(
1003
+ {
1004
+ applies_to_price_ids: T::Array[String],
1005
+ applies_to_price_interval_ids: T::Array[String],
1006
+ discount_type: Symbol,
1007
+ end_date: T.nilable(Time),
1008
+ percentage_discount: Float,
1009
+ start_date: Time
1010
+ }
1011
+ )
1012
+ end
1013
+ def to_hash; end
1014
+ end
1015
+
1016
+ class UsageDiscountInterval < Orb::Internal::Type::BaseModel
1017
+ # The price ids that this discount interval applies to.
1018
+ sig { returns(T::Array[String]) }
1019
+ attr_accessor :applies_to_price_ids
1020
+
1021
+ # The price interval ids that this discount interval applies to.
1022
+ sig { returns(T::Array[String]) }
1023
+ attr_accessor :applies_to_price_interval_ids
1024
+
1025
+ sig { returns(Symbol) }
1026
+ attr_accessor :discount_type
1027
+
1028
+ # The end date of the discount interval.
1029
+ sig { returns(T.nilable(Time)) }
1030
+ attr_accessor :end_date
1031
+
1032
+ # The start date of the discount interval.
1033
+ sig { returns(Time) }
1034
+ attr_accessor :start_date
1035
+
1036
+ # Only available if discount_type is `usage`. Number of usage units that this
1037
+ # discount is for
1038
+ sig { returns(Float) }
1039
+ attr_accessor :usage_discount
1040
+
1041
+ sig do
1042
+ params(
1043
+ applies_to_price_ids: T::Array[String],
1044
+ applies_to_price_interval_ids: T::Array[String],
1045
+ end_date: T.nilable(Time),
1046
+ start_date: Time,
1047
+ usage_discount: Float,
1048
+ discount_type: Symbol
1049
+ )
1050
+ .returns(T.attached_class)
1051
+ end
1052
+ def self.new(
1053
+ applies_to_price_ids:,
1054
+ applies_to_price_interval_ids:,
1055
+ end_date:,
1056
+ start_date:,
1057
+ usage_discount:,
1058
+ discount_type: :usage
1059
+ ); end
1060
+ sig do
1061
+ override
1062
+ .returns(
1063
+ {
1064
+ applies_to_price_ids: T::Array[String],
1065
+ applies_to_price_interval_ids: T::Array[String],
1066
+ discount_type: Symbol,
1067
+ end_date: T.nilable(Time),
1068
+ start_date: Time,
1069
+ usage_discount: Float
1070
+ }
1071
+ )
1072
+ end
1073
+ def to_hash; end
1074
+ end
1075
+
1076
+ sig do
1077
+ override
1078
+ .returns(
1079
+ [Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::AmountDiscountInterval, Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::PercentageDiscountInterval, Orb::Models::SubscriptionChangeCancelResponse::Subscription::DiscountInterval::UsageDiscountInterval]
1080
+ )
1081
+ end
1082
+ def self.variants; end
1083
+ end
1084
+
1085
+ class FixedFeeQuantitySchedule < Orb::Internal::Type::BaseModel
1086
+ sig { returns(T.nilable(Time)) }
1087
+ attr_accessor :end_date
1088
+
1089
+ sig { returns(String) }
1090
+ attr_accessor :price_id
1091
+
1092
+ sig { returns(Float) }
1093
+ attr_accessor :quantity
1094
+
1095
+ sig { returns(Time) }
1096
+ attr_accessor :start_date
1097
+
1098
+ sig do
1099
+ params(end_date: T.nilable(Time), price_id: String, quantity: Float, start_date: Time)
1100
+ .returns(T.attached_class)
1101
+ end
1102
+ def self.new(end_date:, price_id:, quantity:, start_date:); end
1103
+
1104
+ sig do
1105
+ override.returns({end_date: T.nilable(Time), price_id: String, quantity: Float, start_date: Time})
1106
+ end
1107
+ def to_hash; end
1108
+ end
1109
+
1110
+ class MaximumInterval < Orb::Internal::Type::BaseModel
1111
+ # The price ids that this maximum interval applies to.
1112
+ sig { returns(T::Array[String]) }
1113
+ attr_accessor :applies_to_price_ids
1114
+
1115
+ # The price interval ids that this maximum interval applies to.
1116
+ sig { returns(T::Array[String]) }
1117
+ attr_accessor :applies_to_price_interval_ids
1118
+
1119
+ # The end date of the maximum interval.
1120
+ sig { returns(T.nilable(Time)) }
1121
+ attr_accessor :end_date
1122
+
1123
+ # The maximum amount to charge in a given billing period for the price intervals
1124
+ # this transform applies to.
1125
+ sig { returns(String) }
1126
+ attr_accessor :maximum_amount
1127
+
1128
+ # The start date of the maximum interval.
1129
+ sig { returns(Time) }
1130
+ attr_accessor :start_date
1131
+
1132
+ sig do
1133
+ params(
1134
+ applies_to_price_ids: T::Array[String],
1135
+ applies_to_price_interval_ids: T::Array[String],
1136
+ end_date: T.nilable(Time),
1137
+ maximum_amount: String,
1138
+ start_date: Time
1139
+ )
1140
+ .returns(T.attached_class)
1141
+ end
1142
+ def self.new(
1143
+ applies_to_price_ids:,
1144
+ applies_to_price_interval_ids:,
1145
+ end_date:,
1146
+ maximum_amount:,
1147
+ start_date:
1148
+ )
1149
+ end
1150
+
1151
+ sig do
1152
+ override
1153
+ .returns(
1154
+ {
1155
+ applies_to_price_ids: T::Array[String],
1156
+ applies_to_price_interval_ids: T::Array[String],
1157
+ end_date: T.nilable(Time),
1158
+ maximum_amount: String,
1159
+ start_date: Time
1160
+ }
1161
+ )
1162
+ end
1163
+ def to_hash; end
1164
+ end
1165
+
1166
+ class MinimumInterval < Orb::Internal::Type::BaseModel
1167
+ # The price ids that this minimum interval applies to.
1168
+ sig { returns(T::Array[String]) }
1169
+ attr_accessor :applies_to_price_ids
1170
+
1171
+ # The price interval ids that this minimum interval applies to.
1172
+ sig { returns(T::Array[String]) }
1173
+ attr_accessor :applies_to_price_interval_ids
1174
+
1175
+ # The end date of the minimum interval.
1176
+ sig { returns(T.nilable(Time)) }
1177
+ attr_accessor :end_date
1178
+
1179
+ # The minimum amount to charge in a given billing period for the price intervals
1180
+ # this minimum applies to.
1181
+ sig { returns(String) }
1182
+ attr_accessor :minimum_amount
1183
+
1184
+ # The start date of the minimum interval.
1185
+ sig { returns(Time) }
1186
+ attr_accessor :start_date
1187
+
1188
+ sig do
1189
+ params(
1190
+ applies_to_price_ids: T::Array[String],
1191
+ applies_to_price_interval_ids: T::Array[String],
1192
+ end_date: T.nilable(Time),
1193
+ minimum_amount: String,
1194
+ start_date: Time
1195
+ )
1196
+ .returns(T.attached_class)
1197
+ end
1198
+ def self.new(
1199
+ applies_to_price_ids:,
1200
+ applies_to_price_interval_ids:,
1201
+ end_date:,
1202
+ minimum_amount:,
1203
+ start_date:
1204
+ )
1205
+ end
1206
+
1207
+ sig do
1208
+ override
1209
+ .returns(
1210
+ {
1211
+ applies_to_price_ids: T::Array[String],
1212
+ applies_to_price_interval_ids: T::Array[String],
1213
+ end_date: T.nilable(Time),
1214
+ minimum_amount: String,
1215
+ start_date: Time
1216
+ }
1217
+ )
1218
+ end
1219
+ def to_hash; end
1220
+ end
1221
+
1222
+ class PendingSubscriptionChange < Orb::Internal::Type::BaseModel
1223
+ sig { returns(String) }
1224
+ attr_accessor :id
1225
+
1226
+ # A pending subscription change if one exists on this subscription.
1227
+ sig { params(id: String).returns(T.attached_class) }
1228
+ def self.new(id:); end
1229
+
1230
+ sig { override.returns({id: String}) }
1231
+ def to_hash; end
1232
+ end
1233
+
1234
+ class PriceInterval < Orb::Internal::Type::BaseModel
1235
+ sig { returns(String) }
1236
+ attr_accessor :id
1237
+
1238
+ # The day of the month that Orb bills for this price
1239
+ sig { returns(Integer) }
1240
+ attr_accessor :billing_cycle_day
1241
+
1242
+ # The end of the current billing period. This is an exclusive timestamp, such that
1243
+ # the instant returned is exactly the end of the billing period. Set to null if
1244
+ # this price interval is not currently active.
1245
+ sig { returns(T.nilable(Time)) }
1246
+ attr_accessor :current_billing_period_end_date
1247
+
1248
+ # The start date of the current billing period. This is an inclusive timestamp;
1249
+ # the instant returned is exactly the beginning of the billing period. Set to null
1250
+ # if this price interval is not currently active.
1251
+ sig { returns(T.nilable(Time)) }
1252
+ attr_accessor :current_billing_period_start_date
1253
+
1254
+ # The end date of the price interval. This is the date that Orb stops billing for
1255
+ # this price.
1256
+ sig { returns(T.nilable(Time)) }
1257
+ attr_accessor :end_date
1258
+
1259
+ # An additional filter to apply to usage queries.
1260
+ sig { returns(T.nilable(String)) }
1261
+ attr_accessor :filter
1262
+
1263
+ # The fixed fee quantity transitions for this price interval. This is only
1264
+ # relevant for fixed fees.
1265
+ sig do
1266
+ returns(
1267
+ T.nilable(
1268
+ T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::PriceInterval::FixedFeeQuantityTransition]
1269
+ )
1270
+ )
1271
+ end
1272
+ attr_accessor :fixed_fee_quantity_transitions
1273
+
1274
+ # The Price resource represents a price that can be billed on a subscription,
1275
+ # resulting in a charge on an invoice in the form of an invoice line item. Prices
1276
+ # take a quantity and determine an amount to bill.
1277
+ #
1278
+ # Orb supports a few different pricing models out of the box. Each of these models
1279
+ # is serialized differently in a given Price object. The model_type field
1280
+ # determines the key for the configuration object that is present.
1281
+ #
1282
+ # For more on the types of prices, see
1283
+ # [the core concepts documentation](/core-concepts#plan-and-price)
1284
+ sig do
1285
+ returns(
1286
+ T.any(
1287
+ Orb::Models::Price::UnitPrice,
1288
+ Orb::Models::Price::PackagePrice,
1289
+ Orb::Models::Price::MatrixPrice,
1290
+ Orb::Models::Price::TieredPrice,
1291
+ Orb::Models::Price::TieredBpsPrice,
1292
+ Orb::Models::Price::BpsPrice,
1293
+ Orb::Models::Price::BulkBpsPrice,
1294
+ Orb::Models::Price::BulkPrice,
1295
+ Orb::Models::Price::ThresholdTotalAmountPrice,
1296
+ Orb::Models::Price::TieredPackagePrice,
1297
+ Orb::Models::Price::GroupedTieredPrice,
1298
+ Orb::Models::Price::TieredWithMinimumPrice,
1299
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
1300
+ Orb::Models::Price::PackageWithAllocationPrice,
1301
+ Orb::Models::Price::UnitWithPercentPrice,
1302
+ Orb::Models::Price::MatrixWithAllocationPrice,
1303
+ Orb::Models::Price::TieredWithProrationPrice,
1304
+ Orb::Models::Price::UnitWithProrationPrice,
1305
+ Orb::Models::Price::GroupedAllocationPrice,
1306
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
1307
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
1308
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
1309
+ Orb::Models::Price::BulkWithProrationPrice,
1310
+ Orb::Models::Price::GroupedTieredPackagePrice,
1311
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
1312
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
1313
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
1314
+ Orb::Models::Price::CumulativeGroupedBulkPrice
1315
+ )
1316
+ )
1317
+ end
1318
+ attr_accessor :price
1319
+
1320
+ # The start date of the price interval. This is the date that Orb starts billing
1321
+ # for this price.
1322
+ sig { returns(Time) }
1323
+ attr_accessor :start_date
1324
+
1325
+ # A list of customer IDs whose usage events will be aggregated and billed under
1326
+ # this price interval.
1327
+ sig { returns(T.nilable(T::Array[String])) }
1328
+ attr_accessor :usage_customer_ids
1329
+
1330
+ # The Price Interval resource represents a period of time for which a price will
1331
+ # bill on a subscription. A subscription’s price intervals define its billing
1332
+ # behavior.
1333
+ sig do
1334
+ params(
1335
+ id: String,
1336
+ billing_cycle_day: Integer,
1337
+ current_billing_period_end_date: T.nilable(Time),
1338
+ current_billing_period_start_date: T.nilable(Time),
1339
+ end_date: T.nilable(Time),
1340
+ filter: T.nilable(String),
1341
+ fixed_fee_quantity_transitions: T.nilable(
1342
+ T::Array[
1343
+ T.any(
1344
+ Orb::Models::SubscriptionChangeCancelResponse::Subscription::PriceInterval::FixedFeeQuantityTransition,
1345
+ Orb::Internal::AnyHash
1346
+ )
1347
+ ]
1348
+ ),
1349
+ price: T.any(
1350
+ Orb::Models::Price::UnitPrice,
1351
+ Orb::Internal::AnyHash,
1352
+ Orb::Models::Price::PackagePrice,
1353
+ Orb::Models::Price::MatrixPrice,
1354
+ Orb::Models::Price::TieredPrice,
1355
+ Orb::Models::Price::TieredBpsPrice,
1356
+ Orb::Models::Price::BpsPrice,
1357
+ Orb::Models::Price::BulkBpsPrice,
1358
+ Orb::Models::Price::BulkPrice,
1359
+ Orb::Models::Price::ThresholdTotalAmountPrice,
1360
+ Orb::Models::Price::TieredPackagePrice,
1361
+ Orb::Models::Price::GroupedTieredPrice,
1362
+ Orb::Models::Price::TieredWithMinimumPrice,
1363
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
1364
+ Orb::Models::Price::PackageWithAllocationPrice,
1365
+ Orb::Models::Price::UnitWithPercentPrice,
1366
+ Orb::Models::Price::MatrixWithAllocationPrice,
1367
+ Orb::Models::Price::TieredWithProrationPrice,
1368
+ Orb::Models::Price::UnitWithProrationPrice,
1369
+ Orb::Models::Price::GroupedAllocationPrice,
1370
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
1371
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
1372
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
1373
+ Orb::Models::Price::BulkWithProrationPrice,
1374
+ Orb::Models::Price::GroupedTieredPackagePrice,
1375
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
1376
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
1377
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
1378
+ Orb::Models::Price::CumulativeGroupedBulkPrice
1379
+ ),
1380
+ start_date: Time,
1381
+ usage_customer_ids: T.nilable(T::Array[String])
1382
+ )
1383
+ .returns(T.attached_class)
1384
+ end
1385
+ def self.new(
1386
+ id:,
1387
+ billing_cycle_day:,
1388
+ current_billing_period_end_date:,
1389
+ current_billing_period_start_date:,
1390
+ end_date:,
1391
+ filter:,
1392
+ fixed_fee_quantity_transitions:,
1393
+ price:,
1394
+ start_date:,
1395
+ usage_customer_ids:
1396
+ ); end
1397
+ sig do
1398
+ override
1399
+ .returns(
1400
+ {
1401
+ id: String,
1402
+ billing_cycle_day: Integer,
1403
+ current_billing_period_end_date: T.nilable(Time),
1404
+ current_billing_period_start_date: T.nilable(Time),
1405
+ end_date: T.nilable(Time),
1406
+ filter: T.nilable(String),
1407
+ fixed_fee_quantity_transitions: T.nilable(
1408
+ T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::PriceInterval::FixedFeeQuantityTransition]
1409
+ ),
1410
+ price: T.any(
1411
+ Orb::Models::Price::UnitPrice,
1412
+ Orb::Models::Price::PackagePrice,
1413
+ Orb::Models::Price::MatrixPrice,
1414
+ Orb::Models::Price::TieredPrice,
1415
+ Orb::Models::Price::TieredBpsPrice,
1416
+ Orb::Models::Price::BpsPrice,
1417
+ Orb::Models::Price::BulkBpsPrice,
1418
+ Orb::Models::Price::BulkPrice,
1419
+ Orb::Models::Price::ThresholdTotalAmountPrice,
1420
+ Orb::Models::Price::TieredPackagePrice,
1421
+ Orb::Models::Price::GroupedTieredPrice,
1422
+ Orb::Models::Price::TieredWithMinimumPrice,
1423
+ Orb::Models::Price::TieredPackageWithMinimumPrice,
1424
+ Orb::Models::Price::PackageWithAllocationPrice,
1425
+ Orb::Models::Price::UnitWithPercentPrice,
1426
+ Orb::Models::Price::MatrixWithAllocationPrice,
1427
+ Orb::Models::Price::TieredWithProrationPrice,
1428
+ Orb::Models::Price::UnitWithProrationPrice,
1429
+ Orb::Models::Price::GroupedAllocationPrice,
1430
+ Orb::Models::Price::GroupedWithProratedMinimumPrice,
1431
+ Orb::Models::Price::GroupedWithMeteredMinimumPrice,
1432
+ Orb::Models::Price::MatrixWithDisplayNamePrice,
1433
+ Orb::Models::Price::BulkWithProrationPrice,
1434
+ Orb::Models::Price::GroupedTieredPackagePrice,
1435
+ Orb::Models::Price::MaxGroupTieredPackagePrice,
1436
+ Orb::Models::Price::ScalableMatrixWithUnitPricingPrice,
1437
+ Orb::Models::Price::ScalableMatrixWithTieredPricingPrice,
1438
+ Orb::Models::Price::CumulativeGroupedBulkPrice
1439
+ ),
1440
+ start_date: Time,
1441
+ usage_customer_ids: T.nilable(T::Array[String])
1442
+ }
1443
+ )
1444
+ end
1445
+ def to_hash; end
1446
+
1447
+ class FixedFeeQuantityTransition < Orb::Internal::Type::BaseModel
1448
+ sig { returns(Time) }
1449
+ attr_accessor :effective_date
1450
+
1451
+ sig { returns(String) }
1452
+ attr_accessor :price_id
1453
+
1454
+ sig { returns(Integer) }
1455
+ attr_accessor :quantity
1456
+
1457
+ sig do
1458
+ params(effective_date: Time, price_id: String, quantity: Integer).returns(T.attached_class)
1459
+ end
1460
+ def self.new(effective_date:, price_id:, quantity:); end
1461
+
1462
+ sig { override.returns({effective_date: Time, price_id: String, quantity: Integer}) }
1463
+ def to_hash; end
1464
+ end
1465
+ end
1466
+
1467
+ class RedeemedCoupon < Orb::Internal::Type::BaseModel
1468
+ sig { returns(String) }
1469
+ attr_accessor :coupon_id
1470
+
1471
+ sig { returns(T.nilable(Time)) }
1472
+ attr_accessor :end_date
1473
+
1474
+ sig { returns(Time) }
1475
+ attr_accessor :start_date
1476
+
1477
+ sig do
1478
+ params(coupon_id: String, end_date: T.nilable(Time), start_date: Time).returns(T.attached_class)
1479
+ end
1480
+ def self.new(coupon_id:, end_date:, start_date:); end
1481
+
1482
+ sig { override.returns({coupon_id: String, end_date: T.nilable(Time), start_date: Time}) }
1483
+ def to_hash; end
1484
+ end
1485
+
1486
+ module Status
1487
+ extend Orb::Internal::Type::Enum
1488
+
1489
+ TaggedSymbol =
1490
+ T.type_alias { T.all(Symbol, Orb::Models::SubscriptionChangeCancelResponse::Subscription::Status) }
1491
+ OrSymbol =
1492
+ T.type_alias { T.any(Symbol, String, Orb::Models::SubscriptionChangeCancelResponse::Subscription::Status::TaggedSymbol) }
1493
+
1494
+ ACTIVE =
1495
+ T.let(:active, Orb::Models::SubscriptionChangeCancelResponse::Subscription::Status::TaggedSymbol)
1496
+ ENDED = T.let(:ended, Orb::Models::SubscriptionChangeCancelResponse::Subscription::Status::TaggedSymbol)
1497
+ UPCOMING =
1498
+ T.let(:upcoming, Orb::Models::SubscriptionChangeCancelResponse::Subscription::Status::TaggedSymbol)
1499
+
1500
+ sig do
1501
+ override
1502
+ .returns(T::Array[Orb::Models::SubscriptionChangeCancelResponse::Subscription::Status::TaggedSymbol])
1503
+ end
1504
+ def self.values; end
1505
+ end
1506
+
1507
+ class TrialInfo < Orb::Internal::Type::BaseModel
1508
+ sig { returns(T.nilable(Time)) }
1509
+ attr_accessor :end_date
1510
+
1511
+ sig { params(end_date: T.nilable(Time)).returns(T.attached_class) }
1512
+ def self.new(end_date:); end
1513
+
1514
+ sig { override.returns({end_date: T.nilable(Time)}) }
1515
+ def to_hash; end
1516
+ end
1517
+
1518
+ class ChangedResources < Orb::Internal::Type::BaseModel
1519
+ # The credit notes that were created as part of this operation.
1520
+ sig { returns(T::Array[Orb::Models::CreditNote]) }
1521
+ attr_accessor :created_credit_notes
1522
+
1523
+ # The invoices that were created as part of this operation.
1524
+ sig { returns(T::Array[Orb::Models::Invoice]) }
1525
+ attr_accessor :created_invoices
1526
+
1527
+ # The credit notes that were voided as part of this operation.
1528
+ sig { returns(T::Array[Orb::Models::CreditNote]) }
1529
+ attr_accessor :voided_credit_notes
1530
+
1531
+ # The invoices that were voided as part of this operation.
1532
+ sig { returns(T::Array[Orb::Models::Invoice]) }
1533
+ attr_accessor :voided_invoices
1534
+
1535
+ # The resources that were changed as part of this operation. Only present when
1536
+ # fetched through the subscription changes API or if the
1537
+ # `include_changed_resources` parameter was passed in the request.
1538
+ sig do
1539
+ params(
1540
+ created_credit_notes: T::Array[T.any(Orb::Models::CreditNote, Orb::Internal::AnyHash)],
1541
+ created_invoices: T::Array[T.any(Orb::Models::Invoice, Orb::Internal::AnyHash)],
1542
+ voided_credit_notes: T::Array[T.any(Orb::Models::CreditNote, Orb::Internal::AnyHash)],
1543
+ voided_invoices: T::Array[T.any(Orb::Models::Invoice, Orb::Internal::AnyHash)]
1544
+ )
1545
+ .returns(T.attached_class)
1546
+ end
1547
+ def self.new(created_credit_notes:, created_invoices:, voided_credit_notes:, voided_invoices:); end
1548
+
1549
+ sig do
1550
+ override
1551
+ .returns(
1552
+ {
1553
+ created_credit_notes: T::Array[Orb::Models::CreditNote],
1554
+ created_invoices: T::Array[Orb::Models::Invoice],
1555
+ voided_credit_notes: T::Array[Orb::Models::CreditNote],
1556
+ voided_invoices: T::Array[Orb::Models::Invoice]
1557
+ }
1558
+ )
1559
+ end
1560
+ def to_hash; end
1561
+ end
1562
+ end
1563
+ end
1564
+ end
1565
+ end