orb-billing 0.1.0.pre.alpha.33

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